<?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>69572</bug_id>
          
          <creation_ts>2011-10-06 15:22:15 -0700</creation_ts>
          <short_desc>[Qt] QTouchWebView missing navigationPolicyForUrl</short_desc>
          <delta_ts>2014-02-03 03:18:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gopal Raghavan">gopal.1.raghavan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cshu</cc>
    
    <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479546</commentid>
    <comment_count>0</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-06 15:22:15 -0700</bug_when>
    <thetext>This feature is required to handle some custom navigation policies in TouchWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479561</commentid>
    <comment_count>1</comment_count>
      <attachid>110046</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-06 15:37:51 -0700</bug_when>
    <thetext>Created attachment 110046
implementation of navigation policy

Implemented navigationPolicyForUrl. This is similar to DesktopWebView implementation. It provides the flexibiltiy to specify custom navigation policies for TouchWebView.

Regarding testcase. Looks like qmltests are disabled for qt5. I also need some suggestion on handling mouseClick&apos;s.
Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482592</commentid>
    <comment_count>2</comment_count>
      <attachid>110046</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-12 12:06:49 -0700</bug_when>
    <thetext>Comment on attachment 110046
implementation of navigation policy

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

&gt; Source/WebKit2/UIProcess/API/qt/qtouchwebview.h:47
&gt; +    enum NavigationPolicy {
&gt; +         UsePolicy,
&gt; +         DownloadPolicy,
&gt; +         IgnorePolicy
&gt; +     };
&gt; +

I am a bit confused why we have to define a new set of enums here and do conversions to the enums defined in the base class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482626</commentid>
    <comment_count>3</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-12 12:51:06 -0700</bug_when>
    <thetext>The PolicyAction enums defined in PolicyInterface.h is not available to qml. The current implementation enables the following in qml:

