<?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>68074</bug_id>
          
          <creation_ts>2011-09-14 04:20:58 -0700</creation_ts>
          <short_desc>[GTK][WEBKIT2] Add support for title property in WebKitWebView</short_desc>
          <delta_ts>2011-11-03 06:27:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>69249</dependson>
          <blocked>71447</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nayan Kumar K">nayankk</reporter>
          <assigned_to name="Nayan Kumar K">nayankk</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>466969</commentid>
    <comment_count>0</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-14 04:20:58 -0700</bug_when>
    <thetext>Add support for title and progress property in WebKitWebView and modify GtkLauncher2 to handle these properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466970</commentid>
    <comment_count>1</comment_count>
      <attachid>107318</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-14 04:31:07 -0700</bug_when>
    <thetext>Created attachment 107318
Add title and progress properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466973</commentid>
    <comment_count>2</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-14 04:35:40 -0700</bug_when>
    <thetext>With this patch, webkit_web_view_get_title returns g_strdup of the title obtained using title.utf8().data() (As directly returning title.utf8().data() returns garbage). Also it assumes that application calling this function is responsible for freeing this dup&apos;ed memory, which is not consistent with the definition of this API in webkit1. 

One way to solve this would be to maintain title inside WebKitWebViewPrivate. Will that be a good approach to follow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475607</commentid>
    <comment_count>3</comment_count>
      <attachid>109188</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-29 12:39:32 -0700</bug_when>
    <thetext>Created attachment 109188
Title property added.

Implementation of title property as per the new GObjectization design.

This approach adds &apos;title&apos; property to WebKitWebView. Loader client will register didTitleReceiveCallback and intimates WebView upon title change. WebView will in turn notifies the application via g_object_notify.

GtkLauncher2 is modified accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475612</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-29 12:43:04 -0700</bug_when>
    <thetext>Attachment 109188 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;webView&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:154:  Missing space before ( in if(  [whitespace/parens] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:298:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:305:  Missing space before ( in if(  [whitespace/parens] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:128:  Declaration has space between type name and * in WebKitWebLoaderClient *loaderClient  [whitespace/declaration] [3]
Total errors found: 7 in 8 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>475926</commentid>
    <comment_count>5</comment_count>
      <attachid>109188</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-09-29 23:25:27 -0700</bug_when>
    <thetext>Comment on attachment 109188
Title property added.

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

Thanks for the patch!.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:132
&gt; +    webkitWebViewNotifyTitleReceived(webView, title);
&gt; +}

This callback should emit a signal like the other callbacks, and the view can just connect to it to update the title. That way we don&apos;t private API to notify the view.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:35
&gt; +#include &lt;wtf/text/WTFString.h&gt;

You are using CString, so include CString.h instead.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:133
&gt; +     * WebKitWebView:title

This should end with :

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:135
&gt; +     * The title associated with WebView&apos;s document.

Use the same documentation than webkit1 for things that don&apos;t change, this way we have the same strings for translators and API users know this is the same thing.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:150
&gt; +    g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));

Don&apos;t use g_return* macros in private methods.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:296
&gt; + * Returns the #Object:title associated with #WebKitWebView.

It should be Returns: Use the same documentation than webkit1 here too.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:308
&gt; +    WebKitWebViewPrivate* priv = webView-&gt;priv;
&gt; +    WebPageProxy* page = webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView));
&gt; +    String title = page-&gt;pageTitle();
&gt; +    if(priv-&gt;title != title.utf8())
&gt; +        priv-&gt;title = title.utf8();
&gt; +
&gt; +    return priv-&gt;title.data();

We are already notified when the title changes, we shouldn&apos;t need to check it here again. Or can it change after document is loaded?

&gt; Tools/ChangeLog:10
&gt; +        * GtkLauncher/main.c:
&gt; +        (updateTitle):
&gt; +        (createBrowser):
&gt; +

I wouldn&apos;t change the GtkLauncher code. We added this GtkLauncher2 when we wanted to use the same api than webkit1, ideally the same code would work and current #ifdefs were just provisional until new api was added. That&apos;s not the case anymore, and we don&apos;t want GtkLauncher code with a lot of #ifdefs to support both wk1 and wk2. For now, it&apos;s better to add unit tests for every new API. Once we have enough API, we will port MiniBrowser to use the GTK+ API and we&apos;ll remove webkit2 support from GtkLauncher.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475935</commentid>
    <comment_count>6</comment_count>
      <attachid>109188</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-29 23:57:57 -0700</bug_when>
    <thetext>Comment on attachment 109188
Title property added.

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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:132
&gt;&gt; +}
&gt; 
&gt; This callback should emit a signal like the other callbacks, and the view can just connect to it to update the title. That way we don&apos;t private API to notify the view.

If I understood correctly, this would mean that, applications can connect to &apos;title-change&apos; signal on WebKitWebLoaderClient and can be notified when title changes. Also, since WebView in turn notifies about the change in &apos;title&apos; property, application might get redundant notification if they connect both to &apos;title-change&apos; signal on WebKitWebLoaderClient or &apos;notify:title&apos; on WebView. I think, our API&apos;s should restrict redundancy. What do you say?

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:35
&gt;&gt; +#include &lt;wtf/text/WTFString.h&gt;
&gt; 
&gt; You are using CString, so include CString.h instead.

I use String also, in webkit_web_view_get_title function.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:308
&gt;&gt; +    return priv-&gt;title.data();
&gt; 
&gt; We are already notified when the title changes, we shouldn&apos;t need to check it here again. Or can it change after document is loaded?

I think you are right, WebKit should notify if there are any change in the title (even after the document loads). I think its fair enough to assume that this function gets triggered only upon title change.

&gt;&gt; Tools/ChangeLog:10
&gt;&gt; +
&gt; 
&gt; I wouldn&apos;t change the GtkLauncher code. We added this GtkLauncher2 when we wanted to use the same api than webkit1, ideally the same code would work and current #ifdefs were just provisional until new api was added. That&apos;s not the case anymore, and we don&apos;t want GtkLauncher code with a lot of #ifdefs to support both wk1 and wk2. For now, it&apos;s better to add unit tests for every new API. Once we have enough API, we will port MiniBrowser to use the GTK+ API and we&apos;ll remove webkit2 support from GtkLauncher.

Make sense. I will try to add  unit test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476021</commentid>
    <comment_count>7</comment_count>
      <attachid>109281</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-30 04:26:49 -0700</bug_when>
    <thetext>Created attachment 109281
Title property added.

Incorporated review comments. Added unit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476022</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 04:29:42 -0700</bug_when>
    <thetext>Attachment 109281 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;webView&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:46:  One line control clauses should not use braces.  [whitespace/braces] [4]
Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:182:  Declaration has space between * and variable name in SoupServer* server  [whitespace/declaration] [3]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:295:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 6 in 7 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>476024</commentid>
    <comment_count>9</comment_count>
      <attachid>109282</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-30 04:34:50 -0700</bug_when>
    <thetext>Created attachment 109282
Title property added

Fixed few style issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476025</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 04:37:12 -0700</bug_when>
    <thetext>Attachment 109282 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:93:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:93:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:104:  The parameter name &quot;webView&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:104:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:255:  webkit_web_view_load_html_string is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:304:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 6 in 7 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>476026</commentid>
    <comment_count>11</comment_count>
      <attachid>109283</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-09-30 04:39:57 -0700</bug_when>
    <thetext>Created attachment 109283
Title property added to WebKitWebView.

Oops, submitted wrong patch earlier!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476027</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 04:42:40 -0700</bug_when>
    <thetext>Attachment 109283 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;webView&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:295:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 7 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>476582</commentid>
    <comment_count>13</comment_count>
      <attachid>109283</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-01 11:30:33 -0700</bug_when>
    <thetext>Comment on attachment 109283
Title property added to WebKitWebView.

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Support for &apos;title&apos; property is added in WebKitWebView.
&gt; +        Functions to get the value of this property is provided.
&gt; +

Typically the description goes under the review line.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:131
&gt; +    webkitWebViewNotifyTitleReceived(webView, title);

This can just be webkitWebViewNotifyTitleReceived(WEBKIT_WEB_LOADER_CLIENT(clientInfo)-&gt;priv-&gt;view.get(), title);

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:50
&gt;      WebKitWebContext* context;
&gt;  
&gt;      GRefPtr&lt;WebKitWebLoaderClient&gt; loaderClient;
&gt; +    CString title;

Let&apos;s keep all the properties and loader clients in separate groups. The order isn&apos;t important beyond organization.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:134
&gt; +     * Returns: the @web_view&apos;s document title.

I think you should be more explicit here. This is the title of the main frame. also why are you using @web_view there&apos;s no parameter. I recommend using #WebKitWebView explicitly instead:

Returns: the main frame title of this #WebKitWebView. If the title has not been received yet it will be an empty string.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:145
&gt; +void webkitWebViewNotifyTitleReceived(WebKitWebView *webView, WKStringRef titleRef)

I&apos;d prefer this to be called webkitWebViewSetTitle and to take a const char*.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:295
&gt;&gt; + * Returns the @web_view&apos;s document title.
&gt;&gt; + *
&gt;&gt; + * Returns: the title of @web_view.
&gt;&gt; + */
&gt;&gt; +const gchar* webkit_web_view_get_title(WebKitWebView* webView)
&gt; 
&gt; webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]

Here you have the same problem but it&apos;s worse even becaues the name of the paramter is @webView.  We really need a build step which verifies the sanity of the documentation. I&apos;d like to have zero warnings when generating it.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:301
&gt; +
&gt; +    WebKitWebViewPrivate* priv = webView-&gt;priv;
&gt; +
&gt; +    return priv-&gt;title.data();

This can all be one line.  Ensure that an empty CString does not return null.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99
&gt;&gt;&gt; +webkit_web_view_get_title         (WebKitWebView         *webView);
&gt;&gt; 
&gt;&gt; The parameter name &quot;webView&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
&gt; 
&gt; Extra space before ( in function call  [whitespace/parens] [4]

Shoudl be *web_view.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h:36
&gt; +G_BEGIN_DECLS
&gt; +
&gt; +void webkitWebViewNotifyTitleReceived(WebKitWebView *, WKStringRef);
&gt; +
&gt; +G_END_DECLS

There&apos;s no need to specify that these are unmangled. In fact, it&apos;s probably better that private API stays mangled.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:38
&gt; +#define HTML_TITLE &quot;WelCome to WebKit-GTK+&quot;
&gt; +/* This string has to be rather big because of the cancelled test - it
&gt; + * looks like soup refuses to send or receive a too small chunk */
&gt; +#define HTML_STRING &quot;&lt;html&gt;&lt;head&gt;&lt;title&gt;&quot;HTML_TITLE&quot;&lt;/title&gt;&lt;/head&gt;&lt;body&gt;Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!&lt;/body&gt;&lt;/html&gt;&quot;
&gt; +
&gt; +/* For real request testing */
&gt; +static void serverCallback(SoupServer* server, SoupMessage* msg, const char* path, GHashTable* query, SoupClientContext* context, gpointer data)
&gt; +{
&gt; +    if (msg-&gt;method != SOUP_METHOD_GET) {
&gt; +        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);

Please don&apos;t just copy and paste the entire loading test. The test could be quite simple you could do a notify on the title property of WebView, load a simple string and then assert that that the title is what you think it is. Don&apos;t forget to assert the proper title before loading anything too.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:195
&gt; +    server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
&gt; +    soup_server_run_async(server);
&gt; +
&gt; +    soup_server_add_handler(server, NULL, serverCallback, NULL, NULL);
&gt; +
&gt; +    baseURI = soup_uri_new(&quot;http://127.0.0.1/&quot;);
&gt; +    soup_uri_set_port(baseURI, soup_server_get_port(server));

I&apos;m almost certain you don&apos;t need to make a SoupServer here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476834</commentid>
    <comment_count>14</comment_count>
      <attachid>109449</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-03 00:47:58 -0700</bug_when>
    <thetext>Created attachment 109449
Added title property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476835</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-03 00:50:07 -0700</bug_when>
    <thetext>Attachment 109449 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:298:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 7 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>476847</commentid>
    <comment_count>16</comment_count>
      <attachid>109452</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-03 02:07:59 -0700</bug_when>
    <thetext>Created attachment 109452
Added &apos;title&apos; property

Incorporated review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476848</commentid>
    <comment_count>17</comment_count>
      <attachid>109283</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-03 02:08:30 -0700</bug_when>
    <thetext>Comment on attachment 109283
Title property added to WebKitWebView.

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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:131
&gt;&gt; +    webkitWebViewNotifyTitleReceived(webView, title);
&gt; 
&gt; This can just be webkitWebViewNotifyTitleReceived(WEBKIT_WEB_LOADER_CLIENT(clientInfo)-&gt;priv-&gt;view.get(), title);

Done

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:50
&gt;&gt; +    CString title;
&gt; 
&gt; Let&apos;s keep all the properties and loader clients in separate groups. The order isn&apos;t important beyond organization.

Done.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:134
&gt;&gt; +     * Returns: the @web_view&apos;s document title.
&gt; 
&gt; I think you should be more explicit here. This is the title of the main frame. also why are you using @web_view there&apos;s no parameter. I recommend using #WebKitWebView explicitly instead:
&gt; 
&gt; Returns: the main frame title of this #WebKitWebView. If the title has not been received yet it will be an empty string.

Done.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:145
&gt;&gt; +void webkitWebViewNotifyTitleReceived(WebKitWebView *webView, WKStringRef titleRef)
&gt; 
&gt; I&apos;d prefer this to be called webkitWebViewSetTitle and to take a const char*.

Changed the signature from webkitWebViewNotifyTitleReceived to webkitWebViewSetTitle.

However, if we change the argument to const char*, then we need to cache WebKit::toImpl(titleRef)-&gt;string().utf8().data(), send this as argument of webKitWebViewSetTitle and convert it back to CString in webkitWebViewSetTitle implementation, as we copy this variable to WebView property &apos;title&apos;, which is a CString. Since this is a private method, I believe cleaner way to do this is via WKStringRef. Please let me know your opinion.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:295
&gt;&gt;&gt; +const gchar* webkit_web_view_get_title(WebKitWebView* webView)
&gt;&gt; 
&gt;&gt; webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; 
&gt; Here you have the same problem but it&apos;s worse even becaues the name of the paramter is @webView.  We really need a build step which verifies the sanity of the documentation. I&apos;d like to have zero warnings when generating it.

Done. 

Please note that, I tried to keep the documentation same as webkit1 (https://bugs.webkit.org/show_bug.cgi?id=68074#c5). In fact, few of the methods added earlier also refers to @web_view, hence I followed the same. I am in process of writing a patch to generate documentation for webkit2 gtk+ api, I will address rest of such mismatches in that patch.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:301
&gt;&gt; +    return priv-&gt;title.data();
&gt; 
&gt; This can all be one line.  Ensure that an empty CString does not return null.

Done.

&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99
&gt;&gt;&gt;&gt; +webkit_web_view_get_title         (WebKitWebView         *webView);
&gt;&gt;&gt; 
&gt;&gt;&gt; The parameter name &quot;webView&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
&gt;&gt; 
&gt;&gt; Extra space before ( in function call  [whitespace/parens] [4]
&gt; 
&gt; Shoudl be *web_view.

Sorry, corrected it now.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h:36
&gt;&gt; +G_END_DECLS
&gt; 
&gt; There&apos;s no need to specify that these are unmangled. In fact, it&apos;s probably better that private API stays mangled.

Done.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:38
&gt;&gt; +        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
&gt; 
&gt; Please don&apos;t just copy and paste the entire loading test. The test could be quite simple you could do a notify on the title property of WebView, load a simple string and then assert that that the title is what you think it is. Don&apos;t forget to assert the proper title before loading anything too.

Done, removed WebKitWebLoaderClient related tests from this patch, and added assert before loading anything for NULL title.

Please note that, I added WebKitWebLoaderClient related test intentionally to test both title and loading (and assert if title is not received after LOAD_COMMIT and before LOAD_FINISH).

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:195
&gt;&gt; +    soup_uri_set_port(baseURI, soup_server_get_port(server));
&gt; 
&gt; I&apos;m almost certain you don&apos;t need to make a SoupServer here.

I am afraid that I need to use soup_server, since we don&apos;t have the webkit_web_view_load_string functions yet. I have a patch for webkit_web_view_load_string function and will submit it for review soon. I submitted this patch first, since test for webkit_web_view_load_string uses webkit_web_view_get_title function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476849</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-03 02:10:02 -0700</bug_when>
    <thetext>Attachment 109452 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:304:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 7 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>476853</commentid>
    <comment_count>19</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-03 02:16:44 -0700</bug_when>
    <thetext>(In reply to comment #17)

&gt; &gt; Here you have the same problem but it&apos;s worse even becaues the name of the paramter is @webView.  We really need a build step which verifies the sanity of the documentation. I&apos;d like to have zero warnings when generating it.
&gt; 
&gt; Done. 
&gt; 
&gt; Please note that, I tried to keep the documentation same as webkit1 (https://bugs.webkit.org/show_bug.cgi?id=68074#c5). In fact, few of the methods added earlier also refers to @web_view, hence I followed the same. I am in process of writing a patch to generate documentation for webkit2 gtk+ api, I will address rest of such mismatches in that patch.

It&apos;s web_view in public api, so I think the documentation should say web_view too.

&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:38
&gt; &gt;&gt; +        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
&gt; &gt; 
&gt; &gt; Please don&apos;t just copy and paste the entire loading test. The test could be quite simple you could do a notify on the title property of WebView, load a simple string and then assert that that the title is what you think it is. Don&apos;t forget to assert the proper title before loading anything too.
&gt; 
&gt; Done, removed WebKitWebLoaderClient related tests from this patch, and added assert before loading anything for NULL title.
&gt; 
&gt; Please note that, I added WebKitWebLoaderClient related test intentionally to test both title and loading (and assert if title is not received after LOAD_COMMIT and before LOAD_FINISH).

Then I think you can just connect to title property in testwebview to check we have something when the document is loaded, and use existing loading tests in testloading to check the title is received between commit and finish (I guess this should be documented too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476857</commentid>
    <comment_count>20</comment_count>
      <attachid>109456</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-03 02:47:28 -0700</bug_when>
    <thetext>Created attachment 109456
title property added

Updated the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476859</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-03 02:51:11 -0700</bug_when>
    <thetext>Attachment 109456 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:304:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 7 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>477550</commentid>
    <comment_count>22</comment_count>
      <attachid>109609</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-04 05:22:44 -0700</bug_when>
    <thetext>Created attachment 109609
title property added

Changed the documentation of parameters back to @web_view, as gtk-doc uses header files for documenting declarations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477552</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 05:26:02 -0700</bug_when>
    <thetext>Attachment 109609 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:99:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:306:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 6 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>477706</commentid>
    <comment_count>24</comment_count>
      <attachid>109609</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-04 10:37:18 -0700</bug_when>
    <thetext>Comment on attachment 109609
title property added

Attachment 109609 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9938480</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478037</commentid>
    <comment_count>25</comment_count>
      <attachid>109609</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-04 16:01:59 -0700</bug_when>
    <thetext>Comment on attachment 109609
title property added

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

Looking good in general, but we really need to be careful not to bloat our testing code. I think my comments below will prevent you from copying a lot of code from the loading test. In cases where we do need very similar code we should be abstracting out into helper functions and classes.

Remeber that comments in WebKit should be full sentences that end with a period. Sometimes we miss instances of that, but the style guide is pretty clear about it. I think the only exception is if you are labeling some anonymous parameter.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:53
&gt;      WebKitWebContext* context;
&gt;  
&gt; +    /* Loader Client */
&gt;      GRefPtr&lt;WebKitWebLoaderClient&gt; loaderClient;
&gt; +
&gt; +    /* WebKitWebView properties */
&gt; +    CString title;

Apologies. I don&apos;t think my comment was very clear upon re-reading it. Essentially I just suggested that you keep properties and client in separate blocks like:

WebKitWebContext* context;
CString title;
...other properties here later...

I think you can omit the comments altogether.

GRefPtr&lt;WebKitWebLoaderClient&gt; loaderClient;
...other clients here later...

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:59
&gt; +    _WebKitWebViewPrivate()
&gt; +    {
&gt; +        /* Initialize the tile to empty string */
&gt; +        title = CString(&quot;&quot;);
&gt; +    }

In WebKit we always use initializer fields. No need for a comment. I think you can remove this also (see below).

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:143
&gt; +     * Returns: the main frame title of this #WebKitWebView. If the title has not been received yet, it will be an empty string.

Sorry to nitpick again. :) Please check that the length of this line is consistent with the other documentation. Also, I&apos;m pretty sure that properties don&apos;t use the &quot;Returns&quot; keyword. You should double-check with other GTK+ doc though.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:149
&gt; +                                                        _(&quot;Returns the main frame title of #WebKitWebView&quot;),

I&apos;d rephrase to say &quot;Main frame document title&quot;

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:151
&gt; +                                                        &quot;&quot;,
&gt; +                                                        static_cast&lt;GParamFlags&gt;(WEBKIT_PARAM_READABLE)));

Can&apos;t you add G_PARAM_CONSTRUCT_ONLY and avoid haivng a _WebKitWebViewPrivate constuctor above?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:154
&gt; +void webkitWebViewSetTitle(WebKitWebView *webView, WKStringRef titleRef)

You asterisk is in the wrong place here. Please use const char for the title and convert in the caller.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:304
&gt; + * Returns the property #Object:title.
&gt; + *
&gt; + * Returns: the main frame title of @web_view.

Hrm. It&apos;s a bit funky to refer to the property here.  I think what we want to do is if the text is just a little blurb, reproduce it in both the property and getter and setter. If there&apos;s a longer description, have it in the getter. In the property documentation we probably just want to have a link that says &quot;See webkit_web_view_get_title&quot;

I don&apos;t think you need to have a line that says &quot;Returns&quot; twice.  Please say &quot;the main frame document title...&quot;

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:31
&gt; +#define HTML_TITLE &quot;WelCome to WebKit-GTK+&quot;
&gt; +/* This string has to be rather big because of the cancelled test - it
&gt; + * looks like soup refuses to send or receive a too small chunk */

This comment indicates that you don&apos;t need the large string below...there is no cancelled test here.  We don&apos;t need the huge HTML string. Additionally, I really want these strings not be defined as preprocessor constants. In WebKit we always prefer using static const char* for things like this. They should also be defined in the tightest scope possible.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:48
&gt; +/* For real request testing */
&gt; +static void serverCallback(SoupServer* server, SoupMessage* msg, const char* path, GHashTable* query, SoupClientContext* context, gpointer data)
&gt; +{
&gt; +    if (msg-&gt;method != SOUP_METHOD_GET) {
&gt; +        soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
&gt; +        return;
&gt; +    }
&gt; +
&gt; +    soup_message_set_status(msg, SOUP_STATUS_OK);
&gt; +
&gt; +    if (g_str_equal(path, &quot;/&quot;))
&gt; +        soup_message_body_append(msg-&gt;response_body, SOUP_MEMORY_STATIC, HTML_STRING, strlen(HTML_STRING));
&gt; +
&gt; +    soup_message_body_complete(msg-&gt;response_body);
&gt; +}

Instead of doing this, let&apos;s wait until the load_html patch lands and avoid having to use SoupServer.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:101
&gt; +    /* Assert if title is not empty */
&gt; +    g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), ==, &quot;&quot;);

I think you can just omit the comment here.  If you feel the code is not explicit enough, feel free to be more explicit at the expense of redudancy. For instance:

g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), !=, 0);
g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), ==, &quot;&quot;);

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:110
&gt; +    /* Assert if title is not received */
&gt; +    g_assert(fixture-&gt;hasReceivedTitle);

Instead of storing this information in the fixture, why not just assert that the title is correct here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478175</commentid>
    <comment_count>26</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-04 23:20:59 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:151
&gt; &gt; +                                                        &quot;&quot;,
&gt; &gt; +                                                        static_cast&lt;GParamFlags&gt;(WEBKIT_PARAM_READABLE)));
&gt; 
&gt; Can&apos;t you add G_PARAM_CONSTRUCT_ONLY and avoid haivng a _WebKitWebViewPrivate constuctor above?

It should be CONSTRUCT, not CONSTRUCT_ONLY, but that would be a workaround to avoid initializing the attribute. The title can&apos;t be a constructor property because it&apos;s not writable, and you are not supposed to be able to create a view with a title. Properties with no value should not return a &quot;&quot;, but NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479104</commentid>
    <comment_count>27</comment_count>
      <attachid>109609</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-06 06:02:32 -0700</bug_when>
    <thetext>Comment on attachment 109609
title property added

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:157
&gt; +    CString title = WebKit::toImpl(titleRef)-&gt;string().utf8();

Use const CString&amp; to avoid unnecessary string duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479180</commentid>
    <comment_count>28</comment_count>
      <attachid>109609</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-06 08:40:51 -0700</bug_when>
    <thetext>Comment on attachment 109609
title property added

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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:157
&gt;&gt; +    CString title = WebKit::toImpl(titleRef)-&gt;string().utf8();
&gt; 
&gt; Use const CString&amp; to avoid unnecessary string duplication.

Hrm. I think that string() is a temporary so this might lead to a reference to a deleted object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479302</commentid>
    <comment_count>29</comment_count>
      <attachid>109980</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-06 11:15:17 -0700</bug_when>
    <thetext>Created attachment 109980
Added &apos;title&apos; property

Review comments incorporated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479307</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 11:17:50 -0700</bug_when>
    <thetext>Attachment 109980 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:106:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:106:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:327:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 7 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>479317</commentid>
    <comment_count>31</comment_count>
      <attachid>109609</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-06 11:28:20 -0700</bug_when>
    <thetext>Comment on attachment 109609
title property added

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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:53
&gt;&gt; +    CString title;
&gt; 
&gt; Apologies. I don&apos;t think my comment was very clear upon re-reading it. Essentially I just suggested that you keep properties and client in separate blocks like:
&gt; 
&gt; WebKitWebContext* context;
&gt; CString title;
&gt; ...other properties here later...
&gt; 
&gt; I think you can omit the comments altogether.
&gt; 
&gt; GRefPtr&lt;WebKitWebLoaderClient&gt; loaderClient;
&gt; ...other clients here later...

Done.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:143
&gt;&gt; +     * Returns: the main frame title of this #WebKitWebView. If the title has not been received yet, it will be an empty string.
&gt; 
&gt; Sorry to nitpick again. :) Please check that the length of this line is consistent with the other documentation. Also, I&apos;m pretty sure that properties don&apos;t use the &quot;Returns&quot; keyword. You should double-check with other GTK+ doc though.

Yes, gtk-doc does&apos;t have Return keyword for properties. Changed it new patch.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:149
&gt;&gt; +                                                        _(&quot;Returns the main frame title of #WebKitWebView&quot;),
&gt; 
&gt; I&apos;d rephrase to say &quot;Main frame document title&quot;

Ok.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:151
&gt;&gt; +                                                        static_cast&lt;GParamFlags&gt;(WEBKIT_PARAM_READABLE)));
&gt; 
&gt; Can&apos;t you add G_PARAM_CONSTRUCT_ONLY and avoid haivng a _WebKitWebViewPrivate constuctor above?

Since the property is readable only, we do not have webkit_web_view_set_function and hence using G_PARAM_CONSTRUCT will not be useful.

Moreover, in the last uploaded patch, I am returning 0 if the title has not be received. This is how webkit1 works and I (and Carlos) think we should be consistent with webkit1 API&apos;s. Hence we do not need to have the initialization.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:154
&gt;&gt; +void webkitWebViewSetTitle(WebKitWebView *webView, WKStringRef titleRef)
&gt; 
&gt; You asterisk is in the wrong place here. Please use const char for the title and convert in the caller.

If we change the argument to const char*, then we need to cache WebKit::toImpl(titleRef)-&gt;string().utf8().data(), send this as argument of webKitWebViewSetTitle and convert it back to CString in webkitWebViewSetTitle implementation, as we copy this variable to WebView property &apos;title&apos;, which is a CString. Since this is a private method, I believe cleaner way to do this is via WKStringRef. (Comment no #17)

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:304
&gt;&gt; + * Returns: the main frame title of @web_view.
&gt; 
&gt; Hrm. It&apos;s a bit funky to refer to the property here.  I think what we want to do is if the text is just a little blurb, reproduce it in both the property and getter and setter. If there&apos;s a longer description, have it in the getter. In the property documentation we probably just want to have a link that says &quot;See webkit_web_view_get_title&quot;
&gt; 
&gt; I don&apos;t think you need to have a line that says &quot;Returns&quot; twice.  Please say &quot;the main frame document title...&quot;

Ok.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:31
&gt;&gt; + * looks like soup refuses to send or receive a too small chunk */
&gt; 
&gt; This comment indicates that you don&apos;t need the large string below...there is no cancelled test here.  We don&apos;t need the huge HTML string. Additionally, I really want these strings not be defined as preprocessor constants. In WebKit we always prefer using static const char* for things like this. They should also be defined in the tightest scope possible.

I have reduced the length of HTML_STRING in latest uploaded patch. However, I still use these as preprocessor macros, as I need them in 2 different functions. I guess, it makes more sense to make it as preprocessor macro rather than using it as &apos;static const char *&apos; in two different functions for this test.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:48
&gt;&gt; +}
&gt; 
&gt; Instead of doing this, let&apos;s wait until the load_html patch lands and avoid having to use SoupServer.

Done. latest patch uses webkit_web_view_load_html and compares the title received.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:101
&gt;&gt; +    g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), ==, &quot;&quot;);
&gt; 
&gt; I think you can just omit the comment here.  If you feel the code is not explicit enough, feel free to be more explicit at the expense of redudancy. For instance:
&gt; 
&gt; g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), !=, 0);
&gt; g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), ==, &quot;&quot;);

Removed the comment.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:110
&gt;&gt; +    g_assert(fixture-&gt;hasReceivedTitle);
&gt; 
&gt; Instead of storing this information in the fixture, why not just assert that the title is correct here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479338</commentid>
    <comment_count>32</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-06 11:43:11 -0700</bug_when>
    <thetext>(In reply to comment #31)
=
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:154
&gt; &gt;&gt; +void webkitWebViewSetTitle(WebKitWebView *webView, WKStringRef titleRef)
&gt; &gt; 
&gt; &gt; You asterisk is in the wrong place here. Please use const char for the title and convert in the caller.
&gt; 
&gt; If we change the argument to const char*, then we need to cache WebKit::toImpl(titleRef)-&gt;string().utf8().data(), send this as argument of webKitWebViewSetTitle and convert it back to CString in webkitWebViewSetTitle implementation, as we copy this variable to WebView property &apos;title&apos;, which is a CString. Since this is a private method, I believe cleaner way to do this is via WKStringRef. (Comment no #17)

The issue with using WKStringRef here means that if we want to set the title in another place in the future we need to convert to a WKStringRef. I think the fact that the title was originally a WKStringRef is an implementation detail of the caller. If you are concerned about conversion from CString to const char and then back to CString feel free to pass a &quot;const CString&amp;&quot;. I do not prefer using WKStringRef here.

&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:304
&gt; &gt;&gt; + * Returns: the main frame title of @web_view.
&gt; &gt; 
&gt; &gt; Hrm. It&apos;s a bit funky to refer to the property here.  I think what we want to do is if the text is just a little blurb, reproduce it in both the property and getter and setter. If there&apos;s a longer description, have it in the getter. In the property documentation we probably just want to have a link that says &quot;See webkit_web_view_get_title&quot;
&gt; &gt; 
&gt; &gt; I don&apos;t think you need to have a line that says &quot;Returns&quot; twice.  Please say &quot;the main frame document title...&quot;
&gt; 
&gt; Ok.
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:31
&gt; &gt;&gt; + * looks like soup refuses to send or receive a too small chunk */
&gt; &gt; 
&gt; &gt; This comment indicates that you don&apos;t need the large string below...there is no cancelled test here.  We don&apos;t need the huge HTML string. Additionally, I really want these strings not be defined as preprocessor constants. In WebKit we always prefer using static const char* for things like this. They should also be defined in the tightest scope possible.
&gt; 
&gt; I have reduced the length of HTML_STRING in latest uploaded patch. However, I still use these as preprocessor macros, as I need them in 2 different functions. I guess, it makes more sense to make it as preprocessor macro rather than using it as &apos;static const char *&apos; in two different functions for this test.

The biggest issue is that in WebKit we do not use #define, we use static const char*. If you like you can leave it at the global scope.  Another option is to have it in main and pass it as the data argument to the tests.

I&apos;m going to try to land a unit test overhaul soon, by the way:  https://bugs.webkit.org/show_bug.cgi?id=69409</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479384</commentid>
    <comment_count>33</comment_count>
      <attachid>109993</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-06 12:22:29 -0700</bug_when>
    <thetext>Created attachment 109993
title property added

Updated as per review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479391</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 12:28:43 -0700</bug_when>
    <thetext>Attachment 109993 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:106:  The parameter name &quot;web_view&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:106:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:326:  webkit_web_view_get_title is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 7 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>479514</commentid>
    <comment_count>35</comment_count>
      <attachid>109993</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-06 14:51:31 -0700</bug_when>
    <thetext>Comment on attachment 109993
title property added

Attachment 109993 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9978344</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479822</commentid>
    <comment_count>36</comment_count>
      <attachid>109993</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-06 23:32:09 -0700</bug_when>
    <thetext>Comment on attachment 109993
title property added

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

This doesn&apos;t build, I wonder why it applies, because of the changes in current git master.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:144
&gt; +                                                        static_cast&lt;GParamFlags&gt;(WEBKIT_PARAM_READABLE)));

WEBKIT_PARAM_READABLE si already casted, you don&apos;t need another cast here.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:363
&gt; + * The main frame document title. If the title has not been received yet,
&gt; + * then NULL will be returned.
&gt; + *
&gt; + * Returns: The main frame title of @web_view.

I prefer something like this:

* Gets the value of #WebKitWebView:title.
* You can connect to ::notify signal of @web_view to 
* be notified when the title has been received.
*
* Returns: The main frame document title of @web_view, or %NULL if the title has not been received yet.

Or something like that. This way you link to the property documentation and user knows that the property can be watched to be notified title changes.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h:114
&gt; +WK_EXPORT const gchar * 

Use WEBKIT_API instead WK_EXPORT, just update to current git master and rebase.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h:31
&gt; +#include &quot;WebKitWebView.h&quot;
&gt; +

Don&apos;t you need to include wtf/text/CString.h here for CString?

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:37
&gt; +typedef struct {
&gt; +    WebKitWebView *webView;
&gt; +    GMainLoop *loop;
&gt; +} WebViewTitleFixture;

Rename it to somethjing more generic, WEbViewFixture, so that it can be used by other tests too.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:42
&gt; +    const gchar *title = webkit_web_view_get_title(webView);
&gt; +    g_assert_cmpstr(title, ==, &quot;Welcome to WebKitGtk+!&quot;);

This could be just g_assert_cmpstr(webkit_web_view_get_title(webView), ==, &quot;Welcome to WebKitGtk+!&quot;);

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:50
&gt; +    g_signal_connect(fixture-&gt;webView, &quot;notify::title&quot;, G_CALLBACK(webViewNotifyTitle), fixture);

Connect to the signal in  testWebViewTitle since the fixture might be used for other tests.

&gt; Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c:57
&gt; +    g_assert_cmpstr(webkit_web_view_get_title(fixture-&gt;webView), ==, 0);

To check it&apos;s null just g_assert(!webkit_web_view_get_title(fixture-&gt;webView));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479826</commentid>
    <comment_count>37</comment_count>
      <attachid>109993</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-06 23:36:55 -0700</bug_when>
    <thetext>Comment on attachment 109993
title property added

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

Looking good!

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:126
&gt; +static void didReceiveTitleForFrame(WKPageRef page, WKStringRef titleRef, WKFrameRef frameRef, WKTypeRef userData, const void* clientInfo)

userData is unused, so you should omit the name of the parameter.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:135
&gt; +     * The main frame title of this #WebKitWebView. If the title 

You should also say &quot;main frame document&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479828</commentid>
    <comment_count>38</comment_count>
      <attachid>109993</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-06 23:39:38 -0700</bug_when>
    <thetext>Comment on attachment 109993
title property added

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:131
&gt; +    const CString title = WebKit::toImpl(titleRef)-&gt;string().utf8();

I think you don&apos;t need WebKit:: there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479890</commentid>
    <comment_count>39</comment_count>
      <attachid>110108</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-07 02:20:58 -0700</bug_when>
    <thetext>Created attachment 110108
title property added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479891</commentid>
    <comment_count>40</comment_count>
      <attachid>110109</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-07 02:23:18 -0700</bug_when>
    <thetext>Created attachment 110109
title property added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479892</commentid>
    <comment_count>41</comment_count>
      <attachid>110110</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-07 02:24:42 -0700</bug_when>
    <thetext>Created attachment 110110
title property added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479893</commentid>
    <comment_count>42</comment_count>
      <attachid>110110</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-10-07 02:29:05 -0700</bug_when>
    <thetext>Comment on attachment 110110
title property added

Attachment 110110 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10000152</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479898</commentid>
    <comment_count>43</comment_count>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-07 02:35:56 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; (From update of attachment 110110 [details])
&gt; Attachment 110110 [details] did not pass gtk-ews (gtk):
&gt; Output: http://queues.webkit.org/results/10000152

This patch depends on https://bugs.webkit.org/show_bug.cgi?id=69249 which introduces webkit_web_view_load_html API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486836</commentid>
    <comment_count>44</comment_count>
      <attachid>110110</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-10-19 09:16:15 -0700</bug_when>
    <thetext>Comment on attachment 110110
title property added

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

This patch needs to be updated to use the new unit tests system, and it will need to be updated when bug #69814 is fixed too.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:147
&gt; +    const CString title = toImpl(titleRef)-&gt;string().utf8();
&gt; +    webkitWebViewSetTitle(WEBKIT_WEB_LOADER_CLIENT(clientInfo)-&gt;priv-&gt;view.get(), title);

I think we can just avoid caching title here and use a single line

webkitWebViewSetTitle(WEBKIT_WEB_LOADER_CLIENT(clientInfo)-&gt;priv-&gt;view.get(), toImpl(titleRef)-&gt;string().utf8());

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:136
&gt; +     * the title has not been received yet, it will be NULL.

Use %NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487554</commentid>
    <comment_count>45</comment_count>
      <attachid>111769</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-20 07:36:57 -0700</bug_when>
    <thetext>Created attachment 111769
title property added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487570</commentid>
    <comment_count>46</comment_count>
      <attachid>111769</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-20 08:03:19 -0700</bug_when>
    <thetext>Comment on attachment 111769
title property added

Attachment 111769 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10182421

New failing tests:
http/tests/inspector/resource-tree/resource-tree-document-url.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487625</commentid>
    <comment_count>47</comment_count>
      <attachid>111769</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-10-20 09:22:01 -0700</bug_when>
    <thetext>Comment on attachment 111769
title property added

Attachment 111769 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10179468</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488182</commentid>
    <comment_count>48</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-20 23:10:03 -0700</bug_when>
    <thetext>Any clue why this broke the build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488208</commentid>
    <comment_count>49</comment_count>
      <attachid>111769</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-10-20 23:44:16 -0700</bug_when>
    <thetext>Comment on attachment 111769
title property added

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:126
&gt; +static void didReceiveTitleForFrame(WKPageRef page, WKStringRef titleRef, WKFrameRef frameRef, WKTypeRef, const void* clientInfo)

You can remove the name of clientInfo, since it&apos;s unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488221</commentid>
    <comment_count>50</comment_count>
      <attachid>111914</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-10-20 23:53:19 -0700</bug_when>
    <thetext>Created attachment 111914
title property added

Incorporated review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488229</commentid>
    <comment_count>51</comment_count>
      <attachid>111914</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-21 00:04:26 -0700</bug_when>
    <thetext>Comment on attachment 111914
title property added

Attachment 111914 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10176816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495354</commentid>
    <comment_count>52</comment_count>
      <attachid>111914</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-11-03 04:53:27 -0700</bug_when>
    <thetext>Comment on attachment 111914
title property added

This is already r+, but it still needs some things before landing:
 - Make sure it still applies to current git master, I think it doesn&apos;t
 - Add new symbols to gtk-doc sections file
 - Update the unit test to use WebViewTest::LoadHtml() instead of webkit_web_view_load_html() directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495380</commentid>
    <comment_count>53</comment_count>
      <attachid>113468</attachid>
    <who name="Nayan Kumar K">nayankk</who>
    <bug_when>2011-11-03 05:36:53 -0700</bug_when>
    <thetext>Created attachment 113468
Add &apos;title&apos; property

Changes included in this patch are,
a). Rebased the patch to latest webkit trunk.
b). Use WebViewTest::loadHtml instead of webkit_web_view_load_html.
c). Added &apos;webkit_web_view_get_title&apos; in webkit2gtk-sections.txt file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495381</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 05:40:05 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495389</commentid>
    <comment_count>55</comment_count>
      <attachid>113468</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-11-03 05:52:17 -0700</bug_when>
    <thetext>Comment on attachment 113468
Add &apos;title&apos; property

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495399</commentid>
    <comment_count>56</comment_count>
      <attachid>113468</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-11-03 06:12:16 -0700</bug_when>
    <thetext>Comment on attachment 113468
Add &apos;title&apos; property

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495407</commentid>
    <comment_count>57</comment_count>
      <attachid>113468</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 06:26:54 -0700</bug_when>
    <thetext>Comment on attachment 113468
Add &apos;title&apos; property

Clearing flags on attachment: 113468

Committed r99179: &lt;http://trac.webkit.org/changeset/99179&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495408</commentid>
    <comment_count>58</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 06:27:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107318</attachid>
            <date>2011-09-14 04:31:07 -0700</date>
            <delta_ts>2011-09-29 12:39:32 -0700</delta_ts>
            <desc>Add title and progress properties</desc>
            <filename>AddTitleAndProgressProperty.diff</filename>
            <type>text/plain</type>
            <size>13516</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyODM1NTZhLi5lMDQ1MDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMDktMTQgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgYW5kIHByb2dyZXNzIHByb3BlcnRpZXMuCisK
KyAgICAgICAgU3VwcG9ydCBmb3IgdGl0bGUgYW5kIHByb2dyZXNzIHByb3BlcnRpZXMgYXJlIG5v
dyBhZGRlZAorICAgICAgICBpbiBXZWJLaXRXZWJWaWV3LiBBcHBsaWNhdGlvbnMgY2FuIG5vdyBy
ZWdpc3RlciB0byBoYW5kbGUKKyAgICAgICAgdGhlc2UgcHJvcGVydGllcyB1c2luZyBnX3NpZ25h
bF9jb25uZWN0IG9uIHdlYnZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02ODA3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0R2xvYmFsc1ByaXZhdGUuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3By
b3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfcHJvcGVydHkpOgorICAgICAg
ICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X2dldF90aXRsZSk6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Byb2dyZXNzKToKKyAg
ICAgICAgKGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKToKKyAgICAgICAgKGRpZFN0YXJ0UHJvZ3Jl
c3MpOgorICAgICAgICAoZGlkQ2hhbmdlUHJvZ3Jlc3MpOgorICAgICAgICAoZGlkRmluaXNoUHJv
Z3Jlc3MpOgorICAgICAgICAod2Via2l0V2ViVmlld0xvYWRlckNsaWVudEluaXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDoKKwogMjAxMS0wOS0xMyAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgQysr
IGV4Y2VwdGlvbnMgd2hlbiBidWlsZGluZyB3aXRoIGNsYW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDg1ZjZjOTguLjNlMjMxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC00NDUsNiArNDQ1
LDcgQEAgbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lU
R1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1UKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2NwcC9XS1JldGFpblB0ci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdEdsb2JhbHNQcml2YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdCYXNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0R2xvYmFsc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEdsb2JhbHNQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uODdlMjliMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdEdsb2JhbHNQcml2YXRlLmgKQEAgLTAsMCArMSwzMiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSBIb2xnZXIgSGFucyBQZXRlciBGcmV5
dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDA4IEphbiBNaWNoYWVsIEMuIEFsb256bworICogQ29w
eXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSBMdGQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdh
bGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBXZWJLaXRHbG9iYWxzUHJpdmF0
ZV9oCisjZGVmaW5lIFdlYktpdEdsb2JhbHNQcml2YXRlX2gKKworI2luY2x1ZGUgPGdsaWIuaD4K
KworI2RlZmluZSBXRUJLSVRfUEFSQU1fUkVBREFCTEUgKChHUGFyYW1GbGFncykoR19QQVJBTV9S
RUFEQUJMRSB8IEdfUEFSQU1fU1RBVElDX05BTUUgfCBHX1BBUkFNX1NUQVRJQ19OSUNLIHwgR19Q
QVJBTV9TVEFUSUNfQkxVUkIpKQorI2RlZmluZSBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFICgoR1Bh
cmFtRmxhZ3MpKEdfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9TVEFUSUNfTkFNRSB8IEdfUEFS
QU1fU1RBVElDX05JQ0sgfCBHX1BBUkFNX1NUQVRJQ19CTFVSQikpCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRl
eCA1NmFmOGVhLi5kMmM2MWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMjIsMTEgKzIyLDE0IEBACiAjaW5jbHVkZSAi
V2ViS2l0V2ViVmlldy5oIgogCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRl
ICJXZWJLaXRHbG9iYWxzUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYkZyYW1lLmgiCiAj
aW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dL
VVJMLmg+CisjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKQEAgLTM4LDggKzQxLDQxIEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld1ByaXZhdGUgewog
fTsgIAogCiBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3TG9hZGVyQ2xpZW50SW5pdChXZWJLaXRX
ZWJWaWV3Kik7CitzdGF0aWMgdm9pZCBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYs
IFdLU3RyaW5nUmVmLCBXS0ZyYW1lUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKTsKK3N0YXRp
YyB2b2lkIGRpZFN0YXJ0UHJvZ3Jlc3MoV0tQYWdlUmVmLCBjb25zdCB2b2lkICopOworc3RhdGlj
IHZvaWQgZGlkQ2hhbmdlUHJvZ3Jlc3MoV0tQYWdlUmVmLCBjb25zdCB2b2lkICopOworc3RhdGlj
IHZvaWQgZGlkRmluaXNoUHJvZ3Jlc3MoV0tQYWdlUmVmLCBjb25zdCB2b2lkICopOwogc3RhdGlj
IHZvaWQgZGlkQ3JlYXRlTWFpbkZyYW1lKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCopOwogCitlbnVt
IHsKKyAgICBQUk9QXzAsCisgICAgUFJPUF9USVRMRSwKKyAgICBQUk9QX1BST0dSRVNTLAorfTsK
Kworc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmpl
Y3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCit7Cisg
ICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyhvYmplY3QpOworICAg
IHN3aXRjaCAocHJvcElkKSB7CisgICAgY2FzZSBQUk9QX1RJVExFOgorICAgICAgICBnX3ZhbHVl
X3NldF9zdHJpbmcodmFsdWUsIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldykpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfUFJPR1JFU1M6CisgICAgICAgIGdfdmFsdWVf
c2V0X2RvdWJsZSh2YWx1ZSwgd2Via2l0X3dlYl92aWV3X2dldF9wcm9ncmVzcyh3ZWJWaWV3KSk7
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5W
QUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcHNwZWMpOworICAgIH0KK30KKworc3Rh
dGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1
aW50IHByb3BJZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyAqcHNwZWMpCit7Cisg
ICAgc3dpdGNoIChwcm9wSWQpIHsKKyAgICBkZWZhdWx0OgorICAgICAgICBHX09CSkVDVF9XQVJO
X0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBzcGVjKTsKKyAgICB9Cit9Cisg
ICAgICAgIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2luaXQoV2ViS2l0V2ViVmlldyog
d2ViVmlldykKIHsKICAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJf
VklFV19HRVRfUFJJVkFURSh3ZWJWaWV3KTsKQEAgLTUxLDYgKzg3LDI0IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF93ZWJfdmlld19pbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAKIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmll
d0NsYXNzKQogeworICAgIEdPYmplY3RDbGFzcyogb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFT
Uyh3ZWJWaWV3Q2xhc3MpOworICAgIG9iamVjdENsYXNzLT5nZXRfcHJvcGVydHkgPSB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X3Byb3BlcnR5OworICAgIG9iamVjdENsYXNzLT5zZXRfcHJvcGVydHkgPSB3
ZWJraXRfd2ViX3ZpZXdfc2V0X3Byb3BlcnR5OworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFs
bF9wcm9wZXJ0eShvYmplY3RDbGFzcywgUFJPUF9USVRMRSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInRpdGxlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGl0bGUiKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XygiUmV0dXJucyB0aGUgQHdlYl92aWV3J3MgZG9jdW1lbnQgdGl0bGUiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lU
X1BBUkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KG9iamVjdENsYXNzLCBQUk9QX1BST0dSRVNTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX2RvdWJsZSgicHJvZ3Jlc3MiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJvZ3Jlc3MiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGV0
ZXJtaW5lcyB0aGUgY3VycmVudCBwcm9ncmVzcyBvZiB0aGUgbG9hZCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMCwgMS4wLCAxLjAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOworCiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRl
KHdlYlZpZXdDbGFzcywgc2l6ZW9mKFdlYktpdFdlYlZpZXdQcml2YXRlKSk7CiB9CiAKQEAgLTg1
LDcgKzEzOSw1MiBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcpCiAgICAgV0tQYWdlR29Gb3J3YXJkKHRvQVBJKHBhZ2UpKTsKIH0KIAorY29u
c3QgZ2NoYXIqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUoV2ViS2l0V2ViVmlldyogd2ViVmll
dykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmll
dyksIE5VTEwpOworCisgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VH
ZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKKyAgICBTdHJpbmcgdGl0bGUg
PSBwYWdlLT5wYWdlVGl0bGUoKTsKKworICAgIC8qIEZJWE1FOiBEbyBJIG5lZWQgdG8gZG8gc3Ry
ZHVwIGhlcmU/ICovCisgICAgcmV0dXJuIGdfc3RyZHVwKHRpdGxlLnV0ZjgoKS5kYXRhKCkpOwor
fQorCitnZG91YmxlIHdlYmtpdF93ZWJfdmlld19nZXRfcHJvZ3Jlc3MoV2ViS2l0V2ViVmlldyog
d2ViVmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVco
d2ViVmlldyksIDEuMCk7CisKKyAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3
QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpOworICAgIHJldHVybiBw
YWdlLT5lc3RpbWF0ZWRQcm9ncmVzcygpOworfQorCiAvLyBMb2FkZXIgY2xpZW50CitzdGF0aWMg
dm9pZCBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
dGl0bGUsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKK3sKKyAgICBpZiAoV0tQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpID09IGZyYW1l
KSB7CisgICAgICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSAoV2ViS2l0V2ViVmlldyopKGNs
aWVudEluZm8pOworICAgICAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJ0
aXRsZSIpOworICAgIH0KK30KKworc3RhdGljIHZvaWQgZGlkU3RhcnRQcm9ncmVzcyhXS1BhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3ID0gKFdlYktpdFdlYlZpZXcqKShjbGllbnRJbmZvKTsKKyAgICBnX29iamVjdF9ub3Rp
ZnkoR19PQkpFQ1Qod2ViVmlldyksICJwcm9ncmVzcyIpOworfQorCitzdGF0aWMgdm9pZCBkaWRD
aGFuZ2VQcm9ncmVzcyhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sK
KyAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gKFdlYktpdFdlYlZpZXcqKShjbGllbnRJbmZv
KTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJwcm9ncmVzcyIpOwor
fQorCitzdGF0aWMgdm9pZCBkaWRGaW5pc2hQcm9ncmVzcyhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gKFdlYktp
dFdlYlZpZXcqKShjbGllbnRJbmZvKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2Vi
VmlldyksICJwcm9ncmVzcyIpOworfQorCiBzdGF0aWMgdm9pZCBkaWRDcmVhdGVNYWluRnJhbWUo
V0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgV2ViS2l0V2Vi
Vmlldyogd2ViVmlldyA9IChXZWJLaXRXZWJWaWV3KikoY2xpZW50SW5mbyk7CkBAIC0xMTAsNyAr
MjA5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0xvYWRlckNsaWVudEluaXQoV2ViS2l0
V2ViVmlldyogd2ViVmlldykKICAgICAgICAgMCwgICAgICAgIC8qIGRpZEZpbmlzaExvYWRGb3JG
cmFtZSAqLwogICAgICAgICAwLCAgICAgICAgLyogZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFt
ZSAqLwogICAgICAgICAwLCAgICAgICAgLyogZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZy
YW1lICovCi0gICAgICAgIDAsICAgICAgICAvKiBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSAqLwor
ICAgICAgICBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSwKICAgICAgICAgMCwgICAgICAgIC8qIGRp
ZEZpcnN0TGF5b3V0Rm9yRnJhbWUgKi8KICAgICAgICAgMCwgICAgICAgIC8qIGRpZEZpcnN0Vmlz
dWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lICovCiAgICAgICAgIDAsICAgICAgICAvKiBkaWRS
ZW1vdmVGcmFtZUZyb21IaWVyYXJjaCAqLwpAQCAtMTE4LDkgKzIxNyw5IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdFdlYlZpZXdMb2FkZXJDbGllbnRJbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAg
ICAgICAgIDAsICAgICAgICAvKiBkaWRSdW5JbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSAqLwogICAg
ICAgICAwLCAgICAgICAgLyogY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZUlu
RnJhbWUgKi8KICAgICAgICAgMCwgICAgICAgIC8qIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZUluRnJhbWUgKi8KLSAgICAgICAgMCwgICAgICAgIC8qIGRpZFN0YXJ0UHJvZ3Jlc3Mg
Ki8KLSAgICAgICAgMCwgICAgICAgIC8qIGRpZENoYW5nZVByb2dyZXNzICovCi0gICAgICAgIDAs
ICAgICAgICAvKiBkaWRGaW5pc2hQcm9ncmVzcyAqLworICAgICAgICBkaWRTdGFydFByb2dyZXNz
LAorICAgICAgICBkaWRDaGFuZ2VQcm9ncmVzcywKKyAgICAgICAgZGlkRmluaXNoUHJvZ3Jlc3Ms
CiAgICAgICAgIDAsICAgICAgICAvKiBkaWRCZWNvbWVVbnJlc3BvbnNpdmUgKi8KICAgICAgICAg
MCwgICAgICAgIC8qIGRpZEJlY29tZVJlc3BvbnNpdmUgKi8KICAgICAgICAgMCwgICAgICAgIC8q
IHByb2Nlc3NEaWRDcmFzaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IGU1OTY2NzUuLmJiMDI3OTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTc3LDYgKzc3
LDEyIEBAIHdlYmtpdF93ZWJfdmlld19nb19iYWNrICAgIChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3
KTsKIFdLX0VYUE9SVCB2b2lkCiB3ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAoV2ViS2l0V2Vi
VmlldyAqd2ViVmlldyk7CiAKK1dLX0VYUE9SVCBjb25zdCBnY2hhcioKK3dlYmtpdF93ZWJfdmll
d19nZXRfdGl0bGUgIChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KTsKKworV0tfRVhQT1JUIGdkb3Vi
bGUKK3dlYmtpdF93ZWJfdmlld19nZXRfcHJvZ3Jlc3MoV2ViS2l0V2ViVmlldyogd2ViVmlldyk7
CisKIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDk1ZGQ1ZDkuLjg4MjhhNTMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
OS0xNCAgTmF5YW4gS3VtYXIgSyAgPG5heWFua2tAbW90b3JvbGEuY29tPgorCisgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciB0aXRsZSBhbmQgcHJvZ3Jlc3MgcHJvcGVydGllcy4KKworICAgICAgICBT
dXBwb3J0IGZvciB0aXRsZSBhbmQgcHJvZ3Jlc3MgcHJvcGVydGllcyBhcmUgbm93IGFkZGVkCisg
ICAgICAgIGluIFdlYktpdFdlYlZpZXcuIEd0a0xhdW5jaGVyMiBpcyBtb2RpZmllZCB0byBoYW5k
bGUgdGhlc2UKKyAgICAgICAgcHJvcGVydGllcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBHdGtMYXVuY2hlci9tYWluLmM6CisgICAgICAgIChub3Rp
ZnlQcm9ncmVzc0NiKToKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXIpOgorCiAyMDExLTA5LTEzICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGNvbW1pdHRlcnMucHkg
aXMgbWlzc2luZyBzb21lIGNvbnRyaWJ1dG9ycwpkaWZmIC0tZ2l0IGEvVG9vbHMvR3RrTGF1bmNo
ZXIvbWFpbi5jIGIvVG9vbHMvR3RrTGF1bmNoZXIvbWFpbi5jCmluZGV4IDg5MTZjYzkuLmZhN2My
OGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0d0a0xhdW5jaGVyL21haW4uYworKysgYi9Ub29scy9HdGtM
YXVuY2hlci9tYWluLmMKQEAgLTQzLDcgKzQzLDYgQEAgc3RhdGljIHZvaWQgYWN0aXZhdGVVcmlF
bnRyeUNiKEd0a1dpZGdldCogZW50cnksIGdwb2ludGVyIGRhdGEpCiAgICAgd2Via2l0X3dlYl92
aWV3X2xvYWRfdXJpKHdlYlZpZXcsIHVyaSk7CiB9CiAKLSNpZm5kZWYgV0VCS0lUMgogc3RhdGlj
IHZvaWQgdXBkYXRlVGl0bGUoR3RrV2luZG93KiB3aW5kb3csIFdlYktpdFdlYlZpZXcqIHdlYlZp
ZXcpCiB7CiAgICAgR1N0cmluZyAqc3RyaW5nID0gZ19zdHJpbmdfbmV3KHdlYmtpdF93ZWJfdmll
d19nZXRfdGl0bGUod2ViVmlldykpOwpAQCAtNTYsNiArNTUsNyBAQCBzdGF0aWMgdm9pZCB1cGRh
dGVUaXRsZShHdGtXaW5kb3cqIHdpbmRvdywgV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBn
X2ZyZWUodGl0bGUpOwogfQogCisjaWZuZGVmIFdFQktJVDIKIHN0YXRpYyB2b2lkIGxpbmtIb3Zl
ckNiKFdlYktpdFdlYlZpZXcqIHBhZ2UsIGNvbnN0IGdjaGFyKiB0aXRsZSwgY29uc3QgZ2NoYXIq
IGxpbmssIEd0a1N0YXR1c2Jhciogc3RhdHVzYmFyKQogewogICAgIGd1aW50IHN0YXR1c0NvbnRl
eHRJZCA9CkBAIC02NSwxMiArNjUsMTQgQEAgc3RhdGljIHZvaWQgbGlua0hvdmVyQ2IoV2ViS2l0
V2ViVmlldyogcGFnZSwgY29uc3QgZ2NoYXIqIHRpdGxlLCBjb25zdCBnY2hhciogbGkKICAgICBp
ZiAobGluaykKICAgICAgICAgZ3RrX3N0YXR1c2Jhcl9wdXNoKHN0YXR1c2Jhciwgc3RhdHVzQ29u
dGV4dElkLCBsaW5rKTsKIH0KKyNlbmRpZgogCiBzdGF0aWMgdm9pZCBub3RpZnlUaXRsZUNiKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQYXJhbVNwZWMqIHBzcGVjLCBHdGtXaWRnZXQqIHdpbmRv
dykKIHsKICAgICB1cGRhdGVUaXRsZShHVEtfV0lORE9XKHdpbmRvdyksIHdlYlZpZXcpOwogfQog
CisjaWZuZGVmIFdFQktJVDIKIHN0YXRpYyB2b2lkIG5vdGlmeUxvYWRTdGF0dXNDYihXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1TcGVjKiBwc3BlYywgR3RrV2lkZ2V0KiB1cmlFbnRyeSkK
IHsKICAgICBpZiAod2Via2l0X3dlYl92aWV3X2dldF9sb2FkX3N0YXR1cyh3ZWJWaWV3KSA9PSBX
RUJLSVRfTE9BRF9DT01NSVRURUQpIHsKQEAgLTgwLDEyICs4MiwxMiBAQCBzdGF0aWMgdm9pZCBu
b3RpZnlMb2FkU3RhdHVzQ2IoV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1BhcmFtU3BlYyogcHNw
ZWMsIEd0a1dpZAogICAgICAgICAgICAgZ3RrX2VudHJ5X3NldF90ZXh0KEdUS19FTlRSWSh1cmlF
bnRyeSksIHVyaSk7CiAgICAgfQogfQorI2VuZGlmCiAKIHN0YXRpYyB2b2lkIG5vdGlmeVByb2dy
ZXNzQ2IoV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1BhcmFtU3BlYyogcHNwZWMsIEd0a1dpZGdl
dCogd2luZG93KQogewogICAgIHVwZGF0ZVRpdGxlKEdUS19XSU5ET1cod2luZG93KSwgd2ViVmll
dyk7CiB9Ci0jZW5kaWYKIAogc3RhdGljIHZvaWQgZGVzdHJveUNiKEd0a1dpZGdldCogd2lkZ2V0
LCBHdGtXaWRnZXQqIHdpbmRvdykKIHsKQEAgLTEzNCwxMCArMTM2LDEyIEBAIHN0YXRpYyBHdGtX
aWRnZXQqIGNyZWF0ZUJyb3dzZXIoR3RrV2lkZ2V0KiB3aW5kb3csIEd0a1dpZGdldCogdXJpRW50
cnksIEd0a1dpZGdlCiAKICAgICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09OVEFJTkVSKHNjcm9s
bGVkV2luZG93KSwgR1RLX1dJREdFVCh3ZWJWaWV3KSk7CiAKLSNpZm5kZWYgV0VCS0lUMgogICAg
IGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldywgIm5vdGlmeTo6dGl0bGUiLCBHX0NBTExCQUNLKG5v
dGlmeVRpdGxlQ2IpLCB3aW5kb3cpOworI2lmbmRlZiBXRUJLSVQyCiAgICAgZ19zaWduYWxfY29u
bmVjdCh3ZWJWaWV3LCAibm90aWZ5Ojpsb2FkLXN0YXR1cyIsIEdfQ0FMTEJBQ0sobm90aWZ5TG9h
ZFN0YXR1c0NiKSwgdXJpRW50cnkpOworI2VuZGlmCiAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJW
aWV3LCAibm90aWZ5Ojpwcm9ncmVzcyIsIEdfQ0FMTEJBQ0sobm90aWZ5UHJvZ3Jlc3NDYiksIHdp
bmRvdyk7CisjaWZuZGVmIFdFQktJVDIgICAgCiAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3
LCAiaG92ZXJpbmctb3Zlci1saW5rIiwgR19DQUxMQkFDSyhsaW5rSG92ZXJDYiksIHN0YXR1c2Jh
cik7CiAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3LCAiY3JlYXRlLXdlYi12aWV3IiwgR19D
QUxMQkFDSyhjcmVhdGVXZWJWaWV3Q2IpLCB3aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
d2ViVmlldywgIndlYi12aWV3LXJlYWR5IiwgR19DQUxMQkFDSyh3ZWJWaWV3UmVhZHlDYiksIHdp
bmRvdyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109188</attachid>
            <date>2011-09-29 12:39:32 -0700</date>
            <delta_ts>2011-09-30 04:26:49 -0700</delta_ts>
            <desc>Title property added.</desc>
            <filename>TitleProperty.diff</filename>
            <type>text/plain</type>
            <size>13914</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyNTViOTEzLi5kYTEyZDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDktMjkgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgwNzQKKworICAgICAgICBTdXBwb3J0IGZvciAndGl0bGUnIHByb3BlcnR5IGlzIGFk
ZGVkIGluIFdlYktpdFdlYlZpZXcuCisgICAgICAgIEZ1bmN0aW9ucyB0byBnZXQgdGhlIHZhbHVl
IG9mIHRoaXMgcHJvcGVydHkgaXMgcHJvdmlkZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUg
Zm9yIGNvbXBpbGF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHA6CisgICAgICAgIChkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSk6IExvYWRl
ckNsaWVudCB0aXRsZVJlY2lldmUgY2FsbGJhY2suCisgICAgICAgICh3ZWJraXRXZWJMb2FkZXJD
bGllbnRDb25zdHJ1Y3RlZCk6IFJlZ2lzdGVyIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lIGNhbGxi
YWNrLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAg
ICAgICAod2Via2l0V2ViVmlld0dldFByb3BlcnR5KTogJ3RpdGxlJyBwcm9wZXJ0eSBnZXQgZnVu
Y3Rpb24uCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IFJlZ2lzdGVyIG5l
dyBwcm9wZXJ0eS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRsZVJlY2VpdmVkKTog
Tm90aWZ5IFdlYktpdFdlYlZpZXcgYWJvdXQgdGl0bGUgcmVjZWl2ZS4KKyAgICAgICAgKHdlYmtp
dF93ZWJfdmlld19nZXRfdGl0bGUpOiBBUEkgdG8gZ2V0IG1haW4gZnJhbWUgdGl0bGUuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmg6IEFkZGVkLgorCiAyMDExLTA5LTI5
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBGb3JjZSBzaW5nbGUgaGVhZGVyIGluY2x1ZGUgaW4gV2ViS2l0MiBHVEsrIEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9H
TlVtYWtlZmlsZS5hbQppbmRleCAyMzg4YmZiLi5jMTFhNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5h
bQpAQCAtNDczLDYgKzQ3Myw3IEBAIGxpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1Jf
VkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmggXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBcCisJU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgXAogCVNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmggXAogCVNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2Fk
ZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
TG9hZGVyQ2xpZW50LmNwcAppbmRleCBkNjIzMDA4Li45OTQ1NDNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVu
dC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBT
LkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDYgKzI1
LDcgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmll
dy5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldl
YktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CkBAIC0xMTgsNiArMTIwLDE3IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVy
cm9yRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAg
Z19zaWduYWxfZW1pdChXRUJLSVRfV0VCX0xPQURFUl9DTElFTlQoY2xpZW50SW5mbyksIHNpZ25h
bHNbTE9BRF9GQUlMRURdLCAwLCB3ZWJFcnJvci5nZXQoKSwgJnJldHVyblZhbHVlKTsKIH0KIAor
c3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLU3Ry
aW5nUmVmIHRpdGxlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUp
KQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnQgKmxvYWRlckNs
aWVudCA9IFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChjbGllbnRJbmZvKTsKKyAgICBXZWJLaXRX
ZWJMb2FkZXJDbGllbnRQcml2YXRlKiBwcml2ID0gbG9hZGVyQ2xpZW50LT5wcml2OworICAgIFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcgPSBwcml2LT52aWV3LmdldCgpOworICAgIHdlYmtpdFdlYlZp
ZXdOb3RpZnlUaXRsZVJlY2VpdmVkKHdlYlZpZXcsIHRpdGxlKTsKK30KKwogc3RhdGljIHZvaWQg
d2Via2l0V2ViTG9hZGVyQ2xpZW50Q29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogewogICAg
IFdlYktpdFdlYkxvYWRlckNsaWVudCogY2xpZW50ID0gV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5U
KG9iamVjdCk7CkBAIC0xMzQsNyArMTQ3LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViTG9hZGVy
Q2xpZW50Q29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogICAgICAgICBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWUsCiAgICAgICAgIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUsCiAgICAgICAg
IDAsICAgICAgIC8vIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZQotICAgICAgICAw
LCAgICAgICAvLyBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZQorICAgICAgICBkaWRSZWNlaXZlVGl0
bGVGb3JGcmFtZSwKICAgICAgICAgMCwgICAgICAgLy8gZGlkRmlyc3RMYXlvdXRGb3JGcmFtZQog
ICAgICAgICAwLCAgICAgICAvLyBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFt
ZQogICAgICAgICAwLCAgICAgICAvLyBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5k
ZXggOTJkYWEyNC4uYzU4MWRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTIzLDEyICsyNCwxNSBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
V2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZh
dGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5
LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJM
Lmg+CisjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CkBAIC0zNiwxMyArNDAsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiBlbnVtIHsKICAgICBQUk9QXzAsCiAKLSAgICBQUk9QX1dFQl9DT05URVhUCisgICAgUFJPUF9X
RUJfQ09OVEVYVCwKKyAgICBQUk9QX1RJVExFCiB9OwogCiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdQ
cml2YXRlIHsKICAgICBXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0OwogCiAgICAgR1JlZlB0cjxX
ZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRlckNsaWVudDsKKyAgICBDU3RyaW5nIHRpdGxlOwog
fTsKIAogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJWaWV3LCB3ZWJraXRfd2ViX3ZpZXcsIFdFQktJ
VF9UWVBFX1dFQl9WSUVXX0JBU0UpCkBAIC03OCw2ICs4NCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dFdlYlZpZXdHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVl
KiB2YWx1CiAgICAgY2FzZSBQUk9QX1dFQl9DT05URVhUOgogICAgICAgICBnX3ZhbHVlX3Rha2Vf
b2JqZWN0KHZhbHVlLCB3ZWJWaWV3LT5wcml2LT5jb250ZXh0KTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBQUk9QX1RJVExFOgorICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHdl
YmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldykpOworICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0
LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAgICAgfQpAQCAtMTE5LDYgKzEyOCwzNCBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZp
ZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlRoZSB3ZWIgY29udGV4dCBmb3IgdGhlIHZpZXciLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJf
Q09OVEVYVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEV1JJVEUg
fCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZKSkpOworCisgICAgLyoqCisgICAgICogV2ViS2l0V2Vi
Vmlldzp0aXRsZQorICAgICAqIAorICAgICAqIFRoZSB0aXRsZSBhc3NvY2lhdGVkIHdpdGggV2Vi
VmlldydzIGRvY3VtZW50LgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UFJPUF9USVRMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1f
c3BlY19zdHJpbmcoInRpdGxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXygiVGl0bGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiUmV0dXJucyB0aGUgdGl0bGUgYXNz
b2NpYXRlZCB3aXRoIEBXZWJLaXRXZWJWaWV3IiksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdz
PihXRUJLSVRfUEFSQU1fUkVBREFCTEUpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK30KKwordm9pZCB3ZWJraXRXZWJWaWV3Tm90
aWZ5VGl0bGVSZWNlaXZlZChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXS1N0cmluZ1JlZiB0aXRs
ZVJlZikKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3
KSk7CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7Cisg
ICAgQ1N0cmluZyB0aXRsZSA9IFdlYktpdDo6dG9JbXBsKHRpdGxlUmVmKS0+c3RyaW5nKCkudXRm
OCgpOworICAgIGlmKHByaXYtPnRpdGxlID09IHRpdGxlKQorICAgICAgICByZXR1cm47CisKKyAg
ICBwcml2LT50aXRsZSA9IHRpdGxlOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVCh3ZWJW
aWV3KSwgInRpdGxlIik7CiB9CiAKIC8vIFB1YmxpYyBBUEkuCkBAIC0yNTEsMyArMjg4LDIyIEBA
IHZvaWQgd2Via2l0X3dlYl92aWV3X2dvX2ZvcndhcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykK
ICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lU
X1dFQl9WSUVXX0JBU0Uod2ViVmlldykpOwogICAgIFdLUGFnZUdvRm9yd2FyZCh0b0FQSShwYWdl
KSk7CiB9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZToKKyAqIEB3ZWJfdmll
dzogYSAjV2ViS2l0V2ViVmlldworICoKKyAqIFJldHVybnMgdGhlICNPYmplY3Q6dGl0bGUgYXNz
b2NpYXRlZCB3aXRoICNXZWJLaXRXZWJWaWV3LgorICovCitjb25zdCBnY2hhciogd2Via2l0X3dl
Yl92aWV3X2dldF90aXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJu
X3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAgICBXZWJL
aXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CisgICAgV2ViUGFnZVByb3h5
KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdl
YlZpZXcpKTsKKyAgICBTdHJpbmcgdGl0bGUgPSBwYWdlLT5wYWdlVGl0bGUoKTsKKyAgICBpZihw
cml2LT50aXRsZSAhPSB0aXRsZS51dGY4KCkpCisgICAgICAgIHByaXYtPnRpdGxlID0gdGl0bGUu
dXRmOCgpOworCisgICAgcmV0dXJuIHByaXYtPnRpdGxlLmRhdGEoKTsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCBhNzliMjFi
Li5lNTQ2OWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5oCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4
IEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFi
b3JhIEx0ZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMg
Q29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC05NCw2ICs5NSw5IEBAIHdlYmtpdF93ZWJf
dmlld19nb19iYWNrICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7
CiBXS19FWFBPUlQgdm9pZAogd2Via2l0X3dlYl92aWV3X2dvX2ZvcndhcmQgICAgICAgIChXZWJL
aXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKIAorV0tfRVhQT1JUIGNvbnN0IGdjaGFyKiAK
K3dlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICp3ZWJWaWV3KTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDkyZDM0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApA
QCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisg
KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0V2ViVmlld1ByaXZh
dGVfaAorI2RlZmluZSBXZWJLaXRXZWJWaWV3UHJpdmF0ZV9oCisKKyNpbmNsdWRlICJXZWJLaXRX
ZWJWaWV3LmgiCisKK0dfQkVHSU5fREVDTFMKKwordm9pZCB3ZWJraXRXZWJWaWV3Tm90aWZ5VGl0
bGVSZWNlaXZlZChXZWJLaXRXZWJWaWV3ICosIFdLU3RyaW5nUmVmKTsKKworR19FTkRfREVDTFMK
KworI2VuZGlmIC8vIFdlYktpdFdlYkNvbnRleHRQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhOGVmMjk3Li5mOGE2ZWYyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTEtMDktMjkgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
KworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR3RrTGF1
bmNoZXIvbWFpbi5jOgorICAgICAgICAodXBkYXRlVGl0bGUpOgorICAgICAgICAoY3JlYXRlQnJv
d3Nlcik6CisKIDIwMTEtMDktMjkgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBJbmRleGVkREI6IFVzZSBMZXZlbERCIGFsc28gZm9yIGluLW1lbW9yeSBkYXRh
YmFzZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL0d0a0xhdW5jaGVyL21haW4uYyBiL1Rvb2xzL0d0a0xh
dW5jaGVyL21haW4uYwppbmRleCBiNTYwMTM3Li4yZWYyZTZjIDEwMDY0NAotLS0gYS9Ub29scy9H
dGtMYXVuY2hlci9tYWluLmMKKysrIGIvVG9vbHMvR3RrTGF1bmNoZXIvbWFpbi5jCkBAIC0yLDYg
KzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4KICAqIENvcHly
aWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgogICogQ29weXJpZ2h0IChD
KSAyMDExIEx1a2FzeiBTbGFjaGNpYWsKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBN
b3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDcsMTkgKzQ4LDIyIEBAIHN0YXRpYyB2b2lkIGFjdGl2
YXRlVXJpRW50cnlDYihHdGtXaWRnZXQqIGVudHJ5LCBncG9pbnRlciBkYXRhKQogICAgIHdlYmtp
dF93ZWJfdmlld19sb2FkX3VyaSh3ZWJWaWV3LCB1cmkpOwogfQogCi0jaWZuZGVmIFdFQktJVDIK
Kwogc3RhdGljIHZvaWQgdXBkYXRlVGl0bGUoR3RrV2luZG93KiB3aW5kb3csIFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcpCiB7CiAgICAgR1N0cmluZyAqc3RyaW5nID0gZ19zdHJpbmdfbmV3KHdlYmtp
dF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldykpOworI2lmbmRlZiBXRUJLSVQyCiAgICAgZ2Rv
dWJsZSBsb2FkUHJvZ3Jlc3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Byb2dyZXNzKHdlYlZpZXcp
ICogMTAwOwogICAgIGdfc3RyaW5nX2FwcGVuZChzdHJpbmcsICIgLSBXZWJLaXQgTGF1bmNoZXIi
KTsKICAgICBpZiAobG9hZFByb2dyZXNzIDwgMTAwKQogICAgICAgICBnX3N0cmluZ19hcHBlbmRf
cHJpbnRmKHN0cmluZywgIiAoJWYlJSkiLCBsb2FkUHJvZ3Jlc3MpOworI2VuZGlmCiAgICAgZ2No
YXIgKnRpdGxlID0gZ19zdHJpbmdfZnJlZShzdHJpbmcsIEZBTFNFKTsKICAgICBndGtfd2luZG93
X3NldF90aXRsZSh3aW5kb3csIHRpdGxlKTsKICAgICBnX2ZyZWUodGl0bGUpOwogfQogCisjaWZu
ZGVmIFdFQktJVDIKIHN0YXRpYyB2b2lkIGxpbmtIb3ZlckNiKFdlYktpdFdlYlZpZXcqIHBhZ2Us
IGNvbnN0IGdjaGFyKiB0aXRsZSwgY29uc3QgZ2NoYXIqIGxpbmssIEd0a1N0YXR1c2Jhciogc3Rh
dHVzYmFyKQogewogICAgIGd1aW50IHN0YXR1c0NvbnRleHRJZCA9CkBAIC02OSwxMiArNzMsMTQg
QEAgc3RhdGljIHZvaWQgbGlua0hvdmVyQ2IoV2ViS2l0V2ViVmlldyogcGFnZSwgY29uc3QgZ2No
YXIqIHRpdGxlLCBjb25zdCBnY2hhciogbGkKICAgICBpZiAobGluaykKICAgICAgICAgZ3RrX3N0
YXR1c2Jhcl9wdXNoKHN0YXR1c2Jhciwgc3RhdHVzQ29udGV4dElkLCBsaW5rKTsKIH0KKyNlbmRp
ZgogCiBzdGF0aWMgdm9pZCBub3RpZnlUaXRsZUNiKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQ
YXJhbVNwZWMqIHBzcGVjLCBHdGtXaWRnZXQqIHdpbmRvdykKIHsKICAgICB1cGRhdGVUaXRsZShH
VEtfV0lORE9XKHdpbmRvdyksIHdlYlZpZXcpOwogfQogCisjaWZuZGVmIFdFQktJVDIKIHN0YXRp
YyB2b2lkIG5vdGlmeUxvYWRTdGF0dXNDYihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1T
cGVjKiBwc3BlYywgR3RrV2lkZ2V0KiB1cmlFbnRyeSkKIHsKICAgICBpZiAod2Via2l0X3dlYl92
aWV3X2dldF9sb2FkX3N0YXR1cyh3ZWJWaWV3KSA9PSBXRUJLSVRfTE9BRF9DT01NSVRURUQpIHsK
QEAgLTEzOCw4ICsxNDQsOCBAQCBzdGF0aWMgR3RrV2lkZ2V0KiBjcmVhdGVCcm93c2VyKEd0a1dp
ZGdldCogd2luZG93LCBHdGtXaWRnZXQqIHVyaUVudHJ5LCBHdGtXaWRnZQogCiAgICAgZ3RrX2Nv
bnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihzY3JvbGxlZFdpbmRvdyksIEdUS19XSURHRVQod2Vi
VmlldykpOwogCi0jaWZuZGVmIFdFQktJVDIKICAgICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcs
ICJub3RpZnk6OnRpdGxlIiwgR19DQUxMQkFDSyhub3RpZnlUaXRsZUNiKSwgd2luZG93KTsKKyNp
Zm5kZWYgV0VCS0lUMgogICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldywgIm5vdGlmeTo6bG9h
ZC1zdGF0dXMiLCBHX0NBTExCQUNLKG5vdGlmeUxvYWRTdGF0dXNDYiksIHVyaUVudHJ5KTsKICAg
ICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcsICJub3RpZnk6OnByb2dyZXNzIiwgR19DQUxMQkFD
Syhub3RpZnlQcm9ncmVzc0NiKSwgd2luZG93KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdlYlZp
ZXcsICJob3ZlcmluZy1vdmVyLWxpbmsiLCBHX0NBTExCQUNLKGxpbmtIb3ZlckNiKSwgc3RhdHVz
YmFyKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109281</attachid>
            <date>2011-09-30 04:26:49 -0700</date>
            <delta_ts>2011-09-30 04:34:50 -0700</delta_ts>
            <desc>Title property added.</desc>
            <filename>0001-Added-title-property.patch</filename>
            <type>text/plain</type>
            <size>19264</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSAwMmQzNGU5MjY1NGRjNDI3MTIwMzc2ZGJhZmIxZTdlMjk1ODg2YTExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogRnJpLCAzMCBTZXAgMjAxMSAxNjo1MzoxMCArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZGVkIHRpdGxlIHByb3BlcnR5CgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAzMSArKysrCiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgICAgfCAgIDE1ICsrLQogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgfCAgIDUxICsrKysrKy0KIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCAgIHwgICAgNCArCiAu
Li4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCAgICAgICB8ICAgMzgg
KysrKysKIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMg
IHwgIDE2MyArKysrKysrKysrKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAzMDEgaW5zZXJ0
aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDE2MjE2OGYuLmE2NzlkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMS0wOS0z
MCAgTmF5YW4gS3VtYXIgSyAgPG5heWFua2tAbW90b3JvbGEuY29tPgorCisgICAgICAgIE5lZWQg
YSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQg
bmV3IGZpbGUgZm9yIGNvbXBpbGF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYkxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChkaWRSZWNlaXZlVGl0bGVGb3JGcmFt
ZSk6IExvYWRlckNsaWVudCB0aXRsZVJlY2lldmUgY2FsbGJhY2suCisgICAgICAgICh3ZWJraXRX
ZWJMb2FkZXJDbGllbnRDb25zdHJ1Y3RlZCk6IFJlZ2lzdGVyIGRpZFJlY2VpdmVUaXRsZUZvckZy
YW1lIGNhbGxiYWNrLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcu
Y3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0dldFByb3BlcnR5KTogJ3RpdGxlJyBwcm9wZXJ0
eSBnZXQgZnVuY3Rpb24uCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IFJl
Z2lzdGVyIG5ldyBwcm9wZXJ0eS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRsZVJl
Y2VpdmVkKTogTm90aWZ5IFdlYktpdFdlYlZpZXcgYWJvdXQgdGl0bGUgcmVjZWl2ZS4KKyAgICAg
ICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUpOiBBUEkgdG8gZ2V0IG1haW4gZnJhbWUgdGl0
bGUuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oOiBOZXcgQVBJ
IGFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRl
Lmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3
LmM6CisgICAgICAgIChzZXJ2ZXJDYWxsYmFjayk6IFNvdXAgc2VydmVyIGNhbGxiYWNrLgorICAg
ICAgICAod2ViVmlld05vdGlmeVRpdGxlKTogJ3RpdGxlJyBwcm9wZXJ0eSBjaGFuZ2VkIGNhbGxi
YWNrLgorICAgICAgICAod2ViTG9hZGluZ0ZpeHR1cmVTZXR1cCk6IFRlc3QgZml4dHVyZSBzZXR1
cCBmdW5jdGlvbi4KKyAgICAgICAgKGxvYWRTdGF0dXNQcm92aXNpb25hbExvYWRTdGFydGVkKTog
UHJvdmlzaW9uYWwgbG9hZCBzdGFydGVkIGNhbGxiYWNrLgorICAgICAgICAobG9hZFN0YXR1c1By
b3Zpc2lvbmFsTG9hZEZhaWxlZCk6IFByb3Zpc2lvbmFsIGxvYWQgZmFpbGVkIGNhbGxiYWNrLgor
ICAgICAgICAobG9hZFN0YXR1c0xvYWRDb21taXR0ZWQpOiBMb2FkIGNvbW1pdHRlZCBjYWxsYmFj
ay4KKyAgICAgICAgKGxvYWRTdGF0dXNMb2FkRmluaXNoZWQpOiBMb2FkIGZpbmlzaGVkIGNhbGxi
YWNrLgorICAgICAgICAobG9hZFN0YXR1c0xvYWRGYWlsZWQpOiBMb2FkIGZhaWxlZCBjYWxsYmFj
ay4KKyAgICAgICAgKGdldFVSSUZvclBhdGgpOgorICAgICAgICAodGVzdFdlYlZpZXdUaXRsZSk6
IEZ1bmN0aW9uIHRvIHRlc3QgdGhlICd0aXRsZScgcHJvcGVydHkuCisgICAgICAgICh3ZWJMb2Fk
aW5nRml4dHVyZVRlYXJkb3duKTogVGVzdCBmaXh0dXJlIHRlYXJkb3duIGZ1bmN0aW9uLgorICAg
ICAgICAobWFpbik6CisKIDIwMTEtMDktMjkgIFJhdmkgUGhhbmVlbmRyYSBLYXNpYmhhdGxhICA8
cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBJbml0aWFsIGltcGxlbWVu
dGF0aW9uIG9mIFdlYkluc3BlY3RvciBmb3IgV2ViS2l0MiBHVEsgcG9ydC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0KaW5kZXggMjM4OGJmYi4uYzExYTZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTQ3
Myw2ICs0NzMsNyBAQCBsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05A
X0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVQogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggXAorCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggXAogCVNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5oIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNs
aWVudC5jcHAKaW5kZXggZDYyMzAwOC4uNWI0OTI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCkBA
IC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICog
UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNCw2ICsyNSw3IEBACiAj
aW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKICNp
bmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRXZWJW
aWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpA
QCAtMTE4LDYgKzEyMCwxNyBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZy
YW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0VycgogICAgIGdfc2lnbmFs
X2VtaXQoV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKGNsaWVudEluZm8pLCBzaWduYWxzW0xPQURf
RkFJTEVEXSwgMCwgd2ViRXJyb3IuZ2V0KCksICZyZXR1cm5WYWx1ZSk7CiB9CiAKK3N0YXRpYyB2
b2lkIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB0
aXRsZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQoreworICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBsb2FkZXJDbGllbnQgPSBX
RUJLSVRfV0VCX0xPQURFUl9DTElFTlQoY2xpZW50SW5mbyk7CisgICAgV2ViS2l0V2ViTG9hZGVy
Q2xpZW50UHJpdmF0ZSogcHJpdiA9IGxvYWRlckNsaWVudC0+cHJpdjsKKyAgICBXZWJLaXRXZWJW
aWV3KiB3ZWJWaWV3ID0gcHJpdi0+dmlldy5nZXQoKTsKKyAgICB3ZWJraXRXZWJWaWV3Tm90aWZ5
VGl0bGVSZWNlaXZlZCh3ZWJWaWV3LCB0aXRsZSk7Cit9CisKIHN0YXRpYyB2b2lkIHdlYmtpdFdl
YkxvYWRlckNsaWVudENvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIHsKICAgICBXZWJLaXRX
ZWJMb2FkZXJDbGllbnQqIGNsaWVudCA9IFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChvYmplY3Qp
OwpAQCAtMTM0LDcgKzE0Nyw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYkxvYWRlckNsaWVudENv
bnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKICAgICAgICAgZGlkRmluaXNoTG9hZEZvckZyYW1l
LAogICAgICAgICBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lLAogICAgICAgICAwLCAgICAg
ICAvLyBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUKLSAgICAgICAgMCwgICAgICAg
Ly8gZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUKKyAgICAgICAgZGlkUmVjZWl2ZVRpdGxlRm9yRnJh
bWUsCiAgICAgICAgIDAsICAgICAgIC8vIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWUKICAgICAgICAg
MCwgICAgICAgLy8gZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUKICAgICAg
ICAgMCwgICAgICAgLy8gZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDkyZGFh
MjQuLjRhMmY3YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0yMywxMCArMjQsMTIgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZS5o
IgogI2luY2x1ZGUgIldlYktpdFdlYkxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2lu
Y2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1VSTC5oPgorI2lu
Y2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtMzYsMTMgKzM5LDE1IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogZW51bSB7CiAgICAgUFJPUF8wLAogCi0gICAgUFJPUF9X
RUJfQ09OVEVYVAorICAgIFBST1BfV0VCX0NPTlRFWFQsCisgICAgUFJPUF9USVRMRQogfTsKIAog
c3RydWN0IF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSB7CiAgICAgV2ViS2l0V2ViQ29udGV4dCogY29u
dGV4dDsKIAogICAgIEdSZWZQdHI8V2ViS2l0V2ViTG9hZGVyQ2xpZW50PiBsb2FkZXJDbGllbnQ7
CisgICAgQ1N0cmluZyB0aXRsZTsKIH07CiAKIEdfREVGSU5FX1RZUEUoV2ViS2l0V2ViVmlldywg
d2Via2l0X3dlYl92aWV3LCBXRUJLSVRfVFlQRV9XRUJfVklFV19CQVNFKQpAQCAtNzgsNiArODMs
OSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3R2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0
LCBndWludCBwcm9wSWQsIEdWYWx1ZSogdmFsdQogICAgIGNhc2UgUFJPUF9XRUJfQ09OVEVYVDoK
ICAgICAgICAgZ192YWx1ZV90YWtlX29iamVjdCh2YWx1ZSwgd2ViVmlldy0+cHJpdi0+Y29udGV4
dCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9USVRMRToKKyAgICAgICAgZ192YWx1
ZV9zZXRfc3RyaW5nKHZhbHVlLCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHdlYlZpZXcpKTsK
KyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZB
TElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgIH0KQEAgLTEx
OSw2ICsxMjcsMzAgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2Vi
S2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgd2ViIGNvbnRleHQgZm9yIHRoZSB2
aWV3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgV0VCS0lUX1RZUEVfV0VCX0NPTlRFWFQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdzPihX
RUJLSVRfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1RfT05MWSkpKTsKKworICAg
IC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6dGl0bGU6CisgICAgICogCisgICAgICogUmV0dXJu
czogdGhlIEB3ZWJfdmlldydzIGRvY3VtZW50IHRpdGxlLgorICAgICAqLworICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUFJPUF9USVRMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInRpdGxlIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGl0bGUiKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiUmV0
dXJucyB0aGUgQHdlYl92aWV3J3MgZG9jdW1lbnQgdGl0bGUiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1Bh
cmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpKTsKK30KKwordm9pZCB3ZWJraXRXZWJW
aWV3Tm90aWZ5VGl0bGVSZWNlaXZlZChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXS1N0cmluZ1Jl
ZiB0aXRsZVJlZikKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXct
PnByaXY7CisgICAgQ1N0cmluZyB0aXRsZSA9IFdlYktpdDo6dG9JbXBsKHRpdGxlUmVmKS0+c3Ry
aW5nKCkudXRmOCgpOworICAgIGlmIChwcml2LT50aXRsZSA9PSB0aXRsZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19P
QkpFQ1Qod2ViVmlldyksICJ0aXRsZSIpOwogfQogCiAvLyBQdWJsaWMgQVBJLgpAQCAtMjUxLDMg
KzI4MywyMCBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQ
YWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKICAgICBXS1BhZ2VHb0ZvcndhcmQo
dG9BUEkocGFnZSkpOwogfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGU6Cisg
KiBAd2ViVmlldzogYSAjV2ViS2l0V2ViVmlldworICogCisgKiBSZXR1cm5zIHRoZSBAd2ViX3Zp
ZXcncyBkb2N1bWVudCB0aXRsZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUgdGl0bGUgb2YgQHdlYl92
aWV3LgorICovCitjb25zdCBnY2hhciogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZShXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19X
RUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9
IHdlYlZpZXctPnByaXY7CisKKyAgICByZXR1cm4gcHJpdi0+dGl0bGUuZGF0YSgpOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4
IGE3OWIyMWIuLmU1NDY5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDcsIDIwMDggQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAw
OCBDb2xsYWJvcmEgTHRkLgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTk0LDYgKzk1LDkgQEAgd2Vi
a2l0X3dlYl92aWV3X2dvX2JhY2sgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndl
Yl92aWV3KTsKIFdLX0VYUE9SVCB2b2lkCiB3ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAgICAg
ICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwogCitXS19FWFBPUlQgY29uc3Qg
Z2NoYXIqIAord2Via2l0X3dlYl92aWV3X2dldF90aXRsZSAgICAgICAgIChXZWJLaXRXZWJWaWV3
ICAgICAgICAgKndlYlZpZXcpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwOTJkMzQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJp
dmF0ZS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlh
IFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRXZWJW
aWV3UHJpdmF0ZV9oCisjZGVmaW5lIFdlYktpdFdlYlZpZXdQcml2YXRlX2gKKworI2luY2x1ZGUg
IldlYktpdFdlYlZpZXcuaCIKKworR19CRUdJTl9ERUNMUworCit2b2lkIHdlYmtpdFdlYlZpZXdO
b3RpZnlUaXRsZVJlY2VpdmVkKFdlYktpdFdlYlZpZXcgKiwgV0tTdHJpbmdSZWYpOworCitHX0VO
RF9ERUNMUworCisjZW5kaWYgLy8gV2ViS2l0V2ViQ29udGV4dFByaXZhdGVfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKaW5k
ZXggOWEyN2FmZS4uZDVkMzZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAy
MDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTE5LDggKzIwLDMzIEBACiAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5j
bHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0
cmluZy5oPgogI2luY2x1ZGUgPHdlYmtpdDIvd2Via2l0Mi5oPgogCitTb3VwVVJJICpiYXNlVVJJ
OworCisjZGVmaW5lIEhUTUxfVElUTEUgIldlbENvbWUgdG8gV2ViS2l0LUdUSysiCisvKiBUaGlz
IHN0cmluZyBoYXMgdG8gYmUgcmF0aGVyIGJpZyBiZWNhdXNlIG9mIHRoZSBjYW5jZWxsZWQgdGVz
dCAtIGl0CisgKiBsb29rcyBsaWtlIHNvdXAgcmVmdXNlcyB0byBzZW5kIG9yIHJlY2VpdmUgYSB0
b28gc21hbGwgY2h1bmsgKi8KKyNkZWZpbmUgSFRNTF9TVFJJTkcgIjxodG1sPjxoZWFkPjx0aXRs
ZT4iSFRNTF9USVRMRSI8L3RpdGxlPjwvaGVhZD48Ym9keT5UZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchPC9ib2R5PjwvaHRtbD4iCisK
Ky8qIEZvciByZWFsIHJlcXVlc3QgdGVzdGluZyAqLworc3RhdGljIHZvaWQgc2VydmVyQ2FsbGJh
Y2soU291cFNlcnZlciogc2VydmVyLCBTb3VwTWVzc2FnZSogbXNnLCBjb25zdCBjaGFyKiBwYXRo
LCBHSGFzaFRhYmxlKiBxdWVyeSwgU291cENsaWVudENvbnRleHQqIGNvbnRleHQsIGdwb2ludGVy
IGRhdGEpCit7CisgICAgaWYgKG1zZy0+bWV0aG9kICE9IFNPVVBfTUVUSE9EX0dFVCkgeworICAg
ICAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0YXR1cyhtc2csIFNPVVBfU1RBVFVTX05PVF9JTVBMRU1F
TlRFRCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0
YXR1cyhtc2csIFNPVVBfU1RBVFVTX09LKTsKKworICAgIGlmIChnX3N0cl9lcXVhbChwYXRoLCAi
LyIpKSB7CisgICAgICAgIHNvdXBfbWVzc2FnZV9ib2R5X2FwcGVuZChtc2ctPnJlc3BvbnNlX2Jv
ZHksIFNPVVBfTUVNT1JZX1NUQVRJQywgSFRNTF9TVFJJTkcsIHN0cmxlbihIVE1MX1NUUklORykp
OworICAgIH0KKyAgICBzb3VwX21lc3NhZ2VfYm9keV9jb21wbGV0ZShtc2ctPnJlc3BvbnNlX2Jv
ZHkpOworfQorCiBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KHZvaWQpCiB7
CiAgICAgV2ViS2l0V2ViVmlldyAqdmlldyA9IFdFQktJVF9XRUJfVklFVyh3ZWJraXRfd2ViX3Zp
ZXdfbmV3KCkpOwpAQCAtMjksMTYgKzU1LDE1MyBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0Rl
ZmF1bHRDb250ZXh0KHZvaWQpCiAgICAgZ19vYmplY3RfdW5yZWYodmlldyk7CiB9CiAKK3R5cGVk
ZWYgc3RydWN0IHsKKyAgICBXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3OworICAgIEdNYWluTG9vcCAq
bG9vcDsKKyAgICBnYm9vbGVhbiBoYXNCZWVuUHJvdmlzaW9uYWw7CisgICAgZ2Jvb2xlYW4gaGFz
QmVlbkNvbW1pdHRlZDsKKyAgICBnYm9vbGVhbiBoYXNSZWNlaXZlZFRpdGxlOworICAgIGdib29s
ZWFuIGhhc0JlZW5GaW5pc2hlZDsKK30gV2ViTG9hZGluZ0ZpeHR1cmU7CisKK3N0YXRpYyB2b2lk
IHdlYlZpZXdOb3RpZnlUaXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1TcGVjKiBw
U3BlYywgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnQoZml4dHVy
ZS0+aGFzQmVlblByb3Zpc2lvbmFsKTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNCZWVuQ29t
bWl0dGVkKTsKKyAgICBnX2Fzc2VydCghZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSk7CisgICAg
Z19hc3NlcnQoIWZpeHR1cmUtPmhhc0JlZW5GaW5pc2hlZCk7CisKKyAgICBjb25zdCBnY2hhciog
dGl0bGUgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHdlYlZpZXcpOworICAgIGdfYXNzZXJ0
X2NtcHN0cih0aXRsZSwgPT0sIEhUTUxfVElUTEUpOworCisgICAgZml4dHVyZS0+aGFzUmVjZWl2
ZWRUaXRsZSA9IFRSVUU7Cit9CisKK3N0YXRpYyB2b2lkIHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAo
V2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkKK3sKKyAgICBm
aXh0dXJlLT53ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7
CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT53ZWJWaWV3LCAibm90aWZ5Ojp0aXRsZSIs
IEdfQ0FMTEJBQ0sod2ViVmlld05vdGlmeVRpdGxlKSwgZml4dHVyZSk7CisgICAgZml4dHVyZS0+
bG9vcCA9IGdfbWFpbl9sb29wX25ldyhOVUxMLCBUUlVFKTsKKyAgICBnX29iamVjdF9yZWZfc2lu
ayhmaXh0dXJlLT53ZWJWaWV3KTsKKyAgICBmaXh0dXJlLT5oYXNCZWVuUHJvdmlzaW9uYWwgPSBG
QUxTRTsKKyAgICBmaXh0dXJlLT5oYXNCZWVuQ29tbWl0dGVkID0gRkFMU0U7CisgICAgZml4dHVy
ZS0+aGFzUmVjZWl2ZWRUaXRsZSA9IEZBTFNFOworICAgIGZpeHR1cmUtPmhhc0JlZW5GaW5pc2hl
ZCA9IEZBTFNFOworfQorCitzdGF0aWMgZ2Jvb2xlYW4gbG9hZFN0YXR1c1Byb3Zpc2lvbmFsTG9h
ZFN0YXJ0ZWQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICpjbGllbnQsIFdlYkxvYWRpbmdGaXh0dXJl
ICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuUHJvdmlzaW9uYWwp
OworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuQ29tbWl0dGVkKTsKKyAgICBnX2Fzc2Vy
dCghZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSk7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhh
c0JlZW5GaW5pc2hlZCk7CisgICAgZml4dHVyZS0+aGFzQmVlblByb3Zpc2lvbmFsID0gVFJVRTsK
KworICAgIHJldHVybiBUUlVFOworfQorCitzdGF0aWMgZ2Jvb2xlYW4gbG9hZFN0YXR1c1Byb3Zp
c2lvbmFsTG9hZEZhaWxlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQgKmNsaWVudCwgR0Vycm9yICpl
cnJvciwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnRfbm90X3Jl
YWNoZWQoKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIGxvYWRTdGF0
dXNMb2FkQ29tbWl0dGVkKFdlYktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50LCBXZWJMb2FkaW5n
Rml4dHVyZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNCZWVuUHJvdmlz
aW9uYWwpOworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuQ29tbWl0dGVkKTsKKyAgICBn
X2Fzc2VydCghZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSk7CisgICAgZ19hc3NlcnQoIWZpeHR1
cmUtPmhhc0JlZW5GaW5pc2hlZCk7CisgICAgZml4dHVyZS0+aGFzQmVlbkNvbW1pdHRlZCA9IFRS
VUU7CisKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIGxvYWRTdGF0dXNM
b2FkRmluaXNoZWQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICpjbGllbnQsIFdlYkxvYWRpbmdGaXh0
dXJlICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5Qcm92aXNpb25h
bCk7CisgICAgZ19hc3NlcnQoZml4dHVyZS0+aGFzQmVlbkNvbW1pdHRlZCk7CisgICAgZ19hc3Nl
cnQoZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSk7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhh
c0JlZW5GaW5pc2hlZCk7CisgICAgZml4dHVyZS0+aGFzQmVlbkZpbmlzaGVkID0gVFJVRTsKKwor
ICAgIGdfbWFpbl9sb29wX3F1aXQoZml4dHVyZS0+bG9vcCk7CisKKyAgICByZXR1cm4gVFJVRTsK
K30KKworc3RhdGljIGdib29sZWFuIGxvYWRTdGF0dXNMb2FkRmFpbGVkKFdlYktpdFdlYkxvYWRl
ckNsaWVudCAqY2xpZW50LCBHRXJyb3IgKmVycm9yLCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVy
ZSkKK3sKKyAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpOworICAgIHJldHVybiBUUlVFOworfQor
CitzdGF0aWMgY2hhciAqZ2V0VVJJRm9yUGF0aChjb25zdCBjaGFyKiBwYXRoKQoreworICAgIFNv
dXBVUkkgKnVyaTsKKyAgICBjaGFyICp1cmlTdHJpbmc7CisKKyAgICB1cmkgPSBzb3VwX3VyaV9u
ZXdfd2l0aF9iYXNlKGJhc2VVUkksIHBhdGgpOworICAgIHVyaVN0cmluZyA9IHNvdXBfdXJpX3Rv
X3N0cmluZyh1cmksIEZBTFNFKTsKKyAgICBzb3VwX3VyaV9mcmVlKHVyaSk7CisKKyAgICByZXR1
cm4gdXJpU3RyaW5nOworfQorCitzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1RpdGxlKFdlYkxvYWRp
bmdGaXh0dXJlKiBmaXh0dXJlLCBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgY2hhciAqdXJp
U3RyaW5nOworICAgIFdlYktpdFdlYkxvYWRlckNsaWVudCAqY2xpZW50ID0gd2Via2l0X3dlYl92
aWV3X2dldF9sb2FkZXJfY2xpZW50KGZpeHR1cmUtPndlYlZpZXcpOworCisgICAgZ19zaWduYWxf
Y29ubmVjdChjbGllbnQsICJwcm92aXNpb25hbC1sb2FkLXN0YXJ0ZWQiLCBHX0NBTExCQUNLKGxv
YWRTdGF0dXNQcm92aXNpb25hbExvYWRTdGFydGVkKSwgZml4dHVyZSk7CisgICAgZ19zaWduYWxf
Y29ubmVjdChjbGllbnQsICJwcm92aXNpb25hbC1sb2FkLWZhaWxlZCIsIEdfQ0FMTEJBQ0sobG9h
ZFN0YXR1c1Byb3Zpc2lvbmFsTG9hZEZhaWxlZCksIGZpeHR1cmUpOworICAgIGdfc2lnbmFsX2Nv
bm5lY3QoY2xpZW50LCAibG9hZC1jb21taXR0ZWQiLCBHX0NBTExCQUNLKGxvYWRTdGF0dXNMb2Fk
Q29tbWl0dGVkKSwgZml4dHVyZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJsb2Fk
LWZpbmlzaGVkIiwgR19DQUxMQkFDSyhsb2FkU3RhdHVzTG9hZEZpbmlzaGVkKSwgZml4dHVyZSk7
CisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJsb2FkLWZhaWxlZCIsIEdfQ0FMTEJBQ0so
bG9hZFN0YXR1c0xvYWRGYWlsZWQpLCBmaXh0dXJlKTsKKworICAgIHVyaVN0cmluZyA9IGdldFVS
SUZvclBhdGgoIi8iKTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfbG9hZF91cmkoZml4dHVyZS0+d2Vi
VmlldywgdXJpU3RyaW5nKTsKKyAgICBnX2ZyZWUodXJpU3RyaW5nKTsKKworICAgIGdfbWFpbl9s
b29wX3J1bihmaXh0dXJlLT5sb29wKTsKKworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5Q
cm92aXNpb25hbCk7CisgICAgZ19hc3NlcnQoZml4dHVyZS0+aGFzQmVlbkNvbW1pdHRlZCk7Cisg
ICAgZ19hc3NlcnQoZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSk7CisgICAgZ19hc3NlcnQoZml4
dHVyZS0+aGFzQmVlbkZpbmlzaGVkKTsKK30KKworc3RhdGljIHZvaWQgd2ViTG9hZGluZ0ZpeHR1
cmVUZWFyZG93bihXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRh
KQoreworICAgIGdfb2JqZWN0X3VucmVmKGZpeHR1cmUtPndlYlZpZXcpOworICAgIGdfbWFpbl9s
b29wX3VucmVmKGZpeHR1cmUtPmxvb3ApOworfQorCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq
KmFyZ3YpCiB7CisgICAgU291cFNlcnZlciogc2VydmVyOworCiAgICAgZ190aHJlYWRfaW5pdChO
VUxMKTsKICAgICBndGtfdGVzdF9pbml0KCZhcmdjLCAmYXJndiwgTlVMTCk7CiAKICAgICBnX3Nl
dGVudigiV0VCS0lUX0VYRUNfUEFUSCIsIFdFQktJVF9FWEVDX1BBVEgsIEZBTFNFKTsKIAorICAg
IHNlcnZlciA9IHNvdXBfc2VydmVyX25ldyhTT1VQX1NFUlZFUl9QT1JULCAwLCBOVUxMKTsKKyAg
ICBzb3VwX3NlcnZlcl9ydW5fYXN5bmMoc2VydmVyKTsKKworICAgIHNvdXBfc2VydmVyX2FkZF9o
YW5kbGVyKHNlcnZlciwgTlVMTCwgc2VydmVyQ2FsbGJhY2ssIE5VTEwsIE5VTEwpOworCisgICAg
YmFzZVVSSSA9IHNvdXBfdXJpX25ldygiaHR0cDovLzEyNy4wLjAuMS8iKTsKKyAgICBzb3VwX3Vy
aV9zZXRfcG9ydChiYXNlVVJJLCBzb3VwX3NlcnZlcl9nZXRfcG9ydChzZXJ2ZXIpKTsKKwogICAg
IGdfdGVzdF9idWdfYmFzZSgiaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvIik7CiAgICAgZ190ZXN0
X2FkZF9mdW5jKCIvd2Via2l0Mi93ZWJ2aWV3L2RlZmF1bHRfY29udGV4dCIsCiAgICAgICAgICAg
ICAgICAgICAgIHRlc3RXZWJWaWV3RGVmYXVsdENvbnRleHQpOworICAgIGdfdGVzdF9hZGQoIi93
ZWJraXQyL3dlYlZpZXcvdGl0bGUiLAorICAgICAgICAgICAgICAgV2ViTG9hZGluZ0ZpeHR1cmUs
IE5VTEwsCisgICAgICAgICAgICAgICB3ZWJMb2FkaW5nRml4dHVyZVNldHVwLAorICAgICAgICAg
ICAgICAgdGVzdFdlYlZpZXdUaXRsZSwKKyAgICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJl
VGVhcmRvd24pOwogCiAgICAgcmV0dXJuIGdfdGVzdF9ydW4oKTsKIH0KLS0gCjEuNy40LjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109282</attachid>
            <date>2011-09-30 04:34:50 -0700</date>
            <delta_ts>2011-09-30 04:39:57 -0700</delta_ts>
            <desc>Title property added</desc>
            <filename>0001-Added-title-property.patch</filename>
            <type>text/plain</type>
            <size>21510</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSBiN2ZkMjBhMTMyOGI5MGVjZDUzMGYwOGQ3ZTZiNzdhNTc5YTYyZGY0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogRnJpLCAzMCBTZXAgMjAxMSAxNjo1MzoxMCArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZGVkIHRpdGxlIHByb3BlcnR5CgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAzNSArKysrCiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKy0KIC4uLi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwICAgIHwgICAxNSArKy0KIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIHwgICA2MCArKysrKysrLQogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oICAgfCAgICA5ICsK
IC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oICAgICAgIHwgICAz
OCArKysrKwogLi4uL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcu
YyAgfCAgMTYzICsrKysrKysrKysrKysrKysrKysrCiA3IGZpbGVzIGNoYW5nZWQsIDMyNiBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggMTYyMTY4Zi4uMGY2NWUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDExLTA5
LTMwICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW0dU
S11bV0VCS0lUMl0gQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHByb3BlcnR5IGluIFdlYktpdFdlYlZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDc0
CisKKyAgICAgICAgU3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBXZWJL
aXRXZWJWaWV3LgorICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGlzIHBy
b3BlcnR5IGlzIHByb3ZpZGVkLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlIGZvciBjb21waWxh
dGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQu
Y3BwOgorICAgICAgICAoZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUpOiBMb2FkZXJDbGllbnQgdGl0
bGVSZWNpZXZlIGNhbGxiYWNrLgorICAgICAgICAod2Via2l0V2ViTG9hZGVyQ2xpZW50Q29uc3Ry
dWN0ZWQpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSBjYWxsYmFjay4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtp
dFdlYlZpZXdHZXRQcm9wZXJ0eSk6ICd0aXRsZScgcHJvcGVydHkgZ2V0IGZ1bmN0aW9uLgorICAg
ICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOiBSZWdpc3RlciBuZXcgcHJvcGVydHku
CisgICAgICAgICh3ZWJraXRXZWJWaWV3Tm90aWZ5VGl0bGVSZWNlaXZlZCk6IE5vdGlmeSBXZWJL
aXRXZWJWaWV3IGFib3V0IHRpdGxlIHJlY2VpdmUuCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3RpdGxlKTogQVBJIHRvIGdldCBtYWluIGZyYW1lIHRpdGxlLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDogTmV3IEFQSSBhZGRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jOgorICAgICAgICAoc2VydmVy
Q2FsbGJhY2spOiBTb3VwIHNlcnZlciBjYWxsYmFjay4KKyAgICAgICAgKHdlYlZpZXdOb3RpZnlU
aXRsZSk6ICd0aXRsZScgcHJvcGVydHkgY2hhbmdlZCBjYWxsYmFjay4KKyAgICAgICAgKHdlYkxv
YWRpbmdGaXh0dXJlU2V0dXApOiBUZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisgICAgICAg
IChsb2FkU3RhdHVzUHJvdmlzaW9uYWxMb2FkU3RhcnRlZCk6IFByb3Zpc2lvbmFsIGxvYWQgc3Rh
cnRlZCBjYWxsYmFjay4KKyAgICAgICAgKGxvYWRTdGF0dXNQcm92aXNpb25hbExvYWRGYWlsZWQp
OiBQcm92aXNpb25hbCBsb2FkIGZhaWxlZCBjYWxsYmFjay4KKyAgICAgICAgKGxvYWRTdGF0dXNM
b2FkQ29tbWl0dGVkKTogTG9hZCBjb21taXR0ZWQgY2FsbGJhY2suCisgICAgICAgIChsb2FkU3Rh
dHVzTG9hZEZpbmlzaGVkKTogTG9hZCBmaW5pc2hlZCBjYWxsYmFjay4KKyAgICAgICAgKGxvYWRT
dGF0dXNMb2FkRmFpbGVkKTogTG9hZCBmYWlsZWQgY2FsbGJhY2suCisgICAgICAgIChnZXRVUklG
b3JQYXRoKToKKyAgICAgICAgKHRlc3RXZWJWaWV3VGl0bGUpOiBGdW5jdGlvbiB0byB0ZXN0IHRo
ZSAndGl0bGUnIHByb3BlcnR5LgorICAgICAgICAod2ViTG9hZGluZ0ZpeHR1cmVUZWFyZG93bik6
IFRlc3QgZml4dHVyZSB0ZWFyZG93biBmdW5jdGlvbi4KKyAgICAgICAgKG1haW4pOgorCiAyMDEx
LTA5LTI5ICBSYXZpIFBoYW5lZW5kcmEgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgSW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBXZWJJbnNwZWN0
b3IgZm9yIFdlYktpdDIgR1RLIHBvcnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDIzODhiZmIu
LjExMjNiNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC00NzMsNiArNDczLDcgQEAgbGlid2Vi
a2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5P
Ul9WRVJTSU9OQF9sYV9TT1UKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJMb2FkZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIFwKQEAgLTEwODEsNyArMTA4Miw4IEBAIERJU1RDTEVB
TkZJTEVTICs9IFwKIFRFU1RfUFJPR1MgKz0gXAogCVByb2dyYW1zL3VuaXR0ZXN0cy93ZWJraXQy
L3Rlc3R3ZWJjb250ZXh0IFwKIAlQcm9ncmFtcy91bml0dGVzdHMvd2Via2l0Mi90ZXN0d2Vidmll
dyBcCi0JUHJvZ3JhbXMvdW5pdHRlc3RzL3dlYmtpdDIvdGVzdGxvYWRpbmcKKwlQcm9ncmFtcy91
bml0dGVzdHMvd2Via2l0Mi90ZXN0bG9hZGluZyBcCisJUHJvZ3JhbXMvdW5pdHRlc3RzL3dlYmtp
dDIvdGVzdGh0bWxzdHJpbmdsb2FkaW5nCiAKIG5vaW5zdF9QUk9HUkFNUyArPSAkKFRFU1RfUFJP
R1MpCiB3ZWJraXQyX3Rlc3RzX2NmbGFncyA9IFwKQEAgLTExMjQsNiArMTEyNiwxMSBAQCBQcm9n
cmFtc191bml0dGVzdHNfd2Via2l0Ml90ZXN0bG9hZGluZ19DRkxBR1MgPSAkKHdlYmtpdDJfdGVz
dHNfY2ZsYWdzKQogUHJvZ3JhbXNfdW5pdHRlc3RzX3dlYmtpdDJfdGVzdGxvYWRpbmdfTERBREQg
PSAkKHdlYmtpdDJfdGVzdHNfbGRhZGQpCiBQcm9ncmFtc191bml0dGVzdHNfd2Via2l0Ml90ZXN0
bG9hZGluZ19MREZMQUdTID0gJCh3ZWJraXQyX3Rlc3RzX2xkZmxhZ3MpCiAKK1Byb2dyYW1zX3Vu
aXR0ZXN0c193ZWJraXQyX3Rlc3RodG1sc3RyaW5nbG9hZGluZ19TT1VSQ0VTID0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdGh0bWxzdHJpbmdsb2FkaW5nLmMKK1By
b2dyYW1zX3VuaXR0ZXN0c193ZWJraXQyX3Rlc3RodG1sc3RyaW5nbG9hZGluZ19DRkxBR1MgPSAk
KHdlYmtpdDJfdGVzdHNfY2ZsYWdzKQorUHJvZ3JhbXNfdW5pdHRlc3RzX3dlYmtpdDJfdGVzdGh0
bWxzdHJpbmdsb2FkaW5nX0xEQUREID0gJCh3ZWJraXQyX3Rlc3RzX2xkYWRkKQorUHJvZ3JhbXNf
dW5pdHRlc3RzX3dlYmtpdDJfdGVzdGh0bWxzdHJpbmdsb2FkaW5nX0xERkxBR1MgPSAkKHdlYmtp
dDJfdGVzdHNfbGRmbGFncykKKwogIyBXZWJLaXRXZWJQcm9jZXNzCiBsaWJleGVjX1BST0dSQU1T
ICs9IFwKIAlQcm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRl
eCBkNjIzMDA4Li41YjQ5MjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDYgKzI1LDcgQEAKICNpbmNsdWRlICJXZWJL
aXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYktp
dFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgi
CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0
L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMTgsNiArMTIw
LDE3IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVm
IHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgZ19zaWduYWxfZW1pdChXRUJLSVRf
V0VCX0xPQURFUl9DTElFTlQoY2xpZW50SW5mbyksIHNpZ25hbHNbTE9BRF9GQUlMRURdLCAwLCB3
ZWJFcnJvci5nZXQoKSwgJnJldHVyblZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVjZWl2
ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlLCBXS0ZyYW1l
UmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7
CisgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47CisK
KyAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnQqIGxvYWRlckNsaWVudCA9IFdFQktJVF9XRUJfTE9B
REVSX0NMSUVOVChjbGllbnRJbmZvKTsKKyAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnRQcml2YXRl
KiBwcml2ID0gbG9hZGVyQ2xpZW50LT5wcml2OworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcg
PSBwcml2LT52aWV3LmdldCgpOworICAgIHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRsZVJlY2VpdmVk
KHdlYlZpZXcsIHRpdGxlKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0V2ViTG9hZGVyQ2xpZW50
Q29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogewogICAgIFdlYktpdFdlYkxvYWRlckNsaWVu
dCogY2xpZW50ID0gV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKG9iamVjdCk7CkBAIC0xMzQsNyAr
MTQ3LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViTG9hZGVyQ2xpZW50Q29uc3RydWN0ZWQoR09i
amVjdCogb2JqZWN0KQogICAgICAgICBkaWRGaW5pc2hMb2FkRm9yRnJhbWUsCiAgICAgICAgIGRp
ZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUsCiAgICAgICAgIDAsICAgICAgIC8vIGRpZFNhbWVE
b2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZQotICAgICAgICAwLCAgICAgICAvLyBkaWRSZWNlaXZl
VGl0bGVGb3JGcmFtZQorICAgICAgICBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSwKICAgICAgICAg
MCwgICAgICAgLy8gZGlkRmlyc3RMYXlvdXRGb3JGcmFtZQogICAgICAgICAwLCAgICAgICAvLyBk
aWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZQogICAgICAgICAwLCAgICAgICAv
LyBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggOTJkYWEyNC4uZWExYWZiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBT
LkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIzLDEwICsy
NCwxMiBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAjaW5jbHVkZSAi
V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2
YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJL
aXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViS2l0
Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMLmg+CisjaW5jbHVkZSA8Z2xpYi9n
aTE4bi1saWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC0zNiwxMyArMzksMTUgQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiBlbnVtIHsKICAgICBQUk9QXzAsCiAKLSAgICBQUk9QX1dFQl9DT05URVhUCisg
ICAgUFJPUF9XRUJfQ09OVEVYVCwKKyAgICBQUk9QX1RJVExFCiB9OwogCiBzdHJ1Y3QgX1dlYktp
dFdlYlZpZXdQcml2YXRlIHsKICAgICBXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0OwogCiAgICAg
R1JlZlB0cjxXZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRlckNsaWVudDsKKyAgICBDU3RyaW5n
IHRpdGxlOwogfTsKIAogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJWaWV3LCB3ZWJraXRfd2ViX3Zp
ZXcsIFdFQktJVF9UWVBFX1dFQl9WSUVXX0JBU0UpCkBAIC03OCw2ICs4Myw5IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJ
ZCwgR1ZhbHVlKiB2YWx1CiAgICAgY2FzZSBQUk9QX1dFQl9DT05URVhUOgogICAgICAgICBnX3Zh
bHVlX3Rha2Vfb2JqZWN0KHZhbHVlLCB3ZWJWaWV3LT5wcml2LT5jb250ZXh0KTsKICAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBQUk9QX1RJVExFOgorICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmco
dmFsdWUsIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldykpOworICAgICAgICBicmVh
azsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlf
SUQob2JqZWN0LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAgICAgfQpAQCAtMTE5LDYgKzEyNywzMCBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xh
c3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIlRoZSB3ZWIgY29udGV4dCBmb3IgdGhlIHZpZXciLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRf
VFlQRV9XRUJfQ09OVEVYVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9S
RUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZKSkpOworCisgICAgLyoqCisgICAgICog
V2ViS2l0V2ViVmlldzp0aXRsZToKKyAgICAgKiAKKyAgICAgKiBSZXR1cm5zOiB0aGUgQHdlYl92
aWV3J3MgZG9jdW1lbnQgdGl0bGUuCisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFs
bF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQUk9QX1RJVExFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19w
YXJhbV9zcGVjX3N0cmluZygidGl0bGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJUaXRsZSIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJSZXR1cm5zIHRoZSBAd2Vi
X3ZpZXcncyBkb2N1bWVudCB0aXRsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VC
S0lUX1BBUkFNX1JFQURBQkxFKSkpOworfQorCit2b2lkIHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRs
ZVJlY2VpdmVkKFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIFdLU3RyaW5nUmVmIHRpdGxlUmVmKQor
eworICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKKyAgICBD
U3RyaW5nIHRpdGxlID0gV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51dGY4KCk7
CisgICAgaWYgKHByaXYtPnRpdGxlID09IHRpdGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBw
cml2LT50aXRsZSA9IHRpdGxlOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVCh3ZWJWaWV3
KSwgInRpdGxlIik7CiB9CiAKIC8vIFB1YmxpYyBBUEkuCkBAIC0yMjAsNiArMjUyLDE1IEBAIHZv
aWQgd2Via2l0X3dlYl92aWV3X2xvYWRfdXJpKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0
IGdjaGFyKiB1cmkpCiAgICAgV0tQYWdlTG9hZFVSTCh0b0FQSShwYWdlKSwgV0tVUkxDcmVhdGVX
aXRoVVRGOENTdHJpbmcodXJpKSk7CiB9CiAKK3ZvaWQgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRt
bF9zdHJpbmcoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3QgZ2NoYXIqIGNvbnRlbnQsIGNv
bnN0IGdjaGFyKiBiYXNlVXJpKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1dF
Ql9WSUVXKHdlYlZpZXcpKTsKKyAgICBnX3JldHVybl9pZl9mYWlsKGJhc2VVcmkpOworCisgICAg
V2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJf
VklFV19CQVNFKHdlYlZpZXcpKTsKKyAgICBXS1BhZ2VMb2FkSFRNTFN0cmluZyh0b0FQSShwYWdl
KSwgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoY29udGVudCksIFdLVVJMQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKGJhc2VVcmkpKTsKK30KKwogLyoqCiAgKiB3ZWJraXRfd2ViX3ZpZXdfZ29f
YmFjazoKICAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldwpAQCAtMjUxLDMgKzI5MiwyMCBA
QCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcp
CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJ
VF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKICAgICBXS1BhZ2VHb0ZvcndhcmQodG9BUEkocGFn
ZSkpOwogfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGU6CisgKiBAd2ViVmll
dzogYSAjV2ViS2l0V2ViVmlldworICogCisgKiBSZXR1cm5zIHRoZSBAd2ViX3ZpZXcncyBkb2N1
bWVudCB0aXRsZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUgdGl0bGUgb2YgQHdlYl92aWV3LgorICov
Citjb25zdCBnY2hhciogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZShXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3
ZWJWaWV3KSwgMCk7CisKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXct
PnByaXY7CisKKyAgICByZXR1cm4gcHJpdi0+dGl0bGUuZGF0YSgpOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IGE3OWIyMWIu
LmExMmNhZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3LmgKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgg
QWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJv
cmEgTHRkLgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTg5LDExICs5MCwxOSBAQCB3ZWJraXRfd2Vi
X3ZpZXdfbG9hZF91cmkgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAg
ICAqdXJpKTsKIAogV0tfRVhQT1JUIHZvaWQKK3dlYmtpdF93ZWJfdmlld19sb2FkX2h0bWxfc3Ry
aW5nICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpjb250ZW50LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKmJhc2Vf
dXJpKTsKKworV0tfRVhQT1JUIHZvaWQKIHdlYmtpdF93ZWJfdmlld19nb19iYWNrICAgICAgICAg
ICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKIFdLX0VYUE9SVCB2b2lkCiB3
ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAq
d2ViX3ZpZXcpOwogCitXS19FWFBPUlQgY29uc3QgZ2NoYXIqIAord2Via2l0X3dlYl92aWV3X2dl
dF90aXRsZSAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYlZpZXcpOworCiBHX0VO
RF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmIwOTJkMzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCkBAIC0wLDAgKzEsMzggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRXZWJWaWV3UHJpdmF0ZV9oCisjZGVmaW5lIFdlYktp
dFdlYlZpZXdQcml2YXRlX2gKKworI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKKworR19CRUdJ
Tl9ERUNMUworCit2b2lkIHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRsZVJlY2VpdmVkKFdlYktpdFdl
YlZpZXcgKiwgV0tTdHJpbmdSZWYpOworCitHX0VORF9ERUNMUworCisjZW5kaWYgLy8gV2ViS2l0
V2ViQ29udGV4dFByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKaW5kZXggOWEyN2FmZS4uYzBlMTk0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcu
YworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmll
dy5jCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5M
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTE5LDggKzIwLDMz
IEBACiAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1ZGUg
PGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHdlYmtpdDIv
d2Via2l0Mi5oPgogCitTb3VwVVJJICpiYXNlVVJJOworCisjZGVmaW5lIEhUTUxfVElUTEUgIldl
bENvbWUgdG8gV2ViS2l0LUdUSysiCisvKiBUaGlzIHN0cmluZyBoYXMgdG8gYmUgcmF0aGVyIGJp
ZyBiZWNhdXNlIG9mIHRoZSBjYW5jZWxsZWQgdGVzdCAtIGl0CisgKiBsb29rcyBsaWtlIHNvdXAg
cmVmdXNlcyB0byBzZW5kIG9yIHJlY2VpdmUgYSB0b28gc21hbGwgY2h1bmsgKi8KKyNkZWZpbmUg
SFRNTF9TVFJJTkcgIjxodG1sPjxoZWFkPjx0aXRsZT4iSFRNTF9USVRMRSI8L3RpdGxlPjwvaGVh
ZD48Ym9keT5UZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchPC9ib2R5PjwvaHRtbD4iCisKKy8qIEZvciByZWFsIHJlcXVlc3QgdGVzdGlu
ZyAqLworc3RhdGljIHZvaWQgc2VydmVyQ2FsbGJhY2soU291cFNlcnZlciogc2VydmVyLCBTb3Vw
TWVzc2FnZSogbXNnLCBjb25zdCBjaGFyKiBwYXRoLCBHSGFzaFRhYmxlKiBxdWVyeSwgU291cENs
aWVudENvbnRleHQqIGNvbnRleHQsIGdwb2ludGVyIGRhdGEpCit7CisgICAgaWYgKG1zZy0+bWV0
aG9kICE9IFNPVVBfTUVUSE9EX0dFVCkgeworICAgICAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0YXR1
cyhtc2csIFNPVVBfU1RBVFVTX05PVF9JTVBMRU1FTlRFRCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0YXR1cyhtc2csIFNPVVBfU1RBVFVTX09LKTsK
KworICAgIGlmIChnX3N0cl9lcXVhbChwYXRoLCAiLyIpKQorICAgICAgICBzb3VwX21lc3NhZ2Vf
Ym9keV9hcHBlbmQobXNnLT5yZXNwb25zZV9ib2R5LCBTT1VQX01FTU9SWV9TVEFUSUMsIEhUTUxf
U1RSSU5HLCBzdHJsZW4oSFRNTF9TVFJJTkcpKTsKKworICAgIHNvdXBfbWVzc2FnZV9ib2R5X2Nv
bXBsZXRlKG1zZy0+cmVzcG9uc2VfYm9keSk7Cit9CisKIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3
RGVmYXVsdENvbnRleHQodm9pZCkKIHsKICAgICBXZWJLaXRXZWJWaWV3ICp2aWV3ID0gV0VCS0lU
X1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7CkBAIC0yOSwxNiArNTUsMTUzIEBAIHN0
YXRpYyB2b2lkIHRlc3RXZWJWaWV3RGVmYXVsdENvbnRleHQodm9pZCkKICAgICBnX29iamVjdF91
bnJlZih2aWV3KTsKIH0KIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFdlYktpdFdlYlZpZXcgKndl
YlZpZXc7CisgICAgR01haW5Mb29wICpsb29wOworICAgIGdib29sZWFuIGhhc0JlZW5Qcm92aXNp
b25hbDsKKyAgICBnYm9vbGVhbiBoYXNCZWVuQ29tbWl0dGVkOworICAgIGdib29sZWFuIGhhc1Jl
Y2VpdmVkVGl0bGU7CisgICAgZ2Jvb2xlYW4gaGFzQmVlbkZpbmlzaGVkOworfSBXZWJMb2FkaW5n
Rml4dHVyZTsKKworc3RhdGljIHZvaWQgd2ViVmlld05vdGlmeVRpdGxlKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIEdQYXJhbVNwZWMqIHBTcGVjLCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSkK
K3sKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNCZWVuUHJvdmlzaW9uYWwpOworICAgIGdfYXNz
ZXJ0KGZpeHR1cmUtPmhhc0JlZW5Db21taXR0ZWQpOworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5o
YXNSZWNlaXZlZFRpdGxlKTsKKyAgICBnX2Fzc2VydCghZml4dHVyZS0+aGFzQmVlbkZpbmlzaGVk
KTsKKworICAgIGNvbnN0IGdjaGFyKiB0aXRsZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUo
d2ViVmlldyk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRpdGxlLCA9PSwgSFRNTF9USVRMRSk7CisK
KyAgICBmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxlID0gVFJVRTsKK30KKworc3RhdGljIHZvaWQg
d2ViTG9hZGluZ0ZpeHR1cmVTZXR1cChXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0
cG9pbnRlciBkYXRhKQoreworICAgIGZpeHR1cmUtPndlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVco
d2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1cmUtPndl
YlZpZXcsICJub3RpZnk6OnRpdGxlIiwgR19DQUxMQkFDSyh3ZWJWaWV3Tm90aWZ5VGl0bGUpLCBm
aXh0dXJlKTsKKyAgICBmaXh0dXJlLT5sb29wID0gZ19tYWluX2xvb3BfbmV3KE5VTEwsIFRSVUUp
OworICAgIGdfb2JqZWN0X3JlZl9zaW5rKGZpeHR1cmUtPndlYlZpZXcpOworICAgIGZpeHR1cmUt
Pmhhc0JlZW5Qcm92aXNpb25hbCA9IEZBTFNFOworICAgIGZpeHR1cmUtPmhhc0JlZW5Db21taXR0
ZWQgPSBGQUxTRTsKKyAgICBmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxlID0gRkFMU0U7CisgICAg
Zml4dHVyZS0+aGFzQmVlbkZpbmlzaGVkID0gRkFMU0U7Cit9CisKK3N0YXRpYyBnYm9vbGVhbiBs
b2FkU3RhdHVzUHJvdmlzaW9uYWxMb2FkU3RhcnRlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQgKmNs
aWVudCwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnQoIWZpeHR1
cmUtPmhhc0JlZW5Qcm92aXNpb25hbCk7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhhc0JlZW5D
b21taXR0ZWQpOworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxlKTsKKyAg
ICBnX2Fzc2VydCghZml4dHVyZS0+aGFzQmVlbkZpbmlzaGVkKTsKKyAgICBmaXh0dXJlLT5oYXNC
ZWVuUHJvdmlzaW9uYWwgPSBUUlVFOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBn
Ym9vbGVhbiBsb2FkU3RhdHVzUHJvdmlzaW9uYWxMb2FkRmFpbGVkKFdlYktpdFdlYkxvYWRlckNs
aWVudCAqY2xpZW50LCBHRXJyb3IgKmVycm9yLCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSkK
K3sKKyAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpOworICAgIHJldHVybiBUUlVFOworfQorCitz
dGF0aWMgZ2Jvb2xlYW4gbG9hZFN0YXR1c0xvYWRDb21taXR0ZWQoV2ViS2l0V2ViTG9hZGVyQ2xp
ZW50ICpjbGllbnQsIFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0
KGZpeHR1cmUtPmhhc0JlZW5Qcm92aXNpb25hbCk7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhh
c0JlZW5Db21taXR0ZWQpOworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxl
KTsKKyAgICBnX2Fzc2VydCghZml4dHVyZS0+aGFzQmVlbkZpbmlzaGVkKTsKKyAgICBmaXh0dXJl
LT5oYXNCZWVuQ29tbWl0dGVkID0gVFJVRTsKKworICAgIHJldHVybiBUUlVFOworfQorCitzdGF0
aWMgZ2Jvb2xlYW4gbG9hZFN0YXR1c0xvYWRGaW5pc2hlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQg
KmNsaWVudCwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnQoZml4
dHVyZS0+aGFzQmVlblByb3Zpc2lvbmFsKTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNCZWVu
Q29tbWl0dGVkKTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxlKTsKKyAg
ICBnX2Fzc2VydCghZml4dHVyZS0+aGFzQmVlbkZpbmlzaGVkKTsKKyAgICBmaXh0dXJlLT5oYXNC
ZWVuRmluaXNoZWQgPSBUUlVFOworCisgICAgZ19tYWluX2xvb3BfcXVpdChmaXh0dXJlLT5sb29w
KTsKKworICAgIHJldHVybiBUUlVFOworfQorCitzdGF0aWMgZ2Jvb2xlYW4gbG9hZFN0YXR1c0xv
YWRGYWlsZWQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICpjbGllbnQsIEdFcnJvciAqZXJyb3IsIFdl
YkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7
CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRVUklGb3JQYXRoKGNvbnN0
IGNoYXIqIHBhdGgpCit7CisgICAgU291cFVSSSAqdXJpOworICAgIGNoYXIgKnVyaVN0cmluZzsK
KworICAgIHVyaSA9IHNvdXBfdXJpX25ld193aXRoX2Jhc2UoYmFzZVVSSSwgcGF0aCk7CisgICAg
dXJpU3RyaW5nID0gc291cF91cmlfdG9fc3RyaW5nKHVyaSwgRkFMU0UpOworICAgIHNvdXBfdXJp
X2ZyZWUodXJpKTsKKworICAgIHJldHVybiB1cmlTdHJpbmc7Cit9CisKK3N0YXRpYyB2b2lkIHRl
c3RXZWJWaWV3VGl0bGUoV2ViTG9hZGluZ0ZpeHR1cmUqIGZpeHR1cmUsIGdjb25zdHBvaW50ZXIg
ZGF0YSkKK3sKKyAgICBjaGFyICp1cmlTdHJpbmc7CisgICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50
ICpjbGllbnQgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2xvYWRlcl9jbGllbnQoZml4dHVyZS0+d2Vi
Vmlldyk7CisKKyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgInByb3Zpc2lvbmFsLWxvYWQt
c3RhcnRlZCIsIEdfQ0FMTEJBQ0sobG9hZFN0YXR1c1Byb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQpLCBm
aXh0dXJlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgInByb3Zpc2lvbmFsLWxvYWQt
ZmFpbGVkIiwgR19DQUxMQkFDSyhsb2FkU3RhdHVzUHJvdmlzaW9uYWxMb2FkRmFpbGVkKSwgZml4
dHVyZSk7CisgICAgZ19zaWduYWxfY29ubmVjdChjbGllbnQsICJsb2FkLWNvbW1pdHRlZCIsIEdf
Q0FMTEJBQ0sobG9hZFN0YXR1c0xvYWRDb21taXR0ZWQpLCBmaXh0dXJlKTsKKyAgICBnX3NpZ25h
bF9jb25uZWN0KGNsaWVudCwgImxvYWQtZmluaXNoZWQiLCBHX0NBTExCQUNLKGxvYWRTdGF0dXNM
b2FkRmluaXNoZWQpLCBmaXh0dXJlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgImxv
YWQtZmFpbGVkIiwgR19DQUxMQkFDSyhsb2FkU3RhdHVzTG9hZEZhaWxlZCksIGZpeHR1cmUpOwor
CisgICAgdXJpU3RyaW5nID0gZ2V0VVJJRm9yUGF0aCgiLyIpOworICAgIHdlYmtpdF93ZWJfdmll
d19sb2FkX3VyaShmaXh0dXJlLT53ZWJWaWV3LCB1cmlTdHJpbmcpOworICAgIGdfZnJlZSh1cmlT
dHJpbmcpOworCisgICAgZ19tYWluX2xvb3BfcnVuKGZpeHR1cmUtPmxvb3ApOworCisgICAgZ19h
c3NlcnQoZml4dHVyZS0+aGFzQmVlblByb3Zpc2lvbmFsKTsKKyAgICBnX2Fzc2VydChmaXh0dXJl
LT5oYXNCZWVuQ29tbWl0dGVkKTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNSZWNlaXZlZFRp
dGxlKTsKKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNCZWVuRmluaXNoZWQpOworfQorCitzdGF0
aWMgdm9pZCB3ZWJMb2FkaW5nRml4dHVyZVRlYXJkb3duKFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0
dXJlLCBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgZ19vYmplY3RfdW5yZWYoZml4dHVyZS0+
d2ViVmlldyk7CisgICAgZ19tYWluX2xvb3BfdW5yZWYoZml4dHVyZS0+bG9vcCk7Cit9CisKIGlu
dCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKKyAgICBTb3VwU2VydmVyICpzZXJ2ZXI7
CisKICAgICBnX3RocmVhZF9pbml0KE5VTEwpOwogICAgIGd0a190ZXN0X2luaXQoJmFyZ2MsICZh
cmd2LCBOVUxMKTsKIAogICAgIGdfc2V0ZW52KCJXRUJLSVRfRVhFQ19QQVRIIiwgV0VCS0lUX0VY
RUNfUEFUSCwgRkFMU0UpOwogCisgICAgc2VydmVyID0gc291cF9zZXJ2ZXJfbmV3KFNPVVBfU0VS
VkVSX1BPUlQsIDAsIE5VTEwpOworICAgIHNvdXBfc2VydmVyX3J1bl9hc3luYyhzZXJ2ZXIpOwor
CisgICAgc291cF9zZXJ2ZXJfYWRkX2hhbmRsZXIoc2VydmVyLCBOVUxMLCBzZXJ2ZXJDYWxsYmFj
aywgTlVMTCwgTlVMTCk7CisKKyAgICBiYXNlVVJJID0gc291cF91cmlfbmV3KCJodHRwOi8vMTI3
LjAuMC4xLyIpOworICAgIHNvdXBfdXJpX3NldF9wb3J0KGJhc2VVUkksIHNvdXBfc2VydmVyX2dl
dF9wb3J0KHNlcnZlcikpOworCiAgICAgZ190ZXN0X2J1Z19iYXNlKCJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy8iKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQyL3dlYnZpZXcvZGVmYXVs
dF9jb250ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgdGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4
dCk7CisgICAgZ190ZXN0X2FkZCgiL3dlYmtpdDIvd2ViVmlldy90aXRsZSIsCisgICAgICAgICAg
ICAgICBXZWJMb2FkaW5nRml4dHVyZSwgTlVMTCwKKyAgICAgICAgICAgICAgIHdlYkxvYWRpbmdG
aXh0dXJlU2V0dXAsCisgICAgICAgICAgICAgICB0ZXN0V2ViVmlld1RpdGxlLAorICAgICAgICAg
ICAgICAgd2ViTG9hZGluZ0ZpeHR1cmVUZWFyZG93bik7CiAKICAgICByZXR1cm4gZ190ZXN0X3J1
bigpOwogfQotLSAKMS43LjQuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109283</attachid>
            <date>2011-09-30 04:39:57 -0700</date>
            <delta_ts>2011-10-03 02:08:30 -0700</delta_ts>
            <desc>Title property added to WebKitWebView.</desc>
            <filename>0001-Added-title-property.patch</filename>
            <type>text/plain</type>
            <size>19463</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSA5YmZmOGExZTVhN2QzMDgwNTY2ODU4MjI5OTQyZDljNGVhZDRmODllIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogRnJpLCAzMCBTZXAgMjAxMSAxNjo1MzoxMCArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZGVkIHRpdGxlIHByb3BlcnR5CgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAzNSArKysrCiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgICAgfCAgIDE1ICsrLQogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgfCAgIDUxICsrKysrKy0KIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCAgIHwgICAgNCArCiAu
Li4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCAgICAgICB8ICAgMzgg
KysrKysKIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMg
IHwgIDE2MyArKysrKysrKysrKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAzMDUgaW5zZXJ0
aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDE2MjE2OGYuLjBmNjVlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMS0wOS0z
MCAgTmF5YW4gS3VtYXIgSyAgPG5heWFua2tAbW90b3JvbGEuY29tPgorCisgICAgICAgIFtHVEtd
W1dFQktJVDJdIEFkZCBzdXBwb3J0IGZvciB0aXRsZSBwcm9wZXJ0eSBpbiBXZWJLaXRXZWJWaWV3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3NAor
CisgICAgICAgIFN1cHBvcnQgZm9yICd0aXRsZScgcHJvcGVydHkgaXMgYWRkZWQgaW4gV2ViS2l0
V2ViVmlldy4KKyAgICAgICAgRnVuY3Rpb25zIHRvIGdldCB0aGUgdmFsdWUgb2YgdGhpcyBwcm9w
ZXJ0eSBpcyBwcm92aWRlZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZSBmb3IgY29tcGlsYXRp
b24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNw
cDoKKyAgICAgICAgKGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKTogTG9hZGVyQ2xpZW50IHRpdGxl
UmVjaWV2ZSBjYWxsYmFjay4KKyAgICAgICAgKHdlYmtpdFdlYkxvYWRlckNsaWVudENvbnN0cnVj
dGVkKTogUmVnaXN0ZXIgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUgY2FsbGJhY2suCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRX
ZWJWaWV3R2V0UHJvcGVydHkpOiAndGl0bGUnIHByb3BlcnR5IGdldCBmdW5jdGlvbi4KKyAgICAg
ICAgKHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KTogUmVnaXN0ZXIgbmV3IHByb3BlcnR5Lgor
ICAgICAgICAod2Via2l0V2ViVmlld05vdGlmeVRpdGxlUmVjZWl2ZWQpOiBOb3RpZnkgV2ViS2l0
V2ViVmlldyBhYm91dCB0aXRsZSByZWNlaXZlLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2dl
dF90aXRsZSk6IEFQSSB0byBnZXQgbWFpbiBmcmFtZSB0aXRsZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6IE5ldyBBUEkgYWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaDogQWRkZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYzoKKyAgICAgICAgKHNlcnZlckNh
bGxiYWNrKTogU291cCBzZXJ2ZXIgY2FsbGJhY2suCisgICAgICAgICh3ZWJWaWV3Tm90aWZ5VGl0
bGUpOiAndGl0bGUnIHByb3BlcnR5IGNoYW5nZWQgY2FsbGJhY2suCisgICAgICAgICh3ZWJMb2Fk
aW5nRml4dHVyZVNldHVwKTogVGVzdCBmaXh0dXJlIHNldHVwIGZ1bmN0aW9uLgorICAgICAgICAo
bG9hZFN0YXR1c1Byb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQpOiBQcm92aXNpb25hbCBsb2FkIHN0YXJ0
ZWQgY2FsbGJhY2suCisgICAgICAgIChsb2FkU3RhdHVzUHJvdmlzaW9uYWxMb2FkRmFpbGVkKTog
UHJvdmlzaW9uYWwgbG9hZCBmYWlsZWQgY2FsbGJhY2suCisgICAgICAgIChsb2FkU3RhdHVzTG9h
ZENvbW1pdHRlZCk6IExvYWQgY29tbWl0dGVkIGNhbGxiYWNrLgorICAgICAgICAobG9hZFN0YXR1
c0xvYWRGaW5pc2hlZCk6IExvYWQgZmluaXNoZWQgY2FsbGJhY2suCisgICAgICAgIChsb2FkU3Rh
dHVzTG9hZEZhaWxlZCk6IExvYWQgZmFpbGVkIGNhbGxiYWNrLgorICAgICAgICAoZ2V0VVJJRm9y
UGF0aCk6CisgICAgICAgICh0ZXN0V2ViVmlld1RpdGxlKTogRnVuY3Rpb24gdG8gdGVzdCB0aGUg
J3RpdGxlJyBwcm9wZXJ0eS4KKyAgICAgICAgKHdlYkxvYWRpbmdGaXh0dXJlVGVhcmRvd24pOiBU
ZXN0IGZpeHR1cmUgdGVhcmRvd24gZnVuY3Rpb24uCisgICAgICAgIChtYWluKToKKwogMjAxMS0w
OS0yOSAgUmF2aSBQaGFuZWVuZHJhIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3Jv
bGEuY29tPgogCiAgICAgICAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgV2ViSW5zcGVjdG9y
IGZvciBXZWJLaXQyIEdUSyBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCAyMzg4YmZiLi5j
MTFhNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNDczLDYgKzQ3Myw3IEBAIGxpYndlYmtp
dDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1Jf
VkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViTG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCBkNjIzMDA4
Li41YjQ5MjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTI0LDYgKzI1LDcgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2YXRl
LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdC
YXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMTgsNiArMTIwLDE3IEBAIHN0
YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdL
RnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgZ19zaWduYWxfZW1pdChXRUJLSVRfV0VCX0xPQURF
Ul9DTElFTlQoY2xpZW50SW5mbyksIHNpZ25hbHNbTE9BRF9GQUlMRURdLCAwLCB3ZWJFcnJvci5n
ZXQoKSwgJnJldHVyblZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9y
RnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlLCBXS0ZyYW1lUmVmIGZyYW1l
LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYg
KCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJL
aXRXZWJMb2FkZXJDbGllbnQqIGxvYWRlckNsaWVudCA9IFdFQktJVF9XRUJfTE9BREVSX0NMSUVO
VChjbGllbnRJbmZvKTsKKyAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnRQcml2YXRlKiBwcml2ID0g
bG9hZGVyQ2xpZW50LT5wcml2OworICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBwcml2LT52
aWV3LmdldCgpOworICAgIHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRsZVJlY2VpdmVkKHdlYlZpZXcs
IHRpdGxlKTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0V2ViTG9hZGVyQ2xpZW50Q29uc3RydWN0
ZWQoR09iamVjdCogb2JqZWN0KQogewogICAgIFdlYktpdFdlYkxvYWRlckNsaWVudCogY2xpZW50
ID0gV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKG9iamVjdCk7CkBAIC0xMzQsNyArMTQ3LDcgQEAg
c3RhdGljIHZvaWQgd2Via2l0V2ViTG9hZGVyQ2xpZW50Q29uc3RydWN0ZWQoR09iamVjdCogb2Jq
ZWN0KQogICAgICAgICBkaWRGaW5pc2hMb2FkRm9yRnJhbWUsCiAgICAgICAgIGRpZEZhaWxMb2Fk
V2l0aEVycm9yRm9yRnJhbWUsCiAgICAgICAgIDAsICAgICAgIC8vIGRpZFNhbWVEb2N1bWVudE5h
dmlnYXRpb25Gb3JGcmFtZQotICAgICAgICAwLCAgICAgICAvLyBkaWRSZWNlaXZlVGl0bGVGb3JG
cmFtZQorICAgICAgICBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSwKICAgICAgICAgMCwgICAgICAg
Ly8gZGlkRmlyc3RMYXlvdXRGb3JGcmFtZQogICAgICAgICAwLCAgICAgICAvLyBkaWRGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZQogICAgICAgICAwLCAgICAgICAvLyBkaWRSZW1v
dmVGcmFtZUZyb21IaWVyYXJjaHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggOTJkYWEyNC4uNGEyZjdhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIzLDEwICsyNCwxMiBAQAog
I2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2Vi
TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisj
aW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRl
LmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2Uu
aD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMLmg+CisjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIu
aD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCkBAIC0zNiwxMyArMzksMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiBlbnVtIHsKICAgICBQUk9QXzAsCiAKLSAgICBQUk9QX1dFQl9DT05URVhUCisgICAgUFJPUF9X
RUJfQ09OVEVYVCwKKyAgICBQUk9QX1RJVExFCiB9OwogCiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdQ
cml2YXRlIHsKICAgICBXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0OwogCiAgICAgR1JlZlB0cjxX
ZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRlckNsaWVudDsKKyAgICBDU3RyaW5nIHRpdGxlOwog
fTsKIAogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJWaWV3LCB3ZWJraXRfd2ViX3ZpZXcsIFdFQktJ
VF9UWVBFX1dFQl9WSUVXX0JBU0UpCkBAIC03OCw2ICs4Myw5IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dFdlYlZpZXdHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVl
KiB2YWx1CiAgICAgY2FzZSBQUk9QX1dFQl9DT05URVhUOgogICAgICAgICBnX3ZhbHVlX3Rha2Vf
b2JqZWN0KHZhbHVlLCB3ZWJWaWV3LT5wcml2LT5jb250ZXh0KTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBQUk9QX1RJVExFOgorICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHdl
YmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldykpOworICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0
LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAgICAgfQpAQCAtMTE5LDYgKzEyNywzMCBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZp
ZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlRoZSB3ZWIgY29udGV4dCBmb3IgdGhlIHZpZXciLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJf
Q09OVEVYVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEV1JJVEUg
fCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZKSkpOworCisgICAgLyoqCisgICAgICogV2ViS2l0V2Vi
Vmlldzp0aXRsZToKKyAgICAgKiAKKyAgICAgKiBSZXR1cm5zOiB0aGUgQHdlYl92aWV3J3MgZG9j
dW1lbnQgdGl0bGUuCisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X1RJVExFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVj
X3N0cmluZygidGl0bGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfKCJUaXRsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJSZXR1cm5zIHRoZSBAd2ViX3ZpZXcncyBk
b2N1bWVudCB0aXRsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFN
X1JFQURBQkxFKSkpOworfQorCit2b2lkIHdlYmtpdFdlYlZpZXdOb3RpZnlUaXRsZVJlY2VpdmVk
KFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIFdLU3RyaW5nUmVmIHRpdGxlUmVmKQoreworICAgIFdl
YktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKKyAgICBDU3RyaW5nIHRp
dGxlID0gV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51dGY4KCk7CisgICAgaWYg
KHByaXYtPnRpdGxlID09IHRpdGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT50aXRs
ZSA9IHRpdGxlOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVCh3ZWJWaWV3KSwgInRpdGxl
Iik7CiB9CiAKIC8vIFB1YmxpYyBBUEkuCkBAIC0yNTEsMyArMjgzLDIwIEBAIHZvaWQgd2Via2l0
X3dlYl92aWV3X2dvX2ZvcndhcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBXZWJQYWdl
UHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JB
U0Uod2ViVmlldykpOwogICAgIFdLUGFnZUdvRm9yd2FyZCh0b0FQSShwYWdlKSk7CiB9CisKKy8q
KgorICogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZToKKyAqIEB3ZWJWaWV3OiBhICNXZWJLaXRX
ZWJWaWV3CisgKiAKKyAqIFJldHVybnMgdGhlIEB3ZWJfdmlldydzIGRvY3VtZW50IHRpdGxlLgor
ICoKKyAqIFJldHVybnM6IHRoZSB0aXRsZSBvZiBAd2ViX3ZpZXcuCisgKi8KK2NvbnN0IGdjaGFy
KiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7Cisg
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCAwKTsK
KworICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKKworICAg
IHJldHVybiBwcml2LT50aXRsZS5kYXRhKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5kZXggYTc5YjIxYi4uZTU0NjljMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaApA
QCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBbHAgVG9rZXIgPGFs
cEBhdG9rZXIuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSBMdGQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtOTQsNiArOTUsOSBAQCB3ZWJraXRfd2ViX3ZpZXdfZ29fYmFjayAg
ICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwogV0tfRVhQT1JUIHZv
aWQKIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAg
ICAgICp3ZWJfdmlldyk7CiAKK1dLX0VYUE9SVCBjb25zdCBnY2hhciogCit3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3RpdGxlICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViVmlldyk7CisK
IEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYjA5MmQzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdFdlYlZpZXdQcml2YXRlX2gKKyNkZWZpbmUg
V2ViS2l0V2ViVmlld1ByaXZhdGVfaAorCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgorCitH
X0JFR0lOX0RFQ0xTCisKK3ZvaWQgd2Via2l0V2ViVmlld05vdGlmeVRpdGxlUmVjZWl2ZWQoV2Vi
S2l0V2ViVmlldyAqLCBXS1N0cmluZ1JlZik7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZiAvLyBX
ZWJLaXRXZWJDb250ZXh0UHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYwppbmRleCA5YTI3YWZlLi5jMGUxOTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vi
dmlldy5jCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3
ZWJ2aWV3LmMKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxp
YSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTksOCAr
MjAsMzMgQEAKIAogI2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+CisjaW5j
bHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8d2Vi
a2l0Mi93ZWJraXQyLmg+CiAKK1NvdXBVUkkgKmJhc2VVUkk7CisKKyNkZWZpbmUgSFRNTF9USVRM
RSAiV2VsQ29tZSB0byBXZWJLaXQtR1RLKyIKKy8qIFRoaXMgc3RyaW5nIGhhcyB0byBiZSByYXRo
ZXIgYmlnIGJlY2F1c2Ugb2YgdGhlIGNhbmNlbGxlZCB0ZXN0IC0gaXQKKyAqIGxvb2tzIGxpa2Ug
c291cCByZWZ1c2VzIHRvIHNlbmQgb3IgcmVjZWl2ZSBhIHRvbyBzbWFsbCBjaHVuayAqLworI2Rl
ZmluZSBIVE1MX1NUUklORyAiPGh0bWw+PGhlYWQ+PHRpdGxlPiJIVE1MX1RJVExFIjwvdGl0bGU+
PC9oZWFkPjxib2R5PlRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyE8L2JvZHk+PC9odG1sPiIKKworLyogRm9yIHJlYWwgcmVxdWVzdCB0
ZXN0aW5nICovCitzdGF0aWMgdm9pZCBzZXJ2ZXJDYWxsYmFjayhTb3VwU2VydmVyKiBzZXJ2ZXIs
IFNvdXBNZXNzYWdlKiBtc2csIGNvbnN0IGNoYXIqIHBhdGgsIEdIYXNoVGFibGUqIHF1ZXJ5LCBT
b3VwQ2xpZW50Q29udGV4dCogY29udGV4dCwgZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBpZiAobXNn
LT5tZXRob2QgIT0gU09VUF9NRVRIT0RfR0VUKSB7CisgICAgICAgIHNvdXBfbWVzc2FnZV9zZXRf
c3RhdHVzKG1zZywgU09VUF9TVEFUVVNfTk9UX0lNUExFTUVOVEVEKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHNvdXBfbWVzc2FnZV9zZXRfc3RhdHVzKG1zZywgU09VUF9TVEFUVVNf
T0spOworCisgICAgaWYgKGdfc3RyX2VxdWFsKHBhdGgsICIvIikpCisgICAgICAgIHNvdXBfbWVz
c2FnZV9ib2R5X2FwcGVuZChtc2ctPnJlc3BvbnNlX2JvZHksIFNPVVBfTUVNT1JZX1NUQVRJQywg
SFRNTF9TVFJJTkcsIHN0cmxlbihIVE1MX1NUUklORykpOworCisgICAgc291cF9tZXNzYWdlX2Jv
ZHlfY29tcGxldGUobXNnLT5yZXNwb25zZV9ib2R5KTsKK30KKwogc3RhdGljIHZvaWQgdGVzdFdl
YlZpZXdEZWZhdWx0Q29udGV4dCh2b2lkKQogewogICAgIFdlYktpdFdlYlZpZXcgKnZpZXcgPSBX
RUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKQEAgLTI5LDE2ICs1NSwxNTMg
QEAgc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4dCh2b2lkKQogICAgIGdfb2Jq
ZWN0X3VucmVmKHZpZXcpOwogfQogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgV2ViS2l0V2ViVmll
dyAqd2ViVmlldzsKKyAgICBHTWFpbkxvb3AgKmxvb3A7CisgICAgZ2Jvb2xlYW4gaGFzQmVlblBy
b3Zpc2lvbmFsOworICAgIGdib29sZWFuIGhhc0JlZW5Db21taXR0ZWQ7CisgICAgZ2Jvb2xlYW4g
aGFzUmVjZWl2ZWRUaXRsZTsKKyAgICBnYm9vbGVhbiBoYXNCZWVuRmluaXNoZWQ7Cit9IFdlYkxv
YWRpbmdGaXh0dXJlOworCitzdGF0aWMgdm9pZCB3ZWJWaWV3Tm90aWZ5VGl0bGUoV2ViS2l0V2Vi
Vmlldyogd2ViVmlldywgR1BhcmFtU3BlYyogcFNwZWMsIFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0
dXJlKQoreworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5Qcm92aXNpb25hbCk7CisgICAg
Z19hc3NlcnQoZml4dHVyZS0+aGFzQmVlbkNvbW1pdHRlZCk7CisgICAgZ19hc3NlcnQoIWZpeHR1
cmUtPmhhc1JlY2VpdmVkVGl0bGUpOworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuRmlu
aXNoZWQpOworCisgICAgY29uc3QgZ2NoYXIqIHRpdGxlID0gd2Via2l0X3dlYl92aWV3X2dldF90
aXRsZSh3ZWJWaWV3KTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGl0bGUsID09LCBIVE1MX1RJVExF
KTsKKworICAgIGZpeHR1cmUtPmhhc1JlY2VpdmVkVGl0bGUgPSBUUlVFOworfQorCitzdGF0aWMg
dm9pZCB3ZWJMb2FkaW5nRml4dHVyZVNldHVwKFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlLCBn
Y29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgZml4dHVyZS0+d2ViVmlldyA9IFdFQktJVF9XRUJf
VklFVyh3ZWJraXRfd2ViX3ZpZXdfbmV3KCkpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoZml4dHVy
ZS0+d2ViVmlldywgIm5vdGlmeTo6dGl0bGUiLCBHX0NBTExCQUNLKHdlYlZpZXdOb3RpZnlUaXRs
ZSksIGZpeHR1cmUpOworICAgIGZpeHR1cmUtPmxvb3AgPSBnX21haW5fbG9vcF9uZXcoTlVMTCwg
VFJVRSk7CisgICAgZ19vYmplY3RfcmVmX3NpbmsoZml4dHVyZS0+d2ViVmlldyk7CisgICAgZml4
dHVyZS0+aGFzQmVlblByb3Zpc2lvbmFsID0gRkFMU0U7CisgICAgZml4dHVyZS0+aGFzQmVlbkNv
bW1pdHRlZCA9IEZBTFNFOworICAgIGZpeHR1cmUtPmhhc1JlY2VpdmVkVGl0bGUgPSBGQUxTRTsK
KyAgICBmaXh0dXJlLT5oYXNCZWVuRmluaXNoZWQgPSBGQUxTRTsKK30KKworc3RhdGljIGdib29s
ZWFuIGxvYWRTdGF0dXNQcm92aXNpb25hbExvYWRTdGFydGVkKFdlYktpdFdlYkxvYWRlckNsaWVu
dCAqY2xpZW50LCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydCgh
Zml4dHVyZS0+aGFzQmVlblByb3Zpc2lvbmFsKTsKKyAgICBnX2Fzc2VydCghZml4dHVyZS0+aGFz
QmVlbkNvbW1pdHRlZCk7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhhc1JlY2VpdmVkVGl0bGUp
OworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuRmluaXNoZWQpOworICAgIGZpeHR1cmUt
Pmhhc0JlZW5Qcm92aXNpb25hbCA9IFRSVUU7CisKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3Rh
dGljIGdib29sZWFuIGxvYWRTdGF0dXNQcm92aXNpb25hbExvYWRGYWlsZWQoV2ViS2l0V2ViTG9h
ZGVyQ2xpZW50ICpjbGllbnQsIEdFcnJvciAqZXJyb3IsIFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0
dXJlKQoreworICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgcmV0dXJuIFRSVUU7Cit9
CisKK3N0YXRpYyBnYm9vbGVhbiBsb2FkU3RhdHVzTG9hZENvbW1pdHRlZChXZWJLaXRXZWJMb2Fk
ZXJDbGllbnQgKmNsaWVudCwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19h
c3NlcnQoZml4dHVyZS0+aGFzQmVlblByb3Zpc2lvbmFsKTsKKyAgICBnX2Fzc2VydCghZml4dHVy
ZS0+aGFzQmVlbkNvbW1pdHRlZCk7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhhc1JlY2VpdmVk
VGl0bGUpOworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuRmluaXNoZWQpOworICAgIGZp
eHR1cmUtPmhhc0JlZW5Db21taXR0ZWQgPSBUUlVFOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisK
K3N0YXRpYyBnYm9vbGVhbiBsb2FkU3RhdHVzTG9hZEZpbmlzaGVkKFdlYktpdFdlYkxvYWRlckNs
aWVudCAqY2xpZW50LCBXZWJMb2FkaW5nRml4dHVyZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2Vy
dChmaXh0dXJlLT5oYXNCZWVuUHJvdmlzaW9uYWwpOworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhh
c0JlZW5Db21taXR0ZWQpOworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc1JlY2VpdmVkVGl0bGUp
OworICAgIGdfYXNzZXJ0KCFmaXh0dXJlLT5oYXNCZWVuRmluaXNoZWQpOworICAgIGZpeHR1cmUt
Pmhhc0JlZW5GaW5pc2hlZCA9IFRSVUU7CisKKyAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUt
Pmxvb3ApOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBnYm9vbGVhbiBsb2FkU3Rh
dHVzTG9hZEZhaWxlZChXZWJLaXRXZWJMb2FkZXJDbGllbnQgKmNsaWVudCwgR0Vycm9yICplcnJv
ciwgV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnRfbm90X3JlYWNo
ZWQoKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGNoYXIgKmdldFVSSUZvclBhdGgo
Y29uc3QgY2hhciogcGF0aCkKK3sKKyAgICBTb3VwVVJJICp1cmk7CisgICAgY2hhciAqdXJpU3Ry
aW5nOworCisgICAgdXJpID0gc291cF91cmlfbmV3X3dpdGhfYmFzZShiYXNlVVJJLCBwYXRoKTsK
KyAgICB1cmlTdHJpbmcgPSBzb3VwX3VyaV90b19zdHJpbmcodXJpLCBGQUxTRSk7CisgICAgc291
cF91cmlfZnJlZSh1cmkpOworCisgICAgcmV0dXJuIHVyaVN0cmluZzsKK30KKworc3RhdGljIHZv
aWQgdGVzdFdlYlZpZXdUaXRsZShXZWJMb2FkaW5nRml4dHVyZSogZml4dHVyZSwgZ2NvbnN0cG9p
bnRlciBkYXRhKQoreworICAgIGNoYXIgKnVyaVN0cmluZzsKKyAgICBXZWJLaXRXZWJMb2FkZXJD
bGllbnQgKmNsaWVudCA9IHdlYmtpdF93ZWJfdmlld19nZXRfbG9hZGVyX2NsaWVudChmaXh0dXJl
LT53ZWJWaWV3KTsKKworICAgIGdfc2lnbmFsX2Nvbm5lY3QoY2xpZW50LCAicHJvdmlzaW9uYWwt
bG9hZC1zdGFydGVkIiwgR19DQUxMQkFDSyhsb2FkU3RhdHVzUHJvdmlzaW9uYWxMb2FkU3RhcnRl
ZCksIGZpeHR1cmUpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoY2xpZW50LCAicHJvdmlzaW9uYWwt
bG9hZC1mYWlsZWQiLCBHX0NBTExCQUNLKGxvYWRTdGF0dXNQcm92aXNpb25hbExvYWRGYWlsZWQp
LCBmaXh0dXJlKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGNsaWVudCwgImxvYWQtY29tbWl0dGVk
IiwgR19DQUxMQkFDSyhsb2FkU3RhdHVzTG9hZENvbW1pdHRlZCksIGZpeHR1cmUpOworICAgIGdf
c2lnbmFsX2Nvbm5lY3QoY2xpZW50LCAibG9hZC1maW5pc2hlZCIsIEdfQ0FMTEJBQ0sobG9hZFN0
YXR1c0xvYWRGaW5pc2hlZCksIGZpeHR1cmUpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoY2xpZW50
LCAibG9hZC1mYWlsZWQiLCBHX0NBTExCQUNLKGxvYWRTdGF0dXNMb2FkRmFpbGVkKSwgZml4dHVy
ZSk7CisKKyAgICB1cmlTdHJpbmcgPSBnZXRVUklGb3JQYXRoKCIvIik7CisgICAgd2Via2l0X3dl
Yl92aWV3X2xvYWRfdXJpKGZpeHR1cmUtPndlYlZpZXcsIHVyaVN0cmluZyk7CisgICAgZ19mcmVl
KHVyaVN0cmluZyk7CisKKyAgICBnX21haW5fbG9vcF9ydW4oZml4dHVyZS0+bG9vcCk7CisKKyAg
ICBnX2Fzc2VydChmaXh0dXJlLT5oYXNCZWVuUHJvdmlzaW9uYWwpOworICAgIGdfYXNzZXJ0KGZp
eHR1cmUtPmhhc0JlZW5Db21taXR0ZWQpOworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc1JlY2Vp
dmVkVGl0bGUpOworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc0JlZW5GaW5pc2hlZCk7Cit9CisK
K3N0YXRpYyB2b2lkIHdlYkxvYWRpbmdGaXh0dXJlVGVhcmRvd24oV2ViTG9hZGluZ0ZpeHR1cmUg
KmZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkKK3sKKyAgICBnX29iamVjdF91bnJlZihmaXh0
dXJlLT53ZWJWaWV3KTsKKyAgICBnX21haW5fbG9vcF91bnJlZihmaXh0dXJlLT5sb29wKTsKK30K
KwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogeworICAgIFNvdXBTZXJ2ZXIgKnNl
cnZlcjsKKwogICAgIGdfdGhyZWFkX2luaXQoTlVMTCk7CiAgICAgZ3RrX3Rlc3RfaW5pdCgmYXJn
YywgJmFyZ3YsIE5VTEwpOwogCiAgICAgZ19zZXRlbnYoIldFQktJVF9FWEVDX1BBVEgiLCBXRUJL
SVRfRVhFQ19QQVRILCBGQUxTRSk7CiAKKyAgICBzZXJ2ZXIgPSBzb3VwX3NlcnZlcl9uZXcoU09V
UF9TRVJWRVJfUE9SVCwgMCwgTlVMTCk7CisgICAgc291cF9zZXJ2ZXJfcnVuX2FzeW5jKHNlcnZl
cik7CisKKyAgICBzb3VwX3NlcnZlcl9hZGRfaGFuZGxlcihzZXJ2ZXIsIE5VTEwsIHNlcnZlckNh
bGxiYWNrLCBOVUxMLCBOVUxMKTsKKworICAgIGJhc2VVUkkgPSBzb3VwX3VyaV9uZXcoImh0dHA6
Ly8xMjcuMC4wLjEvIik7CisgICAgc291cF91cmlfc2V0X3BvcnQoYmFzZVVSSSwgc291cF9zZXJ2
ZXJfZ2V0X3BvcnQoc2VydmVyKSk7CisKICAgICBnX3Rlc3RfYnVnX2Jhc2UoImh0dHBzOi8vYnVn
cy53ZWJraXQub3JnLyIpOwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dlYmtpdDIvd2Vidmlldy9k
ZWZhdWx0X2NvbnRleHQiLAogICAgICAgICAgICAgICAgICAgICB0ZXN0V2ViVmlld0RlZmF1bHRD
b250ZXh0KTsKKyAgICBnX3Rlc3RfYWRkKCIvd2Via2l0Mi93ZWJWaWV3L3RpdGxlIiwKKyAgICAg
ICAgICAgICAgIFdlYkxvYWRpbmdGaXh0dXJlLCBOVUxMLAorICAgICAgICAgICAgICAgd2ViTG9h
ZGluZ0ZpeHR1cmVTZXR1cCwKKyAgICAgICAgICAgICAgIHRlc3RXZWJWaWV3VGl0bGUsCisgICAg
ICAgICAgICAgICB3ZWJMb2FkaW5nRml4dHVyZVRlYXJkb3duKTsKIAogICAgIHJldHVybiBnX3Rl
c3RfcnVuKCk7CiB9Ci0tIAoxLjcuNC4xCgo=
</data>
<flag name="review"
          id="106494"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109449</attachid>
            <date>2011-10-03 00:47:58 -0700</date>
            <delta_ts>2011-10-03 02:07:59 -0700</delta_ts>
            <desc>Added title property</desc>
            <filename>title-property.diff</filename>
            <type>text/plain</type>
            <size>16067</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5ZDdjZWFiLi40OTM2ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTEtMTAtMDMgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTdXBwb3J0IGZvciAndGl0bGUnIHByb3BlcnR5IGlzIGFkZGVkIGluIFdlYktpdFdlYlZp
ZXcuCisgICAgICAgIEZ1bmN0aW9ucyB0byBnZXQgdGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkg
aXMgcHJvdmlkZWQuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUg
Zm9yIGNvbXBpbGF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHA6IAorICAgICAgICAoZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUpOiBMb2Fk
ZXJDbGllbnQgdGl0bGVSZWNpZXZlIGNhbGxiYWNrLgorICAgICAgICAod2Via2l0V2ViTG9hZGVy
Q2xpZW50Q29uc3RydWN0ZWQpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSBjYWxs
YmFjay4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDogCisg
ICAgICAgICh3ZWJraXRXZWJWaWV3R2V0UHJvcGVydHkpOiAndGl0bGUnIHByb3BlcnR5IGdldCBm
dW5jdGlvbi4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KTogUmVnaXN0ZXIg
bmV3IHByb3BlcnR5LgorICAgICAgICAod2Via2l0V2ViVmlld1NldFRpdGxlKTogTm90aWZ5IFdl
YktpdFdlYlZpZXcgYWJvdXQgdGl0bGUgcmVjZWl2ZS4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmll
d19nZXRfdGl0bGUpOiBBUEkgdG8gZ2V0IG1haW4gZnJhbWUgdGl0bGUuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oOiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxl
IEFQSSBleHBvc2UuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1By
aXZhdGUuaDogQWRkZWQgcHJpdmF0ZSBBUEkncy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay90ZXN0cy90ZXN0d2Vidmlldy5jOgorICAgICAgICAoc2VydmVyQ2FsbGJhY2spOiBTb3VwIHNl
cnZlciBjYWxsYmFjay4KKyAgICAgICAgKHdlYlZpZXdOb3RpZnlUaXRsZSk6ICd0aXRsZScgcHJv
cGVydHkgY2hhbmdlZCBjYWxsYmFjay4KKyAgICAgICAgKHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAp
OiBUZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisgICAgICAgIChnZXRVUklGb3JQYXRoKTog
R2V0IHVyaSB0byBsb2FkLgorICAgICAgICAodGVzdFdlYlZpZXdUaXRsZSk6IEZ1bmN0aW9uIHRv
IHRlc3QgdGhlICd0aXRsZScgcHJvcGVydHkuCisgICAgICAgICh3ZWJMb2FkaW5nRml4dHVyZVRl
YXJkb3duKTogVGVzdCBmaXh0dXJlIHRlYXJkb3duIGZ1bmN0aW9uLgorICAgICAgICAobWFpbik6
CisKIDIwMTEtMTAtMDIgIFplbm8gQWxiaXNzZXIgIDx6ZW5vLmFsYmlzc2VyQG5va2lhLmNvbT4K
IAogICAgICAgICBbUXRdW1dLMl1bTWFjXSBXZWJLaXQyIGRvZXMgbm90IGJ1aWxkIG9uIG1hYyBh
ZnRlciBtZXJnZSBvZiBRdDUgcmVmYWN0b3IgYnJhbmNoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRl
eCAyMzg4YmZiLi5jMTFhNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNDczLDYgKzQ3Myw3
IEBAIGxpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdU
S19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApp
bmRleCBkNjIzMDA4Li4wOGUwZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDYgKzI1LDcgQEAKICNpbmNsdWRlICJX
ZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldl
YktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRl
LmgiCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2Jq
ZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMTgsNiAr
MTIwLDE0IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdl
UmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgZ19zaWduYWxfZW1pdChXRUJL
SVRfV0VCX0xPQURFUl9DTElFTlQoY2xpZW50SW5mbyksIHNpZ25hbHNbTE9BRF9GQUlMRURdLCAw
LCB3ZWJFcnJvci5nZXQoKSwgJnJldHVyblZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVj
ZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlLCBXS0Zy
YW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
Cit7CisgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47
CisKKyAgICB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKGNs
aWVudEluZm8pLT5wcml2LT52aWV3LmdldCgpLCB0aXRsZSk7Cit9CisKIHN0YXRpYyB2b2lkIHdl
YmtpdFdlYkxvYWRlckNsaWVudENvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIHsKICAgICBX
ZWJLaXRXZWJMb2FkZXJDbGllbnQqIGNsaWVudCA9IFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChv
YmplY3QpOwpAQCAtMTM0LDcgKzE0NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYkxvYWRlckNs
aWVudENvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKICAgICAgICAgZGlkRmluaXNoTG9hZEZv
ckZyYW1lLAogICAgICAgICBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lLAogICAgICAgICAw
LCAgICAgICAvLyBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUKLSAgICAgICAgMCwg
ICAgICAgLy8gZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUKKyAgICAgICAgZGlkUmVjZWl2ZVRpdGxl
Rm9yRnJhbWUsCiAgICAgICAgIDAsICAgICAgIC8vIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWUKICAg
ICAgICAgMCwgICAgICAgLy8gZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUK
ICAgICAgICAgMCwgICAgICAgLy8gZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4
IDkyZGFhMjQuLjcwNmNlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1v
dG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0yMCwxMyArMjEsMTUgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRXZWJWaWV3LmgiCiAKKyNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0V2ViQ29udGV4dFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIKLSNpbmNsdWRl
ICJXZWJLaXRQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2lu
Y2x1ZGUgPFdlYktpdDIvV0tVUkwuaD4KKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKQEAgLTM2LDEzICszOSwxOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIGVudW0g
ewogICAgIFBST1BfMCwKIAotICAgIFBST1BfV0VCX0NPTlRFWFQKKyAgICBQUk9QX1dFQl9DT05U
RVhULAorICAgIFBST1BfVElUTEUKIH07CiAKIHN0cnVjdCBfV2ViS2l0V2ViVmlld1ByaXZhdGUg
ewogICAgIFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQ7CiAKKyAgICAvKiBMb2FkZXIgQ2xpZW50
ICovCiAgICAgR1JlZlB0cjxXZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRlckNsaWVudDsKKwor
ICAgIC8qIFdlYktpdFdlYlZpZXcgcHJvcGVydGllcyAqLworICAgIENTdHJpbmcgdGl0bGU7CiB9
OwogCiBHX0RFRklORV9UWVBFKFdlYktpdFdlYlZpZXcsIHdlYmtpdF93ZWJfdmlldywgV0VCS0lU
X1RZUEVfV0VCX1ZJRVdfQkFTRSkKQEAgLTc4LDYgKzg2LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0
V2ViVmlld0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUq
IHZhbHUKICAgICBjYXNlIFBST1BfV0VCX0NPTlRFWFQ6CiAgICAgICAgIGdfdmFsdWVfdGFrZV9v
YmplY3QodmFsdWUsIHdlYlZpZXctPnByaXYtPmNvbnRleHQpOwogICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFBST1BfVElUTEU6CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgd2Vi
a2l0X3dlYl92aWV3X2dldF90aXRsZSh3ZWJWaWV3KSk7CisgICAgICAgIGJyZWFrOwogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3Qs
IHByb3BJZCwgcGFyYW1TcGVjKTsKICAgICB9CkBAIC0xMTksNiArMTMwLDMwIEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFzcyogd2ViVmll
d0NsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiVGhlIHdlYiBjb250ZXh0IGZvciB0aGUgdmlldyIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9UWVBFX1dFQl9D
T05URVhULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFNX1JFQURXUklURSB8
IEdfUEFSQU1fQ09OU1RSVUNUX09OTFkpKSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRXZWJW
aWV3OnRpdGxlOgorICAgICAqIAorICAgICAqIFJldHVybnM6IHRoZSBtYWluIGZyYW1lIHRpdGxl
IG9mIHRoaXMgI1dlYktpdFdlYlZpZXcuIElmIHRoZSB0aXRsZSBoYXMgbm90IGJlZW4gcmVjZWl2
ZWQgeWV0IGl0IHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nLgorICAgICAqLworICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUFJPUF9USVRMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInRpdGxlIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGl0bGUiKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiUmV0
dXJucyB0aGUgbWFpbiBmcmFtZSB0aXRsZSBvZiAjV2ViS2l0V2ViVmlldyIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFNX1JFQURBQkxFKSkpOworfQorCit2b2lkIHdl
YmtpdFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXS1N0cmluZ1JlZiB0
aXRsZVJlZikKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnBy
aXY7CisgICAgQ1N0cmluZyB0aXRsZSA9IFdlYktpdDo6dG9JbXBsKHRpdGxlUmVmKS0+c3RyaW5n
KCkudXRmOCgpOworICAgIGlmIChwcml2LT50aXRsZSA9PSB0aXRsZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpF
Q1Qod2ViVmlldyksICJ0aXRsZSIpOwogfQogCiAvLyBQdWJsaWMgQVBJLgpAQCAtMjUxLDMgKzI4
NiwxOCBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcpCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdl
KFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKICAgICBXS1BhZ2VHb0ZvcndhcmQodG9B
UEkocGFnZSkpOwogfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGU6CisgKiBA
d2ViVmlldzogYSAjV2ViS2l0V2ViVmlldworICogCisgKiBSZXR1cm5zIHRoZSBwcm9wZXJ0eSAj
T2JqZWN0OnRpdGxlLgorICoKKyAqIFJldHVybnM6IHRoZSBtYWluIGZyYW1lIHRpdGxlIG9mIEB3
ZWJWaWV3LgorICovCitjb25zdCBnY2hhciogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZShXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9J
U19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAgICByZXR1cm4gd2ViVmlldy0+cHJpdi0+dGl0
bGUuZGF0YSgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5oCmluZGV4IGE3OWIyMWIuLjY1MWE5YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTMsNiArMyw3IEBACiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KICAq
IENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLgogICogQ29weXJpZ2h0IChDKSAyMDEx
IElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9i
aWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAg
LTk0LDYgKzk1LDkgQEAgd2Via2l0X3dlYl92aWV3X2dvX2JhY2sgICAgICAgICAgIChXZWJLaXRX
ZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKIFdLX0VYUE9SVCB2b2lkCiB3ZWJraXRfd2ViX3Zp
ZXdfZ29fZm9yd2FyZCAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwog
CitXS19FWFBPUlQgY29uc3QgZ2NoYXIqIAord2Via2l0X3dlYl92aWV3X2dldF90aXRsZSAgICAg
ICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKKwogR19FTkRfREVDTFMKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlld1ByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j
MjgyYjc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV2ViS2l0V2ViVmlld1ByaXZhdGVfaAorI2RlZmluZSBXZWJLaXRXZWJWaWV3UHJp
dmF0ZV9oCisKKyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCisKK3ZvaWQgd2Via2l0V2ViVmll
d1NldFRpdGxlKFdlYktpdFdlYlZpZXcgKiwgV0tTdHJpbmdSZWYpOworCisjZW5kaWYgLy8gV2Vi
S2l0V2ViQ29udGV4dFByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKaW5kZXggOWEyN2FmZS4uYTliYzg5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZp
ZXcuYworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vi
dmlldy5jCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEg
Uy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTE5LDggKzIw
LDMzIEBACiAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1
ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHdlYmtp
dDIvd2Via2l0Mi5oPgogCitTb3VwVVJJICpiYXNlVVJJOworCisjZGVmaW5lIEhUTUxfVElUTEUg
IldlbENvbWUgdG8gV2ViS2l0LUdUSysiCisvKiBUaGlzIHN0cmluZyBoYXMgdG8gYmUgcmF0aGVy
IGJpZyBiZWNhdXNlIG9mIHRoZSBjYW5jZWxsZWQgdGVzdCAtIGl0CisgKiBsb29rcyBsaWtlIHNv
dXAgcmVmdXNlcyB0byBzZW5kIG9yIHJlY2VpdmUgYSB0b28gc21hbGwgY2h1bmsgKi8KKyNkZWZp
bmUgSFRNTF9TVFJJTkcgIjxodG1sPjxoZWFkPjx0aXRsZT4iSFRNTF9USVRMRSI8L3RpdGxlPjwv
aGVhZD48Ym9keT5UZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchPC9ib2R5PjwvaHRtbD4iCisKKy8qIEZvciByZWFsIHJlcXVlc3QgdGVz
dGluZyAqLworc3RhdGljIHZvaWQgc2VydmVyQ2FsbGJhY2soU291cFNlcnZlciogc2VydmVyLCBT
b3VwTWVzc2FnZSogbXNnLCBjb25zdCBjaGFyKiBwYXRoLCBHSGFzaFRhYmxlKiBxdWVyeSwgU291
cENsaWVudENvbnRleHQqIGNvbnRleHQsIGdwb2ludGVyIGRhdGEpCit7CisgICAgaWYgKG1zZy0+
bWV0aG9kICE9IFNPVVBfTUVUSE9EX0dFVCkgeworICAgICAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0
YXR1cyhtc2csIFNPVVBfU1RBVFVTX05PVF9JTVBMRU1FTlRFRCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0YXR1cyhtc2csIFNPVVBfU1RBVFVTX09L
KTsKKworICAgIGlmIChnX3N0cl9lcXVhbChwYXRoLCAiLyIpKQorICAgICAgICBzb3VwX21lc3Nh
Z2VfYm9keV9hcHBlbmQobXNnLT5yZXNwb25zZV9ib2R5LCBTT1VQX01FTU9SWV9TVEFUSUMsIEhU
TUxfU1RSSU5HLCBzdHJsZW4oSFRNTF9TVFJJTkcpKTsKKworICAgIHNvdXBfbWVzc2FnZV9ib2R5
X2NvbXBsZXRlKG1zZy0+cmVzcG9uc2VfYm9keSk7Cit9CisKIHN0YXRpYyB2b2lkIHRlc3RXZWJW
aWV3RGVmYXVsdENvbnRleHQodm9pZCkKIHsKICAgICBXZWJLaXRXZWJWaWV3ICp2aWV3ID0gV0VC
S0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7CkBAIC0yOSwxNiArNTUsOTEgQEAg
c3RhdGljIHZvaWQgdGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4dCh2b2lkKQogICAgIGdfb2JqZWN0
X3VucmVmKHZpZXcpOwogfQogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgV2ViS2l0V2ViVmlldyAq
d2ViVmlldzsKKyAgICBHTWFpbkxvb3AgKmxvb3A7CisgICAgZ2Jvb2xlYW4gaGFzUmVjZWl2ZWRU
aXRsZTsKK30gV2ViTG9hZGluZ0ZpeHR1cmU7CisKK3N0YXRpYyB2b2lkIHdlYlZpZXdOb3RpZnlU
aXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1TcGVjKiBwU3BlYywgV2ViTG9hZGlu
Z0ZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgZ19hc3NlcnQoIWZpeHR1cmUtPmhhc1JlY2VpdmVk
VGl0bGUpOworCisgICAgY29uc3QgZ2NoYXIqIHRpdGxlID0gd2Via2l0X3dlYl92aWV3X2dldF90
aXRsZSh3ZWJWaWV3KTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGl0bGUsID09LCBIVE1MX1RJVExF
KTsKKworICAgIGZpeHR1cmUtPmhhc1JlY2VpdmVkVGl0bGUgPSBUUlVFOworICAgIGdfbWFpbl9s
b29wX3F1aXQoZml4dHVyZS0+bG9vcCk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYkxvYWRpbmdGaXh0
dXJlU2V0dXAoV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkK
K3sKKyAgICBmaXh0dXJlLT53ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmll
d19uZXcoKSk7CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT53ZWJWaWV3LCAibm90aWZ5
Ojp0aXRsZSIsIEdfQ0FMTEJBQ0sod2ViVmlld05vdGlmeVRpdGxlKSwgZml4dHVyZSk7CisgICAg
Zml4dHVyZS0+bG9vcCA9IGdfbWFpbl9sb29wX25ldyhOVUxMLCBUUlVFKTsKKyAgICBnX29iamVj
dF9yZWZfc2luayhmaXh0dXJlLT53ZWJWaWV3KTsKKyAgICBmaXh0dXJlLT5oYXNSZWNlaXZlZFRp
dGxlID0gRkFMU0U7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRVUklGb3JQYXRoKGNvbnN0IGNoYXIq
IHBhdGgpCit7CisgICAgU291cFVSSSAqdXJpOworICAgIGNoYXIgKnVyaVN0cmluZzsKKworICAg
IHVyaSA9IHNvdXBfdXJpX25ld193aXRoX2Jhc2UoYmFzZVVSSSwgcGF0aCk7CisgICAgdXJpU3Ry
aW5nID0gc291cF91cmlfdG9fc3RyaW5nKHVyaSwgRkFMU0UpOworICAgIHNvdXBfdXJpX2ZyZWUo
dXJpKTsKKworICAgIHJldHVybiB1cmlTdHJpbmc7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RXZWJW
aWV3VGl0bGUoV2ViTG9hZGluZ0ZpeHR1cmUqIGZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkK
K3sKKyAgICBjaGFyICp1cmlTdHJpbmc7CisKKyAgICAvKiBBc3NlcnQgaWYgdGl0bGUgaXMgbm90
IE5VTEwgKi8KKyAgICBnX2Fzc2VydCghd2Via2l0X3dlYl92aWV3X2dldF90aXRsZShmaXh0dXJl
LT53ZWJWaWV3KSk7CisKKyAgICB1cmlTdHJpbmcgPSBnZXRVUklGb3JQYXRoKCIvIik7CisgICAg
d2Via2l0X3dlYl92aWV3X2xvYWRfdXJpKGZpeHR1cmUtPndlYlZpZXcsIHVyaVN0cmluZyk7Cisg
ICAgZ19mcmVlKHVyaVN0cmluZyk7CisKKyAgICBnX21haW5fbG9vcF9ydW4oZml4dHVyZS0+bG9v
cCk7CisKKyAgICAvKiBBc3NlcnQgaWYgdGl0bGUgaXMgbm90IHJlY2VpdmVkICovCisgICAgZ19h
c3NlcnQoZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYkxv
YWRpbmdGaXh0dXJlVGVhcmRvd24oV2ViTG9hZGluZ0ZpeHR1cmUgKmZpeHR1cmUsIGdjb25zdHBv
aW50ZXIgZGF0YSkKK3sKKyAgICBnX29iamVjdF91bnJlZihmaXh0dXJlLT53ZWJWaWV3KTsKKyAg
ICBnX21haW5fbG9vcF91bnJlZihmaXh0dXJlLT5sb29wKTsKK30KKwogaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIgKiphcmd2KQogeworICAgIFNvdXBTZXJ2ZXIgKnNlcnZlcjsKKwogICAgIGdfdGhy
ZWFkX2luaXQoTlVMTCk7CiAgICAgZ3RrX3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3YsIE5VTEwpOwog
CiAgICAgZ19zZXRlbnYoIldFQktJVF9FWEVDX1BBVEgiLCBXRUJLSVRfRVhFQ19QQVRILCBGQUxT
RSk7CiAKKyAgICBzZXJ2ZXIgPSBzb3VwX3NlcnZlcl9uZXcoU09VUF9TRVJWRVJfUE9SVCwgMCwg
TlVMTCk7CisgICAgc291cF9zZXJ2ZXJfcnVuX2FzeW5jKHNlcnZlcik7CisgICAgc291cF9zZXJ2
ZXJfYWRkX2hhbmRsZXIoc2VydmVyLCBOVUxMLCBzZXJ2ZXJDYWxsYmFjaywgTlVMTCwgTlVMTCk7
CisKKyAgICBiYXNlVVJJID0gc291cF91cmlfbmV3KCJodHRwOi8vMTI3LjAuMC4xLyIpOworICAg
IHNvdXBfdXJpX3NldF9wb3J0KGJhc2VVUkksIHNvdXBfc2VydmVyX2dldF9wb3J0KHNlcnZlcikp
OworCiAgICAgZ190ZXN0X2J1Z19iYXNlKCJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy8iKTsKICAg
ICBnX3Rlc3RfYWRkX2Z1bmMoIi93ZWJraXQyL3dlYnZpZXcvZGVmYXVsdF9jb250ZXh0IiwKICAg
ICAgICAgICAgICAgICAgICAgdGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4dCk7CisgICAgZ190ZXN0
X2FkZCgiL3dlYmtpdDIvd2ViVmlldy90aXRsZSIsCisgICAgICAgICAgICAgICBXZWJMb2FkaW5n
Rml4dHVyZSwgTlVMTCwKKyAgICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAsCisg
ICAgICAgICAgICAgICB0ZXN0V2ViVmlld1RpdGxlLAorICAgICAgICAgICAgICAgd2ViTG9hZGlu
Z0ZpeHR1cmVUZWFyZG93bik7CiAKICAgICByZXR1cm4gZ190ZXN0X3J1bigpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109452</attachid>
            <date>2011-10-03 02:07:59 -0700</date>
            <delta_ts>2011-10-03 02:47:28 -0700</delta_ts>
            <desc>Added &apos;title&apos; property</desc>
            <filename>title-property.diff</filename>
            <type>text/plain</type>
            <size>16209</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5ZDdjZWFiLi40OTM2ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTEtMTAtMDMgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTdXBwb3J0IGZvciAndGl0bGUnIHByb3BlcnR5IGlzIGFkZGVkIGluIFdlYktpdFdlYlZp
ZXcuCisgICAgICAgIEZ1bmN0aW9ucyB0byBnZXQgdGhlIHZhbHVlIG9mIHRoaXMgcHJvcGVydHkg
aXMgcHJvdmlkZWQuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUg
Zm9yIGNvbXBpbGF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHA6IAorICAgICAgICAoZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUpOiBMb2Fk
ZXJDbGllbnQgdGl0bGVSZWNpZXZlIGNhbGxiYWNrLgorICAgICAgICAod2Via2l0V2ViTG9hZGVy
Q2xpZW50Q29uc3RydWN0ZWQpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSBjYWxs
YmFjay4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDogCisg
ICAgICAgICh3ZWJraXRXZWJWaWV3R2V0UHJvcGVydHkpOiAndGl0bGUnIHByb3BlcnR5IGdldCBm
dW5jdGlvbi4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KTogUmVnaXN0ZXIg
bmV3IHByb3BlcnR5LgorICAgICAgICAod2Via2l0V2ViVmlld1NldFRpdGxlKTogTm90aWZ5IFdl
YktpdFdlYlZpZXcgYWJvdXQgdGl0bGUgcmVjZWl2ZS4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmll
d19nZXRfdGl0bGUpOiBBUEkgdG8gZ2V0IG1haW4gZnJhbWUgdGl0bGUuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oOiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxl
IEFQSSBleHBvc2UuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1By
aXZhdGUuaDogQWRkZWQgcHJpdmF0ZSBBUEkncy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay90ZXN0cy90ZXN0d2Vidmlldy5jOgorICAgICAgICAoc2VydmVyQ2FsbGJhY2spOiBTb3VwIHNl
cnZlciBjYWxsYmFjay4KKyAgICAgICAgKHdlYlZpZXdOb3RpZnlUaXRsZSk6ICd0aXRsZScgcHJv
cGVydHkgY2hhbmdlZCBjYWxsYmFjay4KKyAgICAgICAgKHdlYkxvYWRpbmdGaXh0dXJlU2V0dXAp
OiBUZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisgICAgICAgIChnZXRVUklGb3JQYXRoKTog
R2V0IHVyaSB0byBsb2FkLgorICAgICAgICAodGVzdFdlYlZpZXdUaXRsZSk6IEZ1bmN0aW9uIHRv
IHRlc3QgdGhlICd0aXRsZScgcHJvcGVydHkuCisgICAgICAgICh3ZWJMb2FkaW5nRml4dHVyZVRl
YXJkb3duKTogVGVzdCBmaXh0dXJlIHRlYXJkb3duIGZ1bmN0aW9uLgorICAgICAgICAobWFpbik6
CisKIDIwMTEtMTAtMDIgIFplbm8gQWxiaXNzZXIgIDx6ZW5vLmFsYmlzc2VyQG5va2lhLmNvbT4K
IAogICAgICAgICBbUXRdW1dLMl1bTWFjXSBXZWJLaXQyIGRvZXMgbm90IGJ1aWxkIG9uIG1hYyBh
ZnRlciBtZXJnZSBvZiBRdDUgcmVmYWN0b3IgYnJhbmNoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRl
eCAyMzg4YmZiLi5jMTFhNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNDczLDYgKzQ3Myw3
IEBAIGxpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdU
S19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApp
bmRleCBkNjIzMDA4Li4wOGUwZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDYgKzI1LDcgQEAKICNpbmNsdWRlICJX
ZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldl
YktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRl
LmgiCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2Jq
ZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMTgsNiAr
MTIwLDE0IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdl
UmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgZ19zaWduYWxfZW1pdChXRUJL
SVRfV0VCX0xPQURFUl9DTElFTlQoY2xpZW50SW5mbyksIHNpZ25hbHNbTE9BRF9GQUlMRURdLCAw
LCB3ZWJFcnJvci5nZXQoKSwgJnJldHVyblZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVj
ZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlLCBXS0Zy
YW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
Cit7CisgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47
CisKKyAgICB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKGNs
aWVudEluZm8pLT5wcml2LT52aWV3LmdldCgpLCB0aXRsZSk7Cit9CisKIHN0YXRpYyB2b2lkIHdl
YmtpdFdlYkxvYWRlckNsaWVudENvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIHsKICAgICBX
ZWJLaXRXZWJMb2FkZXJDbGllbnQqIGNsaWVudCA9IFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChv
YmplY3QpOwpAQCAtMTM0LDcgKzE0NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYkxvYWRlckNs
aWVudENvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKICAgICAgICAgZGlkRmluaXNoTG9hZEZv
ckZyYW1lLAogICAgICAgICBkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lLAogICAgICAgICAw
LCAgICAgICAvLyBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUKLSAgICAgICAgMCwg
ICAgICAgLy8gZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUKKyAgICAgICAgZGlkUmVjZWl2ZVRpdGxl
Rm9yRnJhbWUsCiAgICAgICAgIDAsICAgICAgIC8vIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWUKICAg
ICAgICAgMCwgICAgICAgLy8gZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUK
ICAgICAgICAgMCwgICAgICAgLy8gZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4
IDkyZGFhMjQuLmYwZWExOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1v
dG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0yMCwxMyArMjEsMTUgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRXZWJWaWV3LmgiCiAKKyNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0V2ViQ29udGV4dFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIKLSNpbmNsdWRl
ICJXZWJLaXRQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2lu
Y2x1ZGUgPFdlYktpdDIvV0tVUkwuaD4KKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKQEAgLTM2LDEzICszOSwyNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIGVudW0g
ewogICAgIFBST1BfMCwKIAotICAgIFBST1BfV0VCX0NPTlRFWFQKKyAgICBQUk9QX1dFQl9DT05U
RVhULAorICAgIFBST1BfVElUTEUKIH07CiAKIHN0cnVjdCBfV2ViS2l0V2ViVmlld1ByaXZhdGUg
ewogICAgIFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQ7CiAKKyAgICAvKiBMb2FkZXIgQ2xpZW50
ICovCiAgICAgR1JlZlB0cjxXZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRlckNsaWVudDsKKwor
ICAgIC8qIFdlYktpdFdlYlZpZXcgcHJvcGVydGllcyAqLworICAgIENTdHJpbmcgdGl0bGU7CisK
KyAgICBfV2ViS2l0V2ViVmlld1ByaXZhdGUoKQorICAgIHsKKyAgICAgICAgLyogSW5pdGlhbGl6
ZSB0aGUgdGlsZSB0byBlbXB0eSBzdHJpbmcgKi8KKyAgICAgICAgdGl0bGUgPSBDU3RyaW5nKCIi
KTsKKyAgICB9CiB9OwogCiBHX0RFRklORV9UWVBFKFdlYktpdFdlYlZpZXcsIHdlYmtpdF93ZWJf
dmlldywgV0VCS0lUX1RZUEVfV0VCX1ZJRVdfQkFTRSkKQEAgLTc4LDYgKzkyLDkgQEAgc3RhdGlj
IHZvaWQgd2Via2l0V2ViVmlld0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJv
cElkLCBHVmFsdWUqIHZhbHUKICAgICBjYXNlIFBST1BfV0VCX0NPTlRFWFQ6CiAgICAgICAgIGdf
dmFsdWVfdGFrZV9vYmplY3QodmFsdWUsIHdlYlZpZXctPnByaXYtPmNvbnRleHQpOwogICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFBST1BfVElUTEU6CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmlu
Zyh2YWx1ZSwgd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSh3ZWJWaWV3KSk7CisgICAgICAgIGJy
ZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJU
WV9JRChvYmplY3QsIHByb3BJZCwgcGFyYW1TcGVjKTsKICAgICB9CkBAIC0xMTksNiArMTM2LDMw
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdD
bGFzcyogd2ViVmlld0NsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiVGhlIHdlYiBjb250ZXh0IGZvciB0aGUgdmlldyIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJ
VF9UWVBFX1dFQl9DT05URVhULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFN
X1JFQURXUklURSB8IEdfUEFSQU1fQ09OU1RSVUNUX09OTFkpKSk7CisKKyAgICAvKioKKyAgICAg
KiBXZWJLaXRXZWJWaWV3OnRpdGxlOgorICAgICAqIAorICAgICAqIFJldHVybnM6IHRoZSBtYWlu
IGZyYW1lIHRpdGxlIG9mIHRoaXMgI1dlYktpdFdlYlZpZXcuIElmIHRoZSB0aXRsZSBoYXMgbm90
IGJlZW4gcmVjZWl2ZWQgeWV0IGl0IHdpbGwgYmUgYW4gZW1wdHkgc3RyaW5nLgorICAgICAqLwor
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9USVRMRSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInRpdGxlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGl0
bGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXygiUmV0dXJucyB0aGUgbWFpbiBmcmFtZSB0aXRsZSBvZiAjV2ViS2l0V2ViVmlldyIp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpKTsK
K30KKwordm9pZCB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV2ViS2l0V2ViVmlldyAqd2ViVmlldywg
V0tTdHJpbmdSZWYgdGl0bGVSZWYpCit7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYg
PSB3ZWJWaWV3LT5wcml2OworICAgIENTdHJpbmcgdGl0bGUgPSBXZWJLaXQ6OnRvSW1wbCh0aXRs
ZVJlZiktPnN0cmluZygpLnV0ZjgoKTsKKyAgICBpZiAocHJpdi0+dGl0bGUgPT0gdGl0bGUpCisg
ICAgICAgIHJldHVybjsKKworICAgIHByaXYtPnRpdGxlID0gdGl0bGU7CisgICAgZ19vYmplY3Rf
bm90aWZ5KEdfT0JKRUNUKHdlYlZpZXcpLCAidGl0bGUiKTsKIH0KIAogLy8gUHVibGljIEFQSS4K
QEAgLTI1MSwzICsyOTIsMTggQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZChXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdlYmtpdFdlYlZp
ZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSk7CiAgICAgV0tQYWdl
R29Gb3J3YXJkKHRvQVBJKHBhZ2UpKTsKIH0KKworLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3RpdGxlOgorICogQHdlYlZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqIAorICogUmV0dXJucyB0
aGUgcHJvcGVydHkgI09iamVjdDp0aXRsZS4KKyAqCisgKiBSZXR1cm5zOiB0aGUgbWFpbiBmcmFt
ZSB0aXRsZSBvZiBAd2ViVmlldy4KKyAqLworY29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfdmlld19n
ZXRfdGl0bGUoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIDApOworCisgICAgcmV0dXJuIHdlYlZp
ZXctPnByaXYtPnRpdGxlLmRhdGEoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCBhNzliMjFiLi42NTFhOWEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCkBAIC0z
LDYgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFscCBUb2tlciA8YWxwQGF0
b2tlci5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4KICAqIENvcHly
aWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEx
IE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC05NCw2ICs5NSw5IEBAIHdlYmtpdF93ZWJfdmlld19nb19iYWNrICAgICAg
ICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiBXS19FWFBPUlQgdm9pZAog
d2Via2l0X3dlYl92aWV3X2dvX2ZvcndhcmQgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAg
KndlYl92aWV3KTsKIAorV0tfRVhQT1JUIGNvbnN0IGdjaGFyKiAKK3dlYmtpdF93ZWJfdmlld19n
ZXRfdGl0bGUgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CisKIEdf
RU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uYzI4MmI3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKQEAgLTAsMCArMSwzNCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFdlYktpdFdlYlZpZXdQcml2YXRlX2gKKyNkZWZpbmUgV2Vi
S2l0V2ViVmlld1ByaXZhdGVfaAorCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgorCit2b2lk
IHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3ICosIFdLU3RyaW5nUmVmKTsKKwor
I2VuZGlmIC8vIFdlYktpdFdlYkNvbnRleHRQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCmluZGV4IDlhMjdhZmUu
LmFkNDBiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rl
c3RzL3Rlc3R3ZWJ2aWV3LmMKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
dGVzdHMvdGVzdHdlYnZpZXcuYwpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CkBAIC0xOSw4ICsyMCwzMyBAQAogCiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPGd0ay9n
dGsuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNp
bmNsdWRlIDx3ZWJraXQyL3dlYmtpdDIuaD4KIAorU291cFVSSSAqYmFzZVVSSTsKKworI2RlZmlu
ZSBIVE1MX1RJVExFICJXZWxDb21lIHRvIFdlYktpdC1HVEsrIgorLyogVGhpcyBzdHJpbmcgaGFz
IHRvIGJlIHJhdGhlciBiaWcgYmVjYXVzZSBvZiB0aGUgY2FuY2VsbGVkIHRlc3QgLSBpdAorICog
bG9va3MgbGlrZSBzb3VwIHJlZnVzZXMgdG8gc2VuZCBvciByZWNlaXZlIGEgdG9vIHNtYWxsIGNo
dW5rICovCisjZGVmaW5lIEhUTUxfU1RSSU5HICI8aHRtbD48aGVhZD48dGl0bGU+IkhUTUxfVElU
TEUiPC90aXRsZT48L2hlYWQ+PGJvZHk+VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nITwvYm9keT48L2h0bWw+IgorCisvKiBGb3IgcmVh
bCByZXF1ZXN0IHRlc3RpbmcgKi8KK3N0YXRpYyB2b2lkIHNlcnZlckNhbGxiYWNrKFNvdXBTZXJ2
ZXIqIHNlcnZlciwgU291cE1lc3NhZ2UqIG1zZywgY29uc3QgY2hhciogcGF0aCwgR0hhc2hUYWJs
ZSogcXVlcnksIFNvdXBDbGllbnRDb250ZXh0KiBjb250ZXh0LCBncG9pbnRlciBkYXRhKQorewor
ICAgIGlmIChtc2ctPm1ldGhvZCAhPSBTT1VQX01FVEhPRF9HRVQpIHsKKyAgICAgICAgc291cF9t
ZXNzYWdlX3NldF9zdGF0dXMobXNnLCBTT1VQX1NUQVRVU19OT1RfSU1QTEVNRU5URUQpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgc291cF9tZXNzYWdlX3NldF9zdGF0dXMobXNnLCBT
T1VQX1NUQVRVU19PSyk7CisKKyAgICBpZiAoZ19zdHJfZXF1YWwocGF0aCwgIi8iKSkKKyAgICAg
ICAgc291cF9tZXNzYWdlX2JvZHlfYXBwZW5kKG1zZy0+cmVzcG9uc2VfYm9keSwgU09VUF9NRU1P
UllfU1RBVElDLCBIVE1MX1NUUklORywgc3RybGVuKEhUTUxfU1RSSU5HKSk7CisKKyAgICBzb3Vw
X21lc3NhZ2VfYm9keV9jb21wbGV0ZShtc2ctPnJlc3BvbnNlX2JvZHkpOworfQorCiBzdGF0aWMg
dm9pZCB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KHZvaWQpCiB7CiAgICAgV2ViS2l0V2ViVmll
dyAqdmlldyA9IFdFQktJVF9XRUJfVklFVyh3ZWJraXRfd2ViX3ZpZXdfbmV3KCkpOwpAQCAtMjks
MTYgKzU1LDkxIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3RGVmYXVsdENvbnRleHQodm9pZCkK
ICAgICBnX29iamVjdF91bnJlZih2aWV3KTsKIH0KIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFdl
YktpdFdlYlZpZXcgKndlYlZpZXc7CisgICAgR01haW5Mb29wICpsb29wOworICAgIGdib29sZWFu
IGhhc1JlY2VpdmVkVGl0bGU7Cit9IFdlYkxvYWRpbmdGaXh0dXJlOworCitzdGF0aWMgdm9pZCB3
ZWJWaWV3Tm90aWZ5VGl0bGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgR1BhcmFtU3BlYyogcFNw
ZWMsIFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0KCFmaXh0dXJl
LT5oYXNSZWNlaXZlZFRpdGxlKTsKKworICAgIGNvbnN0IGdjaGFyKiB0aXRsZSA9IHdlYmtpdF93
ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldyk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRpdGxlLCA9
PSwgSFRNTF9USVRMRSk7CisKKyAgICBmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxlID0gVFJVRTsK
KyAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUtPmxvb3ApOworfQorCitzdGF0aWMgdm9pZCB3
ZWJMb2FkaW5nRml4dHVyZVNldHVwKFdlYkxvYWRpbmdGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rw
b2ludGVyIGRhdGEpCit7CisgICAgZml4dHVyZS0+d2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh3
ZWJraXRfd2ViX3ZpZXdfbmV3KCkpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoZml4dHVyZS0+d2Vi
VmlldywgIm5vdGlmeTo6dGl0bGUiLCBHX0NBTExCQUNLKHdlYlZpZXdOb3RpZnlUaXRsZSksIGZp
eHR1cmUpOworICAgIGZpeHR1cmUtPmxvb3AgPSBnX21haW5fbG9vcF9uZXcoTlVMTCwgVFJVRSk7
CisgICAgZ19vYmplY3RfcmVmX3NpbmsoZml4dHVyZS0+d2ViVmlldyk7CisgICAgZml4dHVyZS0+
aGFzUmVjZWl2ZWRUaXRsZSA9IEZBTFNFOworfQorCitzdGF0aWMgY2hhciAqZ2V0VVJJRm9yUGF0
aChjb25zdCBjaGFyKiBwYXRoKQoreworICAgIFNvdXBVUkkgKnVyaTsKKyAgICBjaGFyICp1cmlT
dHJpbmc7CisKKyAgICB1cmkgPSBzb3VwX3VyaV9uZXdfd2l0aF9iYXNlKGJhc2VVUkksIHBhdGgp
OworICAgIHVyaVN0cmluZyA9IHNvdXBfdXJpX3RvX3N0cmluZyh1cmksIEZBTFNFKTsKKyAgICBz
b3VwX3VyaV9mcmVlKHVyaSk7CisKKyAgICByZXR1cm4gdXJpU3RyaW5nOworfQorCitzdGF0aWMg
dm9pZCB0ZXN0V2ViVmlld1RpdGxlKFdlYkxvYWRpbmdGaXh0dXJlKiBmaXh0dXJlLCBnY29uc3Rw
b2ludGVyIGRhdGEpCit7CisgICAgY2hhciAqdXJpU3RyaW5nOworCisgICAgLyogQXNzZXJ0IGlm
IHRpdGxlIGlzIG5vdCBlbXB0eSAqLworICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3RpdGxlKGZpeHR1cmUtPndlYlZpZXcpLCA9PSwgIiIpOworCisgICAgdXJpU3RyaW5n
ID0gZ2V0VVJJRm9yUGF0aCgiLyIpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3VyaShmaXh0
dXJlLT53ZWJWaWV3LCB1cmlTdHJpbmcpOworICAgIGdfZnJlZSh1cmlTdHJpbmcpOworCisgICAg
Z19tYWluX2xvb3BfcnVuKGZpeHR1cmUtPmxvb3ApOworCisgICAgLyogQXNzZXJ0IGlmIHRpdGxl
IGlzIG5vdCByZWNlaXZlZCAqLworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc1JlY2VpdmVkVGl0
bGUpOworfQorCitzdGF0aWMgdm9pZCB3ZWJMb2FkaW5nRml4dHVyZVRlYXJkb3duKFdlYkxvYWRp
bmdGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgZ19vYmplY3Rf
dW5yZWYoZml4dHVyZS0+d2ViVmlldyk7CisgICAgZ19tYWluX2xvb3BfdW5yZWYoZml4dHVyZS0+
bG9vcCk7Cit9CisKIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKKyAgICBTb3Vw
U2VydmVyICpzZXJ2ZXI7CisKICAgICBnX3RocmVhZF9pbml0KE5VTEwpOwogICAgIGd0a190ZXN0
X2luaXQoJmFyZ2MsICZhcmd2LCBOVUxMKTsKIAogICAgIGdfc2V0ZW52KCJXRUJLSVRfRVhFQ19Q
QVRIIiwgV0VCS0lUX0VYRUNfUEFUSCwgRkFMU0UpOwogCisgICAgc2VydmVyID0gc291cF9zZXJ2
ZXJfbmV3KFNPVVBfU0VSVkVSX1BPUlQsIDAsIE5VTEwpOworICAgIHNvdXBfc2VydmVyX3J1bl9h
c3luYyhzZXJ2ZXIpOworICAgIHNvdXBfc2VydmVyX2FkZF9oYW5kbGVyKHNlcnZlciwgTlVMTCwg
c2VydmVyQ2FsbGJhY2ssIE5VTEwsIE5VTEwpOworCisgICAgYmFzZVVSSSA9IHNvdXBfdXJpX25l
dygiaHR0cDovLzEyNy4wLjAuMS8iKTsKKyAgICBzb3VwX3VyaV9zZXRfcG9ydChiYXNlVVJJLCBz
b3VwX3NlcnZlcl9nZXRfcG9ydChzZXJ2ZXIpKTsKKwogICAgIGdfdGVzdF9idWdfYmFzZSgiaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvIik7CiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0Mi93
ZWJ2aWV3L2RlZmF1bHRfY29udGV4dCIsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RXZWJWaWV3
RGVmYXVsdENvbnRleHQpOworICAgIGdfdGVzdF9hZGQoIi93ZWJraXQyL3dlYlZpZXcvdGl0bGUi
LAorICAgICAgICAgICAgICAgV2ViTG9hZGluZ0ZpeHR1cmUsIE5VTEwsCisgICAgICAgICAgICAg
ICB3ZWJMb2FkaW5nRml4dHVyZVNldHVwLAorICAgICAgICAgICAgICAgdGVzdFdlYlZpZXdUaXRs
ZSwKKyAgICAgICAgICAgICAgIHdlYkxvYWRpbmdGaXh0dXJlVGVhcmRvd24pOwogCiAgICAgcmV0
dXJuIGdfdGVzdF9ydW4oKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109456</attachid>
            <date>2011-10-03 02:47:28 -0700</date>
            <delta_ts>2011-10-04 05:22:44 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>0001-Title-property-added.patch</filename>
            <type>text/plain</type>
            <size>17039</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSBhOWU3MWFmMmVjZWZjNGVjYTUwMTdmNWI3YWVhMGQ4Nzk5YmQ2OTllIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogTW9uLCAzIE9jdCAyMDExIDE0OjQyOjMwICswNTMwClN1YmplY3Q6IFtQQVRDSF0gVGl0
bGUgcHJvcGVydHkgYWRkZWQKCi0tLQogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDMwICsrKysrKwogU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0gICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwICAgIHwgICAxMiArKy0KIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIHwgICA2MCArKysrKysrKysrKy0K
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCAgIHwgICAg
NCArCiAuLi4vVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCAgICAgICB8
ICAgMzQgKysrKysrKwogLi4uL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdl
YnZpZXcuYyAgfCAgMTAxICsrKysrKysrKysrKysrKysrKysrCiA3IGZpbGVzIGNoYW5nZWQsIDIz
OSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggOWQ3Y2VhYi4uNTg4Y2JjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDExLTEwLTAzICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKKyAgICAg
ICAgW0dUS11bV0VCS0lUMl0gQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHByb3BlcnR5IGluIFdlYktp
dFdlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBXZWJLaXRXZWJWaWV3Lgor
ICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IGlzIHBy
b3ZpZGVkLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlIGZvciBj
b21waWxhdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJD
bGllbnQuY3BwOiAKKyAgICAgICAgKGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKTogTG9hZGVyQ2xp
ZW50IHRpdGxlUmVjaWV2ZSBjYWxsYmFjay4KKyAgICAgICAgKHdlYmtpdFdlYkxvYWRlckNsaWVu
dENvbnN0cnVjdGVkKTogUmVnaXN0ZXIgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUgY2FsbGJhY2su
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6IAorICAgICAg
ICAod2Via2l0V2ViVmlld0dldFByb3BlcnR5KTogJ3RpdGxlJyBwcm9wZXJ0eSBnZXQgZnVuY3Rp
b24uCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IFJlZ2lzdGVyIG5ldyBw
cm9wZXJ0eS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdTZXRUaXRsZSk6IE5vdGlmeSBXZWJLaXRX
ZWJWaWV3IGFib3V0IHRpdGxlIHJlY2VpdmUuCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3RpdGxlKTogQVBJIHRvIGdldCBtYWluIGZyYW1lIHRpdGxlLgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSBBUEkg
ZXhwb3NlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRl
Lmg6IEFkZGVkIHByaXZhdGUgQVBJJ3MuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvdGVz
dHMvdGVzdHdlYnZpZXcuYzoKKyAgICAgICAgKHNlcnZlckNhbGxiYWNrKTogU291cCBzZXJ2ZXIg
Y2FsbGJhY2suCisgICAgICAgICh3ZWJWaWV3Tm90aWZ5VGl0bGUpOiAndGl0bGUnIHByb3BlcnR5
IGNoYW5nZWQgY2FsbGJhY2suCisgICAgICAgICh3ZWJWaWV3VGl0bGVGaXh0dXJlU2V0dXApOiBU
ZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisgICAgICAgIChnZXRVUklGb3JQYXRoKTogR2V0
IHVyaSB0byBsb2FkLgorICAgICAgICAodGVzdFdlYlZpZXdUaXRsZSk6IEZ1bmN0aW9uIHRvIHRl
c3QgdGhlICd0aXRsZScgcHJvcGVydHkuCisgICAgICAgICh3ZWJWaWV3VGl0bGVGaXh0dXJlVGVh
cmRvd24pOiBUZXN0IGZpeHR1cmUgdGVhcmRvd24gZnVuY3Rpb24uCisgICAgICAgIChtYWluKToK
KwogMjAxMS0xMC0wMiAgWmVubyBBbGJpc3NlciAgPHplbm8uYWxiaXNzZXJAbm9raWEuY29tPgog
CiAgICAgICAgIFtRdF1bV0syXVtNYWNdIFdlYktpdDIgZG9lcyBub3QgYnVpbGQgb24gbWFjIGFm
dGVyIG1lcmdlIG9mIFF0NSByZWZhY3RvciBicmFuY2guCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4
IDIzODhiZmIuLmMxMWE2ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC00NzMsNiArNDczLDcg
QEAgbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RL
X0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1UKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCmlu
ZGV4IGQ2MjMwMDguLjA4ZTBmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENv
cHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQsNiArMjUsNyBAQAogI2luY2x1ZGUgIldl
YktpdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAjaW5jbHVkZSAiV2Vi
S2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUu
aCIKICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmpl
Y3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTExOCw2ICsx
MjAsMTQgQEAgc3RhdGljIHZvaWQgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS1BhZ2VS
ZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tFcnIKICAgICBnX3NpZ25hbF9lbWl0KFdFQktJ
VF9XRUJfTE9BREVSX0NMSUVOVChjbGllbnRJbmZvKSwgc2lnbmFsc1tMT0FEX0ZBSUxFRF0sIDAs
IHdlYkVycm9yLmdldCgpLCAmcmV0dXJuVmFsdWUpOwogfQogCitzdGF0aWMgdm9pZCBkaWRSZWNl
aXZlVGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGl0bGUsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
K3sKKyAgICBpZiAoIVdLRnJhbWVJc01haW5GcmFtZShmcmFtZSkpCisgICAgICAgIHJldHVybjsK
KworICAgIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXRUJLSVRfV0VCX0xPQURFUl9DTElFTlQoY2xp
ZW50SW5mbyktPnByaXYtPnZpZXcuZ2V0KCksIHRpdGxlKTsKK30KKwogc3RhdGljIHZvaWQgd2Vi
a2l0V2ViTG9hZGVyQ2xpZW50Q29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogewogICAgIFdl
YktpdFdlYkxvYWRlckNsaWVudCogY2xpZW50ID0gV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKG9i
amVjdCk7CkBAIC0xMzQsNyArMTQ0LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViTG9hZGVyQ2xp
ZW50Q29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogICAgICAgICBkaWRGaW5pc2hMb2FkRm9y
RnJhbWUsCiAgICAgICAgIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUsCiAgICAgICAgIDAs
ICAgICAgIC8vIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZQotICAgICAgICAwLCAg
ICAgICAvLyBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZQorICAgICAgICBkaWRSZWNlaXZlVGl0bGVG
b3JGcmFtZSwKICAgICAgICAgMCwgICAgICAgLy8gZGlkRmlyc3RMYXlvdXRGb3JGcmFtZQogICAg
ICAgICAwLCAgICAgICAvLyBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZQog
ICAgICAgICAwLCAgICAgICAvLyBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXgg
OTJkYWEyNC4uZjBlYTE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90
b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKQEAgLTIwLDEzICsyMSwxNSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IldlYktpdFdlYlZpZXcuaCIKIAorI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYkxvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgotI2luY2x1ZGUg
IldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS1VSTC5oPgorI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5j
bHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIApAQCAtMzYsMTMgKzM5LDI0IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogZW51bSB7
CiAgICAgUFJPUF8wLAogCi0gICAgUFJPUF9XRUJfQ09OVEVYVAorICAgIFBST1BfV0VCX0NPTlRF
WFQsCisgICAgUFJPUF9USVRMRQogfTsKIAogc3RydWN0IF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSB7
CiAgICAgV2ViS2l0V2ViQ29udGV4dCogY29udGV4dDsKIAorICAgIC8qIExvYWRlciBDbGllbnQg
Ki8KICAgICBHUmVmUHRyPFdlYktpdFdlYkxvYWRlckNsaWVudD4gbG9hZGVyQ2xpZW50OworCisg
ICAgLyogV2ViS2l0V2ViVmlldyBwcm9wZXJ0aWVzICovCisgICAgQ1N0cmluZyB0aXRsZTsKKwor
ICAgIF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSgpCisgICAgeworICAgICAgICAvKiBJbml0aWFsaXpl
IHRoZSB0aWxlIHRvIGVtcHR5IHN0cmluZyAqLworICAgICAgICB0aXRsZSA9IENTdHJpbmcoIiIp
OworICAgIH0KIH07CiAKIEdfREVGSU5FX1RZUEUoV2ViS2l0V2ViVmlldywgd2Via2l0X3dlYl92
aWV3LCBXRUJLSVRfVFlQRV9XRUJfVklFV19CQVNFKQpAQCAtNzgsNiArOTIsOSBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRXZWJWaWV3R2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9w
SWQsIEdWYWx1ZSogdmFsdQogICAgIGNhc2UgUFJPUF9XRUJfQ09OVEVYVDoKICAgICAgICAgZ192
YWx1ZV90YWtlX29iamVjdCh2YWx1ZSwgd2ViVmlldy0+cHJpdi0+Y29udGV4dCk7CiAgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUFJPUF9USVRMRToKKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5n
KHZhbHVlLCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHdlYlZpZXcpKTsKKyAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZ
X0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgIH0KQEAgLTExOSw2ICsxMzYsMzAg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0Ns
YXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJUaGUgd2ViIGNvbnRleHQgZm9yIHRoZSB2aWV3IiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lU
X1RZUEVfV0VCX0NPTlRFWFQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdzPihXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1RfT05MWSkpKTsKKworICAgIC8qKgorICAgICAq
IFdlYktpdFdlYlZpZXc6dGl0bGU6CisgICAgICogCisgICAgICogUmV0dXJuczogdGhlIG1haW4g
ZnJhbWUgdGl0bGUgb2YgdGhpcyAjV2ViS2l0V2ViVmlldy4gSWYgdGhlIHRpdGxlIGhhcyBub3Qg
YmVlbiByZWNlaXZlZCB5ZXQgaXQgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcuCisgICAgICovCisg
ICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1RJVExFLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygidGl0bGUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJUaXRs
ZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfKCJSZXR1cm5zIHRoZSBtYWluIGZyYW1lIHRpdGxlIG9mICNXZWJLaXRXZWJWaWV3Iiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFNX1JFQURBQkxFKSkpOwor
fQorCit2b2lkIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBX
S1N0cmluZ1JlZiB0aXRsZVJlZikKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9
IHdlYlZpZXctPnByaXY7CisgICAgQ1N0cmluZyB0aXRsZSA9IFdlYktpdDo6dG9JbXBsKHRpdGxl
UmVmKS0+c3RyaW5nKCkudXRmOCgpOworICAgIGlmIChwcml2LT50aXRsZSA9PSB0aXRsZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAgICBnX29iamVjdF9u
b3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJ0aXRsZSIpOwogfQogCiAvLyBQdWJsaWMgQVBJLgpA
QCAtMjUxLDMgKzI5MiwxOCBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkKFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmll
d0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKICAgICBXS1BhZ2VH
b0ZvcndhcmQodG9BUEkocGFnZSkpOwogfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19nZXRf
dGl0bGU6CisgKiBAd2ViVmlldzogYSAjV2ViS2l0V2ViVmlldworICogCisgKiBSZXR1cm5zIHRo
ZSBwcm9wZXJ0eSAjT2JqZWN0OnRpdGxlLgorICoKKyAqIFJldHVybnM6IHRoZSBtYWluIGZyYW1l
IHRpdGxlIG9mIEB3ZWJWaWV3LgorICovCitjb25zdCBnY2hhciogd2Via2l0X3dlYl92aWV3X2dl
dF90aXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAgICByZXR1cm4gd2ViVmll
dy0+cHJpdi0+dGl0bGUuZGF0YSgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IGE3OWIyMWIuLjY1MWE5YTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTMs
NiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQWxwIFRva2VyIDxhbHBAYXRv
a2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLgogICogQ29weXJp
Z2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTk0LDYgKzk1LDkgQEAgd2Via2l0X3dlYl92aWV3X2dvX2JhY2sgICAgICAg
ICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKIFdLX0VYUE9SVCB2b2lkCiB3
ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAq
d2ViX3ZpZXcpOwogCitXS19FWFBPUlQgY29uc3QgZ2NoYXIqIAord2Via2l0X3dlYl92aWV3X2dl
dF90aXRsZSAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKKwogR19F
TkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jMjgyYjc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApAQCAtMCwwICsxLDM0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0V2ViVmlld1ByaXZhdGVfaAorI2RlZmluZSBXZWJL
aXRXZWJWaWV3UHJpdmF0ZV9oCisKKyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCisKK3ZvaWQg
d2Via2l0V2ViVmlld1NldFRpdGxlKFdlYktpdFdlYlZpZXcgKiwgV0tTdHJpbmdSZWYpOworCisj
ZW5kaWYgLy8gV2ViS2l0V2ViQ29udGV4dFByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKaW5kZXggOWEyN2FmZS4u
NjVlOWNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVz
dHMvdGVzdHdlYnZpZXcuYworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy90ZXN0d2Vidmlldy5jCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
QEAgLTE5LDggKzIwLDMzIEBACiAKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8Z3RrL2d0
ay5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2lu
Y2x1ZGUgPHdlYmtpdDIvd2Via2l0Mi5oPgogCitTb3VwVVJJICpiYXNlVVJJOworCisjZGVmaW5l
IEhUTUxfVElUTEUgIldlbENvbWUgdG8gV2ViS2l0LUdUSysiCisvKiBUaGlzIHN0cmluZyBoYXMg
dG8gYmUgcmF0aGVyIGJpZyBiZWNhdXNlIG9mIHRoZSBjYW5jZWxsZWQgdGVzdCAtIGl0CisgKiBs
b29rcyBsaWtlIHNvdXAgcmVmdXNlcyB0byBzZW5kIG9yIHJlY2VpdmUgYSB0b28gc21hbGwgY2h1
bmsgKi8KKyNkZWZpbmUgSFRNTF9TVFJJTkcgIjxodG1sPjxoZWFkPjx0aXRsZT4iSFRNTF9USVRM
RSI8L3RpdGxlPjwvaGVhZD48Ym9keT5UZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchPC9ib2R5PjwvaHRtbD4iCisKKy8qIEZvciByZWFs
IHJlcXVlc3QgdGVzdGluZyAqLworc3RhdGljIHZvaWQgc2VydmVyQ2FsbGJhY2soU291cFNlcnZl
ciogc2VydmVyLCBTb3VwTWVzc2FnZSogbXNnLCBjb25zdCBjaGFyKiBwYXRoLCBHSGFzaFRhYmxl
KiBxdWVyeSwgU291cENsaWVudENvbnRleHQqIGNvbnRleHQsIGdwb2ludGVyIGRhdGEpCit7Cisg
ICAgaWYgKG1zZy0+bWV0aG9kICE9IFNPVVBfTUVUSE9EX0dFVCkgeworICAgICAgICBzb3VwX21l
c3NhZ2Vfc2V0X3N0YXR1cyhtc2csIFNPVVBfU1RBVFVTX05PVF9JTVBMRU1FTlRFRCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0YXR1cyhtc2csIFNP
VVBfU1RBVFVTX09LKTsKKworICAgIGlmIChnX3N0cl9lcXVhbChwYXRoLCAiLyIpKQorICAgICAg
ICBzb3VwX21lc3NhZ2VfYm9keV9hcHBlbmQobXNnLT5yZXNwb25zZV9ib2R5LCBTT1VQX01FTU9S
WV9TVEFUSUMsIEhUTUxfU1RSSU5HLCBzdHJsZW4oSFRNTF9TVFJJTkcpKTsKKworICAgIHNvdXBf
bWVzc2FnZV9ib2R5X2NvbXBsZXRlKG1zZy0+cmVzcG9uc2VfYm9keSk7Cit9CisKIHN0YXRpYyB2
b2lkIHRlc3RXZWJWaWV3RGVmYXVsdENvbnRleHQodm9pZCkKIHsKICAgICBXZWJLaXRXZWJWaWV3
ICp2aWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7CkBAIC0yOSwx
NiArNTUsOTEgQEAgc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4dCh2b2lkKQog
ICAgIGdfb2JqZWN0X3VucmVmKHZpZXcpOwogfQogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgV2Vi
S2l0V2ViVmlldyAqd2ViVmlldzsKKyAgICBHTWFpbkxvb3AgKmxvb3A7CisgICAgZ2Jvb2xlYW4g
aGFzUmVjZWl2ZWRUaXRsZTsKK30gV2ViVmlld1RpdGxlRml4dHVyZTsKKworc3RhdGljIHZvaWQg
d2ViVmlld05vdGlmeVRpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQYXJhbVNwZWMqIHBT
cGVjLCBXZWJWaWV3VGl0bGVGaXh0dXJlICpmaXh0dXJlKQoreworICAgIGdfYXNzZXJ0KCFmaXh0
dXJlLT5oYXNSZWNlaXZlZFRpdGxlKTsKKworICAgIGNvbnN0IGdjaGFyKiB0aXRsZSA9IHdlYmtp
dF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldyk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRpdGxl
LCA9PSwgSFRNTF9USVRMRSk7CisKKyAgICBmaXh0dXJlLT5oYXNSZWNlaXZlZFRpdGxlID0gVFJV
RTsKKyAgICBnX21haW5fbG9vcF9xdWl0KGZpeHR1cmUtPmxvb3ApOworfQorCitzdGF0aWMgdm9p
ZCB3ZWJWaWV3VGl0bGVGaXh0dXJlU2V0dXAoV2ViVmlld1RpdGxlRml4dHVyZSAqZml4dHVyZSwg
Z2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGZpeHR1cmUtPndlYlZpZXcgPSBXRUJLSVRfV0VC
X1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1
cmUtPndlYlZpZXcsICJub3RpZnk6OnRpdGxlIiwgR19DQUxMQkFDSyh3ZWJWaWV3Tm90aWZ5VGl0
bGUpLCBmaXh0dXJlKTsKKyAgICBmaXh0dXJlLT5sb29wID0gZ19tYWluX2xvb3BfbmV3KE5VTEws
IFRSVUUpOworICAgIGdfb2JqZWN0X3JlZl9zaW5rKGZpeHR1cmUtPndlYlZpZXcpOworICAgIGZp
eHR1cmUtPmhhc1JlY2VpdmVkVGl0bGUgPSBGQUxTRTsKK30KKworc3RhdGljIGNoYXIgKmdldFVS
SUZvclBhdGgoY29uc3QgY2hhciogcGF0aCkKK3sKKyAgICBTb3VwVVJJICp1cmk7CisgICAgY2hh
ciAqdXJpU3RyaW5nOworCisgICAgdXJpID0gc291cF91cmlfbmV3X3dpdGhfYmFzZShiYXNlVVJJ
LCBwYXRoKTsKKyAgICB1cmlTdHJpbmcgPSBzb3VwX3VyaV90b19zdHJpbmcodXJpLCBGQUxTRSk7
CisgICAgc291cF91cmlfZnJlZSh1cmkpOworCisgICAgcmV0dXJuIHVyaVN0cmluZzsKK30KKwor
c3RhdGljIHZvaWQgdGVzdFdlYlZpZXdUaXRsZShXZWJWaWV3VGl0bGVGaXh0dXJlKiBmaXh0dXJl
LCBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgY2hhciAqdXJpU3RyaW5nOworCisgICAgLyog
QXNzZXJ0IGlmIHRpdGxlIGlzIG5vdCBlbXB0eSAqLworICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKGZpeHR1cmUtPndlYlZpZXcpLCA9PSwgIiIpOworCisgICAg
dXJpU3RyaW5nID0gZ2V0VVJJRm9yUGF0aCgiLyIpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2Fk
X3VyaShmaXh0dXJlLT53ZWJWaWV3LCB1cmlTdHJpbmcpOworICAgIGdfZnJlZSh1cmlTdHJpbmcp
OworCisgICAgZ19tYWluX2xvb3BfcnVuKGZpeHR1cmUtPmxvb3ApOworCisgICAgLyogQXNzZXJ0
IGlmIHRpdGxlIGlzIG5vdCByZWNlaXZlZCAqLworICAgIGdfYXNzZXJ0KGZpeHR1cmUtPmhhc1Jl
Y2VpdmVkVGl0bGUpOworfQorCitzdGF0aWMgdm9pZCB3ZWJWaWV3VGl0bGVGaXh0dXJlVGVhcmRv
d24oV2ViVmlld1RpdGxlRml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQorewor
ICAgIGdfb2JqZWN0X3VucmVmKGZpeHR1cmUtPndlYlZpZXcpOworICAgIGdfbWFpbl9sb29wX3Vu
cmVmKGZpeHR1cmUtPmxvb3ApOworfQorCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp
CiB7CisgICAgU291cFNlcnZlciAqc2VydmVyOworCiAgICAgZ190aHJlYWRfaW5pdChOVUxMKTsK
ICAgICBndGtfdGVzdF9pbml0KCZhcmdjLCAmYXJndiwgTlVMTCk7CiAKICAgICBnX3NldGVudigi
V0VCS0lUX0VYRUNfUEFUSCIsIFdFQktJVF9FWEVDX1BBVEgsIEZBTFNFKTsKIAorICAgIHNlcnZl
ciA9IHNvdXBfc2VydmVyX25ldyhTT1VQX1NFUlZFUl9QT1JULCAwLCBOVUxMKTsKKyAgICBzb3Vw
X3NlcnZlcl9ydW5fYXN5bmMoc2VydmVyKTsKKyAgICBzb3VwX3NlcnZlcl9hZGRfaGFuZGxlcihz
ZXJ2ZXIsIE5VTEwsIHNlcnZlckNhbGxiYWNrLCBOVUxMLCBOVUxMKTsKKworICAgIGJhc2VVUkkg
PSBzb3VwX3VyaV9uZXcoImh0dHA6Ly8xMjcuMC4wLjEvIik7CisgICAgc291cF91cmlfc2V0X3Bv
cnQoYmFzZVVSSSwgc291cF9zZXJ2ZXJfZ2V0X3BvcnQoc2VydmVyKSk7CisKICAgICBnX3Rlc3Rf
YnVnX2Jhc2UoImh0dHBzOi8vYnVncy53ZWJraXQub3JnLyIpOwogICAgIGdfdGVzdF9hZGRfZnVu
YygiL3dlYmtpdDIvd2Vidmlldy9kZWZhdWx0X2NvbnRleHQiLAogICAgICAgICAgICAgICAgICAg
ICB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KTsKKyAgICBnX3Rlc3RfYWRkKCIvd2Via2l0Mi93
ZWJWaWV3L3RpdGxlIiwKKyAgICAgICAgICAgICAgIFdlYlZpZXdUaXRsZUZpeHR1cmUsIE5VTEws
CisgICAgICAgICAgICAgICB3ZWJWaWV3VGl0bGVGaXh0dXJlU2V0dXAsCisgICAgICAgICAgICAg
ICB0ZXN0V2ViVmlld1RpdGxlLAorICAgICAgICAgICAgICAgd2ViVmlld1RpdGxlRml4dHVyZVRl
YXJkb3duKTsKIAogICAgIHJldHVybiBnX3Rlc3RfcnVuKCk7CiB9Ci0tIAoxLjcuNC4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109609</attachid>
            <date>2011-10-04 05:22:44 -0700</date>
            <delta_ts>2011-10-06 11:28:20 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>0001-Title-property-added.patch</filename>
            <type>text/plain</type>
            <size>14928</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSBiNDhiMmI4YzUxZDcwZjEwZWY2MWU2YjVlYzdmMWZjMDdkMjY3OWZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogVHVlLCA0IE9jdCAyMDExIDE3OjUwOjU2ICswNTMwClN1YmplY3Q6IFtQQVRDSF0gVGl0
bGUgcHJvcGVydHkgYWRkZWQKCi0tLQogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDMwICsrKysrKwogU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0gICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwICAgIHwgICAxMiArKy0KIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIHwgICA2MCArKysrKysrKysrKy0K
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCAgIHwgICAg
NCArCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jICB8
ICAxMDEgKysrKysrKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgMjA1IGluc2VydGlv
bnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGNmNTU1N2EuLmRiYjMxZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMS0xMC0wMyAgTmF5YW4gS3VtYXIgSyAgPG5h
eWFua2tAbW90b3JvbGEuY29tPgorCisgICAgICAgIFtHVEtdW1dFQktJVDJdIEFkZCBzdXBwb3J0
IGZvciB0aXRsZSBwcm9wZXJ0eSBpbiBXZWJLaXRXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQgZm9yICd0aXRsZScgcHJvcGVydHkg
aXMgYWRkZWQgaW4gV2ViS2l0V2ViVmlldy4KKyAgICAgICAgRnVuY3Rpb25zIHRvIGdldCB0aGUg
dmFsdWUgb2YgdGhpcyBwcm9wZXJ0eSBpcyBwcm92aWRlZC4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmFtOiBBZGRlZCBuZXcgZmlsZSBmb3IgY29tcGlsYXRpb24uCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcDogCisgICAgICAgIChkaWRSZWNl
aXZlVGl0bGVGb3JGcmFtZSk6IExvYWRlckNsaWVudCB0aXRsZVJlY2lldmUgY2FsbGJhY2suCisg
ICAgICAgICh3ZWJraXRXZWJMb2FkZXJDbGllbnRDb25zdHJ1Y3RlZCk6IFJlZ2lzdGVyIGRpZFJl
Y2VpdmVUaXRsZUZvckZyYW1lIGNhbGxiYWNrLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuY3BwOiAKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eSk6
ICd0aXRsZScgcHJvcGVydHkgZ2V0IGZ1bmN0aW9uLgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X2NsYXNzX2luaXQpOiBSZWdpc3RlciBuZXcgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRXZWJW
aWV3U2V0VGl0bGUpOiBOb3RpZnkgV2ViS2l0V2ViVmlldyBhYm91dCB0aXRsZSByZWNlaXZlLgor
ICAgICAgICAod2Via2l0X3dlYl92aWV3X2dldF90aXRsZSk6IEFQSSB0byBnZXQgbWFpbiBmcmFt
ZSB0aXRsZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6IHdl
YmtpdF93ZWJfdmlld19nZXRfdGl0bGUgQVBJIGV4cG9zZS4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oOiBBZGRlZCBwcml2YXRlIEFQSSdzLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmM6CisgICAgICAgIChz
ZXJ2ZXJDYWxsYmFjayk6IFNvdXAgc2VydmVyIGNhbGxiYWNrLgorICAgICAgICAod2ViVmlld05v
dGlmeVRpdGxlKTogJ3RpdGxlJyBwcm9wZXJ0eSBjaGFuZ2VkIGNhbGxiYWNrLgorICAgICAgICAo
d2ViVmlld1RpdGxlRml4dHVyZVNldHVwKTogVGVzdCBmaXh0dXJlIHNldHVwIGZ1bmN0aW9uLgor
ICAgICAgICAoZ2V0VVJJRm9yUGF0aCk6IEdldCB1cmkgdG8gbG9hZC4KKyAgICAgICAgKHRlc3RX
ZWJWaWV3VGl0bGUpOiBGdW5jdGlvbiB0byB0ZXN0IHRoZSAndGl0bGUnIHByb3BlcnR5LgorICAg
ICAgICAod2ViVmlld1RpdGxlRml4dHVyZVRlYXJkb3duKTogVGVzdCBmaXh0dXJlIHRlYXJkb3du
IGZ1bmN0aW9uLgorICAgICAgICAobWFpbik6CisKIDIwMTEtMTAtMDMgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBDb250ZW50IGFyZWEgZG9lcyBub3Qg
cmV0dXJuIHRvIHRoZSBjb3JyZWN0IHBvc2l0aW9uIGFmdGVyIHJ1YmJlcmJhbmRpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYktpdDIvR05V
bWFrZWZpbGUuYW0KaW5kZXggMjM4OGJmYi4uYzExYTZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0K
QEAgLTQ3Myw2ICs0NzMsNyBAQCBsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVQogCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIFwKIAlT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggXAorCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggXAogCVNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5oIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVy
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHAKaW5kZXggOTc4YTk5Ni4uN2NhOTA1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQu
Y3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5M
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNCw2ICsyNSw3
IEBACiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcu
aCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJL
aXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgpAQCAtMTIwLDYgKzEyMiwxNCBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsTG9hZFdpdGhFcnJv
ckZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0VycgogICAgICAg
ICAgICAgICAgICAgd2ViRXJyb3IuZ2V0KCksICZyZXR1cm5WYWx1ZSk7CiB9CiAKK3N0YXRpYyB2
b2lkIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB0
aXRsZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQoreworICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgd2Via2l0V2ViVmlld1NldFRpdGxlKFdFQktJVF9XRUJfTE9BREVS
X0NMSUVOVChjbGllbnRJbmZvKS0+cHJpdi0+dmlldy5nZXQoKSwgdGl0bGUpOworfQorCiBzdGF0
aWMgdm9pZCB3ZWJraXRXZWJMb2FkZXJDbGllbnRDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3Qp
CiB7CiAgICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQgPSBXRUJLSVRfV0VCX0xPQURF
Ul9DTElFTlQob2JqZWN0KTsKQEAgLTEzNiw3ICsxNDYsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRX
ZWJMb2FkZXJDbGllbnRDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAgICAgICAgIGRpZEZp
bmlzaExvYWRGb3JGcmFtZSwKICAgICAgICAgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZSwK
ICAgICAgICAgMCwgICAgICAgLy8gZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lCi0g
ICAgICAgIDAsICAgICAgIC8vIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lCisgICAgICAgIGRpZFJl
Y2VpdmVUaXRsZUZvckZyYW1lLAogICAgICAgICAwLCAgICAgICAvLyBkaWRGaXJzdExheW91dEZv
ckZyYW1lCiAgICAgICAgIDAsICAgICAgIC8vIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91
dEZvckZyYW1lCiAgICAgICAgIDAsICAgICAgIC8vIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNo
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcAppbmRleCA4OTNlYzRkLi4zZjMyMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAo
YykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsMTMgKzIxLDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCisjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5o
IgogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0
V2ViTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgi
Ci0jaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2
YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jh
c2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMLmg+CisjaW5jbHVkZSA8Z2xpYi9naTE4bi1s
aWIuaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCkBAIC0zNiwxMyArMzksMjQgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiBlbnVtIHsKICAgICBQUk9QXzAsCiAKLSAgICBQUk9QX1dFQl9DT05URVhUCisgICAgUFJP
UF9XRUJfQ09OVEVYVCwKKyAgICBQUk9QX1RJVExFCiB9OwogCiBzdHJ1Y3QgX1dlYktpdFdlYlZp
ZXdQcml2YXRlIHsKICAgICBXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0OwogCisgICAgLyogTG9h
ZGVyIENsaWVudCAqLwogICAgIEdSZWZQdHI8V2ViS2l0V2ViTG9hZGVyQ2xpZW50PiBsb2FkZXJD
bGllbnQ7CisKKyAgICAvKiBXZWJLaXRXZWJWaWV3IHByb3BlcnRpZXMgKi8KKyAgICBDU3RyaW5n
IHRpdGxlOworCisgICAgX1dlYktpdFdlYlZpZXdQcml2YXRlKCkKKyAgICB7CisgICAgICAgIC8q
IEluaXRpYWxpemUgdGhlIHRpbGUgdG8gZW1wdHkgc3RyaW5nICovCisgICAgICAgIHRpdGxlID0g
Q1N0cmluZygiIik7CisgICAgfQogfTsKIAogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJWaWV3LCB3
ZWJraXRfd2ViX3ZpZXcsIFdFQktJVF9UWVBFX1dFQl9WSUVXX0JBU0UpCkBAIC03OCw2ICs5Miw5
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3Qs
IGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWx1CiAgICAgY2FzZSBQUk9QX1dFQl9DT05URVhUOgog
ICAgICAgICBnX3ZhbHVlX3Rha2Vfb2JqZWN0KHZhbHVlLCB3ZWJWaWV3LT5wcml2LT5jb250ZXh0
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX1RJVExFOgorICAgICAgICBnX3ZhbHVl
X3NldF9zdHJpbmcodmFsdWUsIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldykpOwor
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFM
SURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAgICAgfQpAQCAtMTE5
LDYgKzEzNiwzMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJL
aXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSB3ZWIgY29udGV4dCBmb3IgdGhlIHZp
ZXciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXRUJLSVRfVFlQRV9XRUJfQ09OVEVYVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdF
QktJVF9QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZKSkpOworCisgICAg
LyoqCisgICAgICogV2ViS2l0V2ViVmlldzp0aXRsZToKKyAgICAgKiAKKyAgICAgKiBSZXR1cm5z
OiB0aGUgbWFpbiBmcmFtZSB0aXRsZSBvZiB0aGlzICNXZWJLaXRXZWJWaWV3LiBJZiB0aGUgdGl0
bGUgaGFzIG5vdCBiZWVuIHJlY2VpdmVkIHlldCwgaXQgd2lsbCBiZSBhbiBlbXB0eSBzdHJpbmcu
CisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xh
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1RJVExFLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygidGl0
bGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfKCJUaXRsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfKCJSZXR1cm5zIHRoZSBtYWluIGZyYW1lIHRpdGxlIG9mICNXZWJL
aXRXZWJWaWV3IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFNX1JF
QURBQkxFKSkpOworfQorCit2b2lkIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3
ICp3ZWJWaWV3LCBXS1N0cmluZ1JlZiB0aXRsZVJlZikKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJp
dmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CisgICAgQ1N0cmluZyB0aXRsZSA9IFdlYktpdDo6
dG9JbXBsKHRpdGxlUmVmKS0+c3RyaW5nKCkudXRmOCgpOworICAgIGlmIChwcml2LT50aXRsZSA9
PSB0aXRsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAg
ICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJ0aXRsZSIpOwogfQogCiAvLyBQ
dWJsaWMgQVBJLgpAQCAtMjUzLDMgKzI5NCwxOCBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19m
b3J3YXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0g
d2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsK
ICAgICBXS1BhZ2VHb0ZvcndhcmQodG9BUEkocGFnZSkpOwogfQorCisvKioKKyAqIHdlYmtpdF93
ZWJfdmlld19nZXRfdGl0bGU6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqIAor
ICogUmV0dXJucyB0aGUgcHJvcGVydHkgI09iamVjdDp0aXRsZS4KKyAqCisgKiBSZXR1cm5zOiB0
aGUgbWFpbiBmcmFtZSB0aXRsZSBvZiBAd2ViX3ZpZXcuCisgKi8KK2NvbnN0IGdjaGFyKiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCAwKTsKKworICAg
IHJldHVybiB3ZWJWaWV3LT5wcml2LT50aXRsZS5kYXRhKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5kZXggYTc5YjIxYi4uNjUx
YTlhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuaApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBbHAg
VG9rZXIgPGFscEBhdG9rZXIuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSBM
dGQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtOTQsNiArOTUsOSBAQCB3ZWJraXRfd2ViX3ZpZXdf
Z29fYmFjayAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOwogV0tf
RVhQT1JUIHZvaWQKIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkICAgICAgICAoV2ViS2l0V2Vi
VmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKK1dLX0VYUE9SVCBjb25zdCBnY2hhciogCit3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3RpdGxlICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2Vi
X3ZpZXcpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCmluZGV4IDlhMjdhZmUuLjY1
ZTljZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3Rz
L3Rlc3R3ZWJ2aWV3LmMKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVz
dHMvdGVzdHdlYnZpZXcuYwpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBA
IC0xOSw4ICsyMCwzMyBAQAogCiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPGd0ay9ndGsu
aD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNs
dWRlIDx3ZWJraXQyL3dlYmtpdDIuaD4KIAorU291cFVSSSAqYmFzZVVSSTsKKworI2RlZmluZSBI
VE1MX1RJVExFICJXZWxDb21lIHRvIFdlYktpdC1HVEsrIgorLyogVGhpcyBzdHJpbmcgaGFzIHRv
IGJlIHJhdGhlciBiaWcgYmVjYXVzZSBvZiB0aGUgY2FuY2VsbGVkIHRlc3QgLSBpdAorICogbG9v
a3MgbGlrZSBzb3VwIHJlZnVzZXMgdG8gc2VuZCBvciByZWNlaXZlIGEgdG9vIHNtYWxsIGNodW5r
ICovCisjZGVmaW5lIEhUTUxfU1RSSU5HICI8aHRtbD48aGVhZD48dGl0bGU+IkhUTUxfVElUTEUi
PC90aXRsZT48L2hlYWQ+PGJvZHk+VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rpbmch
VGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFU
ZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRl
c3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVz
dGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0
aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3Rp
bmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGlu
ZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5nIVRlc3RpbmchVGVzdGluZyFUZXN0aW5n
IVRlc3RpbmchVGVzdGluZyFUZXN0aW5nITwvYm9keT48L2h0bWw+IgorCisvKiBGb3IgcmVhbCBy
ZXF1ZXN0IHRlc3RpbmcgKi8KK3N0YXRpYyB2b2lkIHNlcnZlckNhbGxiYWNrKFNvdXBTZXJ2ZXIq
IHNlcnZlciwgU291cE1lc3NhZ2UqIG1zZywgY29uc3QgY2hhciogcGF0aCwgR0hhc2hUYWJsZSog
cXVlcnksIFNvdXBDbGllbnRDb250ZXh0KiBjb250ZXh0LCBncG9pbnRlciBkYXRhKQoreworICAg
IGlmIChtc2ctPm1ldGhvZCAhPSBTT1VQX01FVEhPRF9HRVQpIHsKKyAgICAgICAgc291cF9tZXNz
YWdlX3NldF9zdGF0dXMobXNnLCBTT1VQX1NUQVRVU19OT1RfSU1QTEVNRU5URUQpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgc291cF9tZXNzYWdlX3NldF9zdGF0dXMobXNnLCBTT1VQ
X1NUQVRVU19PSyk7CisKKyAgICBpZiAoZ19zdHJfZXF1YWwocGF0aCwgIi8iKSkKKyAgICAgICAg
c291cF9tZXNzYWdlX2JvZHlfYXBwZW5kKG1zZy0+cmVzcG9uc2VfYm9keSwgU09VUF9NRU1PUllf
U1RBVElDLCBIVE1MX1NUUklORywgc3RybGVuKEhUTUxfU1RSSU5HKSk7CisKKyAgICBzb3VwX21l
c3NhZ2VfYm9keV9jb21wbGV0ZShtc2ctPnJlc3BvbnNlX2JvZHkpOworfQorCiBzdGF0aWMgdm9p
ZCB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KHZvaWQpCiB7CiAgICAgV2ViS2l0V2ViVmlldyAq
dmlldyA9IFdFQktJVF9XRUJfVklFVyh3ZWJraXRfd2ViX3ZpZXdfbmV3KCkpOwpAQCAtMjksMTYg
KzU1LDkxIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3RGVmYXVsdENvbnRleHQodm9pZCkKICAg
ICBnX29iamVjdF91bnJlZih2aWV3KTsKIH0KIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFdlYktp
dFdlYlZpZXcgKndlYlZpZXc7CisgICAgR01haW5Mb29wICpsb29wOworICAgIGdib29sZWFuIGhh
c1JlY2VpdmVkVGl0bGU7Cit9IFdlYlZpZXdUaXRsZUZpeHR1cmU7CisKK3N0YXRpYyB2b2lkIHdl
YlZpZXdOb3RpZnlUaXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBHUGFyYW1TcGVjKiBwU3Bl
YywgV2ViVmlld1RpdGxlRml4dHVyZSAqZml4dHVyZSkKK3sKKyAgICBnX2Fzc2VydCghZml4dHVy
ZS0+aGFzUmVjZWl2ZWRUaXRsZSk7CisKKyAgICBjb25zdCBnY2hhciogdGl0bGUgPSB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X3RpdGxlKHdlYlZpZXcpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0aXRsZSwg
PT0sIEhUTUxfVElUTEUpOworCisgICAgZml4dHVyZS0+aGFzUmVjZWl2ZWRUaXRsZSA9IFRSVUU7
CisgICAgZ19tYWluX2xvb3BfcXVpdChmaXh0dXJlLT5sb29wKTsKK30KKworc3RhdGljIHZvaWQg
d2ViVmlld1RpdGxlRml4dHVyZVNldHVwKFdlYlZpZXdUaXRsZUZpeHR1cmUgKmZpeHR1cmUsIGdj
b25zdHBvaW50ZXIgZGF0YSkKK3sKKyAgICBmaXh0dXJlLT53ZWJWaWV3ID0gV0VCS0lUX1dFQl9W
SUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJl
LT53ZWJWaWV3LCAibm90aWZ5Ojp0aXRsZSIsIEdfQ0FMTEJBQ0sod2ViVmlld05vdGlmeVRpdGxl
KSwgZml4dHVyZSk7CisgICAgZml4dHVyZS0+bG9vcCA9IGdfbWFpbl9sb29wX25ldyhOVUxMLCBU
UlVFKTsKKyAgICBnX29iamVjdF9yZWZfc2luayhmaXh0dXJlLT53ZWJWaWV3KTsKKyAgICBmaXh0
dXJlLT5oYXNSZWNlaXZlZFRpdGxlID0gRkFMU0U7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRVUklG
b3JQYXRoKGNvbnN0IGNoYXIqIHBhdGgpCit7CisgICAgU291cFVSSSAqdXJpOworICAgIGNoYXIg
KnVyaVN0cmluZzsKKworICAgIHVyaSA9IHNvdXBfdXJpX25ld193aXRoX2Jhc2UoYmFzZVVSSSwg
cGF0aCk7CisgICAgdXJpU3RyaW5nID0gc291cF91cmlfdG9fc3RyaW5nKHVyaSwgRkFMU0UpOwor
ICAgIHNvdXBfdXJpX2ZyZWUodXJpKTsKKworICAgIHJldHVybiB1cmlTdHJpbmc7Cit9CisKK3N0
YXRpYyB2b2lkIHRlc3RXZWJWaWV3VGl0bGUoV2ViVmlld1RpdGxlRml4dHVyZSogZml4dHVyZSwg
Z2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGNoYXIgKnVyaVN0cmluZzsKKworICAgIC8qIEFz
c2VydCBpZiB0aXRsZSBpcyBub3QgZW1wdHkgKi8KKyAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0
X3dlYl92aWV3X2dldF90aXRsZShmaXh0dXJlLT53ZWJWaWV3KSwgPT0sICIiKTsKKworICAgIHVy
aVN0cmluZyA9IGdldFVSSUZvclBhdGgoIi8iKTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfbG9hZF91
cmkoZml4dHVyZS0+d2ViVmlldywgdXJpU3RyaW5nKTsKKyAgICBnX2ZyZWUodXJpU3RyaW5nKTsK
KworICAgIGdfbWFpbl9sb29wX3J1bihmaXh0dXJlLT5sb29wKTsKKworICAgIC8qIEFzc2VydCBp
ZiB0aXRsZSBpcyBub3QgcmVjZWl2ZWQgKi8KKyAgICBnX2Fzc2VydChmaXh0dXJlLT5oYXNSZWNl
aXZlZFRpdGxlKTsKK30KKworc3RhdGljIHZvaWQgd2ViVmlld1RpdGxlRml4dHVyZVRlYXJkb3du
KFdlYlZpZXdUaXRsZUZpeHR1cmUgKmZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkKK3sKKyAg
ICBnX29iamVjdF91bnJlZihmaXh0dXJlLT53ZWJWaWV3KTsKKyAgICBnX21haW5fbG9vcF91bnJl
ZihmaXh0dXJlLT5sb29wKTsKK30KKwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQog
eworICAgIFNvdXBTZXJ2ZXIgKnNlcnZlcjsKKwogICAgIGdfdGhyZWFkX2luaXQoTlVMTCk7CiAg
ICAgZ3RrX3Rlc3RfaW5pdCgmYXJnYywgJmFyZ3YsIE5VTEwpOwogCiAgICAgZ19zZXRlbnYoIldF
QktJVF9FWEVDX1BBVEgiLCBXRUJLSVRfRVhFQ19QQVRILCBGQUxTRSk7CiAKKyAgICBzZXJ2ZXIg
PSBzb3VwX3NlcnZlcl9uZXcoU09VUF9TRVJWRVJfUE9SVCwgMCwgTlVMTCk7CisgICAgc291cF9z
ZXJ2ZXJfcnVuX2FzeW5jKHNlcnZlcik7CisgICAgc291cF9zZXJ2ZXJfYWRkX2hhbmRsZXIoc2Vy
dmVyLCBOVUxMLCBzZXJ2ZXJDYWxsYmFjaywgTlVMTCwgTlVMTCk7CisKKyAgICBiYXNlVVJJID0g
c291cF91cmlfbmV3KCJodHRwOi8vMTI3LjAuMC4xLyIpOworICAgIHNvdXBfdXJpX3NldF9wb3J0
KGJhc2VVUkksIHNvdXBfc2VydmVyX2dldF9wb3J0KHNlcnZlcikpOworCiAgICAgZ190ZXN0X2J1
Z19iYXNlKCJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy8iKTsKICAgICBnX3Rlc3RfYWRkX2Z1bmMo
Ii93ZWJraXQyL3dlYnZpZXcvZGVmYXVsdF9jb250ZXh0IiwKICAgICAgICAgICAgICAgICAgICAg
dGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4dCk7CisgICAgZ190ZXN0X2FkZCgiL3dlYmtpdDIvd2Vi
Vmlldy90aXRsZSIsCisgICAgICAgICAgICAgICBXZWJWaWV3VGl0bGVGaXh0dXJlLCBOVUxMLAor
ICAgICAgICAgICAgICAgd2ViVmlld1RpdGxlRml4dHVyZVNldHVwLAorICAgICAgICAgICAgICAg
dGVzdFdlYlZpZXdUaXRsZSwKKyAgICAgICAgICAgICAgIHdlYlZpZXdUaXRsZUZpeHR1cmVUZWFy
ZG93bik7CiAKICAgICByZXR1cm4gZ190ZXN0X3J1bigpOwogfQotLSAKMS43LjQuMQoK
</data>
<flag name="review"
          id="106881"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="106924"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109980</attachid>
            <date>2011-10-06 11:15:17 -0700</date>
            <delta_ts>2011-10-06 12:22:29 -0700</delta_ts>
            <desc>Added &apos;title&apos; property</desc>
            <filename>AddedTitleProperty.diff</filename>
            <type>text/plain</type>
            <size>13476</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxNmZiMmIyLi4xZDY0ZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzMg
QEAKIDIwMTEtMTAtMDYgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KIAor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBXZWJLaXRXZWJW
aWV3LgorICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5
IGlzIHByb3ZpZGVkLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxl
IGZvciBjb21waWxhdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJM
b2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUpOiBMb2Fk
ZXJDbGllbnQgdGl0bGVSZWNpZXZlIGNhbGxiYWNrLgorICAgICAgICAod2Via2l0V2ViTG9hZGVy
Q2xpZW50Q29uc3RydWN0ZWQpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSBjYWxs
YmFjay4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eSk6ICd0aXRsZScgcHJvcGVydHkgZ2V0IGZ1
bmN0aW9uLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOiBSZWdpc3RlciBu
ZXcgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRXZWJWaWV3U2V0VGl0bGUpOiBOb3RpZnkgV2Vi
S2l0V2ViVmlldyBhYm91dCB0aXRsZSByZWNlaXZlLgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X2dldF90aXRsZSk6IEFQSSB0byBnZXQgbWFpbiBmcmFtZSB0aXRsZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUg
QVBJIGV4cG9zZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJp
dmF0ZS5oOiBBZGRlZCBwcml2YXRlIEFQSSdzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L3Rlc3RzL3Rlc3R3ZWJ2aWV3LmM6CisgICAgICAgICh3ZWJWaWV3Tm90aWZ5VGl0bGUpOiAndGl0
bGUnIHByb3BlcnR5IGNoYW5nZWQgY2FsbGJhY2suCisgICAgICAgICh3ZWJWaWV3VGl0bGVGaXh0
dXJlU2V0dXApOiBUZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisgICAgICAgICh0ZXN0V2Vi
Vmlld1RpdGxlKTogRnVuY3Rpb24gdG8gdGVzdCB0aGUgJ3RpdGxlJyBwcm9wZXJ0eS4KKyAgICAg
ICAgKHdlYlZpZXdUaXRsZUZpeHR1cmVUZWFyZG93bik6IFRlc3QgZml4dHVyZSB0ZWFyZG93biBm
dW5jdGlvbi4KKyAgICAgICAgKG1haW4pOiBBZGRlZCAndGl0bGUnIHByb3BlcnR5IHRlc3QuCisK
KzIwMTEtMTAtMDYgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwogICAg
ICAgICBBZGQgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCBhbmQgd2Via2l0X3dlYl92aWV3X2xv
YWRfcGxhaW5fdGV4dCBBUElzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjkyNDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCAyZGZhMTlkLi4xOGFk
MTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNDczLDYgKzQ3Myw3IEBAIGxpYndlYmtpdDJn
dGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVS
U0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
TG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzMTc0YzFiLi5m
N2M5Njc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI2LDcgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgi
CiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNl
UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSA8
d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMjEsNiArMTIzLDE0IEBAIHN0YXRp
YyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgICAgICAgICAgICAgICB3ZWJFcnJvci5nZXQoKSwgJnJl
dHVyblZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQ
YWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVS
ZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYgKCFXS0ZyYW1l
SXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47CisKKyAgICB3ZWJraXRXZWJWaWV3
U2V0VGl0bGUoV0VCS0lUX1dFQl9MT0FERVJfQ0xJRU5UKGNsaWVudEluZm8pLT5wcml2LT52aWV3
LmdldCgpLCB0aXRsZSk7Cit9CisKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYkxvYWRlckNsaWVudENv
bnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIHsKICAgICBXZWJLaXRXZWJMb2FkZXJDbGllbnQq
IGNsaWVudCA9IFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChvYmplY3QpOwpAQCAtMTM3LDcgKzE0
Nyw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYkxvYWRlckNsaWVudENvbnN0cnVjdGVkKEdPYmpl
Y3QqIG9iamVjdCkKICAgICAgICAgZGlkRmluaXNoTG9hZEZvckZyYW1lLAogICAgICAgICBkaWRG
YWlsTG9hZFdpdGhFcnJvckZvckZyYW1lLAogICAgICAgICAwLCAgICAgICAvLyBkaWRTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUKLSAgICAgICAgMCwgICAgICAgLy8gZGlkUmVjZWl2ZVRp
dGxlRm9yRnJhbWUKKyAgICAgICAgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUsCiAgICAgICAgIDAs
ICAgICAgIC8vIGRpZEZpcnN0TGF5b3V0Rm9yRnJhbWUKICAgICAgICAgMCwgICAgICAgLy8gZGlk
Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUKICAgICAgICAgMCwgICAgICAgLy8g
ZGlkUmVtb3ZlRnJhbWVGcm9tSGllcmFyY2h5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGQxYjI5MDU0Li5iNzgxYTY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMu
TC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjMsMTEgKzI0
LDEzIEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViQ29udGV4dFByaXZhdGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRXZWJMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZh
dGUuaCIKKyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktp
dFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlIDxXZWJLaXQy
L1dLQmFzZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KICNpbmNsdWRlIDxX
ZWJLaXQyL1dLVVJMLmg+CisjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlIDx3
dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCkBA
IC0zNywxMSArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBlbnVtIHsKICAgICBQ
Uk9QXzAsCiAKLSAgICBQUk9QX1dFQl9DT05URVhUCisgICAgUFJPUF9XRUJfQ09OVEVYVCwKKyAg
ICBQUk9QX1RJVExFCiB9OwogCiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdQcml2YXRlIHsKICAgICBX
ZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0OworICAgIENTdHJpbmcgdGl0bGU7CiAKICAgICBHUmVm
UHRyPFdlYktpdFdlYkxvYWRlckNsaWVudD4gbG9hZGVyQ2xpZW50OwogfTsKQEAgLTc5LDYgKzg0
LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVj
dCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZhbHUKICAgICBjYXNlIFBST1BfV0VCX0NPTlRFWFQ6
CiAgICAgICAgIGdfdmFsdWVfdGFrZV9vYmplY3QodmFsdWUsIHdlYlZpZXctPnByaXYtPmNvbnRl
eHQpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfVElUTEU6CisgICAgICAgIGdfdmFs
dWVfc2V0X3N0cmluZyh2YWx1ZSwgd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSh3ZWJWaWV3KSk7
CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5W
QUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFyYW1TcGVjKTsKICAgICB9CkBAIC0x
MjAsNiArMTI4LDMxIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdl
YktpdFdlYlZpZXdDbGFzcyogd2ViVmlld0NsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIHdlYiBjb250ZXh0IGZvciB0aGUg
dmlldyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9UWVBFX1dFQl9DT05URVhULAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4o
V0VCS0lUX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fQ09OU1RSVUNUX09OTFkpKSk7CisKKyAg
ICAvKioKKyAgICAgKiBXZWJLaXRXZWJWaWV3OnRpdGxlOgorICAgICAqIAorICAgICAqIFRoZSBt
YWluIGZyYW1lIHRpdGxlIG9mIHRoaXMgI1dlYktpdFdlYlZpZXcuIElmIHRoZSB0aXRsZSAKKyAg
ICAgKiBoYXMgbm90IGJlZW4gcmVjZWl2ZWQgeWV0LCBpdCB3aWxsIGJlIE5VTEwuCisgICAgICov
CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1RJVExFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygidGl0bGUiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJU
aXRsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBfKCJNYWluIGZyYW1lIGRvY3VtZW50IHRpdGxlIiksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQ
YXJhbUZsYWdzPihXRUJLSVRfUEFSQU1fUkVBREFCTEUpKSk7Cit9CisKK3ZvaWQgd2Via2l0V2Vi
Vmlld1NldFRpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdLU3RyaW5nUmVmIHRpdGxlUmVm
KQoreworICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKKyAg
ICBDU3RyaW5nIHRpdGxlID0gV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51dGY4
KCk7CisgICAgaWYgKHByaXYtPnRpdGxlID09IHRpdGxlKQorICAgICAgICByZXR1cm47CisKKyAg
ICBwcml2LT50aXRsZSA9IHRpdGxlOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVCh3ZWJW
aWV3KSwgInRpdGxlIik7CiB9CiAKIC8vIFB1YmxpYyBBUEkuCkBAIC0zMjAsMyArMzUzLDE5IEBA
IHZvaWQgd2Via2l0X3dlYl92aWV3X2dvX2ZvcndhcmQoV2ViS2l0V2ViVmlldyogd2ViVmlldykK
ICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lU
X1dFQl9WSUVXX0JBU0Uod2ViVmlldykpOwogICAgIFdLUGFnZUdvRm9yd2FyZCh0b0FQSShwYWdl
KSk7CiB9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZToKKyAqIEB3ZWJfdmll
dzogYSAjV2ViS2l0V2ViVmlldworICogCisgKiBUaGUgbWFpbiBmcmFtZSBkb2N1bWVudCB0aXRs
ZS4gSWYgdGhlIHRpdGxlIGhhcyBub3QgYmVlbiByZWNlaXZlZCB5ZXQsCisgKiB0aGVuIE5VTEwg
d2lsbCBiZSByZXR1cm5lZC4KKyAqCisgKiBSZXR1cm5zOiBUaGUgbWFpbiBmcmFtZSB0aXRsZSBv
ZiBAd2ViX3ZpZXcuCisgKi8KK2NvbnN0IGdjaGFyKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxl
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VC
S0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCAwKTsKKworICAgIHJldHVybiB3ZWJWaWV3LT5wcml2
LT50aXRsZS5kYXRhKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmgKaW5kZXggOGM1ZDMwOC4uNTI5YjNmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtMyw2ICszLDcg
QEAKICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29t
PgogICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSBMdGQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMTEwLDYgKzExMSw5IEBAIHdlYmtpdF93ZWJfdmlld19nb19iYWNrICAgICAgICAgICAg
IChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKIFdLX0VYUE9SVCB2b2lkCiB3ZWJr
aXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3
ZWJfdmlldyk7CiAKK1dLX0VYUE9SVCBjb25zdCBnY2hhciAqIAord2Via2l0X3dlYl92aWV3X2dl
dF90aXRsZSAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2ViX3ZpZXcpOworCiBH
X0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmMyODJiNzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRXZWJWaWV3UHJpdmF0ZV9oCisjZGVmaW5lIFdl
YktpdFdlYlZpZXdQcml2YXRlX2gKKworI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKKwordm9p
ZCB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV2ViS2l0V2ViVmlldyAqLCBXS1N0cmluZ1JlZik7CisK
KyNlbmRpZiAvLyBXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYwppbmRleCA5YTI3YWZl
Li45YWExZjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy90ZXN0d2Vidmlldy5jCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEgTW90b3Jv
bGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YwpAQCAtMTksOCArMjAsMTIgQEAKIAogI2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxndGsv
Z3RrLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi93ZWJraXQyLmg+
CiAKKyNkZWZpbmUgSFRNTF9USVRMRSAiV2VsY29tZSB0byBXZWJLaXRHdGsrISIKKyNkZWZpbmUg
SFRNTF9TVFJJTkcgIjxodG1sPjxoZWFkPjx0aXRsZT4iSFRNTF9USVRMRSI8L3RpdGxlPjxoZWFk
Pjxib2R5PkhlbGxvIHdvcmxkPC9ib2R5PjwvaHRtbD4iCisKIHN0YXRpYyB2b2lkIHRlc3RXZWJW
aWV3RGVmYXVsdENvbnRleHQodm9pZCkKIHsKICAgICBXZWJLaXRXZWJWaWV3ICp2aWV3ID0gV0VC
S0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7CkBAIC0yOSw2ICszNCw0MiBAQCBz
dGF0aWMgdm9pZCB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KHZvaWQpCiAgICAgZ19vYmplY3Rf
dW5yZWYodmlldyk7CiB9CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBXZWJLaXRXZWJWaWV3ICp3
ZWJWaWV3OworICAgIEdNYWluTG9vcCAqbG9vcDsKK30gV2ViVmlld1RpdGxlRml4dHVyZTsKKwor
c3RhdGljIHZvaWQgd2ViVmlld05vdGlmeVRpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIEdQ
YXJhbVNwZWMqIHBTcGVjLCBXZWJWaWV3VGl0bGVGaXh0dXJlICpmaXh0dXJlKQoreworICAgIGNv
bnN0IGdjaGFyKiB0aXRsZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldyk7Cisg
ICAgZ19hc3NlcnRfY21wc3RyKHRpdGxlLCA9PSwgSFRNTF9USVRMRSk7CisKKyAgICBnX21haW5f
bG9vcF9xdWl0KGZpeHR1cmUtPmxvb3ApOworfQorCitzdGF0aWMgdm9pZCB3ZWJWaWV3VGl0bGVG
aXh0dXJlU2V0dXAoV2ViVmlld1RpdGxlRml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9pbnRlciBk
YXRhKQoreworICAgIGZpeHR1cmUtPndlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dl
Yl92aWV3X25ldygpKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGZpeHR1cmUtPndlYlZpZXcsICJu
b3RpZnk6OnRpdGxlIiwgR19DQUxMQkFDSyh3ZWJWaWV3Tm90aWZ5VGl0bGUpLCBmaXh0dXJlKTsK
KyAgICBmaXh0dXJlLT5sb29wID0gZ19tYWluX2xvb3BfbmV3KE5VTEwsIFRSVUUpOworICAgIGdf
b2JqZWN0X3JlZl9zaW5rKGZpeHR1cmUtPndlYlZpZXcpOworfQorCitzdGF0aWMgdm9pZCB0ZXN0
V2ViVmlld1RpdGxlKFdlYlZpZXdUaXRsZUZpeHR1cmUqIGZpeHR1cmUsIGdjb25zdHBvaW50ZXIg
ZGF0YSkKK3sKKyAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3dlYl92aWV3X2dldF90aXRsZShm
aXh0dXJlLT53ZWJWaWV3KSwgPT0sIDApOworCisgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRt
bChmaXh0dXJlLT53ZWJWaWV3LCBIVE1MX1NUUklORywgMCk7CisKKyAgICBnX21haW5fbG9vcF9y
dW4oZml4dHVyZS0+bG9vcCk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYlZpZXdUaXRsZUZpeHR1cmVU
ZWFyZG93bihXZWJWaWV3VGl0bGVGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rwb2ludGVyIGRhdGEp
Cit7CisgICAgZ19vYmplY3RfdW5yZWYoZml4dHVyZS0+d2ViVmlldyk7CisgICAgZ19tYWluX2xv
b3BfdW5yZWYoZml4dHVyZS0+bG9vcCk7Cit9CisKIGludCBtYWluKGludCBhcmdjLCBjaGFyICoq
YXJndikKIHsKICAgICBnX3RocmVhZF9pbml0KE5VTEwpOwpAQCAtMzksNiArODAsMTEgQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGdfdGVzdF9idWdfYmFzZSgiaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvIik7CiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0Mi93ZWJ2
aWV3L2RlZmF1bHRfY29udGV4dCIsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RXZWJWaWV3RGVm
YXVsdENvbnRleHQpOworICAgIGdfdGVzdF9hZGQoIi93ZWJraXQyL3dlYlZpZXcvdGl0bGUiLAor
ICAgICAgICAgICAgICAgV2ViVmlld1RpdGxlRml4dHVyZSwgTlVMTCwKKyAgICAgICAgICAgICAg
IHdlYlZpZXdUaXRsZUZpeHR1cmVTZXR1cCwKKyAgICAgICAgICAgICAgIHRlc3RXZWJWaWV3VGl0
bGUsCisgICAgICAgICAgICAgICB3ZWJWaWV3VGl0bGVGaXh0dXJlVGVhcmRvd24pOwogCiAgICAg
cmV0dXJuIGdfdGVzdF9ydW4oKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109993</attachid>
            <date>2011-10-06 12:22:29 -0700</date>
            <delta_ts>2011-10-07 02:20:58 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>TitleProperty.diff</filename>
            <type>text/plain</type>
            <size>13368</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxNmZiMmIyLi4xZDY0ZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzMg
QEAKIDIwMTEtMTAtMDYgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KIAor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBXZWJLaXRXZWJW
aWV3LgorICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5
IGlzIHByb3ZpZGVkLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxl
IGZvciBjb21waWxhdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJM
b2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUpOiBMb2Fk
ZXJDbGllbnQgdGl0bGVSZWNpZXZlIGNhbGxiYWNrLgorICAgICAgICAod2Via2l0V2ViTG9hZGVy
Q2xpZW50Q29uc3RydWN0ZWQpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSBjYWxs
YmFjay4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eSk6ICd0aXRsZScgcHJvcGVydHkgZ2V0IGZ1
bmN0aW9uLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOiBSZWdpc3RlciBu
ZXcgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRXZWJWaWV3U2V0VGl0bGUpOiBOb3RpZnkgV2Vi
S2l0V2ViVmlldyBhYm91dCB0aXRsZSByZWNlaXZlLgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X2dldF90aXRsZSk6IEFQSSB0byBnZXQgbWFpbiBmcmFtZSB0aXRsZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUg
QVBJIGV4cG9zZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJp
dmF0ZS5oOiBBZGRlZCBwcml2YXRlIEFQSSdzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L3Rlc3RzL3Rlc3R3ZWJ2aWV3LmM6CisgICAgICAgICh3ZWJWaWV3Tm90aWZ5VGl0bGUpOiAndGl0
bGUnIHByb3BlcnR5IGNoYW5nZWQgY2FsbGJhY2suCisgICAgICAgICh3ZWJWaWV3VGl0bGVGaXh0
dXJlU2V0dXApOiBUZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisgICAgICAgICh0ZXN0V2Vi
Vmlld1RpdGxlKTogRnVuY3Rpb24gdG8gdGVzdCB0aGUgJ3RpdGxlJyBwcm9wZXJ0eS4KKyAgICAg
ICAgKHdlYlZpZXdUaXRsZUZpeHR1cmVUZWFyZG93bik6IFRlc3QgZml4dHVyZSB0ZWFyZG93biBm
dW5jdGlvbi4KKyAgICAgICAgKG1haW4pOiBBZGRlZCAndGl0bGUnIHByb3BlcnR5IHRlc3QuCisK
KzIwMTEtMTAtMDYgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwogICAg
ICAgICBBZGQgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCBhbmQgd2Via2l0X3dlYl92aWV3X2xv
YWRfcGxhaW5fdGV4dCBBUElzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjkyNDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCAyZGZhMTlkLi4xOGFk
MTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNDczLDYgKzQ3Myw3IEBAIGxpYndlYmtpdDJn
dGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVS
U0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
TG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzMTc0YzFiLi4x
MDA2ZDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI2LDcgQEAKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgi
CiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNl
UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRlLmgiCiAjaW5jbHVkZSA8
d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMjEsNiArMTIzLDE1IEBAIHN0YXRp
YyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgICAgICAgICAgICAgICB3ZWJFcnJvci5nZXQoKSwgJnJl
dHVyblZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQ
YWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBX
S1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYgKCFX
S0ZyYW1lSXNNYWluRnJhbWUoZnJhbWVSZWYpKQorICAgICAgICByZXR1cm47CisKKyAgICBjb25z
dCBDU3RyaW5nIHRpdGxlID0gV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51dGY4
KCk7CisgICAgd2Via2l0V2ViVmlld1NldFRpdGxlKFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChj
bGllbnRJbmZvKS0+cHJpdi0+dmlldy5nZXQoKSwgdGl0bGUpOworfQorCiBzdGF0aWMgdm9pZCB3
ZWJraXRXZWJMb2FkZXJDbGllbnRDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiB7CiAgICAg
V2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQgPSBXRUJLSVRfV0VCX0xPQURFUl9DTElFTlQo
b2JqZWN0KTsKQEAgLTEzNyw3ICsxNDgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJMb2FkZXJD
bGllbnRDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAgICAgICAgIGRpZEZpbmlzaExvYWRG
b3JGcmFtZSwKICAgICAgICAgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZSwKICAgICAgICAg
MCwgICAgICAgLy8gZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lCi0gICAgICAgIDAs
ICAgICAgIC8vIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lCisgICAgICAgIGRpZFJlY2VpdmVUaXRs
ZUZvckZyYW1lLAogICAgICAgICAwLCAgICAgICAvLyBkaWRGaXJzdExheW91dEZvckZyYW1lCiAg
ICAgICAgIDAsICAgICAgIC8vIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1l
CiAgICAgICAgIDAsICAgICAgIC8vIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRl
eCBkMWIyOTA1NC4uMmVmY2IzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTEg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTIzLDExICsyNCwxMyBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRleHRQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
V2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZh
dGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5
LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0
YWluUHRyLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1VSTC5oPgorI2luY2x1ZGUgPGdsaWIvZ2kx
OG4tbGliLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtMzcsMTEgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogZW51bSB7CiAgICAgUFJPUF8wLAogCi0gICAgUFJPUF9XRUJfQ09OVEVYVAorICAg
IFBST1BfV0VCX0NPTlRFWFQsCisgICAgUFJPUF9USVRMRQogfTsKIAogc3RydWN0IF9XZWJLaXRX
ZWJWaWV3UHJpdmF0ZSB7CiAgICAgV2ViS2l0V2ViQ29udGV4dCogY29udGV4dDsKKyAgICBDU3Ry
aW5nIHRpdGxlOwogCiAgICAgR1JlZlB0cjxXZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRlckNs
aWVudDsKIH07CkBAIC03OSw2ICs4NCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdHZXRQ
cm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWx1CiAgICAg
Y2FzZSBQUk9QX1dFQl9DT05URVhUOgogICAgICAgICBnX3ZhbHVlX3Rha2Vfb2JqZWN0KHZhbHVl
LCB3ZWJWaWV3LT5wcml2LT5jb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9Q
X1RJVExFOgorICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHdlYmtpdF93ZWJfdmll
d19nZXRfdGl0bGUod2ViVmlldykpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAg
ICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBh
cmFtU3BlYyk7CiAgICAgfQpAQCAtMTIwLDYgKzEyOCwzMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRo
ZSB3ZWIgY29udGV4dCBmb3IgdGhlIHZpZXciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfQ09OVEVYVCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NP
TlNUUlVDVF9PTkxZKSkpOworCisgICAgLyoqCisgICAgICogV2ViS2l0V2ViVmlldzp0aXRsZToK
KyAgICAgKiAKKyAgICAgKiBUaGUgbWFpbiBmcmFtZSB0aXRsZSBvZiB0aGlzICNXZWJLaXRXZWJW
aWV3LiBJZiB0aGUgdGl0bGUgCisgICAgICogaGFzIG5vdCBiZWVuIHJlY2VpdmVkIHlldCwgaXQg
d2lsbCBiZSBOVUxMLgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJP
UF9USVRMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3Bl
Y19zdHJpbmcoInRpdGxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXygiVGl0bGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiTWFpbiBmcmFtZSBkb2N1bWVudCB0aXRs
ZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxHUGFyYW1GbGFncz4oV0VCS0lUX1BBUkFNX1JFQURBQkxFKSkp
OworfQorCit2b2lkIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
LCBjb25zdCBDU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJp
diA9IHdlYlZpZXctPnByaXY7CisgICAgaWYgKHByaXYtPnRpdGxlID09IHRpdGxlKQorICAgICAg
ICByZXR1cm47CisKKyAgICBwcml2LT50aXRsZSA9IHRpdGxlOworICAgIGdfb2JqZWN0X25vdGlm
eShHX09CSkVDVCh3ZWJWaWV3KSwgInRpdGxlIik7CiB9CiAKIC8vIFB1YmxpYyBBUEkuCkBAIC0z
MjAsMyArMzUyLDE5IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X2dvX2ZvcndhcmQoV2ViS2l0V2Vi
Vmlldyogd2ViVmlldykKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJraXRXZWJWaWV3QmFz
ZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpOwogICAgIFdLUGFnZUdvRm9y
d2FyZCh0b0FQSShwYWdlKSk7CiB9CisKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2dldF90aXRs
ZToKKyAqIEB3ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldworICogCisgKiBUaGUgbWFpbiBmcmFt
ZSBkb2N1bWVudCB0aXRsZS4gSWYgdGhlIHRpdGxlIGhhcyBub3QgYmVlbiByZWNlaXZlZCB5ZXQs
CisgKiB0aGVuIE5VTEwgd2lsbCBiZSByZXR1cm5lZC4KKyAqCisgKiBSZXR1cm5zOiBUaGUgbWFp
biBmcmFtZSB0aXRsZSBvZiBAd2ViX3ZpZXcuCisgKi8KK2NvbnN0IGdjaGFyKiB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3RpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCAwKTsKKworICAgIHJldHVy
biB3ZWJWaWV3LT5wcml2LT50aXRsZS5kYXRhKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5kZXggOGM1ZDMwOC4uNTI5YjNmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcu
aApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBbHAgVG9rZXIg
PGFscEBhdG9rZXIuY29tPgogICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSBMdGQuCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAo
YykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEwLDYgKzExMSw5IEBAIHdlYmtpdF93ZWJfdmlld19nb19i
YWNrICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKIFdLX0VY
UE9SVCB2b2lkCiB3ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZCAgICAgICAgICAoV2ViS2l0V2Vi
VmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKK1dLX0VYUE9SVCBjb25zdCBnY2hhciAqIAord2Vi
a2l0X3dlYl92aWV3X2dldF90aXRsZSAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAq
d2ViX3ZpZXcpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyOTE3ODAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCkBA
IC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAq
IFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRXZWJWaWV3UHJpdmF0
ZV9oCisjZGVmaW5lIFdlYktpdFdlYlZpZXdQcml2YXRlX2gKKworI2luY2x1ZGUgIldlYktpdFdl
YlZpZXcuaCIKKwordm9pZCB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV2ViS2l0V2ViVmlldyAqLCBj
b25zdCBDU3RyaW5nICYpOworCisjZW5kaWYgLy8gV2ViS2l0V2ViQ29udGV4dFByaXZhdGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdl
YnZpZXcuYyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2
aWV3LmMKaW5kZXggOWEyN2FmZS4uY2MzM2ZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTE5LDYgKzIwLDcgQEAKIAogI2luY2x1ZGUgPGdsaWIu
aD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8
d2Via2l0Mi93ZWJraXQyLmg+CiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3RGVmYXVsdENvbnRl
eHQodm9pZCkKQEAgLTI5LDYgKzMxLDQyIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3RGVmYXVs
dENvbnRleHQodm9pZCkKICAgICBnX29iamVjdF91bnJlZih2aWV3KTsKIH0KIAordHlwZWRlZiBz
dHJ1Y3QgeworICAgIFdlYktpdFdlYlZpZXcgKndlYlZpZXc7CisgICAgR01haW5Mb29wICpsb29w
OworfSBXZWJWaWV3VGl0bGVGaXh0dXJlOworCitzdGF0aWMgdm9pZCB3ZWJWaWV3Tm90aWZ5VGl0
bGUoV2ViS2l0V2ViVmlldyAqd2ViVmlldywgR1BhcmFtU3BlYyAqcFNwZWMsIFdlYlZpZXdUaXRs
ZUZpeHR1cmUgKmZpeHR1cmUpCit7CisgICAgY29uc3QgZ2NoYXIgKnRpdGxlID0gd2Via2l0X3dl
Yl92aWV3X2dldF90aXRsZSh3ZWJWaWV3KTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGl0bGUsID09
LCAiV2VsY29tZSB0byBXZWJLaXRHdGsrISIpOworCisgICAgZ19tYWluX2xvb3BfcXVpdChmaXh0
dXJlLT5sb29wKTsKK30KKworc3RhdGljIHZvaWQgd2ViVmlld1RpdGxlRml4dHVyZVNldHVwKFdl
YlZpZXdUaXRsZUZpeHR1cmUgKmZpeHR1cmUsIGdjb25zdHBvaW50ZXIgZGF0YSkKK3sKKyAgICBm
aXh0dXJlLT53ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHdlYmtpdF93ZWJfdmlld19uZXcoKSk7
CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT53ZWJWaWV3LCAibm90aWZ5Ojp0aXRsZSIs
IEdfQ0FMTEJBQ0sod2ViVmlld05vdGlmeVRpdGxlKSwgZml4dHVyZSk7CisgICAgZml4dHVyZS0+
bG9vcCA9IGdfbWFpbl9sb29wX25ldyhOVUxMLCBUUlVFKTsKKyAgICBnX29iamVjdF9yZWZfc2lu
ayhmaXh0dXJlLT53ZWJWaWV3KTsKK30KKworc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdUaXRsZShX
ZWJWaWV3VGl0bGVGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAg
Z19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUoZml4dHVyZS0+d2ViVmll
dyksID09LCAwKTsKKworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwoZml4dHVyZS0+d2Vi
VmlldywgIjxodG1sPjxoZWFkPjx0aXRsZT5XZWxjb21lIHRvIFdlYktpdEd0ayshPC90aXRsZT48
aGVhZD48Ym9keT5IZWxsbyB3b3JsZDwvYm9keT48L2h0bWw+IiwgMCk7CisKKyAgICBnX21haW5f
bG9vcF9ydW4oZml4dHVyZS0+bG9vcCk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYlZpZXdUaXRsZUZp
eHR1cmVUZWFyZG93bihXZWJWaWV3VGl0bGVGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rwb2ludGVy
IGRhdGEpCit7CisgICAgZ19vYmplY3RfdW5yZWYoZml4dHVyZS0+d2ViVmlldyk7CisgICAgZ19t
YWluX2xvb3BfdW5yZWYoZml4dHVyZS0+bG9vcCk7Cit9CisKIGludCBtYWluKGludCBhcmdjLCBj
aGFyICoqYXJndikKIHsKICAgICBnX3RocmVhZF9pbml0KE5VTEwpOwpAQCAtMzksNiArNzcsMTEg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGdfdGVzdF9idWdfYmFzZSgi
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvIik7CiAgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0
Mi93ZWJ2aWV3L2RlZmF1bHRfY29udGV4dCIsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RXZWJW
aWV3RGVmYXVsdENvbnRleHQpOworICAgIGdfdGVzdF9hZGQoIi93ZWJraXQyL3dlYlZpZXcvdGl0
bGUiLAorICAgICAgICAgICAgICAgV2ViVmlld1RpdGxlRml4dHVyZSwgTlVMTCwKKyAgICAgICAg
ICAgICAgIHdlYlZpZXdUaXRsZUZpeHR1cmVTZXR1cCwKKyAgICAgICAgICAgICAgIHRlc3RXZWJW
aWV3VGl0bGUsCisgICAgICAgICAgICAgICB3ZWJWaWV3VGl0bGVGaXh0dXJlVGVhcmRvd24pOwog
CiAgICAgcmV0dXJuIGdfdGVzdF9ydW4oKTsKIH0K
</data>
<flag name="commit-queue"
          id="107367"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110108</attachid>
            <date>2011-10-07 02:20:58 -0700</date>
            <delta_ts>2011-10-07 02:23:18 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>title-property.diff</filename>
            <type>text/plain</type>
            <size>1110</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJMb2FkZXJDbGllbnQuY3BwCmluZGV4IDYxYjNiN2MuLjI0N2VhNmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xp
ZW50LmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVUaXRsZUZv
ckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB0aXRsZVJlZiwgV0tGcmFtCiAgICAg
aWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWVSZWYpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBjb25zdCBDU3RyaW5nIHRpdGxlID0gV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmco
KS51dGY4KCk7CisgICAgY29uc3QgQ1N0cmluZyB0aXRsZSA9IHRvSW1wbCh0aXRsZVJlZiktPnN0
cmluZygpLnV0ZjgoKTsKICAgICB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV0VCS0lUX1dFQl9MT0FE
RVJfQ0xJRU5UKGNsaWVudEluZm8pLT5wcml2LT52aWV3LmdldCgpLCB0aXRsZSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2
aWV3LmMgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmll
dy5jCmluZGV4IGUzNGJlYTguLjJlZDY0Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKQEAgLTIwLDcgKzIwLDYgQEAK
IAogI2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+Ci0jaW5jbHVkZSA8c3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d2Via2l0Mi93ZWJraXQyLmg+CiAKIHN0YXRpYyB2b2lkIHRlc3RX
ZWJWaWV3RGVmYXVsdENvbnRleHQodm9pZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110109</attachid>
            <date>2011-10-07 02:23:18 -0700</date>
            <delta_ts>2011-10-07 02:23:56 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>title-property.diff</filename>
            <type>text/plain</type>
            <size>1446</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJMb2FkZXJDbGllbnQuY3BwCmluZGV4IDYxYjNiN2MuLjc2OTRmYWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xp
ZW50LmNwcApAQCAtMTM4LDEyICsxMzgsMTIgQEAgc3RhdGljIHZvaWQgZGlkQ2hhbmdlUHJvZ3Jl
c3MoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgZ19vYmplY3Rf
bm90aWZ5KEdfT0JKRUNUKGNsaWVudEluZm8pLCAiZXN0aW1hdGVkLXByb2dyZXNzIik7CiB9CiAK
LXN0YXRpYyB2b2lkIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS1N0
cmluZ1JlZiB0aXRsZVJlZiwgV0tGcmFtZVJlZiBmcmFtZVJlZiwgV0tUeXBlUmVmIHVzZXJEYXRh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9y
RnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlUmVmLCBXS0ZyYW1lUmVmIGZy
YW1lUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgaWYgKCFX
S0ZyYW1lSXNNYWluRnJhbWUoZnJhbWVSZWYpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25z
dCBDU3RyaW5nIHRpdGxlID0gV2ViS2l0Ojp0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51dGY4
KCk7CisgICAgY29uc3QgQ1N0cmluZyB0aXRsZSA9IHRvSW1wbCh0aXRsZVJlZiktPnN0cmluZygp
LnV0ZjgoKTsKICAgICB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV0VCS0lUX1dFQl9MT0FERVJfQ0xJ
RU5UKGNsaWVudEluZm8pLT5wcml2LT52aWV3LmdldCgpLCB0aXRsZSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCmlu
ZGV4IGUzNGJlYTguLjJlZDY0Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay90ZXN0cy90ZXN0d2Vidmlldy5jCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKQEAgLTIwLDcgKzIwLDYgQEAKIAogI2lu
Y2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+
CiAjaW5jbHVkZSA8d2Via2l0Mi93ZWJraXQyLmg+CiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3
RGVmYXVsdENvbnRleHQodm9pZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110110</attachid>
            <date>2011-10-07 02:24:42 -0700</date>
            <delta_ts>2011-10-20 07:36:57 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>0001-Title-property-added.patch</filename>
            <type>text/plain</type>
            <size>14012</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSBhYTZhNjcxZGY4MmZkOGJhZGI5NGMyZDdjNDBmODYwNDRlMjEwNjM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogRnJpLCA3IE9jdCAyMDExIDEyOjEyOjA4ICswNTMwClN1YmplY3Q6IFtQQVRDSF0gVGl0
bGUgcHJvcGVydHkgYWRkZWQKCi0tLQogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDI4ICsrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogLi4uL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgICAgfCAgIDEzICsrKysrLQogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgfCAgIDUxICsrKysr
KysrKysrKysrKysrKystCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmggICB8ICAgIDQgKysKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
UHJpdmF0ZS5oICAgICAgIHwgICAzNiArKysrKysrKysrKysrKwogLi4uL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYyAgfCAgIDQxICsrKysrKysrKysrKysrKysK
IDcgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlld1ByaXZhdGUuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzOTJiOTJlLi44NDk0OWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsMzMgQEAKIDIwMTEtMTAtMDYgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1v
dG9yb2xhLmNvbT4KIAorICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0
bGUgcHJvcGVydHkgaW4gV2ViS2l0V2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRl
ZCBpbiBXZWJLaXRXZWJWaWV3LgorICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBv
ZiB0aGlzIHByb3BlcnR5IGlzIHByb3ZpZGVkLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06
IEFkZGVkIG5ldyBmaWxlIGZvciBjb21waWxhdGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoZGlkUmVjZWl2ZVRpdGxl
Rm9yRnJhbWUpOiBMb2FkZXJDbGllbnQgdGl0bGVSZWNpZXZlIGNhbGxiYWNrLgorICAgICAgICAo
d2Via2l0V2ViTG9hZGVyQ2xpZW50Q29uc3RydWN0ZWQpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0
bGVGb3JGcmFtZSBjYWxsYmFjay4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eSk6ICd0aXRsZScg
cHJvcGVydHkgZ2V0IGZ1bmN0aW9uLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2lu
aXQpOiBSZWdpc3RlciBuZXcgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRXZWJWaWV3U2V0VGl0
bGUpOiBOb3RpZnkgV2ViS2l0V2ViVmlldyBhYm91dCB0aXRsZSByZWNlaXZlLgorICAgICAgICAo
d2Via2l0X3dlYl92aWV3X2dldF90aXRsZSk6IEFQSSB0byBnZXQgbWFpbiBmcmFtZSB0aXRsZS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6IHdlYmtpdF93ZWJf
dmlld19nZXRfdGl0bGUgQVBJIGV4cG9zZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3UHJpdmF0ZS5oOiBBZGRlZCBwcml2YXRlIEFQSSdzLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmM6CisgICAgICAgICh3ZWJWaWV3Tm90
aWZ5VGl0bGUpOiAndGl0bGUnIHByb3BlcnR5IGNoYW5nZWQgY2FsbGJhY2suCisgICAgICAgICh3
ZWJWaWV3VGl0bGVGaXh0dXJlU2V0dXApOiBUZXN0IGZpeHR1cmUgc2V0dXAgZnVuY3Rpb24uCisg
ICAgICAgICh0ZXN0V2ViVmlld1RpdGxlKTogRnVuY3Rpb24gdG8gdGVzdCB0aGUgJ3RpdGxlJyBw
cm9wZXJ0eS4KKyAgICAgICAgKHdlYlZpZXdUaXRsZUZpeHR1cmVUZWFyZG93bik6IFRlc3QgZml4
dHVyZSB0ZWFyZG93biBmdW5jdGlvbi4KKyAgICAgICAgKG1haW4pOiBBZGRlZCAndGl0bGUnIHBy
b3BlcnR5IHRlc3QuCisKKzIwMTEtMTAtMDYgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9y
b2xhLmNvbT4KKwogICAgICAgICBBZGQgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCBhbmQgd2Vi
a2l0X3dlYl92aWV3X2xvYWRfcGxhaW5fdGV4dCBBUElzLgogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRl
eCA5YTc3NTA5Li4yMTlmODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtNDc1LDYgKzQ3NSw3
IEBAIGxpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdU
S19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApp
bmRleCAyYTkwOTAwLi43Njk0ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBD
b3B5cmlnaHQgKGMpIDIwMTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI2LDcgQEAKICNpbmNsdWRlICJX
ZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgIldl
YktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXdQcml2YXRl
LmgiCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2Jq
ZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMzYsNiAr
MTM4LDE1IEBAIHN0YXRpYyB2b2lkIGRpZENoYW5nZVByb2dyZXNzKFdLUGFnZVJlZiBwYWdlLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQogICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChjbGll
bnRJbmZvKSwgImVzdGltYXRlZC1wcm9ncmVzcyIpOwogfQogCitzdGF0aWMgdm9pZCBkaWRSZWNl
aXZlVGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGl0bGVSZWYsIFdL
RnJhbWVSZWYgZnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sK
KyAgICBpZiAoIVdLRnJhbWVJc01haW5GcmFtZShmcmFtZVJlZikpCisgICAgICAgIHJldHVybjsK
KworICAgIGNvbnN0IENTdHJpbmcgdGl0bGUgPSB0b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51
dGY4KCk7CisgICAgd2Via2l0V2ViVmlld1NldFRpdGxlKFdFQktJVF9XRUJfTE9BREVSX0NMSUVO
VChjbGllbnRJbmZvKS0+cHJpdi0+dmlldy5nZXQoKSwgdGl0bGUpOworfQorCiBzdGF0aWMgdm9p
ZCB3ZWJraXRXZWJMb2FkZXJDbGllbnRDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiB7CiAg
ICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQgPSBXRUJLSVRfV0VCX0xPQURFUl9DTElF
TlQob2JqZWN0KTsKQEAgLTE1Miw3ICsxNjMsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJMb2Fk
ZXJDbGllbnRDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAgICAgICAgIGRpZEZpbmlzaExv
YWRGb3JGcmFtZSwKICAgICAgICAgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZSwKICAgICAg
ICAgMCwgICAgICAgLy8gZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lCi0gICAgICAg
IDAsICAgICAgIC8vIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lCisgICAgICAgIGRpZFJlY2VpdmVU
aXRsZUZvckZyYW1lLAogICAgICAgICAwLCAgICAgICAvLyBkaWRGaXJzdExheW91dEZvckZyYW1l
CiAgICAgICAgIDAsICAgICAgIC8vIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZy
YW1lCiAgICAgICAgIDAsICAgICAgIC8vIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApp
bmRleCBkMWIyOTA1NC4uYTRmNmM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTIzLDExICsyNCwxMyBAQAogI2luY2x1ZGUgIldlYktpdFdlYkNvbnRl
eHRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1By
aXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dL
UmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1VSTC5oPgorI2luY2x1ZGUgPGdsaWIv
Z2kxOG4tbGliLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtMzcsMTEgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogZW51bSB7CiAgICAgUFJPUF8wLAogCi0gICAgUFJPUF9XRUJfQ09OVEVYVAor
ICAgIFBST1BfV0VCX0NPTlRFWFQsCisgICAgUFJPUF9USVRMRQogfTsKIAogc3RydWN0IF9XZWJL
aXRXZWJWaWV3UHJpdmF0ZSB7CiAgICAgV2ViS2l0V2ViQ29udGV4dCogY29udGV4dDsKKyAgICBD
U3RyaW5nIHRpdGxlOwogCiAgICAgR1JlZlB0cjxXZWJLaXRXZWJMb2FkZXJDbGllbnQ+IGxvYWRl
ckNsaWVudDsKIH07CkBAIC03OSw2ICs4NCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdH
ZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWx1CiAg
ICAgY2FzZSBQUk9QX1dFQl9DT05URVhUOgogICAgICAgICBnX3ZhbHVlX3Rha2Vfb2JqZWN0KHZh
bHVlLCB3ZWJWaWV3LT5wcml2LT5jb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQ
Uk9QX1RJVExFOgorICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcodmFsdWUsIHdlYmtpdF93ZWJf
dmlld19nZXRfdGl0bGUod2ViVmlldykpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogog
ICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQs
IHBhcmFtU3BlYyk7CiAgICAgfQpAQCAtMTIwLDYgKzEyOCwzMCBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IlRoZSB3ZWIgY29udGV4dCBmb3IgdGhlIHZpZXciLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfQ09OVEVYVCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFN
X0NPTlNUUlVDVF9PTkxZKSkpOworCisgICAgLyoqCisgICAgICogV2ViS2l0V2ViVmlldzp0aXRs
ZToKKyAgICAgKiAKKyAgICAgKiBUaGUgbWFpbiBmcmFtZSBkb2N1bWVudCB0aXRsZSBvZiB0aGlz
ICNXZWJLaXRXZWJWaWV3LiBJZiAKKyAgICAgKiB0aGUgdGl0bGUgaGFzIG5vdCBiZWVuIHJlY2Vp
dmVkIHlldCwgaXQgd2lsbCBiZSBOVUxMLgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoZ09iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUFJPUF9USVRMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdfcGFyYW1fc3BlY19zdHJpbmcoInRpdGxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGl0bGUiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiTWFpbiBmcmFtZSBk
b2N1bWVudCB0aXRsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKK30KKwordm9pZCB3
ZWJraXRXZWJWaWV3U2V0VGl0bGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3QgQ1N0cmlu
ZyYgdGl0bGUpCit7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSB3ZWJWaWV3LT5w
cml2OworICAgIGlmIChwcml2LT50aXRsZSA9PSB0aXRsZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2Vi
VmlldyksICJ0aXRsZSIpOwogfQogCiAvLyBQdWJsaWMgQVBJLgpAQCAtMzIwLDMgKzM1MiwyMCBA
QCB2b2lkIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcp
CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJ
VF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKICAgICBXS1BhZ2VHb0ZvcndhcmQodG9BUEkocGFn
ZSkpOwogfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGU6CisgKiBAd2ViX3Zp
ZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqIAorICogR2V0cyB0aGUgdmFsdWUgb2YgI1dlYktpdFdl
YlZpZXc6dGl0bGUuCisgKiBZb3UgY2FuIGNvbm5lY3QgdG8gI1dlYktpdFdlYlZpZXc6Om5vdGlm
eSBzaWduYWwgb2YgQHdlYl92aWV3IHRvIAorICogYmUgbm90aWZpZWQgd2hlbiB0aGUgdGl0bGUg
aGFzIGJlZW4gcmVjZWl2ZWQuCisgKgorICogUmV0dXJuczogVGhlIG1haW4gZnJhbWUgZG9jdW1l
bnQgdGl0bGUgb2YgQHdlYl92aWV3LgorICovCitjb25zdCBnY2hhciogd2Via2l0X3dlYl92aWV3
X2dldF90aXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAgICByZXR1cm4gd2Vi
Vmlldy0+cHJpdi0+dGl0bGUuZGF0YSgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IDBkYTRiYjQuLjk1ZTMzNTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAg
LTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQWxwIFRva2VyIDxhbHBA
YXRva2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLgogICogQ29w
eXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTEgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTExMSw2ICsxMTIsOSBAQCB3ZWJraXRfd2ViX3ZpZXdfZ29fYmFjayAg
ICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiBXRUJLSVRfQVBJ
IHZvaWQKIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkICAgICAgICAgIChXZWJLaXRXZWJWaWV3
ICAgICAgICAgKndlYl92aWV3KTsKIAorV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqIAord2Via2l0
X3dlYl92aWV3X2dldF90aXRsZSAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2Vi
X3ZpZXcpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwNWExOTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCkBAIC0w
LDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRXZWJWaWV3UHJpdmF0ZV9o
CisjZGVmaW5lIFdlYktpdFdlYlZpZXdQcml2YXRlX2gKKworI2luY2x1ZGUgIldlYktpdFdlYlZp
ZXcuaCIKKworI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKwordm9pZCB3ZWJraXRXZWJW
aWV3U2V0VGl0bGUoV2ViS2l0V2ViVmlldyAqLCBjb25zdCBDU3RyaW5nICYpOworCisjZW5kaWYg
Ly8gV2ViS2l0V2ViQ29udGV4dFByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvdGVzdHdlYnZpZXcuYyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rlc3R3ZWJ2aWV3LmMKaW5kZXggOWEyN2FmZS4uMmVkNjRm
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL3Rl
c3R3ZWJ2aWV3LmMKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMv
dGVzdHdlYnZpZXcuYwpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
SWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0y
OSw2ICszMCw0MSBAQCBzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KHZvaWQp
CiAgICAgZ19vYmplY3RfdW5yZWYodmlldyk7CiB9CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBX
ZWJLaXRXZWJWaWV3ICp3ZWJWaWV3OworICAgIEdNYWluTG9vcCAqbG9vcDsKK30gV2ViVmlld0Zp
eHR1cmU7CisKK3N0YXRpYyB2b2lkIHdlYlZpZXdOb3RpZnlUaXRsZShXZWJLaXRXZWJWaWV3ICp3
ZWJWaWV3LCBHUGFyYW1TcGVjICpwU3BlYywgV2ViVmlld0ZpeHR1cmUgKmZpeHR1cmUpCit7Cisg
ICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldyksID09
LCAiV2VsY29tZSB0byBXZWJLaXRHdGsrISIpOworCisgICAgZ19tYWluX2xvb3BfcXVpdChmaXh0
dXJlLT5sb29wKTsKK30KKworc3RhdGljIHZvaWQgd2ViVmlld0ZpeHR1cmVTZXR1cChXZWJWaWV3
Rml4dHVyZSAqZml4dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGZpeHR1cmUtPndl
YlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAgICBmaXh0
dXJlLT5sb29wID0gZ19tYWluX2xvb3BfbmV3KE5VTEwsIFRSVUUpOworICAgIGdfb2JqZWN0X3Jl
Zl9zaW5rKGZpeHR1cmUtPndlYlZpZXcpOworfQorCitzdGF0aWMgdm9pZCB0ZXN0V2ViVmlld1Rp
dGxlKFdlYlZpZXdGaXh0dXJlICpmaXh0dXJlLCBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAg
Z19hc3NlcnQoIXdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUoZml4dHVyZS0+d2ViVmlldykpOwor
CisgICAgZ19zaWduYWxfY29ubmVjdChmaXh0dXJlLT53ZWJWaWV3LCAibm90aWZ5Ojp0aXRsZSIs
IEdfQ0FMTEJBQ0sod2ViVmlld05vdGlmeVRpdGxlKSwgZml4dHVyZSk7CisgICAgd2Via2l0X3dl
Yl92aWV3X2xvYWRfaHRtbChmaXh0dXJlLT53ZWJWaWV3LCAiPGh0bWw+PGhlYWQ+PHRpdGxlPldl
bGNvbWUgdG8gV2ViS2l0R3RrKyE8L3RpdGxlPjxoZWFkPjxib2R5PkhlbGxvIHdvcmxkPC9ib2R5
PjwvaHRtbD4iLCAwKTsKKworICAgIGdfbWFpbl9sb29wX3J1bihmaXh0dXJlLT5sb29wKTsKK30K
Kworc3RhdGljIHZvaWQgd2ViVmlld0ZpeHR1cmVUZWFyZG93bihXZWJWaWV3Rml4dHVyZSAqZml4
dHVyZSwgZ2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGdfb2JqZWN0X3VucmVmKGZpeHR1cmUt
PndlYlZpZXcpOworICAgIGdfbWFpbl9sb29wX3VucmVmKGZpeHR1cmUtPmxvb3ApOworfQorCiBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiB7CiAgICAgZ190aHJlYWRfaW5pdChOVUxM
KTsKQEAgLTM5LDYgKzc1LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg
ICBnX3Rlc3RfYnVnX2Jhc2UoImh0dHBzOi8vYnVncy53ZWJraXQub3JnLyIpOwogICAgIGdfdGVz
dF9hZGRfZnVuYygiL3dlYmtpdDIvd2Vidmlldy9kZWZhdWx0X2NvbnRleHQiLAogICAgICAgICAg
ICAgICAgICAgICB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KTsKKyAgICBnX3Rlc3RfYWRkKCIv
d2Via2l0Mi93ZWJWaWV3L3RpdGxlIiwKKyAgICAgICAgICAgICAgIFdlYlZpZXdGaXh0dXJlLCBO
VUxMLAorICAgICAgICAgICAgICAgd2ViVmlld0ZpeHR1cmVTZXR1cCwKKyAgICAgICAgICAgICAg
IHRlc3RXZWJWaWV3VGl0bGUsCisgICAgICAgICAgICAgICB3ZWJWaWV3Rml4dHVyZVRlYXJkb3du
KTsKIAogICAgIHJldHVybiBnX3Rlc3RfcnVuKCk7CiB9Ci0tIAoxLjcuNC4xCgo=
</data>
<flag name="commit-queue"
          id="107534"
          type_id="3"
          status="-"
          setter="gustavo.noronha"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111769</attachid>
            <date>2011-10-20 07:36:57 -0700</date>
            <delta_ts>2011-10-20 23:53:19 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>TitleProperty.diff</filename>
            <type>text/plain</type>
            <size>9720</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzZTQ2YjAyLi5lNGU4ZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjkg
QEAKIDIwMTEtMTAtMjAgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KIAor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBXZWJLaXRXZWJW
aWV3LgorICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5
IGlzIHByb3ZpZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKTogTG9hZGVy
Q2xpZW50IHRpdGxlUmVjaWV2ZSBjYWxsYmFjay4KKyAgICAgICAgKGF0dGFjaExvYWRlckNsaWVu
dFRvUGFnZSk6IFJlZ2lzdGVyIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lIGNhbGxiYWNrLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Vi
a2l0V2ViVmlld0dldFByb3BlcnR5KTogJ3RpdGxlJyBwcm9wZXJ0eSBnZXQgZnVuY3Rpb24uCisg
ICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6IFJlZ2lzdGVyIG5ldyBwcm9wZXJ0
eS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdTZXRUaXRsZSk6IE5vdGlmeSBXZWJLaXRXZWJWaWV3
IGFib3V0IHRpdGxlIHJlY2VpdmUuCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxl
KTogQVBJIHRvIGdldCBtYWluIGZyYW1lIHRpdGxlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuaDogd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSBBUEkgZXhwb3Nl
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmg6IEFk
ZGVkIHByaXZhdGUgQVBJLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RX
ZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAodGVzdFdlYlZpZXdUaXRsZSk6IFRl
c3Qgd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSBmdW5jdGlvbi4KKyAgICAgICAgKGJlZm9yZUFs
bCk6IEFkZCB0ZXN0V2ViVmlld1RpdGxlIHRlc3QuCisKKzIwMTEtMTAtMjAgIE5heWFuIEt1bWFy
IEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KKwogICAgICAgICBBZGQgd2Via2l0X3dlYl92aWV3
X2xvYWRfaHRtbCBhbmQgd2Via2l0X3dlYl92aWV3X2xvYWRfcGxhaW5fdGV4dCBBUElzLgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDkKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVy
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxv
YWRlckNsaWVudC5jcHAKaW5kZXggMjU1OTVkOC4uN2ZkNDliOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQu
Y3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5M
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xMjIsNiArMTIz
LDE0IEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVm
IHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgICAgICAgICAgICAgICByZXNvdXJj
ZUVycm9yLmZhaWxpbmdVUkwoKS51dGY4KCkuZGF0YSgpLCB3ZWJFcnJvci5nZXQoKSwgJnJldHVy
blZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdl
UmVmIHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBXS1R5
cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYgKCFXS0ZyYW1lSXNNYWlu
RnJhbWUoZnJhbWVSZWYpKQorICAgICAgICByZXR1cm47CisKKyAgICB3ZWJraXRXZWJWaWV3U2V0
VGl0bGUoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdlKS0+dmlld1dpZGdldCgpKSwgdG9JbXBs
KHRpdGxlUmVmKS0+c3RyaW5nKCkudXRmOCgpKTsKK30KKwogc3RhdGljIHZvaWQgZGlkQ2hhbmdl
UHJvZ3Jlc3MoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAg
V2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh0b0ltcGwocGFnZSktPnZp
ZXdXaWRnZXQoKSk7CkBAIC0xNDEsNyArMTUwLDcgQEAgdm9pZCBhdHRhY2hMb2FkZXJDbGllbnRU
b1BhZ2UoV0tQYWdlUmVmIHBhZ2UsIFdlYktpdFdlYkxvYWRlckNsaWVudCogY2xpZW50KQogICAg
ICAgICBkaWRGaW5pc2hMb2FkRm9yRnJhbWUsCiAgICAgICAgIGRpZEZhaWxMb2FkV2l0aEVycm9y
Rm9yRnJhbWUsCiAgICAgICAgIDAsIC8vIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFt
ZQotICAgICAgICAwLCAvLyBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZQorICAgICAgICBkaWRSZWNl
aXZlVGl0bGVGb3JGcmFtZSwKICAgICAgICAgMCwgLy8gZGlkRmlyc3RMYXlvdXRGb3JGcmFtZQog
ICAgICAgICAwLCAvLyBkaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZQogICAg
ICAgICAwLCAvLyBkaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggMWVjMmY0ZS4u
MWJmZDJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlldy5jcHAKQEAgLTQwLDExICs0MCwxMyBAQCBlbnVtIHsKICAgICBQUk9QXzAsCiAK
ICAgICBQUk9QX1dFQl9DT05URVhULAorICAgIFBST1BfVElUTEUsCiAgICAgUFJPUF9FU1RJTUFU
RURfTE9BRF9QUk9HUkVTUwogfTsKIAogc3RydWN0IF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSB7CiAg
ICAgV2ViS2l0V2ViQ29udGV4dCogY29udGV4dDsKKyAgICBDU3RyaW5nIHRpdGxlOwogICAgIENT
dHJpbmcgY3VzdG9tVGV4dEVuY29kaW5nOwogICAgIGRvdWJsZSBlc3RpbWF0ZWRMb2FkUHJvZ3Jl
c3M7CiAKQEAgLTg1LDYgKzg3LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0dldFByb3Bl
cnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHZhbHUKICAgICBjYXNl
IFBST1BfV0VCX0NPTlRFWFQ6CiAgICAgICAgIGdfdmFsdWVfdGFrZV9vYmplY3QodmFsdWUsIHdl
YlZpZXctPnByaXYtPmNvbnRleHQpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfVElU
TEU6CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgd2ViVmlldy0+cHJpdi0+dGl0
bGUuZGF0YSgpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VTVElNQVRFRF9MT0FE
X1BST0dSRVNTOgogICAgICAgICBnX3ZhbHVlX3NldF9kb3VibGUodmFsdWUsIHdlYmtpdF93ZWJf
dmlld19nZXRfZXN0aW1hdGVkX2xvYWRfcHJvZ3Jlc3Mod2ViVmlldykpOwogICAgICAgICBicmVh
azsKQEAgLTEyOSw2ICsxMzQsMjEgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNz
X2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgd2ViIGNvbnRleHQg
Zm9yIHRoZSB2aWV3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VCX0NPTlRFWFQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJh
bUZsYWdzPihXRUJLSVRfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1RfT05MWSkp
KTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6dGl0bGU6CisgICAgICogCisgICAg
ICogVGhlIG1haW4gZnJhbWUgZG9jdW1lbnQgdGl0bGUgb2YgdGhpcyAjV2ViS2l0V2ViVmlldy4g
SWYgCisgICAgICogdGhlIHRpdGxlIGhhcyBub3QgYmVlbiByZWNlaXZlZCB5ZXQsIGl0IHdpbGwg
YmUgJU5VTEwuCisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShn
T2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1RJ
VExFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0
cmluZygidGl0bGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiVGl0bGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiTWFpbiBmcmFtZSBkb2N1bWVudCB0aXRsZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdF
QktJVF9QQVJBTV9SRUFEQUJMRSkpOworICAgIAogICAgIC8qKgogICAgICAqIFdlYktpdFdlYlZp
ZXc6ZXN0aW1hdGVkLWxvYWQtcHJvZ3Jlc3M6CiAgICAgICoKQEAgLTE0OSw2ICsxNjksMTYgQEAg
c3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0NsYXNz
KiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwogfQogCit2b2lkIHdlYmtp
dFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBDU3RyaW5nJiB0
aXRsZSkKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7
CisgICAgaWYgKHByaXYtPnRpdGxlID09IHRpdGxlKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qod2Vi
VmlldyksICJ0aXRsZSIpOworfQorCiB2b2lkIHdlYmtpdFdlYlZpZXdTZXRFc3RpbWF0ZWRMb2Fk
UHJvZ3Jlc3MoV2ViS2l0V2ViVmlldyogd2ViVmlldywgZG91YmxlIGVzdGltYXRlZExvYWRQcm9n
cmVzcykKIHsKICAgICBpZiAod2ViVmlldy0+cHJpdi0+ZXN0aW1hdGVkTG9hZFByb2dyZXNzID09
IGVzdGltYXRlZExvYWRQcm9ncmVzcykKQEAgLTMzMCw2ICszNjAsMjMgQEAgdm9pZCB3ZWJraXRf
d2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25z
dCBnY2hhciogY28KIH0KIAogLyoqCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlOgorICog
QHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKiAKKyAqIEdldHMgdGhlIHZhbHVlIG9mICNX
ZWJLaXRXZWJWaWV3OnRpdGxlLgorICogWW91IGNhbiBjb25uZWN0IHRvICNXZWJLaXRXZWJWaWV3
Ojpub3RpZnkgc2lnbmFsIG9mIEB3ZWJfdmlldyB0byAKKyAqIGJlIG5vdGlmaWVkIHdoZW4gdGhl
IHRpdGxlIGhhcyBiZWVuIHJlY2VpdmVkLgorICoKKyAqIFJldHVybnM6IFRoZSBtYWluIGZyYW1l
IGRvY3VtZW50IHRpdGxlIG9mIEB3ZWJfdmlldy4KKyAqLworY29uc3QgZ2NoYXIqIHdlYmtpdF93
ZWJfdmlld19nZXRfdGl0bGUoV2ViS2l0V2ViVmlldyogd2ViVmlldykKK3sKKyAgICBnX3JldHVy
bl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIDApOworCisgICAgcmV0
dXJuIHdlYlZpZXctPnByaXYtPnRpdGxlLmRhdGEoKTsKK30KKworLyoqCiAgKiB3ZWJraXRfd2Vi
X3ZpZXdfcmVsb2FkOgogICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CiAgKgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCmluZGV4IDM2
YTUzMjAuLjVhY2E2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTEwMSw2ICsxMDEsOSBAQCB3ZWJraXRfd2ViX3ZpZXdfbG9h
ZF9hbHRlcm5hdGVfaHRtbCAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2No
YXIgICAgICAgICAgICpiYXNlX3VyaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqdW5yZWFjaGFibGVfdXJpKTsKIAor
V0VCS0lUX0FQSSBjb25zdCBnY2hhciAqIAord2Via2l0X3dlYl92aWV3X2dldF90aXRsZSAgICAg
ICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CisKIFdFQktJ
VF9BUEkgdm9pZAogd2Via2l0X3dlYl92aWV3X3JlbG9hZCAgICAgICAgICAgICAgICAgICAgICAo
V2ViS2l0V2ViVmlldyAgICAgICAgICp3ZWJfdmlldyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDBl
MWNiOTIuLmQ1MDBlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNiArMjksOSBAQAogCiAjaW5jbHVkZSAi
V2ViS2l0V2ViVmlldy5oIgogI2luY2x1ZGUgPFdlYktpdDIvV2ViS2l0Mi5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KKwordm9pZCB3ZWJraXRXZWJWaWV3U2V0VGl0bGUoV2ViS2l0
V2ViVmlldyosIGNvbnN0IENTdHJpbmcmKTsKIAogdm9pZCB3ZWJraXRXZWJWaWV3U2V0RXN0aW1h
dGVkTG9hZFByb2dyZXNzKFdlYktpdFdlYlZpZXcqLCBkb3VibGUgZXN0aW1hdGVkTG9hZFByb2dy
ZXNzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVz
dHMvVGVzdFdlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCAxNTAx
ZWU0Li45YTU4NDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApA
QCAtODcsNiArODcsMTQgQEAgc3RhdGljIHZvaWQgdGVzdExvYWRBbHRlcm5hdGVDb250ZW50KExv
YWRUcmFja2luZ1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgYXNzZXJ0Tm9ybWFsTG9h
ZEhhcHBlbmVkQW5kQ2xlYXJFdmVudHModGVzdC0+bV9sb2FkRXZlbnRzKTsKIH0KIAorc3RhdGlj
IHZvaWQgdGVzdFdlYlZpZXdUaXRsZShMb2FkVHJhY2tpbmdUZXN0KiB0ZXN0LCBnY29uc3Rwb2lu
dGVyKQoreworICAgIGdfYXNzZXJ0KCF3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHRlc3QtPm1f
d2ViVmlldykpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwodGVzdC0+bV93ZWJWaWV3
LCAiPGh0bWw+PGhlYWQ+PHRpdGxlPldlbGNvbWUgdG8gV2ViS2l0LUdUSyshPC90aXRsZT48L2hl
YWQ+PC9odG1sPiIsIDApOworICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOworICAg
IGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHRlc3QtPm1fd2ViVmll
dyksID09LCAiV2VsY29tZSB0byBXZWJLaXQtR1RLKyEiKTsKK30KKwogc3RhdGljIHZvaWQgdGVz
dFdlYlZpZXdSZWxvYWQoTG9hZFRyYWNraW5nVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKIHsK
ICAgICAvLyBDaGVjayB0aGF0IG5vdGhpbmcgaGFwcGVucyB3aGVuIHRoZXJlJ3Mgbm90aGluZyB0
byByZWxvYWQuCkBAIC0xNDksNiArMTU3LDcgQEAgdm9pZCBiZWZvcmVBbGwoKQogICAgIExvYWRU
cmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2ViTG9hZGVyQ2xpZW50IiwgImxvYWQtaHRtbCIsIHRl
c3RMb2FkSHRtbCk7CiAgICAgTG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJMb2FkZXJD
bGllbnQiLCAibG9hZC1wbGFpbi10ZXh0IiwgdGVzdFBsYWluVGV4dCk7CiAgICAgTG9hZFRyYWNr
aW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJMb2FkZXJDbGllbnQiLCAibG9hZC1hbHRlcm5hdGUtY29u
dGVudCIsIHRlc3RMb2FkQWx0ZXJuYXRlQ29udGVudCk7CisgICAgTG9hZFRyYWNraW5nVGVzdDo6
YWRkKCJXZWJLaXRXZWJWaWV3IiwgInRpdGxlIiwgdGVzdFdlYlZpZXdUaXRsZSk7CiAgICAgTG9h
ZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgInByb2dyZXNzIiwgdGVzdExvYWRQ
cm9ncmVzcyk7CiAgICAgTG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgInJl
bG9hZCIsIHRlc3RXZWJWaWV3UmVsb2FkKTsKIH0K
</data>
<flag name="review"
          id="109684"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="109685"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111914</attachid>
            <date>2011-10-20 23:53:19 -0700</date>
            <delta_ts>2011-11-03 05:36:53 -0700</delta_ts>
            <desc>title property added</desc>
            <filename>0001-Title-property.patch</filename>
            <type>text/plain</type>
            <size>10365</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">RnJvbSAyMDQwMGEyZjc4OWYyNTNjYTFhZjZjMmJmYWQyNTEyMWQwM2I2OTJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXlhbiBLdW1hciBLIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4K
RGF0ZTogVGh1LCAyMCBPY3QgMjAxMSAyMDowNjozNCArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIFRp
dGxlIHByb3BlcnR5CgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAyNCArKysrKysrKysrCiAuLi4vVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViTG9hZGVyQ2xpZW50LmNwcCAgICB8ICAgMTEgKysrKy0KIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIHwgICA0NyArKysrKysrKysrKysrKysr
KysrKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oICAg
fCAgICAzICsKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oICAg
ICAgIHwgICAgNCArKwogLi4uL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkxvYWRlckNsaWVu
dC5jcHAgICAgfCAgICA5ICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwg
MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2U0NmIwMi4uZTRlOGUxMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDI5IEBACiAyMDExLTEwLTIwICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0Bt
b3Rvcm9sYS5jb20+CiAKKyAgICAgICAgW0dUS11bV0VCS0lUMl0gQWRkIHN1cHBvcnQgZm9yIHRp
dGxlIHByb3BlcnR5IGluIFdlYktpdFdlYlZpZXcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQgZm9yICd0aXRsZScgcHJvcGVydHkgaXMgYWRk
ZWQgaW4gV2ViS2l0V2ViVmlldy4KKyAgICAgICAgRnVuY3Rpb25zIHRvIGdldCB0aGUgdmFsdWUg
b2YgdGhpcyBwcm9wZXJ0eSBpcyBwcm92aWRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChkaWRSZWNlaXZlVGl0bGVG
b3JGcmFtZSk6IExvYWRlckNsaWVudCB0aXRsZVJlY2lldmUgY2FsbGJhY2suCisgICAgICAgIChh
dHRhY2hMb2FkZXJDbGllbnRUb1BhZ2UpOiBSZWdpc3RlciBkaWRSZWNlaXZlVGl0bGVGb3JGcmFt
ZSBjYWxsYmFjay4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNw
cDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdHZXRQcm9wZXJ0eSk6ICd0aXRsZScgcHJvcGVydHkg
Z2V0IGZ1bmN0aW9uLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQpOiBSZWdp
c3RlciBuZXcgcHJvcGVydHkuCisgICAgICAgICh3ZWJraXRXZWJWaWV3U2V0VGl0bGUpOiBOb3Rp
ZnkgV2ViS2l0V2ViVmlldyBhYm91dCB0aXRsZSByZWNlaXZlLgorICAgICAgICAod2Via2l0X3dl
Yl92aWV3X2dldF90aXRsZSk6IEFQSSB0byBnZXQgbWFpbiBmcmFtZSB0aXRsZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3Lmg6IHdlYmtpdF93ZWJfdmlld19nZXRf
dGl0bGUgQVBJIGV4cG9zZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3UHJpdmF0ZS5oOiBBZGRlZCBwcml2YXRlIEFQSS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKHRlc3RX
ZWJWaWV3VGl0bGUpOiBUZXN0IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUgZnVuY3Rpb24uCisg
ICAgICAgIChiZWZvcmVBbGwpOiBBZGQgdGVzdFdlYlZpZXdUaXRsZSB0ZXN0LgorCisyMDExLTEw
LTIwICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKICAgICAgICAgQWRk
IHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwgYW5kIHdlYmtpdF93ZWJfdmlld19sb2FkX3BsYWlu
X3RleHQgQVBJcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY5MjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCmluZGV4IDI1NTk1ZDguLmUyOTE3NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViTG9hZGVyQ2xpZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMTIyLDYgKzEyMywxNCBAQCBzdGF0aWMgdm9pZCBkaWRGYWlsTG9hZFdpdGhFcnJvckZv
ckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0VycgogICAgICAgICAg
ICAgICAgICAgcmVzb3VyY2VFcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJy
b3IuZ2V0KCksICZyZXR1cm5WYWx1ZSk7CiB9CiAKK3N0YXRpYyB2b2lkIGRpZFJlY2VpdmVUaXRs
ZUZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiB0aXRsZVJlZiwgV0tGcmFtZVJl
ZiBmcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKK3sKKyAgICBpZiAoIVdLRnJhbWVJ
c01haW5GcmFtZShmcmFtZVJlZikpCisgICAgICAgIHJldHVybjsKKworICAgIHdlYmtpdFdlYlZp
ZXdTZXRUaXRsZShXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpLCB0
b0ltcGwodGl0bGVSZWYpLT5zdHJpbmcoKS51dGY4KCkpOworfQorCiBzdGF0aWMgdm9pZCBkaWRD
aGFuZ2VQcm9ncmVzcyhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsK
ICAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdl
KS0+dmlld1dpZGdldCgpKTsKQEAgLTE0MSw3ICsxNTAsNyBAQCB2b2lkIGF0dGFjaExvYWRlckNs
aWVudFRvUGFnZShXS1BhZ2VSZWYgcGFnZSwgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBjbGllbnQp
CiAgICAgICAgIGRpZEZpbmlzaExvYWRGb3JGcmFtZSwKICAgICAgICAgZGlkRmFpbExvYWRXaXRo
RXJyb3JGb3JGcmFtZSwKICAgICAgICAgMCwgLy8gZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZv
ckZyYW1lCi0gICAgICAgIDAsIC8vIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lCisgICAgICAgIGRp
ZFJlY2VpdmVUaXRsZUZvckZyYW1lLAogICAgICAgICAwLCAvLyBkaWRGaXJzdExheW91dEZvckZy
YW1lCiAgICAgICAgIDAsIC8vIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1l
CiAgICAgICAgIDAsIC8vIGRpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAxZWMy
ZjRlLi4xYmZkMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAtNDAsMTEgKzQwLDEzIEBAIGVudW0gewogICAgIFBST1Bf
MCwKIAogICAgIFBST1BfV0VCX0NPTlRFWFQsCisgICAgUFJPUF9USVRMRSwKICAgICBQUk9QX0VT
VElNQVRFRF9MT0FEX1BST0dSRVNTCiB9OwogCiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdQcml2YXRl
IHsKICAgICBXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0OworICAgIENTdHJpbmcgdGl0bGU7CiAg
ICAgQ1N0cmluZyBjdXN0b21UZXh0RW5jb2Rpbmc7CiAgICAgZG91YmxlIGVzdGltYXRlZExvYWRQ
cm9ncmVzczsKIApAQCAtODUsNiArODcsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3R2V0
UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wSWQsIEdWYWx1ZSogdmFsdQogICAg
IGNhc2UgUFJPUF9XRUJfQ09OVEVYVDoKICAgICAgICAgZ192YWx1ZV90YWtlX29iamVjdCh2YWx1
ZSwgd2ViVmlldy0+cHJpdi0+Y29udGV4dCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJP
UF9USVRMRToKKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCB3ZWJWaWV3LT5wcml2
LT50aXRsZS5kYXRhKCkpOworICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRVNUSU1BVEVE
X0xPQURfUFJPR1JFU1M6CiAgICAgICAgIGdfdmFsdWVfc2V0X2RvdWJsZSh2YWx1ZSwgd2Via2l0
X3dlYl92aWV3X2dldF9lc3RpbWF0ZWRfbG9hZF9wcm9ncmVzcyh3ZWJWaWV3KSk7CiAgICAgICAg
IGJyZWFrOwpAQCAtMTI5LDYgKzEzNCwyMSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdf
Y2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSB3ZWIgY29u
dGV4dCBmb3IgdGhlIHZpZXciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9XRUJfQ09OVEVYVCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVDVF9P
TkxZKSkpOworCisgICAgLyoqCisgICAgICogV2ViS2l0V2ViVmlldzp0aXRsZToKKyAgICAgKiAK
KyAgICAgKiBUaGUgbWFpbiBmcmFtZSBkb2N1bWVudCB0aXRsZSBvZiB0aGlzICNXZWJLaXRXZWJW
aWV3LiBJZiAKKyAgICAgKiB0aGUgdGl0bGUgaGFzIG5vdCBiZWVuIHJlY2VpdmVkIHlldCwgaXQg
d2lsbCBiZSAlTlVMTC4KKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KGdPYmplY3RDbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
T1BfVElUTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3Nw
ZWNfc3RyaW5nKCJ0aXRsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJUaXRsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNYWluIGZyYW1lIGRvY3VtZW50IHRpdGxlIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisgICAgCiAgICAgLyoqCiAgICAgICogV2ViS2l0
V2ViVmlldzplc3RpbWF0ZWQtbG9hZC1wcm9ncmVzczoKICAgICAgKgpAQCAtMTQ5LDYgKzE2OSwx
NiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3
Q2xhc3MqIHdlYlZpZXdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiB9CiAKK3ZvaWQg
d2Via2l0V2ViVmlld1NldFRpdGxlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IENTdHJp
bmcmIHRpdGxlKQoreworICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+
cHJpdjsKKyAgICBpZiAocHJpdi0+dGl0bGUgPT0gdGl0bGUpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBwcml2LT50aXRsZSA9IHRpdGxlOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVD
VCh3ZWJWaWV3KSwgInRpdGxlIik7Cit9CisKIHZvaWQgd2Via2l0V2ViVmlld1NldEVzdGltYXRl
ZExvYWRQcm9ncmVzcyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBkb3VibGUgZXN0aW1hdGVkTG9h
ZFByb2dyZXNzKQogewogICAgIGlmICh3ZWJWaWV3LT5wcml2LT5lc3RpbWF0ZWRMb2FkUHJvZ3Jl
c3MgPT0gZXN0aW1hdGVkTG9hZFByb2dyZXNzKQpAQCAtMzMwLDYgKzM2MCwyMyBAQCB2b2lkIHdl
YmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcs
IGNvbnN0IGdjaGFyKiBjbwogfQogCiAvKioKKyAqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGU6
CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqIAorICogR2V0cyB0aGUgdmFsdWUg
b2YgI1dlYktpdFdlYlZpZXc6dGl0bGUuCisgKiBZb3UgY2FuIGNvbm5lY3QgdG8gI1dlYktpdFdl
YlZpZXc6Om5vdGlmeSBzaWduYWwgb2YgQHdlYl92aWV3IHRvIAorICogYmUgbm90aWZpZWQgd2hl
biB0aGUgdGl0bGUgaGFzIGJlZW4gcmVjZWl2ZWQuCisgKgorICogUmV0dXJuczogVGhlIG1haW4g
ZnJhbWUgZG9jdW1lbnQgdGl0bGUgb2YgQHdlYl92aWV3LgorICovCitjb25zdCBnY2hhciogd2Vi
a2l0X3dlYl92aWV3X2dldF90aXRsZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQoreworICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisKKyAg
ICByZXR1cm4gd2ViVmlldy0+cHJpdi0+dGl0bGUuZGF0YSgpOworfQorCisvKioKICAqIHdlYmtp
dF93ZWJfdmlld19yZWxvYWQ6CiAgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKICAqCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKaW5k
ZXggMzZhNTMyMC4uNWFjYTY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXcuaApAQCAtMTAxLDYgKzEwMSw5IEBAIHdlYmtpdF93ZWJfdmll
d19sb2FkX2FsdGVybmF0ZV9odG1sICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAqd2Vi
X3ZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnY2hhciAgICAgICAgICAgKmJhc2VfdXJpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICp1bnJlYWNoYWJsZV91cmkp
OwogCitXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICogCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxl
ICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKKwog
V0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkICAgICAgICAgICAgICAgICAg
ICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgKndlYl92aWV3KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgKaW5k
ZXggMGUxY2I5Mi4uZDUwMGU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCkBAIC0xLDUgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2ICsyOSw5IEBACiAKICNpbmNs
dWRlICJXZWJLaXRXZWJWaWV3LmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XZWJLaXQyLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCit2b2lkIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShX
ZWJLaXRXZWJWaWV3KiwgY29uc3QgQ1N0cmluZyYpOwogCiB2b2lkIHdlYmtpdFdlYlZpZXdTZXRF
c3RpbWF0ZWRMb2FkUHJvZ3Jlc3MoV2ViS2l0V2ViVmlldyosIGRvdWJsZSBlc3RpbWF0ZWRMb2Fk
UHJvZ3Jlc3MpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay90ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCmluZGV4
IDE1MDFlZTQuLjlhNTg0NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJMb2FkZXJDbGllbnQu
Y3BwCkBAIC04Nyw2ICs4NywxNCBAQCBzdGF0aWMgdm9pZCB0ZXN0TG9hZEFsdGVybmF0ZUNvbnRl
bnQoTG9hZFRyYWNraW5nVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBhc3NlcnROb3Jt
YWxMb2FkSGFwcGVuZWRBbmRDbGVhckV2ZW50cyh0ZXN0LT5tX2xvYWRFdmVudHMpOwogfQogCitz
dGF0aWMgdm9pZCB0ZXN0V2ViVmlld1RpdGxlKExvYWRUcmFja2luZ1Rlc3QqIHRlc3QsIGdjb25z
dHBvaW50ZXIpCit7CisgICAgZ19hc3NlcnQoIXdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUodGVz
dC0+bV93ZWJWaWV3KSk7CisgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCh0ZXN0LT5tX3dl
YlZpZXcsICI8aHRtbD48aGVhZD48dGl0bGU+V2VsY29tZSB0byBXZWJLaXQtR1RLKyE8L3RpdGxl
PjwvaGVhZD48L2h0bWw+IiwgMCk7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7
CisgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUodGVzdC0+bV93
ZWJWaWV3KSwgPT0sICJXZWxjb21lIHRvIFdlYktpdC1HVEsrISIpOworfQorCiBzdGF0aWMgdm9p
ZCB0ZXN0V2ViVmlld1JlbG9hZChMb2FkVHJhY2tpbmdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVy
KQogewogICAgIC8vIENoZWNrIHRoYXQgbm90aGluZyBoYXBwZW5zIHdoZW4gdGhlcmUncyBub3Ro
aW5nIHRvIHJlbG9hZC4KQEAgLTE0OSw2ICsxNTcsNyBAQCB2b2lkIGJlZm9yZUFsbCgpCiAgICAg
TG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJMb2FkZXJDbGllbnQiLCAibG9hZC1odG1s
IiwgdGVzdExvYWRIdG1sKTsKICAgICBMb2FkVHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYkxv
YWRlckNsaWVudCIsICJsb2FkLXBsYWluLXRleHQiLCB0ZXN0UGxhaW5UZXh0KTsKICAgICBMb2Fk
VHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYkxvYWRlckNsaWVudCIsICJsb2FkLWFsdGVybmF0
ZS1jb250ZW50IiwgdGVzdExvYWRBbHRlcm5hdGVDb250ZW50KTsKKyAgICBMb2FkVHJhY2tpbmdU
ZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAidGl0bGUiLCB0ZXN0V2ViVmlld1RpdGxlKTsKICAg
ICBMb2FkVHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAicHJvZ3Jlc3MiLCB0ZXN0
TG9hZFByb2dyZXNzKTsKICAgICBMb2FkVHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlZpZXci
LCAicmVsb2FkIiwgdGVzdFdlYlZpZXdSZWxvYWQpOwogfQotLSAKMS43LjUuNAoK
</data>
<flag name="review"
          id="109856"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="109858"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113468</attachid>
            <date>2011-11-03 05:36:53 -0700</date>
            <delta_ts>2011-11-03 06:26:54 -0700</delta_ts>
            <desc>Add &apos;title&apos; property</desc>
            <filename>Title.diff</filename>
            <type>text/plain</type>
            <size>10298</size>
            <attacher name="Nayan Kumar K">nayankk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA2MjVlYjNhLi5lMzU3ODFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjkg
QEAKIDIwMTEtMTEtMDMgIE5heWFuIEt1bWFyIEsgIDxuYXlhbmtrQG1vdG9yb2xhLmNvbT4KIAor
ICAgICAgICBbR1RLXVtXRUJLSVQyXSBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgcHJvcGVydHkgaW4g
V2ViS2l0V2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3VwcG9ydCBmb3IgJ3RpdGxlJyBwcm9wZXJ0eSBpcyBhZGRlZCBpbiBXZWJLaXRXZWJW
aWV3LgorICAgICAgICBGdW5jdGlvbnMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5
IGlzIHByb3ZpZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKTogTG9hZGVy
Q2xpZW50IHRpdGxlUmVjaWV2ZSBjYWxsYmFjay4KKyAgICAgICAgKHdlYmtpdFdlYkxvYWRlckNs
aWVudEF0dGFjaExvYWRlckNsaWVudFRvUGFnZSk6IFJlZ2lzdGVyIGRpZFJlY2VpdmVUaXRsZUZv
ckZyYW1lIGNhbGxiYWNrLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXcuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0dldFByb3BlcnR5KTogJ3RpdGxlJyBwcm9w
ZXJ0eSBnZXQgZnVuY3Rpb24uCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdCk6
IFJlZ2lzdGVyIG5ldyBwcm9wZXJ0eS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdTZXRUaXRsZSk6
IE5vdGlmeSBXZWJLaXRXZWJWaWV3IGFib3V0IHRpdGxlIHJlY2VpdmUuCisgICAgICAgICh3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKTogQVBJIHRvIGdldCBtYWluIGZyYW1lIHRpdGxlLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaDogd2Via2l0X3dlYl92aWV3
X2dldF90aXRsZSBBUEkgZXhwb3NlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdQcml2YXRlLmg6IEFkZGVkIHByaXZhdGUgQVBJLgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAo
dGVzdFdlYlZpZXdUaXRsZSk6IFRlc3Qgd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSBBUEkuCisg
ICAgICAgIChiZWZvcmVBbGwpOiBBZGQgdGVzdFdlYlZpZXdUaXRsZSB0ZXN0LgorCisyMDExLTEx
LTAzICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CisKICAgICAgICAgQWRk
IHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwgYW5kIHdlYmtpdF93ZWJfdmlld19sb2FkX3BsYWlu
X3RleHQgQVBJcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY5MjQ5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCmluZGV4IDBkODhkMzQuLmM0NjBlMWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViTG9hZGVyQ2xpZW50LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgSWdhbGlhIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMTMxLDYgKzEzMiwxNCBAQCBzdGF0aWMgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsCiAgICAgd2Via2l0
V2ViVmlld1VwZGF0ZVVSSShXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0
KCkpKTsKIH0KIAorc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQYWdlUmVm
IHBhZ2UsIFdLU3RyaW5nUmVmIHRpdGxlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lUmVmLCBXS1R5cGVS
ZWYsIGNvbnN0IHZvaWQqKQoreworICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lUmVm
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2Via2l0V2ViVmlld1NldFRpdGxlKFdFQktJVF9X
RUJfVklFVyh0b0ltcGwocGFnZSktPnZpZXdXaWRnZXQoKSksIHRvSW1wbCh0aXRsZVJlZiktPnN0
cmluZygpLnV0ZjgoKSk7Cit9CisKIHN0YXRpYyB2b2lkIGRpZENoYW5nZVByb2dyZXNzKFdLUGFn
ZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpOwpA
QCAtMTU2LDcgKzE2NSw3IEBAIHZvaWQgd2Via2l0V2ViTG9hZGVyQ2xpZW50QXR0YWNoTG9hZGVy
Q2xpZW50VG9QYWdlKFdlYktpdFdlYkxvYWRlckNsaWVudCogbG9hZGVyCiAgICAgICAgIGRpZEZp
bmlzaExvYWRGb3JGcmFtZSwKICAgICAgICAgZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZSwK
ICAgICAgICAgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lLAotICAgICAgICAwLCAv
LyBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZQorICAgICAgICBkaWRSZWNlaXZlVGl0bGVGb3JGcmFt
ZSwKICAgICAgICAgMCwgLy8gZGlkRmlyc3RMYXlvdXRGb3JGcmFtZQogICAgICAgICAwLCAvLyBk
aWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZQogICAgICAgICAwLCAvLyBkaWRS
ZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNTMyZWRmMC4uMTVhOWFjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAK
QEAgLTQ0LDEyICs0NCwxNCBAQCBlbnVtIHsKICAgICBQUk9QXzAsCiAKICAgICBQUk9QX1dFQl9D
T05URVhULAorICAgIFBST1BfVElUTEUsCiAgICAgUFJPUF9FU1RJTUFURURfTE9BRF9QUk9HUkVT
UywKICAgICBQUk9QX1VSSQogfTsKIAogc3RydWN0IF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSB7CiAg
ICAgV2ViS2l0V2ViQ29udGV4dCogY29udGV4dDsKKyAgICBDU3RyaW5nIHRpdGxlOwogICAgIENT
dHJpbmcgY3VzdG9tVGV4dEVuY29kaW5nOwogICAgIGRvdWJsZSBlc3RpbWF0ZWRMb2FkUHJvZ3Jl
c3M7CiAgICAgQ1N0cmluZyBhY3RpdmVVUkk7CkBAIC0xMDksNiArMTExLDkgQEAgc3RhdGljIHZv
aWQgd2Via2l0V2ViVmlld0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElk
LCBHVmFsdWUqIHZhbHUKICAgICBjYXNlIFBST1BfV0VCX0NPTlRFWFQ6CiAgICAgICAgIGdfdmFs
dWVfdGFrZV9vYmplY3QodmFsdWUsIHdlYlZpZXctPnByaXYtPmNvbnRleHQpOwogICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFBST1BfVElUTEU6CisgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2
YWx1ZSwgd2ViVmlldy0+cHJpdi0+dGl0bGUuZGF0YSgpKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBQUk9QX0VTVElNQVRFRF9MT0FEX1BST0dSRVNTOgogICAgICAgICBnX3ZhbHVlX3NldF9k
b3VibGUodmFsdWUsIHdlYmtpdF93ZWJfdmlld19nZXRfZXN0aW1hdGVkX2xvYWRfcHJvZ3Jlc3Mo
d2ViVmlldykpOwogICAgICAgICBicmVhazsKQEAgLTE1Niw2ICsxNjEsMjEgQEAgc3RhdGljIHZv
aWQgd2Via2l0X3dlYl92aWV3X2NsYXNzX2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3
Q2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJUaGUgd2ViIGNvbnRleHQgZm9yIHRoZSB2aWV3IiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfV0VCX0NP
TlRFWFQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdzPihXRUJLSVRfUEFSQU1fUkVBRFdSSVRFIHwg
R19QQVJBTV9DT05TVFJVQ1RfT05MWSkpKTsKKworICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZp
ZXc6dGl0bGU6CisgICAgICogCisgICAgICogVGhlIG1haW4gZnJhbWUgZG9jdW1lbnQgdGl0bGUg
b2YgdGhpcyAjV2ViS2l0V2ViVmlldy4gSWYgCisgICAgICogdGhlIHRpdGxlIGhhcyBub3QgYmVl
biByZWNlaXZlZCB5ZXQsIGl0IHdpbGwgYmUgJU5VTEwuCisgICAgICovCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQUk9QX1RJVExFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygidGl0bGUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGl0bGUiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFpbiBmcmFt
ZSBkb2N1bWVudCB0aXRsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOworICAgIAogICAg
IC8qKgogICAgICAqIFdlYktpdFdlYlZpZXc6ZXN0aW1hdGVkLWxvYWQtcHJvZ3Jlc3M6CiAgICAg
ICoKQEAgLTE4OSw2ICsyMDksMTYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2NsYXNz
X2luaXQoV2ViS2l0V2ViVmlld0NsYXNzKiB3ZWJWaWV3Q2xhc3MpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
QUJMRSkpOwogfQogCit2b2lkIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3LCBjb25zdCBDU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0
ZSogcHJpdiA9IHdlYlZpZXctPnByaXY7CisgICAgaWYgKHByaXYtPnRpdGxlID09IHRpdGxlKQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgcHJpdi0+dGl0bGUgPSB0aXRsZTsKKyAgICBnX29i
amVjdF9ub3RpZnkoR19PQkpFQ1Qod2ViVmlldyksICJ0aXRsZSIpOworfQorCiB2b2lkIHdlYmtp
dFdlYlZpZXdTZXRFc3RpbWF0ZWRMb2FkUHJvZ3Jlc3MoV2ViS2l0V2ViVmlldyogd2ViVmlldywg
ZG91YmxlIGVzdGltYXRlZExvYWRQcm9ncmVzcykKIHsKICAgICBpZiAod2ViVmlldy0+cHJpdi0+
ZXN0aW1hdGVkTG9hZFByb2dyZXNzID09IGVzdGltYXRlZExvYWRQcm9ncmVzcykKQEAgLTM4Niw2
ICs0MTYsMjMgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbChXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBnY2hhciogY28KIH0KIAogLyoqCisgKiB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X3RpdGxlOgorICogQHdlYl92aWV3OiBhICNXZWJLaXRXZWJWaWV3CisgKiAK
KyAqIEdldHMgdGhlIHZhbHVlIG9mICNXZWJLaXRXZWJWaWV3OnRpdGxlLgorICogWW91IGNhbiBj
b25uZWN0IHRvICNXZWJLaXRXZWJWaWV3Ojpub3RpZnkgc2lnbmFsIG9mIEB3ZWJfdmlldyB0byAK
KyAqIGJlIG5vdGlmaWVkIHdoZW4gdGhlIHRpdGxlIGhhcyBiZWVuIHJlY2VpdmVkLgorICoKKyAq
IFJldHVybnM6IFRoZSBtYWluIGZyYW1lIGRvY3VtZW50IHRpdGxlIG9mIEB3ZWJfdmlldy4KKyAq
LworY29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUoV2ViS2l0V2ViVmlldyog
d2ViVmlldykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVco
d2ViVmlldyksIDApOworCisgICAgcmV0dXJuIHdlYlZpZXctPnByaXYtPnRpdGxlLmRhdGEoKTsK
K30KKworLyoqCiAgKiB3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkOgogICogQHdlYl92aWV3OiBhICNX
ZWJLaXRXZWJWaWV3CiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5oCmluZGV4IGFkYzc1YzEuLjc0NDYzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTEwOCw2ICsxMDgs
OSBAQCB3ZWJraXRfd2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbCAgICAgICAgICAoV2ViS2l0
V2ViVmlldyAgICAgICAgICAgICAqd2ViX3ZpZQogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2Vi
X3ZpZXdfc3RvcF9sb2FkaW5nICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICAgICAqd2ViX3ZpZXcpOwogCitXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICogCit3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3RpdGxlICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICAgICAqd2ViX3ZpZXcpOworCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF93ZWJfdmlld19yZWxv
YWQgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3ZWJf
dmlldyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGU2MmQ1MTUuLmY3ZWExZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld1ByaXZh
dGUuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMu
TC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjgsOCArMjksMTAgQEAKIAogI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKICNpbmNsdWRl
IDxXZWJLaXQyL1dlYktpdDIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHZv
aWQgd2Via2l0V2ViVmlld1NldEVzdGltYXRlZExvYWRQcm9ncmVzcyhXZWJLaXRXZWJWaWV3Kiwg
ZG91YmxlIGVzdGltYXRlZExvYWRQcm9ncmVzcyk7Cit2b2lkIHdlYmtpdFdlYlZpZXdTZXRUaXRs
ZShXZWJLaXRXZWJWaWV3KiwgY29uc3QgQ1N0cmluZyYpOwogdm9pZCB3ZWJraXRXZWJWaWV3VXBk
YXRlVVJJKFdlYktpdFdlYlZpZXcqKTsKIAogI2VuZGlmIC8vIFdlYktpdFdlYlZpZXdQcml2YXRl
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Vi
a2l0Mmd0ay1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9k
b2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CmluZGV4IDQxZDkwOTguLmFiMTVmOTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1z
ZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93
ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dApAQCAtNTcsNiArNTcsNyBAQCB3ZWJraXRfd2ViX3ZpZXdf
Y2FuX2dvX2JhY2sKIHdlYmtpdF93ZWJfdmlld19nb19iYWNrCiB3ZWJraXRfd2ViX3ZpZXdfY2Fu
X2dvX2ZvcndhcmQKIHdlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkCit3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3RpdGxlCiB3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkCiB3ZWJraXRfd2ViX3ZpZXdfcmVsb2Fk
X2J5cGFzc19jYWNoZQogd2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0
V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzMWEyOWViLi44NTBmNmMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2Vi
TG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90
ZXN0cy9UZXN0V2ViS2l0V2ViTG9hZGVyQ2xpZW50LmNwcApAQCAtMTE2LDYgKzExNiwxNCBAQCBz
dGF0aWMgdm9pZCB0ZXN0TG9hZENhbmNlbGxlZChMb2FkU3RvcFRyYWNraW5nVGVzdCogdGVzdCwg
Z2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9jbXBpbnQoZXZlbnRzWzJdLCA9PSwgTG9hZFRy
YWNraW5nVGVzdDo6TG9hZEZhaWxlZCk7CiB9CiAKK3N0YXRpYyB2b2lkIHRlc3RXZWJWaWV3VGl0
bGUoTG9hZFRyYWNraW5nVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKK3sKKyAgICBnX2Fzc2Vy
dCghd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSh0ZXN0LT5tX3dlYlZpZXcpKTsKKyAgICB0ZXN0
LT5sb2FkSHRtbCgiPGh0bWw+PGhlYWQ+PHRpdGxlPldlbGNvbWUgdG8gV2ViS2l0LUdUSyshPC90
aXRsZT48L2hlYWQ+PC9odG1sPiIsIDApOworICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hl
ZCgpOworICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHRlc3Qt
Pm1fd2ViVmlldyksID09LCAiV2VsY29tZSB0byBXZWJLaXQtR1RLKyEiKTsKK30KKwogc3RhdGlj
IHZvaWQgdGVzdFdlYlZpZXdSZWxvYWQoTG9hZFRyYWNraW5nVGVzdCogdGVzdCwgZ2NvbnN0cG9p
bnRlcikKIHsKICAgICAvLyBDaGVjayB0aGF0IG5vdGhpbmcgaGFwcGVucyB3aGVuIHRoZXJlJ3Mg
bm90aGluZyB0byByZWxvYWQuCkBAIC0yMzksNiArMjQ3LDcgQEAgdm9pZCBiZWZvcmVBbGwoKQog
ICAgIExvYWRUcmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJsb2FkLXBsYWluLXRl
eHQiLCB0ZXN0TG9hZFBsYWluVGV4dCk7CiAgICAgTG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJL
aXRXZWJMb2FkZXJDbGllbnQiLCAibG9hZC1hbHRlcm5hdGUtY29udGVudCIsIHRlc3RMb2FkQWx0
ZXJuYXRlQ29udGVudCk7CiAgICAgTG9hZFN0b3BUcmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2Vi
VmlldyIsICJzdG9wLWxvYWRpbmciLCB0ZXN0TG9hZENhbmNlbGxlZCk7CisgICAgTG9hZFRyYWNr
aW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgInRpdGxlIiwgdGVzdFdlYlZpZXdUaXRsZSk7
CiAgICAgTG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgInByb2dyZXNzIiwg
dGVzdExvYWRQcm9ncmVzcyk7CiAgICAgTG9hZFRyYWNraW5nVGVzdDo6YWRkKCJXZWJLaXRXZWJW
aWV3IiwgInJlbG9hZCIsIHRlc3RXZWJWaWV3UmVsb2FkKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>