TouchWebView {
     id: webView
     ......
     .....
    function navigationPolicyForUrl(url, button, modifiers) {
        // link delegation
        if (button == Qt.LeftButton &amp;&amp; pageLoaded) {
            return webView.TouchWebView.IgnorePolicy
        }
        return webView.TouchWebView.UsePolicy
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482653</commentid>
    <comment_count>4</comment_count>
      <attachid>110046</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2011-10-12 13:19:52 -0700</bug_when>
    <thetext>Comment on attachment 110046
implementation of navigation policy

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

&gt; Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.h:43
&gt; +    QTouchWebPageProxy(QTouchWebViewPrivate*, TouchViewInterface*, ViewportInteractionEngine*);

Why do you need QTouchWebViewPrivate class here?
Why PolicyInterface is not good?
Also, I would change order of constructor parameters to make it the same as in QtWebPageProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482673</commentid>
    <comment_count>5</comment_count>
      <attachid>110739</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-12 13:51:32 -0700</bug_when>
    <thetext>Created attachment 110739
updated patch with reviewer comments

Good point. Fixed the interface.
Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483160</commentid>
    <comment_count>6</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-13 06:49:12 -0700</bug_when>
    <thetext>I am still not convinced that we have to manipulate the lower level C++ code which throws away the class inheritance just to satisfy a drawback in the higher level qml binding. What prevents PolicyInterface.h being available to qml?

(In reply to comment #3)
&gt; The PolicyAction enums defined in PolicyInterface.h is not available to qml. The current implementation enables the following in qml:
&gt; 
&gt; TouchWebView {
&gt;      id: webView
&gt;      ......
&gt;      .....
&gt;     function navigationPolicyForUrl(url, button, modifiers) {
&gt;         // link delegation
&gt;         if (button == Qt.LeftButton &amp;&amp; pageLoaded) {
&gt;             return webView.TouchWebView.IgnorePolicy
&gt;         }
&gt;         return webView.TouchWebView.UsePolicy
&gt;     }
&gt; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483193</commentid>
    <comment_count>7</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-13 08:16:31 -0700</bug_when>
    <thetext>Ideally, if QTouchWebView could be derived out of PolicyInterface we should be all set. Although, PolicyInterface looks like an api it is not publicly available within UIProcess/API/qt. Therefore QTouchWebViewPrivate inherits it and not QTouchWebView. Because of this restriction, we need the translation of enums using toPolicyAction.

Hope this clarifies the situation.
Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483203</commentid>
    <comment_count>8</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-13 08:30:26 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Ideally, if QTouchWebView could be derived out of PolicyInterface we should be all set. Although, PolicyInterface looks like an api it is not publicly available within UIProcess/API/qt. Therefore QTouchWebViewPrivate inherits it and not QTouchWebView. Because of this restriction, we need the translation of enums using toPolicyAction.
&gt; 
&gt; Hope this clarifies the situation.
&gt; Thanks

Thanks. It&apos;s pretty clear now the problem is not qml itself but the hidden PolicyInterface. I think we should make it public. Any objections, Kenneth and Kling?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483230</commentid>
    <comment_count>9</comment_count>
      <attachid>110739</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-13 09:12:47 -0700</bug_when>
    <thetext>Comment on attachment 110739
updated patch with reviewer comments

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

&gt; Source/WebKit2/UIProcess/API/qt/tests/tests.pro:3
&gt; +lessThan(QT_MAJOR_VERSION, 6): SUBDIRS += qmltests

Would this possibly break the buildbot? If not, we can simply remove the condition. Or it should be the other way around? I will add Ossy for commenting this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483242</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-10-13 09:41:27 -0700</bug_when>
    <thetext>I will update Qt5 on the bot tomorrow evening. Please wait a little bit with landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483263</commentid>
    <comment_count>11</comment_count>
      <attachid>110864</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-13 10:12:28 -0700</bug_when>
    <thetext>Created attachment 110864
updated patch

That change to tests.pro is unintentional. I didn&apos;t mean to include it in this patch. 
Here is an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483280</commentid>
    <comment_count>12</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-13 10:27:54 -0700</bug_when>
    <thetext>We probably should hold off the implementation until the proposed API change is made.
https://lists.webkit.org/pipermail/webkit-qt/2011-October/001984.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483281</commentid>
    <comment_count>13</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-13 10:29:20 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=110864) [details]
&gt; updated patch
&gt; 
&gt; That change to tests.pro is unintentional. I didn&apos;t mean to include it in this patch. 
&gt; Here is an updated patch.

Why not include this change (a modified version) otherwise the qmltests are not built nor run at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483298</commentid>
    <comment_count>14</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-10-13 10:48:19 -0700</bug_when>
    <thetext>qmltests is a separate issue. Also, since this patch doesn&apos;t seem to be moving forward, I have attached a separate patch to enable qmltests here https://bugs.webkit.org/show_bug.cgi?id=70037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483307</commentid>
    <comment_count>15</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-13 10:52:54 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; qmltests is a separate issue. Also, since this patch doesn&apos;t seem to be moving forward, I have attached a separate patch to enable qmltests here https://bugs.webkit.org/show_bug.cgi?id=70037

Sounds good. While I was compiling the qmltests code, I had to &quot;make install&quot; webkit first. I am not sure if this will be an issue on the bot. Anyway, we can ask Ossy&apos;s help to review the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483834</commentid>
    <comment_count>16</comment_count>
      <attachid>110864</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-14 01:29:40 -0700</bug_when>
    <thetext>Comment on attachment 110864
updated patch

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

We want to do this in a different way

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Implemented navigationPolicyForUrl. This is similar to DesktopWebView implementation. It provides the flexibiltiy to specify custom navigation policies for TouchWebView.

Please break that line

&gt; Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_navigationPolicyForUrl.qml:16
&gt; +        function navigationPolicyForUrl(url, button, modifiers) {
&gt; +            if (button == Qt.MiddleButton &amp;&amp; modifiers &amp; Qt.ControlModifier) {
&gt; +                otherWebView.page.load(url)
&gt; +                return TouchWebView.IgnorePolicy
&gt; +            }
&gt; +            return TouchWebView.UsePolicy
&gt; +        }

We decided to do this differently. Simon had some better ideas. Please check the ML</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483897</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-10-14 04:23:01 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 110739 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=110739&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/tests/tests.pro:3
&gt; &gt; +lessThan(QT_MAJOR_VERSION, 6): SUBDIRS += qmltests
&gt; 
&gt; Would this possibly break the buildbot? If not, we can simply remove the condition. Or it should be the other way around? I will add Ossy for commenting this.

I checked, it builds fine on the bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501354</commentid>
    <comment_count>18</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2011-11-11 21:17:19 -0800</bug_when>
    <thetext>Should we close this now that all we have is a single QQuickWebView?! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975318</commentid>
    <comment_count>19</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:18:58 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110046</attachid>
            <date>2011-10-06 15:37:51 -0700</date>
            <delta_ts>2011-10-12 13:51:32 -0700</delta_ts>
            <desc>implementation of navigation policy</desc>
            <filename>69572.patch</filename>
            <type>text/plain</type>
            <size>10004</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODY0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTAtMDYgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1tRdF0gUVRv
dWNoV2ViVmlldyBtaXNzaW5nIG5hdmlnYXRpb25Qb2xpY3lGb3JVcmwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmF2aWdhdGlvblBv
bGljeUZvclVybC4gVGhpcyBpcyBzaW1pbGFyIHRvIERlc2t0b3BXZWJWaWV3IGltcGxlbWVudGF0
aW9uLiBJdCBwcm92aWRlcyB0aGUgZmxleGliaWx0aXkgdG8gc3BlY2lmeSBjdXN0b20gbmF2aWdh
dGlvbiBwb2xpY2llcyBmb3IgVG91Y2hXZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFUb3VjaFdlYlZpZXdQcml2YXRlOjpR
VG91Y2hXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICh0b1BvbGljeUFjdGlvbik6CisgICAgICAg
IChoYXNNZXRhTWV0aG9kKToKKyAgICAgICAgKFFUb3VjaFdlYlZpZXdQcml2YXRlOjpuYXZpZ2F0
aW9uUG9saWN5Rm9yVVJMKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZp
ZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXdfcC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9u
YXZpZ2F0aW9uUG9saWN5Rm9yVXJsLnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisgICAgICAgICogVUlQcm9jZXNzL3F0
L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHA6CisgICAgICAgIChRVG91Y2hXZWJQYWdlUHJveHk6OlFU
b3VjaFdlYlBhZ2VQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vw
cm94eS5oOgorCiAyMDExLTEwLTA2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgSW4gYmFja2dyb3VuZCB3aW5kb3csIHBhZ2UgZmxhc2hlcyB3aGl0ZSBp
ZiBpdCBlbnRlcnMgYW5kIHRoZW4gaW1tZWRpYXRlbHkgbGVhdmVzIGNvbXBvc2l0aW5nIG1vZGUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2
aWV3LmNwcAkocmV2aXNpb24gOTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIFFU
b3VjaFdlYlZpZXdQcml2YXRlOjpRVG91Y2hXZWJWaWV3UHJpdmEKICAgICAsIHBhZ2VWaWV3KG5l
dyBRVG91Y2hXZWJQYWdlKHEpKQogICAgICwgdmlld0ludGVyZmFjZShxLCBwYWdlVmlldy5kYXRh
KCkpCiAgICAgLCBpbnRlcmFjdGlvbkVuZ2luZShxLCBwYWdlVmlldy5kYXRhKCkpCi0gICAgLCBw
YWdlKCZ2aWV3SW50ZXJmYWNlLCAmaW50ZXJhY3Rpb25FbmdpbmUpCisgICAgLCBwYWdlKHRoaXMs
ICZ2aWV3SW50ZXJmYWNlLCAmaW50ZXJhY3Rpb25FbmdpbmUpCiB7CiAgICAgUVRvdWNoV2ViUGFn
ZVByaXZhdGUqIGNvbnN0IHBhZ2VWaWV3UHJpdmF0ZSA9IHBhZ2VWaWV3LmRhdGEoKS0+ZDsKICAg
ICBwYWdlVmlld1ByaXZhdGUtPnNldFBhZ2UoJnBhZ2UpOwpAQCAtMTE5LDQgKzExOSw0NCBAQCB2
b2lkIFFUb3VjaFdlYlZpZXc6Omdlb21ldHJ5Q2hhbmdlZChjb25zCiAgICAgfQogfQogCitzdGF0
aWMgUG9saWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gdG9Qb2xpY3lBY3Rpb24oUVRvdWNoV2Vi
Vmlldzo6TmF2aWdhdGlvblBvbGljeSBwb2xpY3kpCit7CisgICAgc3dpdGNoIChwb2xpY3kpIHsK
KyAgICBjYXNlIFFUb3VjaFdlYlZpZXc6OlVzZVBvbGljeToKKyAgICAgICAgcmV0dXJuIFBvbGlj
eUludGVyZmFjZTo6VXNlOworICAgIGNhc2UgUVRvdWNoV2ViVmlldzo6RG93bmxvYWRQb2xpY3k6
CisgICAgICAgIHJldHVybiBQb2xpY3lJbnRlcmZhY2U6OkRvd25sb2FkOworICAgIGNhc2UgUVRv
dWNoV2ViVmlldzo6SWdub3JlUG9saWN5OgorICAgICAgICByZXR1cm4gUG9saWN5SW50ZXJmYWNl
OjpJZ25vcmU7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBQ
b2xpY3lJbnRlcmZhY2U6Oklnbm9yZTsKK30KKworc3RhdGljIGJvb2wgaGFzTWV0YU1ldGhvZChR
T2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG1ldGhvZE5hbWUpCit7CisgICAgaW50IG1ldGhv
ZEluZGV4ID0gb2JqZWN0LT5tZXRhT2JqZWN0KCktPmluZGV4T2ZNZXRob2QoUU1ldGFPYmplY3Q6
Om5vcm1hbGl6ZWRTaWduYXR1cmUobWV0aG9kTmFtZSkpOworICAgIHJldHVybiBtZXRob2RJbmRl
eCA+PSAwICYmIG1ldGhvZEluZGV4IDwgb2JqZWN0LT5tZXRhT2JqZWN0KCktPm1ldGhvZENvdW50
KCk7Cit9CisKKy8qIQorICAgIFxxbWxtZXRob2QgTmF2aWdhdGlvblBvbGljeSBUb3VjaFdlYlZp
ZXc6Om5hdmlnYXRpb25Qb2xpY3lGb3JVcmwodXJsLCBidXR0b24sIG1vZGlmaWVycykKKworICAg
IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgdXNlciBvZiBUb3VjaFdl
YlZpZXcgZWxlbWVudC4KKworICAgIEl0IHdpbGwgYmUgY2FsbGVkIHRvIGRlY2lkZSB0aGUgcG9s
aWN5IGZvciBhIG5hdmlnYXRpb246IHdoZXRoZXIgdGhlIFdlYlZpZXcgc2hvdWxkIGlnbm9yZSB0
aGUgbmF2aWdhdGlvbiwKKyAgICBjb250aW51ZSBpdCBvciBzdGFydCBhIGRvd25sb2FkLiBUaGUg
cmV0dXJuIHZhbHVlIG11c3QgYmUgb25lIG9mIHRoZSBwb2xpY2llcyBpbiB0aGUgTmF2aWdhdGlv
blBvbGljeSBlbnVtZXJhdGlvbi4KKyovCitQb2xpY3lJbnRlcmZhY2U6OlBvbGljeUFjdGlvbiBR
VG91Y2hXZWJWaWV3UHJpdmF0ZTo6bmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBRVXJsJiB1
cmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmll
cnMpCit7CisgICAgLy8gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2UgaW52b2tl
TWV0aG9kKCkgd2FybnMgaWYgdGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IGZvciB0aGUgb2JqZWN0
LgorICAgIGlmICghaGFzTWV0YU1ldGhvZChxLCAibmF2aWdhdGlvblBvbGljeUZvclVybChRVmFy
aWFudCxRVmFyaWFudCxRVmFyaWFudCkiKSkKKyAgICAgICAgcmV0dXJuIFBvbGljeUludGVyZmFj
ZTo6VXNlOworCisgICAgUVZhcmlhbnQgcmV0OworICAgIGlmIChRTWV0YU9iamVjdDo6aW52b2tl
TWV0aG9kKHEsICJuYXZpZ2F0aW9uUG9saWN5Rm9yVXJsIiwgUV9SRVRVUk5fQVJHKFFWYXJpYW50
LCByZXQpLCBRX0FSRyhRVmFyaWFudCwgdXJsKSwgUV9BUkcoUVZhcmlhbnQsIGJ1dHRvbiksIFFf
QVJHKFFWYXJpYW50LCBRVmFyaWFudChtb2RpZmllcnMpKSkpCisgICAgICAgIHJldHVybiB0b1Bv
bGljeUFjdGlvbihzdGF0aWNfY2FzdDxRVG91Y2hXZWJWaWV3OjpOYXZpZ2F0aW9uUG9saWN5Pihy
ZXQudG9JbnQoKSkpOworICAgIHJldHVybiBQb2xpY3lJbnRlcmZhY2U6OlVzZTsKK30KKwogI2lu
Y2x1ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCShyZXZpc2lvbiA5NjgzMSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw4ICszNiwxNSBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRVG91Y2hXZWJWaWV3
IDogcHViCiB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFUb3VjaFdlYlBhZ2UqIHBh
Z2UgUkVBRCBwYWdlIENPTlNUQU5UIEZJTkFMKQorICAgIFFfRU5VTVMoTmF2aWdhdGlvblBvbGlj
eSkKIAogcHVibGljOgorICAgIGVudW0gTmF2aWdhdGlvblBvbGljeSB7CisgICAgICAgICBVc2VQ
b2xpY3ksCisgICAgICAgICBEb3dubG9hZFBvbGljeSwKKyAgICAgICAgIElnbm9yZVBvbGljeQor
ICAgICB9OworCiAgICAgUVRvdWNoV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQgPSAwKTsKICAgICB+
UVRvdWNoV2ViVmlldygpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnZpZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2Vidmlld19wLmgJKHJldmlzaW9uIDk2ODMxKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3X3AuaAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNiArMjEsNyBAQAogI2lmbmRlZiBxdG91Y2h3ZWJ2aWV3X3BfaAogI2RlZmluZSBxdG91
Y2h3ZWJ2aWV3X3BfaAogCisjaW5jbHVkZSAiUG9saWN5SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSA8
UVNjb3BlZFBvaW50ZXI+CiAjaW5jbHVkZSAicXRvdWNod2VicGFnZXByb3h5LmgiCiAjaW5jbHVk
ZSAiVG91Y2hWaWV3SW50ZXJmYWNlLmgiCkBAIC0yOSw3ICszMCw3IEBACiBjbGFzcyBRVG91Y2hX
ZWJQYWdlOwogY2xhc3MgUVRvdWNoV2ViVmlldzsKIAotY2xhc3MgUVRvdWNoV2ViVmlld1ByaXZh
dGUKK2NsYXNzIFFUb3VjaFdlYlZpZXdQcml2YXRlOiBwdWJsaWMgV2ViS2l0OjpQb2xpY3lJbnRl
cmZhY2UgCiB7CiBwdWJsaWM6CiAgICAgUVRvdWNoV2ViVmlld1ByaXZhdGUoUVRvdWNoV2ViVmll
dyogcSk7CkBAIC00OCw2ICs0OSwxMCBAQCBwdWJsaWM6CiAgICAgUVRvdWNoV2ViUGFnZVByb3h5
IHBhZ2U7CiAKICAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50
czsKKworIHByaXZhdGU6CisgICAgLy8gUG9saWN5SW50ZXJmYWNlLgorICAgIHZpcnR1YWwgUG9s
aWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gbmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBR
VXJsJiwgUXQ6Ok1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMpOwogfTsKIAogI2Vu
ZGlmIC8qIHF0b3VjaHdlYnZpZXdfcF9oICovCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybwko
cmV2aXNpb24gOTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL3FtbHRlc3RzLnBybwkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsNyBAQCBP
VEhFUl9GSUxFUyArPSBcCiAgICAgRGVza3RvcFdlYlZpZXcvdHN0X2xpbmtIb3ZlcmVkLnFtbCBc
CiAgICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbCBcCiAgICAgVG91Y2hXZWJWaWV3
L3RzdF9sb2FkLnFtbCBcCisgICAgVG91Y2hXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9y
VXJsLnFtbCBcCiAgICAgVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFtbCBcCiAg
ICAgVG91Y2hXZWJWaWV3L3RzdF9sb2FkTmVnYXRpdmVTaXplVmlldy5xbWwgXAogICAgIFRvdWNo
V2ViVmlldy90c3RfbG9hZFByb2dyZXNzLnFtbCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbmF2aWdhdGlvblBv
bGljeUZvclVybC5xbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X25hdmlnYXRpb25Qb2xpY3lGb3JV
cmwucW1sCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X25hdmlnYXRpb25Qb2xpY3lGb3JVcmwucW1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYzIEBACitpbXBvcnQgUXRRdWljayAyLjAKK2ltcG9y
dCBRdFRlc3QgMS4wCitpbXBvcnQgUXRXZWJLaXQuZXhwZXJpbWVudGFsIDUuMAorCitJdGVtIHsK
KyAgICBUb3VjaFdlYlZpZXcgeworICAgICAgICBpZDogd2ViVmlldworICAgICAgICB3aWR0aDog
MjAwCisgICAgICAgIGhlaWdodDogMjAwCisgICAgICAgIGZ1bmN0aW9uIG5hdmlnYXRpb25Qb2xp
Y3lGb3JVcmwodXJsLCBidXR0b24sIG1vZGlmaWVycykgeworICAgICAgICAgICAgaWYgKGJ1dHRv
biA9PSBRdC5NaWRkbGVCdXR0b24gJiYgbW9kaWZpZXJzICYgUXQuQ29udHJvbE1vZGlmaWVyKSB7
CisgICAgICAgICAgICAgICAgb3RoZXJXZWJWaWV3LnBhZ2UubG9hZCh1cmwpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIFRvdWNoV2ViVmlldy5JZ25vcmVQb2xpY3kKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHJldHVybiBUb3VjaFdlYlZpZXcuVXNlUG9saWN5CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdldDogd2Vi
Vmlldy5wYWdlCisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAgIH0KKwor
ICAgIFRvdWNoV2ViVmlldyB7CisgICAgICAgIGlkOiBvdGhlcldlYlZpZXcKKyAgICB9CisKKyAg
ICBTaWduYWxTcHkgeworICAgICAgICBpZDogb3RoZXJTcHkKKyAgICAgICAgdGFyZ2V0OiBvdGhl
cldlYlZpZXcucGFnZQorICAgICAgICBzaWduYWxOYW1lOiAibG9hZFN1Y2NlZWRlZCIKKyAgICB9
CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIG5hbWU6ICJUb3VjaFdlYlZpZXdOYXZpZ2F0aW9u
UG9saWN5Rm9yVXJsIgorICAgICAgICB3aGVuOiB3aW5kb3dTaG93bgorCisgICAgICAgIGZ1bmN0
aW9uIHRlc3RfdXNlUG9saWN5KCkgeworICAgICAgICAgICAgd2ViVmlldy5wYWdlLmxvYWQoUXQu
cmVzb2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0Mi5odG1sIikpCisgICAgICAgICAgICBzcHkud2Fp
dCgpCisgICAgICAgICAgICBzcHkuY2xlYXIoKQorICAgICAgICAgICAgY29tcGFyZShzcHkuY291
bnQsIDApCisgICAgICAgICAgICBtb3VzZUNsaWNrKHdlYlZpZXcucGFnZSwgMTAwLCAxMDAsIFF0
LkxlZnRCdXR0b24pCisgICAgICAgICAgICBzcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJl
KHNweS5jb3VudCwgMSkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAi
VGVzdCBwYWdlIDEiKQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdF9pZ25vcmVQ
b2xpY3koKSB7CisgICAgICAgICAgICB3ZWJWaWV3LnBhZ2UubG9hZChRdC5yZXNvbHZlZFVybCgi
Li4vY29tbW9uL3Rlc3QyLmh0bWwiKSkKKyAgICAgICAgICAgIHNweS53YWl0KCkKKyAgICAgICAg
ICAgIHNweS5jbGVhcigpCisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwgMCkKKyAgICAg
ICAgICAgIGNvbXBhcmUob3RoZXJTcHkuY291bnQsIDApCisgICAgICAgICAgICBtb3VzZUNsaWNr
KHdlYlZpZXcucGFnZSwgMTAwLCAxMDAsIFF0Lk1pZGRsZUJ1dHRvbiwgUXQuQ29udHJvbE1vZGlm
aWVyKQorICAgICAgICAgICAgb3RoZXJTcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHNw
eS5jb3VudCwgMCkKKyAgICAgICAgICAgIGNvbXBhcmUob3RoZXJTcHkuY291bnQsIDEpCisgICAg
ICAgICAgICBjb21wYXJlKG90aGVyV2ViVmlldy5wYWdlLnRpdGxlLCAiVGVzdCBwYWdlIDEiKQor
ICAgICAgICB9CisgICAgfQorfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0
b3VjaHdlYnBhZ2Vwcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHAJKHJldmlzaW9uIDk2ODMxKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInF0
b3VjaHdlYnBhZ2Vwcm94eS5oIgorI2luY2x1ZGUgInF0b3VjaHdlYnZpZXdfcC5oIgogCiAjaW5j
bHVkZSA8SW50UmVjdC5oPgogI2luY2x1ZGUgPE5hdGl2ZVdlYlRvdWNoRXZlbnQuaD4KQEAgLTI3
LDggKzI4LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVFUb3VjaFdlYlBhZ2VQ
cm94eTo6UVRvdWNoV2ViUGFnZVByb3h5KFRvdWNoVmlld0ludGVyZmFjZSogdmlld0ludGVyZmFj
ZSwgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogdmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSkK
LSAgICA6IFF0V2ViUGFnZVByb3h5KHZpZXdJbnRlcmZhY2UsIDApCitRVG91Y2hXZWJQYWdlUHJv
eHk6OlFUb3VjaFdlYlBhZ2VQcm94eShRVG91Y2hXZWJWaWV3UHJpdmF0ZSogdG91Y2hXZWJWaWV3
LCBUb3VjaFZpZXdJbnRlcmZhY2UqIHZpZXdJbnRlcmZhY2UsIFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmUqIHZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUpCisgICAgOiBRdFdlYlBhZ2VQcm94eSh2
aWV3SW50ZXJmYWNlLCB0b3VjaFdlYlZpZXcsIDAsIDApCiAgICAgLCBtX3Bhbkdlc3R1cmVSZWNv
Z25pemVyKHZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUpCiAgICAgLCBtX3BpbmNoR2VzdHVyZVJl
Y29nbml6ZXIodmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSkKIHsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9xdG91Y2h3ZWJwYWdlcHJveHkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvcXRvdWNod2VicGFnZXByb3h5LmgJKHJldmlzaW9uIDk2
ODMxKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTQgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Y2xhc3MgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTsKIH0KK2NsYXNzIFFUb3VjaFdlYlZpZXdQ
cml2YXRlOwogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBjbGFzcyBRVG91Y2hXZWJQYWdl
UHJveHkgOiBwdWJsaWMgUXRXZWJQYWdlUHJveHkKIHsKIHB1YmxpYzoKLSAgICBRVG91Y2hXZWJQ
YWdlUHJveHkoVG91Y2hWaWV3SW50ZXJmYWNlKiwgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSop
OworICAgIFFUb3VjaFdlYlBhZ2VQcm94eShRVG91Y2hXZWJWaWV3UHJpdmF0ZSosIFRvdWNoVmll
d0ludGVyZmFjZSosIFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqKTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVFdmVudChRRXZlbnQqKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110739</attachid>
            <date>2011-10-12 13:51:32 -0700</date>
            <delta_ts>2011-10-13 10:12:28 -0700</delta_ts>
            <desc>updated patch with reviewer comments</desc>
            <filename>69572a.patch</filename>
            <type>text/plain</type>
            <size>10383</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODY0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTAtMDYgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1tRdF0gUVRv
dWNoV2ViVmlldyBtaXNzaW5nIG5hdmlnYXRpb25Qb2xpY3lGb3JVcmwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmF2aWdhdGlvblBv
bGljeUZvclVybC4gVGhpcyBpcyBzaW1pbGFyIHRvIERlc2t0b3BXZWJWaWV3IGltcGxlbWVudGF0
aW9uLiBJdCBwcm92aWRlcyB0aGUgZmxleGliaWx0aXkgdG8gc3BlY2lmeSBjdXN0b20gbmF2aWdh
dGlvbiBwb2xpY2llcyBmb3IgVG91Y2hXZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFUb3VjaFdlYlZpZXdQcml2YXRlOjpR
VG91Y2hXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICh0b1BvbGljeUFjdGlvbik6CisgICAgICAg
IChoYXNNZXRhTWV0aG9kKToKKyAgICAgICAgKFFUb3VjaFdlYlZpZXdQcml2YXRlOjpuYXZpZ2F0
aW9uUG9saWN5Rm9yVVJMKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZp
ZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXdfcC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9u
YXZpZ2F0aW9uUG9saWN5Rm9yVXJsLnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisgICAgICAgICogVUlQcm9jZXNzL3F0
L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHA6CisgICAgICAgIChRVG91Y2hXZWJQYWdlUHJveHk6OlFU
b3VjaFdlYlBhZ2VQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vw
cm94eS5oOgorCiAyMDExLTEwLTA2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgSW4gYmFja2dyb3VuZCB3aW5kb3csIHBhZ2UgZmxhc2hlcyB3aGl0ZSBp
ZiBpdCBlbnRlcnMgYW5kIHRoZW4gaW1tZWRpYXRlbHkgbGVhdmVzIGNvbXBvc2l0aW5nIG1vZGUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2
aWV3LmNwcAkocmV2aXNpb24gOTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIFFU
b3VjaFdlYlZpZXdQcml2YXRlOjpRVG91Y2hXZWJWaWV3UHJpdmEKICAgICAsIHBhZ2VWaWV3KG5l
dyBRVG91Y2hXZWJQYWdlKHEpKQogICAgICwgdmlld0ludGVyZmFjZShxLCBwYWdlVmlldy5kYXRh
KCkpCiAgICAgLCBpbnRlcmFjdGlvbkVuZ2luZShxLCBwYWdlVmlldy5kYXRhKCkpCi0gICAgLCBw
YWdlKCZ2aWV3SW50ZXJmYWNlLCAmaW50ZXJhY3Rpb25FbmdpbmUpCisgICAgLCBwYWdlKCZ2aWV3
SW50ZXJmYWNlLCB0aGlzLCAmaW50ZXJhY3Rpb25FbmdpbmUpCiB7CiAgICAgUVRvdWNoV2ViUGFn
ZVByaXZhdGUqIGNvbnN0IHBhZ2VWaWV3UHJpdmF0ZSA9IHBhZ2VWaWV3LmRhdGEoKS0+ZDsKICAg
ICBwYWdlVmlld1ByaXZhdGUtPnNldFBhZ2UoJnBhZ2UpOwpAQCAtMTE5LDQgKzExOSw0NCBAQCB2
b2lkIFFUb3VjaFdlYlZpZXc6Omdlb21ldHJ5Q2hhbmdlZChjb25zCiAgICAgfQogfQogCitzdGF0
aWMgUG9saWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gdG9Qb2xpY3lBY3Rpb24oUVRvdWNoV2Vi
Vmlldzo6TmF2aWdhdGlvblBvbGljeSBwb2xpY3kpCit7CisgICAgc3dpdGNoIChwb2xpY3kpIHsK
KyAgICBjYXNlIFFUb3VjaFdlYlZpZXc6OlVzZVBvbGljeToKKyAgICAgICAgcmV0dXJuIFBvbGlj
eUludGVyZmFjZTo6VXNlOworICAgIGNhc2UgUVRvdWNoV2ViVmlldzo6RG93bmxvYWRQb2xpY3k6
CisgICAgICAgIHJldHVybiBQb2xpY3lJbnRlcmZhY2U6OkRvd25sb2FkOworICAgIGNhc2UgUVRv
dWNoV2ViVmlldzo6SWdub3JlUG9saWN5OgorICAgICAgICByZXR1cm4gUG9saWN5SW50ZXJmYWNl
OjpJZ25vcmU7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBQ
b2xpY3lJbnRlcmZhY2U6Oklnbm9yZTsKK30KKworc3RhdGljIGJvb2wgaGFzTWV0YU1ldGhvZChR
T2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG1ldGhvZE5hbWUpCit7CisgICAgaW50IG1ldGhv
ZEluZGV4ID0gb2JqZWN0LT5tZXRhT2JqZWN0KCktPmluZGV4T2ZNZXRob2QoUU1ldGFPYmplY3Q6
Om5vcm1hbGl6ZWRTaWduYXR1cmUobWV0aG9kTmFtZSkpOworICAgIHJldHVybiBtZXRob2RJbmRl
eCA+PSAwICYmIG1ldGhvZEluZGV4IDwgb2JqZWN0LT5tZXRhT2JqZWN0KCktPm1ldGhvZENvdW50
KCk7Cit9CisKKy8qIQorICAgIFxxbWxtZXRob2QgTmF2aWdhdGlvblBvbGljeSBUb3VjaFdlYlZp
ZXc6Om5hdmlnYXRpb25Qb2xpY3lGb3JVcmwodXJsLCBidXR0b24sIG1vZGlmaWVycykKKworICAg
IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgdXNlciBvZiBUb3VjaFdl
YlZpZXcgZWxlbWVudC4KKworICAgIEl0IHdpbGwgYmUgY2FsbGVkIHRvIGRlY2lkZSB0aGUgcG9s
aWN5IGZvciBhIG5hdmlnYXRpb246IHdoZXRoZXIgdGhlIFdlYlZpZXcgc2hvdWxkIGlnbm9yZSB0
aGUgbmF2aWdhdGlvbiwKKyAgICBjb250aW51ZSBpdCBvciBzdGFydCBhIGRvd25sb2FkLiBUaGUg
cmV0dXJuIHZhbHVlIG11c3QgYmUgb25lIG9mIHRoZSBwb2xpY2llcyBpbiB0aGUgTmF2aWdhdGlv
blBvbGljeSBlbnVtZXJhdGlvbi4KKyovCitQb2xpY3lJbnRlcmZhY2U6OlBvbGljeUFjdGlvbiBR
VG91Y2hXZWJWaWV3UHJpdmF0ZTo6bmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBRVXJsJiB1
cmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmll
cnMpCit7CisgICAgLy8gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2UgaW52b2tl
TWV0aG9kKCkgd2FybnMgaWYgdGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IGZvciB0aGUgb2JqZWN0
LgorICAgIGlmICghaGFzTWV0YU1ldGhvZChxLCAibmF2aWdhdGlvblBvbGljeUZvclVybChRVmFy
aWFudCxRVmFyaWFudCxRVmFyaWFudCkiKSkKKyAgICAgICAgcmV0dXJuIFBvbGljeUludGVyZmFj
ZTo6VXNlOworCisgICAgUVZhcmlhbnQgcmV0OworICAgIGlmIChRTWV0YU9iamVjdDo6aW52b2tl
TWV0aG9kKHEsICJuYXZpZ2F0aW9uUG9saWN5Rm9yVXJsIiwgUV9SRVRVUk5fQVJHKFFWYXJpYW50
LCByZXQpLCBRX0FSRyhRVmFyaWFudCwgdXJsKSwgUV9BUkcoUVZhcmlhbnQsIGJ1dHRvbiksIFFf
QVJHKFFWYXJpYW50LCBRVmFyaWFudChtb2RpZmllcnMpKSkpCisgICAgICAgIHJldHVybiB0b1Bv
bGljeUFjdGlvbihzdGF0aWNfY2FzdDxRVG91Y2hXZWJWaWV3OjpOYXZpZ2F0aW9uUG9saWN5Pihy
ZXQudG9JbnQoKSkpOworICAgIHJldHVybiBQb2xpY3lJbnRlcmZhY2U6OlVzZTsKK30KKwogI2lu
Y2x1ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCShyZXZpc2lvbiA5NjgzMSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw4ICszNiwxNSBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRVG91Y2hXZWJWaWV3
IDogcHViCiB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFUb3VjaFdlYlBhZ2UqIHBh
Z2UgUkVBRCBwYWdlIENPTlNUQU5UIEZJTkFMKQorICAgIFFfRU5VTVMoTmF2aWdhdGlvblBvbGlj
eSkKIAogcHVibGljOgorICAgIGVudW0gTmF2aWdhdGlvblBvbGljeSB7CisgICAgICAgICBVc2VQ
b2xpY3ksCisgICAgICAgICBEb3dubG9hZFBvbGljeSwKKyAgICAgICAgIElnbm9yZVBvbGljeQor
ICAgICB9OworCiAgICAgUVRvdWNoV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQgPSAwKTsKICAgICB+
UVRvdWNoV2ViVmlldygpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnZpZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2Vidmlld19wLmgJKHJldmlzaW9uIDk2ODMxKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3X3AuaAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNiArMjEsNyBAQAogI2lmbmRlZiBxdG91Y2h3ZWJ2aWV3X3BfaAogI2RlZmluZSBxdG91
Y2h3ZWJ2aWV3X3BfaAogCisjaW5jbHVkZSAiUG9saWN5SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSA8
UVNjb3BlZFBvaW50ZXI+CiAjaW5jbHVkZSAicXRvdWNod2VicGFnZXByb3h5LmgiCiAjaW5jbHVk
ZSAiVG91Y2hWaWV3SW50ZXJmYWNlLmgiCkBAIC0yOSw3ICszMCw3IEBACiBjbGFzcyBRVG91Y2hX
ZWJQYWdlOwogY2xhc3MgUVRvdWNoV2ViVmlldzsKIAotY2xhc3MgUVRvdWNoV2ViVmlld1ByaXZh
dGUKK2NsYXNzIFFUb3VjaFdlYlZpZXdQcml2YXRlOiBwdWJsaWMgV2ViS2l0OjpQb2xpY3lJbnRl
cmZhY2UgCiB7CiBwdWJsaWM6CiAgICAgUVRvdWNoV2ViVmlld1ByaXZhdGUoUVRvdWNoV2ViVmll
dyogcSk7CkBAIC00OCw2ICs0OSwxMCBAQCBwdWJsaWM6CiAgICAgUVRvdWNoV2ViUGFnZVByb3h5
IHBhZ2U7CiAKICAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50
czsKKworIHByaXZhdGU6CisgICAgLy8gUG9saWN5SW50ZXJmYWNlLgorICAgIHZpcnR1YWwgUG9s
aWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gbmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBR
VXJsJiwgUXQ6Ok1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMpOwogfTsKIAogI2Vu
ZGlmIC8qIHF0b3VjaHdlYnZpZXdfcF9oICovCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3Rlc3RzLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Rlc3RzLnBybwkocmV2aXNpb24gOTY4MzEpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Rlc3RzLnBybwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDMgQEAKIFRFTVBMQVRFID0gc3ViZGlycwogU1VCRElSUyA9IHF0b3VjaHdl
YnZpZXcgcWRlc2t0b3B3ZWJ2aWV3IGNvbW1vbnZpZXd0ZXN0cwotbGVzc1RoYW4oUVRfTUFKT1Jf
VkVSU0lPTiwgNSk6IFNVQkRJUlMgKz0gcW1sdGVzdHMKK2xlc3NUaGFuKFFUX01BSk9SX1ZFUlNJ
T04sIDYpOiBTVUJESVJTICs9IHFtbHRlc3RzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybwko
cmV2aXNpb24gOTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL3FtbHRlc3RzLnBybwkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsNyBAQCBP
VEhFUl9GSUxFUyArPSBcCiAgICAgRGVza3RvcFdlYlZpZXcvdHN0X2xpbmtIb3ZlcmVkLnFtbCBc
CiAgICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbCBcCiAgICAgVG91Y2hXZWJWaWV3
L3RzdF9sb2FkLnFtbCBcCisgICAgVG91Y2hXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9y
VXJsLnFtbCBcCiAgICAgVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFtbCBcCiAg
ICAgVG91Y2hXZWJWaWV3L3RzdF9sb2FkTmVnYXRpdmVTaXplVmlldy5xbWwgXAogICAgIFRvdWNo
V2ViVmlldy90c3RfbG9hZFByb2dyZXNzLnFtbCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbmF2aWdhdGlvblBv
bGljeUZvclVybC5xbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X25hdmlnYXRpb25Qb2xpY3lGb3JV
cmwucW1sCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X25hdmlnYXRpb25Qb2xpY3lGb3JVcmwucW1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYzIEBACitpbXBvcnQgUXRRdWljayAyLjAKK2ltcG9y
dCBRdFRlc3QgMS4wCitpbXBvcnQgUXRXZWJLaXQuZXhwZXJpbWVudGFsIDUuMAorCitJdGVtIHsK
KyAgICBUb3VjaFdlYlZpZXcgeworICAgICAgICBpZDogd2ViVmlldworICAgICAgICB3aWR0aDog
MjAwCisgICAgICAgIGhlaWdodDogMjAwCisgICAgICAgIGZ1bmN0aW9uIG5hdmlnYXRpb25Qb2xp
Y3lGb3JVcmwodXJsLCBidXR0b24sIG1vZGlmaWVycykgeworICAgICAgICAgICAgaWYgKGJ1dHRv
biA9PSBRdC5NaWRkbGVCdXR0b24gJiYgbW9kaWZpZXJzICYgUXQuQ29udHJvbE1vZGlmaWVyKSB7
CisgICAgICAgICAgICAgICAgb3RoZXJXZWJWaWV3LnBhZ2UubG9hZCh1cmwpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIFRvdWNoV2ViVmlldy5JZ25vcmVQb2xpY3kKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHJldHVybiBUb3VjaFdlYlZpZXcuVXNlUG9saWN5CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdldDogd2Vi
Vmlldy5wYWdlCisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAgIH0KKwor
ICAgIFRvdWNoV2ViVmlldyB7CisgICAgICAgIGlkOiBvdGhlcldlYlZpZXcKKyAgICB9CisKKyAg
ICBTaWduYWxTcHkgeworICAgICAgICBpZDogb3RoZXJTcHkKKyAgICAgICAgdGFyZ2V0OiBvdGhl
cldlYlZpZXcucGFnZQorICAgICAgICBzaWduYWxOYW1lOiAibG9hZFN1Y2NlZWRlZCIKKyAgICB9
CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIG5hbWU6ICJUb3VjaFdlYlZpZXdOYXZpZ2F0aW9u
UG9saWN5Rm9yVXJsIgorICAgICAgICB3aGVuOiB3aW5kb3dTaG93bgorCisgICAgICAgIGZ1bmN0
aW9uIHRlc3RfdXNlUG9saWN5KCkgeworICAgICAgICAgICAgd2ViVmlldy5wYWdlLmxvYWQoUXQu
cmVzb2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0Mi5odG1sIikpCisgICAgICAgICAgICBzcHkud2Fp
dCgpCisgICAgICAgICAgICBzcHkuY2xlYXIoKQorICAgICAgICAgICAgY29tcGFyZShzcHkuY291
bnQsIDApCisgICAgICAgICAgICBtb3VzZUNsaWNrKHdlYlZpZXcucGFnZSwgMTAwLCAxMDAsIFF0
LkxlZnRCdXR0b24pCisgICAgICAgICAgICBzcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJl
KHNweS5jb3VudCwgMSkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAi
VGVzdCBwYWdlIDEiKQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdF9pZ25vcmVQ
b2xpY3koKSB7CisgICAgICAgICAgICB3ZWJWaWV3LnBhZ2UubG9hZChRdC5yZXNvbHZlZFVybCgi
Li4vY29tbW9uL3Rlc3QyLmh0bWwiKSkKKyAgICAgICAgICAgIHNweS53YWl0KCkKKyAgICAgICAg
ICAgIHNweS5jbGVhcigpCisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwgMCkKKyAgICAg
ICAgICAgIGNvbXBhcmUob3RoZXJTcHkuY291bnQsIDApCisgICAgICAgICAgICBtb3VzZUNsaWNr
KHdlYlZpZXcucGFnZSwgMTAwLCAxMDAsIFF0Lk1pZGRsZUJ1dHRvbiwgUXQuQ29udHJvbE1vZGlm
aWVyKQorICAgICAgICAgICAgb3RoZXJTcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHNw
eS5jb3VudCwgMCkKKyAgICAgICAgICAgIGNvbXBhcmUob3RoZXJTcHkuY291bnQsIDEpCisgICAg
ICAgICAgICBjb21wYXJlKG90aGVyV2ViVmlldy5wYWdlLnRpdGxlLCAiVGVzdCBwYWdlIDEiKQor
ICAgICAgICB9CisgICAgfQorfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0
b3VjaHdlYnBhZ2Vwcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHAJKHJldmlzaW9uIDk2ODMxKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDggKzI3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVFUb3Vj
aFdlYlBhZ2VQcm94eTo6UVRvdWNoV2ViUGFnZVByb3h5KFRvdWNoVmlld0ludGVyZmFjZSogdmll
d0ludGVyZmFjZSwgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogdmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZSkKLSAgICA6IFF0V2ViUGFnZVByb3h5KHZpZXdJbnRlcmZhY2UsIDApCitRVG91Y2hX
ZWJQYWdlUHJveHk6OlFUb3VjaFdlYlBhZ2VQcm94eShUb3VjaFZpZXdJbnRlcmZhY2UqIHZpZXdJ
bnRlcmZhY2UsIFBvbGljeUludGVyZmFjZSogdG91Y2hXZWJWaWV3LCBWaWV3cG9ydEludGVyYWN0
aW9uRW5naW5lKiB2aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKQorICAgIDogUXRXZWJQYWdlUHJv
eHkodmlld0ludGVyZmFjZSwgdG91Y2hXZWJWaWV3LCAwLCAwKQogICAgICwgbV9wYW5HZXN0dXJl
UmVjb2duaXplcih2aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKQogICAgICwgbV9waW5jaEdlc3R1
cmVSZWNvZ25pemVyKHZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUpCiB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvcXRvdWNod2VicGFnZXByb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5oCShyZXZpc2lv
biA5NjgzMSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9xdG91Y2h3ZWJwYWdlcHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogCiAKICNpbmNsdWRlICJEcmF3
aW5nQXJlYVByb3h5LmgiCisjaW5jbHVkZSAiUG9saWN5SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAi
UXRQYW5HZXN0dXJlUmVjb2duaXplci5oIgogI2luY2x1ZGUgIlF0UGluY2hHZXN0dXJlUmVjb2du
aXplci5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCkBAIC0zOSw3ICs0MCw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiBjbGFzcyBRVG91Y2hXZWJQYWdlUHJveHkgOiBwdWJsaWMg
UXRXZWJQYWdlUHJveHkKIHsKIHB1YmxpYzoKLSAgICBRVG91Y2hXZWJQYWdlUHJveHkoVG91Y2hW
aWV3SW50ZXJmYWNlKiwgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSopOworICAgIFFUb3VjaFdl
YlBhZ2VQcm94eShUb3VjaFZpZXdJbnRlcmZhY2UqLCBQb2xpY3lJbnRlcmZhY2UqLCBWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lKik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoUUV2
ZW50Kik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110864</attachid>
            <date>2011-10-13 10:12:28 -0700</date>
            <delta_ts>2011-10-14 01:29:40 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>69572b.patch</filename>
            <type>text/plain</type>
            <size>9927</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODY0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTAtMDYgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1tRdF0gUVRv
dWNoV2ViVmlldyBtaXNzaW5nIG5hdmlnYXRpb25Qb2xpY3lGb3JVcmwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgbmF2aWdhdGlvblBv
bGljeUZvclVybC4gVGhpcyBpcyBzaW1pbGFyIHRvIERlc2t0b3BXZWJWaWV3IGltcGxlbWVudGF0
aW9uLiBJdCBwcm92aWRlcyB0aGUgZmxleGliaWx0aXkgdG8gc3BlY2lmeSBjdXN0b20gbmF2aWdh
dGlvbiBwb2xpY2llcyBmb3IgVG91Y2hXZWJWaWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFUb3VjaFdlYlZpZXdQcml2YXRlOjpR
VG91Y2hXZWJWaWV3UHJpdmF0ZSk6CisgICAgICAgICh0b1BvbGljeUFjdGlvbik6CisgICAgICAg
IChoYXNNZXRhTWV0aG9kKToKKyAgICAgICAgKFFUb3VjaFdlYlZpZXdQcml2YXRlOjpuYXZpZ2F0
aW9uUG9saWN5Rm9yVVJMKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZp
ZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXdfcC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9u
YXZpZ2F0aW9uUG9saWN5Rm9yVXJsLnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisgICAgICAgICogVUlQcm9jZXNzL3F0
L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHA6CisgICAgICAgIChRVG91Y2hXZWJQYWdlUHJveHk6OlFU
b3VjaFdlYlBhZ2VQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vw
cm94eS5oOgorCiAyMDExLTEwLTA2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgSW4gYmFja2dyb3VuZCB3aW5kb3csIHBhZ2UgZmxhc2hlcyB3aGl0ZSBp
ZiBpdCBlbnRlcnMgYW5kIHRoZW4gaW1tZWRpYXRlbHkgbGVhdmVzIGNvbXBvc2l0aW5nIG1vZGUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2
aWV3LmNwcAkocmV2aXNpb24gOTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIFFU
b3VjaFdlYlZpZXdQcml2YXRlOjpRVG91Y2hXZWJWaWV3UHJpdmEKICAgICAsIHBhZ2VWaWV3KG5l
dyBRVG91Y2hXZWJQYWdlKHEpKQogICAgICwgdmlld0ludGVyZmFjZShxLCBwYWdlVmlldy5kYXRh
KCkpCiAgICAgLCBpbnRlcmFjdGlvbkVuZ2luZShxLCBwYWdlVmlldy5kYXRhKCkpCi0gICAgLCBw
YWdlKCZ2aWV3SW50ZXJmYWNlLCAmaW50ZXJhY3Rpb25FbmdpbmUpCisgICAgLCBwYWdlKCZ2aWV3
SW50ZXJmYWNlLCB0aGlzLCAmaW50ZXJhY3Rpb25FbmdpbmUpCiB7CiAgICAgUVRvdWNoV2ViUGFn
ZVByaXZhdGUqIGNvbnN0IHBhZ2VWaWV3UHJpdmF0ZSA9IHBhZ2VWaWV3LmRhdGEoKS0+ZDsKICAg
ICBwYWdlVmlld1ByaXZhdGUtPnNldFBhZ2UoJnBhZ2UpOwpAQCAtMTE5LDQgKzExOSw0NCBAQCB2
b2lkIFFUb3VjaFdlYlZpZXc6Omdlb21ldHJ5Q2hhbmdlZChjb25zCiAgICAgfQogfQogCitzdGF0
aWMgUG9saWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gdG9Qb2xpY3lBY3Rpb24oUVRvdWNoV2Vi
Vmlldzo6TmF2aWdhdGlvblBvbGljeSBwb2xpY3kpCit7CisgICAgc3dpdGNoIChwb2xpY3kpIHsK
KyAgICBjYXNlIFFUb3VjaFdlYlZpZXc6OlVzZVBvbGljeToKKyAgICAgICAgcmV0dXJuIFBvbGlj
eUludGVyZmFjZTo6VXNlOworICAgIGNhc2UgUVRvdWNoV2ViVmlldzo6RG93bmxvYWRQb2xpY3k6
CisgICAgICAgIHJldHVybiBQb2xpY3lJbnRlcmZhY2U6OkRvd25sb2FkOworICAgIGNhc2UgUVRv
dWNoV2ViVmlldzo6SWdub3JlUG9saWN5OgorICAgICAgICByZXR1cm4gUG9saWN5SW50ZXJmYWNl
OjpJZ25vcmU7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBQ
b2xpY3lJbnRlcmZhY2U6Oklnbm9yZTsKK30KKworc3RhdGljIGJvb2wgaGFzTWV0YU1ldGhvZChR
T2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG1ldGhvZE5hbWUpCit7CisgICAgaW50IG1ldGhv
ZEluZGV4ID0gb2JqZWN0LT5tZXRhT2JqZWN0KCktPmluZGV4T2ZNZXRob2QoUU1ldGFPYmplY3Q6
Om5vcm1hbGl6ZWRTaWduYXR1cmUobWV0aG9kTmFtZSkpOworICAgIHJldHVybiBtZXRob2RJbmRl
eCA+PSAwICYmIG1ldGhvZEluZGV4IDwgb2JqZWN0LT5tZXRhT2JqZWN0KCktPm1ldGhvZENvdW50
KCk7Cit9CisKKy8qIQorICAgIFxxbWxtZXRob2QgTmF2aWdhdGlvblBvbGljeSBUb3VjaFdlYlZp
ZXc6Om5hdmlnYXRpb25Qb2xpY3lGb3JVcmwodXJsLCBidXR0b24sIG1vZGlmaWVycykKKworICAg
IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgdXNlciBvZiBUb3VjaFdl
YlZpZXcgZWxlbWVudC4KKworICAgIEl0IHdpbGwgYmUgY2FsbGVkIHRvIGRlY2lkZSB0aGUgcG9s
aWN5IGZvciBhIG5hdmlnYXRpb246IHdoZXRoZXIgdGhlIFdlYlZpZXcgc2hvdWxkIGlnbm9yZSB0
aGUgbmF2aWdhdGlvbiwKKyAgICBjb250aW51ZSBpdCBvciBzdGFydCBhIGRvd25sb2FkLiBUaGUg
cmV0dXJuIHZhbHVlIG11c3QgYmUgb25lIG9mIHRoZSBwb2xpY2llcyBpbiB0aGUgTmF2aWdhdGlv
blBvbGljeSBlbnVtZXJhdGlvbi4KKyovCitQb2xpY3lJbnRlcmZhY2U6OlBvbGljeUFjdGlvbiBR
VG91Y2hXZWJWaWV3UHJpdmF0ZTo6bmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBRVXJsJiB1
cmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmll
cnMpCit7CisgICAgLy8gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2UgaW52b2tl
TWV0aG9kKCkgd2FybnMgaWYgdGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IGZvciB0aGUgb2JqZWN0
LgorICAgIGlmICghaGFzTWV0YU1ldGhvZChxLCAibmF2aWdhdGlvblBvbGljeUZvclVybChRVmFy
aWFudCxRVmFyaWFudCxRVmFyaWFudCkiKSkKKyAgICAgICAgcmV0dXJuIFBvbGljeUludGVyZmFj
ZTo6VXNlOworCisgICAgUVZhcmlhbnQgcmV0OworICAgIGlmIChRTWV0YU9iamVjdDo6aW52b2tl
TWV0aG9kKHEsICJuYXZpZ2F0aW9uUG9saWN5Rm9yVXJsIiwgUV9SRVRVUk5fQVJHKFFWYXJpYW50
LCByZXQpLCBRX0FSRyhRVmFyaWFudCwgdXJsKSwgUV9BUkcoUVZhcmlhbnQsIGJ1dHRvbiksIFFf
QVJHKFFWYXJpYW50LCBRVmFyaWFudChtb2RpZmllcnMpKSkpCisgICAgICAgIHJldHVybiB0b1Bv
bGljeUFjdGlvbihzdGF0aWNfY2FzdDxRVG91Y2hXZWJWaWV3OjpOYXZpZ2F0aW9uUG9saWN5Pihy
ZXQudG9JbnQoKSkpOworICAgIHJldHVybiBQb2xpY3lJbnRlcmZhY2U6OlVzZTsKK30KKwogI2lu
Y2x1ZGUgIm1vY19xdG91Y2h3ZWJ2aWV3LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCShyZXZpc2lvbiA5NjgzMSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNiw4ICszNiwxNSBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRVG91Y2hXZWJWaWV3
IDogcHViCiB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFUb3VjaFdlYlBhZ2UqIHBh
Z2UgUkVBRCBwYWdlIENPTlNUQU5UIEZJTkFMKQorICAgIFFfRU5VTVMoTmF2aWdhdGlvblBvbGlj
eSkKIAogcHVibGljOgorICAgIGVudW0gTmF2aWdhdGlvblBvbGljeSB7CisgICAgICAgICBVc2VQ
b2xpY3ksCisgICAgICAgICBEb3dubG9hZFBvbGljeSwKKyAgICAgICAgIElnbm9yZVBvbGljeQor
ICAgICB9OworCiAgICAgUVRvdWNoV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQgPSAwKTsKICAgICB+
UVRvdWNoV2ViVmlldygpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnZpZXdfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2Vidmlld19wLmgJKHJldmlzaW9uIDk2ODMxKQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3X3AuaAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNiArMjEsNyBAQAogI2lmbmRlZiBxdG91Y2h3ZWJ2aWV3X3BfaAogI2RlZmluZSBxdG91
Y2h3ZWJ2aWV3X3BfaAogCisjaW5jbHVkZSAiUG9saWN5SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSA8
UVNjb3BlZFBvaW50ZXI+CiAjaW5jbHVkZSAicXRvdWNod2VicGFnZXByb3h5LmgiCiAjaW5jbHVk
ZSAiVG91Y2hWaWV3SW50ZXJmYWNlLmgiCkBAIC0yOSw3ICszMCw3IEBACiBjbGFzcyBRVG91Y2hX
ZWJQYWdlOwogY2xhc3MgUVRvdWNoV2ViVmlldzsKIAotY2xhc3MgUVRvdWNoV2ViVmlld1ByaXZh
dGUKK2NsYXNzIFFUb3VjaFdlYlZpZXdQcml2YXRlOiBwdWJsaWMgV2ViS2l0OjpQb2xpY3lJbnRl
cmZhY2UgCiB7CiBwdWJsaWM6CiAgICAgUVRvdWNoV2ViVmlld1ByaXZhdGUoUVRvdWNoV2ViVmll
dyogcSk7CkBAIC00OCw2ICs0OSwxMCBAQCBwdWJsaWM6CiAgICAgUVRvdWNoV2ViUGFnZVByb3h5
IHBhZ2U7CiAKICAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50
czsKKworIHByaXZhdGU6CisgICAgLy8gUG9saWN5SW50ZXJmYWNlLgorICAgIHZpcnR1YWwgUG9s
aWN5SW50ZXJmYWNlOjpQb2xpY3lBY3Rpb24gbmF2aWdhdGlvblBvbGljeUZvclVSTChjb25zdCBR
VXJsJiwgUXQ6Ok1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMpOwogfTsKIAogI2Vu
ZGlmIC8qIHF0b3VjaHdlYnZpZXdfcF9oICovCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybwko
cmV2aXNpb24gOTY4MzEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL3FtbHRlc3RzLnBybwkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsNyBAQCBP
VEhFUl9GSUxFUyArPSBcCiAgICAgRGVza3RvcFdlYlZpZXcvdHN0X2xpbmtIb3ZlcmVkLnFtbCBc
CiAgICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbCBcCiAgICAgVG91Y2hXZWJWaWV3
L3RzdF9sb2FkLnFtbCBcCisgICAgVG91Y2hXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9y
VXJsLnFtbCBcCiAgICAgVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFtbCBcCiAg
ICAgVG91Y2hXZWJWaWV3L3RzdF9sb2FkTmVnYXRpdmVTaXplVmlldy5xbWwgXAogICAgIFRvdWNo
V2ViVmlldy90c3RfbG9hZFByb2dyZXNzLnFtbCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbmF2aWdhdGlvblBv
bGljeUZvclVybC5xbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X25hdmlnYXRpb25Qb2xpY3lGb3JV
cmwucW1sCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X25hdmlnYXRpb25Qb2xpY3lGb3JVcmwucW1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYzIEBACitpbXBvcnQgUXRRdWljayAyLjAKK2ltcG9y
dCBRdFRlc3QgMS4wCitpbXBvcnQgUXRXZWJLaXQuZXhwZXJpbWVudGFsIDUuMAorCitJdGVtIHsK
KyAgICBUb3VjaFdlYlZpZXcgeworICAgICAgICBpZDogd2ViVmlldworICAgICAgICB3aWR0aDog
MjAwCisgICAgICAgIGhlaWdodDogMjAwCisgICAgICAgIGZ1bmN0aW9uIG5hdmlnYXRpb25Qb2xp
Y3lGb3JVcmwodXJsLCBidXR0b24sIG1vZGlmaWVycykgeworICAgICAgICAgICAgaWYgKGJ1dHRv
biA9PSBRdC5NaWRkbGVCdXR0b24gJiYgbW9kaWZpZXJzICYgUXQuQ29udHJvbE1vZGlmaWVyKSB7
CisgICAgICAgICAgICAgICAgb3RoZXJXZWJWaWV3LnBhZ2UubG9hZCh1cmwpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIFRvdWNoV2ViVmlldy5JZ25vcmVQb2xpY3kKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHJldHVybiBUb3VjaFdlYlZpZXcuVXNlUG9saWN5CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdldDogd2Vi
Vmlldy5wYWdlCisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAgIH0KKwor
ICAgIFRvdWNoV2ViVmlldyB7CisgICAgICAgIGlkOiBvdGhlcldlYlZpZXcKKyAgICB9CisKKyAg
ICBTaWduYWxTcHkgeworICAgICAgICBpZDogb3RoZXJTcHkKKyAgICAgICAgdGFyZ2V0OiBvdGhl
cldlYlZpZXcucGFnZQorICAgICAgICBzaWduYWxOYW1lOiAibG9hZFN1Y2NlZWRlZCIKKyAgICB9
CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIG5hbWU6ICJUb3VjaFdlYlZpZXdOYXZpZ2F0aW9u
UG9saWN5Rm9yVXJsIgorICAgICAgICB3aGVuOiB3aW5kb3dTaG93bgorCisgICAgICAgIGZ1bmN0
aW9uIHRlc3RfdXNlUG9saWN5KCkgeworICAgICAgICAgICAgd2ViVmlldy5wYWdlLmxvYWQoUXQu
cmVzb2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0Mi5odG1sIikpCisgICAgICAgICAgICBzcHkud2Fp
dCgpCisgICAgICAgICAgICBzcHkuY2xlYXIoKQorICAgICAgICAgICAgY29tcGFyZShzcHkuY291
bnQsIDApCisgICAgICAgICAgICBtb3VzZUNsaWNrKHdlYlZpZXcucGFnZSwgMTAwLCAxMDAsIFF0
LkxlZnRCdXR0b24pCisgICAgICAgICAgICBzcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJl
KHNweS5jb3VudCwgMSkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAi
VGVzdCBwYWdlIDEiKQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdF9pZ25vcmVQ
b2xpY3koKSB7CisgICAgICAgICAgICB3ZWJWaWV3LnBhZ2UubG9hZChRdC5yZXNvbHZlZFVybCgi
Li4vY29tbW9uL3Rlc3QyLmh0bWwiKSkKKyAgICAgICAgICAgIHNweS53YWl0KCkKKyAgICAgICAg
ICAgIHNweS5jbGVhcigpCisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwgMCkKKyAgICAg
ICAgICAgIGNvbXBhcmUob3RoZXJTcHkuY291bnQsIDApCisgICAgICAgICAgICBtb3VzZUNsaWNr
KHdlYlZpZXcucGFnZSwgMTAwLCAxMDAsIFF0Lk1pZGRsZUJ1dHRvbiwgUXQuQ29udHJvbE1vZGlm
aWVyKQorICAgICAgICAgICAgb3RoZXJTcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHNw
eS5jb3VudCwgMCkKKyAgICAgICAgICAgIGNvbXBhcmUob3RoZXJTcHkuY291bnQsIDEpCisgICAg
ICAgICAgICBjb21wYXJlKG90aGVyV2ViVmlldy5wYWdlLnRpdGxlLCAiVGVzdCBwYWdlIDEiKQor
ICAgICAgICB9CisgICAgfQorfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0
b3VjaHdlYnBhZ2Vwcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHAJKHJldmlzaW9uIDk2ODMxKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDggKzI3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVFUb3Vj
aFdlYlBhZ2VQcm94eTo6UVRvdWNoV2ViUGFnZVByb3h5KFRvdWNoVmlld0ludGVyZmFjZSogdmll
d0ludGVyZmFjZSwgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogdmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZSkKLSAgICA6IFF0V2ViUGFnZVByb3h5KHZpZXdJbnRlcmZhY2UsIDApCitRVG91Y2hX
ZWJQYWdlUHJveHk6OlFUb3VjaFdlYlBhZ2VQcm94eShUb3VjaFZpZXdJbnRlcmZhY2UqIHZpZXdJ
bnRlcmZhY2UsIFBvbGljeUludGVyZmFjZSogdG91Y2hXZWJWaWV3LCBWaWV3cG9ydEludGVyYWN0
aW9uRW5naW5lKiB2aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKQorICAgIDogUXRXZWJQYWdlUHJv
eHkodmlld0ludGVyZmFjZSwgdG91Y2hXZWJWaWV3LCAwLCAwKQogICAgICwgbV9wYW5HZXN0dXJl
UmVjb2duaXplcih2aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKQogICAgICwgbV9waW5jaEdlc3R1
cmVSZWNvZ25pemVyKHZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUpCiB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvcXRvdWNod2VicGFnZXByb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L3F0b3VjaHdlYnBhZ2Vwcm94eS5oCShyZXZpc2lv
biA5NjgzMSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9xdG91Y2h3ZWJwYWdlcHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogCiAKICNpbmNsdWRlICJEcmF3
aW5nQXJlYVByb3h5LmgiCisjaW5jbHVkZSAiUG9saWN5SW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAi
UXRQYW5HZXN0dXJlUmVjb2duaXplci5oIgogI2luY2x1ZGUgIlF0UGluY2hHZXN0dXJlUmVjb2du
aXplci5oIgogI2luY2x1ZGUgIlF0V2ViUGFnZVByb3h5LmgiCkBAIC0zOSw3ICs0MCw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiBjbGFzcyBRVG91Y2hXZWJQYWdlUHJveHkgOiBwdWJsaWMg
UXRXZWJQYWdlUHJveHkKIHsKIHB1YmxpYzoKLSAgICBRVG91Y2hXZWJQYWdlUHJveHkoVG91Y2hW
aWV3SW50ZXJmYWNlKiwgVmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSopOworICAgIFFUb3VjaFdl
YlBhZ2VQcm94eShUb3VjaFZpZXdJbnRlcmZhY2UqLCBQb2xpY3lJbnRlcmZhY2UqLCBWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lKik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoUUV2
ZW50Kik7CiAK
</data>
<flag name="review"
          id="108495"
          type_id="1"
          status="-"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="108496"
          type_id="3"
          status="-"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>