<?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>85998</bug_id>
          
          <creation_ts>2012-05-09 08:51:00 -0700</creation_ts>
          <short_desc>[GTK] Add webkit_web_view_can_show_mime_type() to WebKit2 GTK+ API</short_desc>
          <delta_ts>2012-05-29 23:43:02 -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>PC</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>619527</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-09 08:51:00 -0700</bug_when>
    <thetext>It&apos;s useful to know whether a mime type can be displayed in a WebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619532</commentid>
    <comment_count>1</comment_count>
      <attachid>140955</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-09 08:56:16 -0700</bug_when>
    <thetext>Created attachment 140955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619538</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 09:01:17 -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>619556</commentid>
    <comment_count>3</comment_count>
      <attachid>140955</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-05-09 09:16:47 -0700</bug_when>
    <thetext>Comment on attachment 140955
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:202
&gt; +    if (decisionType != WEBKIT_POLICY_DECISION_TYPE_RESPONSE) {
&gt; +        webkit_policy_decision_use(decision);
&gt; +        return TRUE;
&gt; +    }
&gt; +
&gt; +    WebKitURIResponse* response = webkit_response_policy_decision_get_response(WEBKIT_RESPONSE_POLICY_DECISION(decision));
&gt; +    if (webkit_web_view_can_show_mime_type(webView, webkit_uri_response_get_mime_type(response)))
&gt; +        webkit_policy_decision_use(decision);
&gt; +    else
&gt; +        webkit_policy_decision_download(decision);
&gt; +

Hrm. It seems odd that a library would write non-cache data to the filesystem without the embedder specifically opting in to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619566</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-09 09:24:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 140955 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140955&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:202
&gt; &gt; +    if (decisionType != WEBKIT_POLICY_DECISION_TYPE_RESPONSE) {
&gt; &gt; +        webkit_policy_decision_use(decision);
&gt; &gt; +        return TRUE;
&gt; &gt; +    }
&gt; &gt; +
&gt; &gt; +    WebKitURIResponse* response = webkit_response_policy_decision_get_response(WEBKIT_RESPONSE_POLICY_DECISION(decision));
&gt; &gt; +    if (webkit_web_view_can_show_mime_type(webView, webkit_uri_response_get_mime_type(response)))
&gt; &gt; +        webkit_policy_decision_use(decision);
&gt; &gt; +    else
&gt; &gt; +        webkit_policy_decision_download(decision);
&gt; &gt; +
&gt; 
&gt; Hrm. It seems odd that a library would write non-cache data to the filesystem without the embedder specifically opting in to that.

This is what wk1 does, try to open a binary file in minibrowser, for example, and the data is loaded inot the view as text. That&apos;s no expected. Note that download() doesn&apos;t download the file, but initiates a download operation. That&apos;s how all browsers work when you click on link and the content can&apos;t be shown in the web view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619569</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-09 09:26:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 140955 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140955&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:202
&gt; &gt; &gt; +    if (decisionType != WEBKIT_POLICY_DECISION_TYPE_RESPONSE) {
&gt; &gt; &gt; +        webkit_policy_decision_use(decision);
&gt; &gt; &gt; +        return TRUE;
&gt; &gt; &gt; +    }
&gt; &gt; &gt; +
&gt; &gt; &gt; +    WebKitURIResponse* response = webkit_response_policy_decision_get_response(WEBKIT_RESPONSE_POLICY_DECISION(decision));
&gt; &gt; &gt; +    if (webkit_web_view_can_show_mime_type(webView, webkit_uri_response_get_mime_type(response)))
&gt; &gt; &gt; +        webkit_policy_decision_use(decision);
&gt; &gt; &gt; +    else
&gt; &gt; &gt; +        webkit_policy_decision_download(decision);
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; Hrm. It seems odd that a library would write non-cache data to the filesystem without the embedder specifically opting in to that.
&gt; 
&gt; This is what wk1 does, try to open a binary file in minibrowser, for example, and the data is loaded inot the view as text. That&apos;s no expected. Note that download() doesn&apos;t download the file, but initiates a download operation. That&apos;s how all browsers work when you click on link and the content can&apos;t be shown in the web view.

wait, I&apos;m wrong, they ignore it actually, only download it when response has an attachment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619588</commentid>
    <comment_count>6</comment_count>
      <attachid>140961</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-09 09:44:57 -0700</bug_when>
    <thetext>Created attachment 140961
Updated patch to match wk1 behaviour</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636088</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-29 09:10:05 -0700</bug_when>
    <thetext>Committed r118786: &lt;http://trac.webkit.org/changeset/118786&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636352</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-29 12:57:47 -0700</bug_when>
    <thetext>ERROR:../../Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp:715:void testWebViewCanShowMIMEType(WebViewTest*, const void*): assertion failed: (webkit_web_view_can_show_mime_type(test-&gt;m_webView, &quot;audio/ogg&quot;))

On the 3 bots. Can you please keep an eye on the bot next time after landing a patch adding new tests? Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636927</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-05-29 23:43:02 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; ERROR:../../Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp:715:void testWebViewCanShowMIMEType(WebViewTest*, const void*): assertion failed: (webkit_web_view_can_show_mime_type(test-&gt;m_webView, &quot;audio/ogg&quot;))
&gt; 
&gt; On the 3 bots. Can you please keep an eye on the bot next time after landing a patch adding new tests? Thanks :)

This passed locally, sorry, I&apos;ll fix it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140955</attachid>
            <date>2012-05-09 08:56:16 -0700</date>
            <delta_ts>2012-05-09 09:44:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-can-show-mime-type.diff</filename>
            <type>text/plain</type>
            <size>17207</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4MWU5YTI1Li4yZjBmNzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTItMDUtMDkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBl
KCkgdG8gV2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbmQgdXNlIGl0IGluIHRoZSBkZWZhdWx0IGhhbmRsZXIgb2YgV2ViS2l0
V2ViVmlldzo6ZGVjaWRlLXBvbGljeQorICAgICAgICBzaWduYWwgdG8gZGVjaWRlIHdoZXRoZXIg
dG8gdXNlIG9yIGRvd25sb2FkIGEgcmVzcG9uc2UgcG9saWN5CisgICAgICAgIGRlY2lzaW9uIGRl
cGVuZGluZyBvbiB3aGV0aGVyIHRoZSBtaW1lIHR5cGUgb2YgdGhlIHJlc3BvbnNlIGNhbiBiZQor
ICAgICAgICBkaXNwbGF5ZWQgaW4gdGhlIFdlYlZpZXcgb3Igbm90LgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwOgorICAgICAgICAod2Via2l0VVJJ
UmVzcG9uc2VHZXRQcm9wZXJ0eSk6IEFkZCBnZXR0ZXIgZm9yIG1pbWUtdHlwZSBwcm9wZXJ0eS4K
KyAgICAgICAgKHdlYmtpdF91cmlfcmVzcG9uc2VfY2xhc3NfaW5pdCk6IEFkZCBtaW1lLXR5cGUg
cHJvcGVydHkuCisgICAgICAgICh3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5cGUpOiBS
ZXR1cm4gdGhlIG1pbWUgdHlwZSBvZiB0aGUKKyAgICAgICAgcmVzcG9uc2UuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdEZWNp
ZGVQb2xpY3kpOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSk6
IFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4KKyAgICAgICAgbWltZSB0eXBlIGNhbiBiZSBkaXNw
bGF5ZWQgaW4gdGhlIFdlYlZpZXcgb3Igbm90LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstc2VjdGlvbnMudHh0OiBBZGQgbmV3IHN5bWJvbHMuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvdGVzdHMvVGVzdFJlc291cmNlcy5jcHA6CisgICAgICAgICh0ZXN0V2ViUmVzb3Vy
Y2VSZXNwb25zZSk6CisgICAgICAgICh0ZXN0V2ViUmVzb3VyY2VNaW1lVHlwZSk6CisgICAgICAg
IChzZXJ2ZXJDYWxsYmFjayk6CisgICAgICAgIChiZWZvcmVBbGwpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHRlc3RX
ZWJWaWV3Q2FuU2hvd01JTUVUeXBlKToKKyAgICAgICAgKGJlZm9yZUFsbCk6CisKIDIwMTItMDUt
MDkgIFphbGFuIEJ1anRhcyAgPHpidWp0YXNAZ21haWwuY29tPgogCiAgICAgICAgIFtRdF1bV0sy
XSBSZW1vdmUgZGVsYXllZCBsb2FkRGlkU3VjY2VlZCgpIHNpZ25hbGluZyBhbmQgbV9kZWZlcmVk
VXJsVG9Mb2FkIGZyb20gUVF1aWNrV2ViVmlld1ByaXZhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcAppbmRleCAxNzRi
ZjEyLi45M2Y4M2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRVUklSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwCkBAIC0zMCw3ICszMCw4IEBAIGVudW0gewogCiAg
ICAgUFJPUF9VUkksCiAgICAgUFJPUF9TVEFUVVNfQ09ERSwKLSAgICBQUk9QX0NPTlRFTlRfTEVO
R1RICisgICAgUFJPUF9DT05URU5UX0xFTkdUSCwKKyAgICBQUk9QX01JTUVfVFlQRQogfTsKIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC00MCw2ICs0MSw3IEBAIEdfREVGSU5FX1RZUEUo
V2ViS2l0VVJJUmVzcG9uc2UsIHdlYmtpdF91cmlfcmVzcG9uc2UsIEdfVFlQRV9PQkpFQ1QpCiBz
dHJ1Y3QgX1dlYktpdFVSSVJlc3BvbnNlUHJpdmF0ZSB7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSByZXNvdXJjZVJlc3BvbnNlOwogICAgIENTdHJpbmcgdXJpOworICAgIENTdHJpbmcg
bWltZVR5cGU7CiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJraXRVUklSZXNwb25zZUZpbmFsaXplKEdP
YmplY3QqIG9iamVjdCkKQEAgLTYyLDYgKzY0LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0VVJJUmVz
cG9uc2VHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKgog
ICAgIGNhc2UgUFJPUF9DT05URU5UX0xFTkdUSDoKICAgICAgICAgZ192YWx1ZV9zZXRfdWludDY0
KHZhbHVlLCB3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9jb250ZW50X2xlbmd0aChyZXNwb25zZSkp
OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfTUlNRV9UWVBFOgorICAgICAgICBnX3Zh
bHVlX3NldF9zdHJpbmcodmFsdWUsIHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZShy
ZXNwb25zZSkpOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVD
VF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAg
ICAgfQpAQCAtMTEyLDYgKzExNywxOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfdXJpX3Jlc3BvbnNl
X2NsYXNzX2luaXQoV2ViS2l0VVJJUmVzcG9uc2VDbGFzcyogcmVzcG9uc2VDbGFzcwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBHX01B
WFVJTlQ2NCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKKyAgICAvKioKKyAgICAgKiBX
ZWJLaXRVUklSZXNwb25zZTptaW1lLXR5cGU6CisgICAgICoKKyAgICAgKiBUaGUgTUlNRSB0eXBl
IG9mIHRoZSByZXNwb25zZS4KKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KG9iamVjdENsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UFJPUF9NSU1FX1RZUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3Bh
cmFtX3NwZWNfc3RyaW5nKCJtaW1lLXR5cGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJNSU1FIFR5cGUiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGhlIE1JTUUg
dHlwZSBvZiB0aGUgcmVzcG9uc2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKICAg
ICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUocmVzcG9uc2VDbGFzcywgc2l6ZW9mKFdlYktpdFVS
SVJlc3BvbnNlUHJpdmF0ZSkpOwogfQogCkBAIC0xNzAsNiArMTg4LDIwIEBAIGd1aW50NjQgd2Vi
a2l0X3VyaV9yZXNwb25zZV9nZXRfY29udGVudF9sZW5ndGgoV2ViS2l0VVJJUmVzcG9uc2UqIHJl
c3BvbnNlKQogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+cmVzb3VyY2VSZXNwb25zZS5leHBl
Y3RlZENvbnRlbnRMZW5ndGgoKTsKIH0KIAorLyoqCisgKiB3ZWJraXRfdXJpX3Jlc3BvbnNlX2dl
dF9taW1lX3R5cGU6CisgKiBAcmVzcG9uc2U6IGEgI1dlYktpdFVSSVJlc3BvbnNlCisgKgorICog
UmV0dXJuczogdGhlIE1JTUUgdHlwZSBvZiB0aGUgI1dlYktpdFVSSVJlc3BvbnNlCisgKi8KK2Nv
bnN0IGdjaGFyKiB3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5cGUoV2ViS2l0VVJJUmVz
cG9uc2UqIHJlc3BvbnNlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19V
UklfUkVTUE9OU0UocmVzcG9uc2UpLCAwKTsKKworICAgIHJlc3BvbnNlLT5wcml2LT5taW1lVHlw
ZSA9IHJlc3BvbnNlLT5wcml2LT5yZXNvdXJjZVJlc3BvbnNlLm1pbWVUeXBlKCkudXRmOCgpOwor
ICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+bWltZVR5cGUuZGF0YSgpOworfQorCiBXZWJLaXRV
UklSZXNwb25zZSogd2Via2l0VVJJUmVzcG9uc2VDcmVhdGVGb3JSZXNvdXJjZVJlc3BvbnNlKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UpCiB7CiAgICAg
V2ViS2l0VVJJUmVzcG9uc2UqIHVyaVJlc3BvbnNlID0gV0VCS0lUX1VSSV9SRVNQT05TRShnX29i
amVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJX1JFU1BPTlNFLCBOVUxMKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuaAppbmRleCBj
ZmJlNGQ4Li4wY2M2Yzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRVUklSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmgKQEAgLTY0LDYgKzY0LDkgQEAgd2Via2l0X3VyaV9y
ZXNwb25zZV9nZXRfc3RhdHVzX2NvZGUgICAgKFdlYktpdFVSSVJlc3BvbnNlICpyZXNwb25zZSk7
CiBXRUJLSVRfQVBJIGd1aW50NjQKIHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X2NvbnRlbnRfbGVu
Z3RoIChXZWJLaXRVUklSZXNwb25zZSAqcmVzcG9uc2UpOwogCitXRUJLSVRfQVBJIGNvbnN0IGdj
aGFyICoKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZSAgICAgIChXZWJLaXRVUklS
ZXNwb25zZSAqcmVzcG9uc2UpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggNTZi
MjFkZi4uYzA5MDY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJXZWJLaXRQ
cmludE9wZXJhdGlvblByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5j
bHVkZSAiV2ViS2l0UmVzb3VyY2VMb2FkQ2xpZW50LmgiCisjaW5jbHVkZSAiV2ViS2l0UmVzcG9u
c2VQb2xpY3lEZWNpc2lvbi5oIgogI2luY2x1ZGUgIldlYktpdFNjcmlwdERpYWxvZ1ByaXZhdGUu
aCIKICNpbmNsdWRlICJXZWJLaXRTZXR0aW5nc1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRV
SUNsaWVudC5oIgpAQCAtMTg2LDkgKzE4NywxOSBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2Vi
Vmlld1NjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRTY3JpcHREaQog
ICAgIHJldHVybiBUUlVFOwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0RlY2lk
ZVBvbGljeShXZWJLaXRXZWJWaWV3KiwgV2ViS2l0UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uLCBX
ZWJLaXRQb2xpY3lEZWNpc2lvblR5cGUpCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0Rl
Y2lkZVBvbGljeShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRQb2xpY3lEZWNpc2lvbiog
ZGVjaXNpb24sIFdlYktpdFBvbGljeURlY2lzaW9uVHlwZSBkZWNpc2lvblR5cGUpCiB7Ci0gICAg
d2Via2l0X3BvbGljeV9kZWNpc2lvbl91c2UoZGVjaXNpb24pOworICAgIGlmIChkZWNpc2lvblR5
cGUgIT0gV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9UWVBFX1JFU1BPTlNFKSB7CisgICAgICAgIHdl
YmtpdF9wb2xpY3lfZGVjaXNpb25fdXNlKGRlY2lzaW9uKTsKKyAgICAgICAgcmV0dXJuIFRSVUU7
CisgICAgfQorCisgICAgV2ViS2l0VVJJUmVzcG9uc2UqIHJlc3BvbnNlID0gd2Via2l0X3Jlc3Bv
bnNlX3BvbGljeV9kZWNpc2lvbl9nZXRfcmVzcG9uc2UoV0VCS0lUX1JFU1BPTlNFX1BPTElDWV9E
RUNJU0lPTihkZWNpc2lvbikpOworICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWlt
ZV90eXBlKHdlYlZpZXcsIHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZShyZXNwb25z
ZSkpKQorICAgICAgICB3ZWJraXRfcG9saWN5X2RlY2lzaW9uX3VzZShkZWNpc2lvbik7CisgICAg
ZWxzZQorICAgICAgICB3ZWJraXRfcG9saWN5X2RlY2lzaW9uX2Rvd25sb2FkKGRlY2lzaW9uKTsK
KwogICAgIHJldHVybiBUUlVFOwogfQogCkBAIC0xODg2LDMgKzE4OTcsMjEgQEAgR0xpc3QqIHdl
YmtpdF93ZWJfdmlld19nZXRfc3VicmVzb3VyY2VzKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAK
ICAgICByZXR1cm4gZ19saXN0X3JldmVyc2Uoc3VicmVzb3VyY2VzKTsKIH0KKworLyoqCisgKiB3
ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlOgorICogQHdlYl92aWV3OiBhICNXZWJL
aXRXZWJWaWV3CisgKiBAbWltZV90eXBlOiBhIE1JTUUgdHlwZQorICoKKyAqIFdoZXRoZXIgb3Ig
bm90IGEgTUlNRSB0eXBlIGNhbiBiZSBkaXNwbGF5ZWQgaW4gQHdlYl92aWV3LgorICoKKyAqIFJl
dHVybnM6ICVUUlVFIGlmIHRoZSBNSU1FIHR5cGUgQG1pbWVfdHlwZSBjYW4gYmUgZGlzcGxheWVk
IG9yICVGQUxTRSBvdGhlcndpc2UKKyAqLworZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2Nhbl9z
aG93X21pbWVfdHlwZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBjaGFyKiBtaW1lVHlw
ZSkKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmll
dyksIEZBTFNFKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChtaW1lVHlwZSwgRkFMU0UpOwor
CisgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJ
VF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKTsKKyAgICByZXR1cm4gcGFnZS0+Y2FuU2hvd01JTUVU
eXBlKFN0cmluZzo6ZnJvbVVURjgobWltZVR5cGUpKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAppbmRleCBjNTYyMDViLi40YTU1YTNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5oCkBAIC0yOTYsNiArMjk2LDEyIEBAIHdlYmtpdF93ZWJfdmlld19nZXRfbWFpbl9yZXNvdXJj
ZSAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICAgICAgICAgICAgICp3CiAKIFdFQktJ
VF9BUEkgR0xpc3QgKgogd2Via2l0X3dlYl92aWV3X2dldF9zdWJyZXNvdXJjZXMgICAgICAgICAg
ICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3KTsKKworV0VCS0lU
X0FQSSBnYm9vbGVhbgord2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSAgICAgICAg
ICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgKndlYl92aWV3LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAg
ICAgICAgICAgICAgKm1pbWVfdHlwZSk7CisKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGst
c2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLXNlY3Rpb25zLnR4dAppbmRleCBkYzVlNjVhLi4zZGE5ZDYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay1zZWN0aW9ucy50eHQKQEAgLTkxLDYgKzkxLDcgQEAgd2Via2l0X3dlYl92aWV3X2dldF9maW5k
X2NvbnRyb2xsZXIKIHdlYmtpdF93ZWJfdmlld19nZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4
dAogd2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0CiB3ZWJraXRfd2ViX3ZpZXdfcnVuX2ph
dmFzY3JpcHRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlCiAKIDxT
VUJTRUNUSU9OIFdlYktpdEphdmFzY3JpcHRSZXN1bHQ+CiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0
CkBAIC0yOTIsNiArMjkzLDcgQEAgV2ViS2l0VVJJUmVzcG9uc2UKIHdlYmtpdF91cmlfcmVzcG9u
c2VfZ2V0X3VyaQogd2Via2l0X3VyaV9yZXNwb25zZV9nZXRfc3RhdHVzX2NvZGUKIHdlYmtpdF91
cmlfcmVzcG9uc2VfZ2V0X2NvbnRlbnRfbGVuZ3RoCit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9t
aW1lX3R5cGUKIAogPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CiBXZWJLaXRVUklSZXNwb25zZUNsYXNz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0
UmVzb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rl
c3RSZXNvdXJjZXMuY3BwCmluZGV4IGNjMjcyYzkuLjE5OTRmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RSZXNvdXJjZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RSZXNvdXJjZXMuY3Bw
CkBAIC0zMDAsMTMgKzMwMCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIGdfbWFpbl9sb29wX3J1biht
X21haW5Mb29wKTsKICAgICB9CiAKLSAgICBpbnQgd2FpdFVudGlsUmVzb3VyY2VMb2FkRmluc2lo
ZWRBbmRSZXR1cm5IVFRQU3RhdHVzUmVzcG9uc2UoKQorICAgIFdlYktpdFVSSVJlc3BvbnNlKiB3
YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNlKCkKICAgICB7
CiAgICAgICAgIHdhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkKCk7CiAgICAgICAgIGdfYXNz
ZXJ0KG1fcmVzb3VyY2UpOwotICAgICAgICBXZWJLaXRVUklSZXNwb25zZSogcmVzcG9uc2UgPSB3
ZWJraXRfd2ViX3Jlc291cmNlX2dldF9yZXNwb25zZShtX3Jlc291cmNlLmdldCgpKTsKLSAgICAg
ICAgZ19hc3NlcnQocmVzcG9uc2UpOwotICAgICAgICByZXR1cm4gd2Via2l0X3VyaV9yZXNwb25z
ZV9nZXRfc3RhdHVzX2NvZGUocmVzcG9uc2UpOworICAgICAgICByZXR1cm4gd2Via2l0X3dlYl9y
ZXNvdXJjZV9nZXRfcmVzcG9uc2UobV9yZXNvdXJjZS5nZXQoKSk7CiAgICAgfQogCiAgICAgR1Jl
ZlB0cjxXZWJLaXRXZWJSZXNvdXJjZT4gbV9yZXNvdXJjZTsKQEAgLTM1NSwzMyArMzUzLDQ4IEBA
IHN0YXRpYyB2b2lkIHRlc3RXZWJSZXNvdXJjZVJlc3BvbnNlKFNpbmdsZVJlc291cmNlTG9hZFRl
c3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiB7CiAgICAgLy8gTm8gY2FjaGVkIHJlc291cmNlOiBG
aXJzdCBsb2FkLgogICAgIHRlc3QtPmxvYWRVUkkoa1NlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2ph
dmFzY3JpcHQuaHRtbCIpLmRhdGEoKSk7Ci0gICAgZ2ludCBzdGF0dXNDb2RlID0gdGVzdC0+d2Fp
dFVudGlsUmVzb3VyY2VMb2FkRmluc2loZWRBbmRSZXR1cm5IVFRQU3RhdHVzUmVzcG9uc2UoKTsK
LSAgICBnX2Fzc2VydF9jbXBpbnQoc3RhdHVzQ29kZSwgPT0sIFNPVVBfU1RBVFVTX09LKTsKKyAg
ICBXZWJLaXRVUklSZXNwb25zZSogcmVzcG9uc2UgPSB0ZXN0LT53YWl0VW50aWxSZXNvdXJjZUxv
YWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNlKCk7CisgICAgZ19hc3NlcnRfY21waW50KHdl
YmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N0YXR1c19jb2RlKHJlc3BvbnNlKSwgPT0sIFNPVVBfU1RB
VFVTX09LKTsKIAogICAgIC8vIE5vIGNhY2hlZCByZXNvdXJjZTogU2Vjb25kIGxvYWQuCiAgICAg
dGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvamF2YXNjcmlwdC5odG1sIiku
ZGF0YSgpKTsKLSAgICBzdGF0dXNDb2RlID0gdGVzdC0+d2FpdFVudGlsUmVzb3VyY2VMb2FkRmlu
c2loZWRBbmRSZXR1cm5IVFRQU3RhdHVzUmVzcG9uc2UoKTsKLSAgICBnX2Fzc2VydF9jbXBpbnQo
c3RhdHVzQ29kZSwgPT0sIFNPVVBfU1RBVFVTX09LKTsKKyAgICByZXNwb25zZSA9IHRlc3QtPndh
aXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkQW5kUmV0dXJuVVJJUmVzcG9uc2UoKTsKKyAgICBn
X2Fzc2VydF9jbXBpbnQod2Via2l0X3VyaV9yZXNwb25zZV9nZXRfc3RhdHVzX2NvZGUocmVzcG9u
c2UpLCA9PSwgU09VUF9TVEFUVVNfT0spOwogCiAgICAgLy8gTm8gY2FjaGVkIHJlc291cmNlOiBS
ZWxvYWQuCiAgICAgd2Via2l0X3dlYl92aWV3X3JlbG9hZCh0ZXN0LT5tX3dlYlZpZXcpOwotICAg
IHN0YXR1c0NvZGUgPSB0ZXN0LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVy
bkhUVFBTdGF0dXNSZXNwb25zZSgpOwotICAgIGdfYXNzZXJ0X2NtcGludChzdGF0dXNDb2RlLCA9
PSwgU09VUF9TVEFUVVNfT0spOworICAgIHJlc3BvbnNlID0gdGVzdC0+d2FpdFVudGlsUmVzb3Vy
Y2VMb2FkRmluc2loZWRBbmRSZXR1cm5VUklSZXNwb25zZSgpOworICAgIGdfYXNzZXJ0X2NtcGlu
dCh3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9zdGF0dXNfY29kZShyZXNwb25zZSksID09LCBTT1VQ
X1NUQVRVU19PSyk7CiAKICAgICAvLyBDYWNoZWQgcmVzb3VyY2U6IEZpcnN0IGxvYWQuCiAgICAg
dGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW1hZ2UuaHRtbCIpLmRhdGEo
KSk7Ci0gICAgc3RhdHVzQ29kZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVk
QW5kUmV0dXJuSFRUUFN0YXR1c1Jlc3BvbnNlKCk7Ci0gICAgZ19hc3NlcnRfY21waW50KHN0YXR1
c0NvZGUsID09LCBTT1VQX1NUQVRVU19PSyk7CisgICAgcmVzcG9uc2UgPSB0ZXN0LT53YWl0VW50
aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNlKCk7CisgICAgZ19hc3Nl
cnRfY21waW50KHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N0YXR1c19jb2RlKHJlc3BvbnNlKSwg
PT0sIFNPVVBfU1RBVFVTX09LKTsKIAogICAgIC8vIENhY2hlZCByZXNvdXJjZTogU2Vjb25kIGxv
YWQuCiAgICAgdGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvaW1hZ2UuaHRt
bCIpLmRhdGEoKSk7Ci0gICAgc3RhdHVzQ29kZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9h
ZEZpbnNpaGVkQW5kUmV0dXJuSFRUUFN0YXR1c1Jlc3BvbnNlKCk7Ci0gICAgZ19hc3NlcnRfY21w
aW50KHN0YXR1c0NvZGUsID09LCBTT1VQX1NUQVRVU19PSyk7CisgICAgcmVzcG9uc2UgPSB0ZXN0
LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNlKCk7Cisg
ICAgZ19hc3NlcnRfY21waW50KHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N0YXR1c19jb2RlKHJl
c3BvbnNlKSwgPT0sIFNPVVBfU1RBVFVTX09LKTsKIAogICAgIC8vIENhY2hlZCByZXNvdXJjZTog
UmVsb2FkLgogICAgIHdlYmtpdF93ZWJfdmlld19yZWxvYWQodGVzdC0+bV93ZWJWaWV3KTsKLSAg
ICBzdGF0dXNDb2RlID0gdGVzdC0+d2FpdFVudGlsUmVzb3VyY2VMb2FkRmluc2loZWRBbmRSZXR1
cm5IVFRQU3RhdHVzUmVzcG9uc2UoKTsKLSAgICBnX2Fzc2VydF9jbXBpbnQoc3RhdHVzQ29kZSwg
PT0sIFNPVVBfU1RBVFVTX05PVF9NT0RJRklFRCk7CisgICAgcmVzcG9uc2UgPSB0ZXN0LT53YWl0
VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNlKCk7CisgICAgZ19h
c3NlcnRfY21waW50KHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N0YXR1c19jb2RlKHJlc3BvbnNl
KSwgPT0sIFNPVVBfU1RBVFVTX05PVF9NT0RJRklFRCk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RX
ZWJSZXNvdXJjZU1pbWVUeXBlKFNpbmdsZVJlc291cmNlTG9hZFRlc3QqIHRlc3QsIGdjb25zdHBv
aW50ZXIpCit7CisgICAgdGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvamF2
YXNjcmlwdC5odG1sIikuZGF0YSgpKTsKKyAgICBXZWJLaXRVUklSZXNwb25zZSogcmVzcG9uc2Ug
PSB0ZXN0LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNl
KCk7CisgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlw
ZShyZXNwb25zZSksID09LCAidGV4dC9qYXZhc2NyaXB0Iik7CisKKyAgICB0ZXN0LT5sb2FkVVJJ
KGtTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9pbWFnZS5odG1sIikuZGF0YSgpKTsKKyAgICByZXNw
b25zZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkQW5kUmV0dXJuVVJJUmVz
cG9uc2UoKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3VyaV9yZXNwb25zZV9nZXRfbWlt
ZV90eXBlKHJlc3BvbnNlKSwgPT0sICJpbWFnZS92bmQubWljcm9zb2Z0Lmljb24iKTsKKworICAg
IHRlc3QtPmxvYWRVUkkoa1NlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL3JlZGlyZWN0ZWQtY3NzLmh0
bWwiKS5kYXRhKCkpOworICAgIHJlc3BvbnNlID0gdGVzdC0+d2FpdFVudGlsUmVzb3VyY2VMb2Fk
Rmluc2loZWRBbmRSZXR1cm5VUklSZXNwb25zZSgpOworICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJr
aXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5cGUocmVzcG9uc2UpLCA9PSwgInRleHQvY3NzIik7
CiB9CiAKIGNsYXNzIFJlc291cmNlVVJJVHJhY2tpbmdUZXN0OiBwdWJsaWMgU2luZ2xlUmVzb3Vy
Y2VMb2FkVGVzdCB7CkBAIC01NTUsNiArNTY4LDcgQEAgc3RhdGljIHZvaWQgc2VydmVyQ2FsbGJh
Y2soU291cFNlcnZlciogc2VydmVyLCBTb3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgY2hhcioK
ICAgICAgICAgYWRkQ2FjaGVIVFRQSGVhZGVyc1RvUmVzcG9uc2UobWVzc2FnZSk7CiAgICAgfSBl
bHNlIGlmIChnX3N0cl9lcXVhbChwYXRoLCAiL2phdmFzY3JpcHQuanMiKSkgewogICAgICAgICBz
b3VwX21lc3NhZ2VfYm9keV9hcHBlbmQobWVzc2FnZS0+cmVzcG9uc2VfYm9keSwgU09VUF9NRU1P
UllfU1RBVElDLCBrSmF2YXNjcmlwdCwgc3RybGVuKGtKYXZhc2NyaXB0KSk7CisgICAgICAgIHNv
dXBfbWVzc2FnZV9oZWFkZXJzX2FwcGVuZChtZXNzYWdlLT5yZXNwb25zZV9oZWFkZXJzLCAiQ29u
dGVudC1UeXBlIiwgInRleHQvamF2YXNjcmlwdCIpOwogICAgIH0gZWxzZSBpZiAoZ19zdHJfZXF1
YWwocGF0aCwgIi9ibGFuay5pY28iKSkgewogICAgICAgICBHT3duUHRyPGNoYXI+IGZpbGVQYXRo
KGdfYnVpbGRfZmlsZW5hbWUoVGVzdDo6Z2V0V2ViS2l0MVRlc3RSZXNvdWNlc0RpcigpLmRhdGEo
KSwgcGF0aCwgTlVMTCkpOwogICAgICAgICBjaGFyKiBjb250ZW50czsKQEAgLTU2OSw2ICs1ODMs
NyBAQCBzdGF0aWMgdm9pZCBzZXJ2ZXJDYWxsYmFjayhTb3VwU2VydmVyKiBzZXJ2ZXIsIFNvdXBN
ZXNzYWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKgogICAgICAgICAgICAgIiAgICBwYWRkaW5nOiAw
cHg7IgogICAgICAgICAgICAgIn0iOwogICAgICAgICBzb3VwX21lc3NhZ2VfYm9keV9hcHBlbmQo
bWVzc2FnZS0+cmVzcG9uc2VfYm9keSwgU09VUF9NRU1PUllfU1RBVElDLCBzaW1wbGVDU1MsIHN0
cmxlbihzaW1wbGVDU1MpKTsKKyAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kKG1l
c3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMsICJDb250ZW50LVR5cGUiLCAidGV4dC9jc3MiKTsKICAg
ICB9IGVsc2UgaWYgKGdfc3RyX2VxdWFsKHBhdGgsICIvcmVkaXJlY3RlZC5jc3MiKSkgewogICAg
ICAgICBzb3VwX21lc3NhZ2Vfc2V0X3N0YXR1cyhtZXNzYWdlLCBTT1VQX1NUQVRVU19NT1ZFRF9Q
RVJNQU5FTlRMWSk7CiAgICAgICAgIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2FwcGVuZChtZXNzYWdl
LT5yZXNwb25zZV9oZWFkZXJzLCAiTG9jYXRpb24iLCAiL3NpbXBsZS1zdHlsZS5jc3MiKTsKQEAg
LTU4NSw2ICs2MDAsNyBAQCB2b2lkIGJlZm9yZUFsbCgpCiAgICAgUmVzb3VyY2VzVGVzdDo6YWRk
KCJXZWJLaXRXZWJWaWV3IiwgInJlc291cmNlcyIsIHRlc3RXZWJWaWV3UmVzb3VyY2VzKTsKICAg
ICBTaW5nbGVSZXNvdXJjZUxvYWRUZXN0OjphZGQoIldlYktpdFdlYlJlc291cmNlIiwgImxvYWRp
bmciLCB0ZXN0V2ViUmVzb3VyY2VMb2FkaW5nKTsKICAgICBTaW5nbGVSZXNvdXJjZUxvYWRUZXN0
OjphZGQoIldlYktpdFdlYlJlc291cmNlIiwgInJlc3BvbnNlIiwgdGVzdFdlYlJlc291cmNlUmVz
cG9uc2UpOworICAgIFNpbmdsZVJlc291cmNlTG9hZFRlc3Q6OmFkZCgiV2ViS2l0V2ViUmVzb3Vy
Y2UiLCAibWltZS10eXBlIiwgdGVzdFdlYlJlc291cmNlTWltZVR5cGUpOwogICAgIFJlc291cmNl
VVJJVHJhY2tpbmdUZXN0OjphZGQoIldlYktpdFdlYlJlc291cmNlIiwgImFjdGl2ZS11cmkiLCB0
ZXN0V2ViUmVzb3VyY2VBY3RpdmVVUkkpOwogICAgIFJlc291cmNlc1Rlc3Q6OmFkZCgiV2ViS2l0
V2ViUmVzb3VyY2UiLCAiZ2V0LWRhdGEiLCB0ZXN0V2ViUmVzb3VyY2VHZXREYXRhKTsKICAgICBS
ZXNvdXJjZXNUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAicmVwbGFjZWQtY29udGVudCIsIHRl
c3RXZWJWaWV3UmVzb3VyY2VzUmVwbGFjZWRDb250ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJWaWV3LmNw
cAppbmRleCBkNjVlOGE2Li5iMThjMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYlZpZXcuY3BwCkBAIC03
MDYsNiArNzA2LDIzIEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJWaWV3RnVsbFNjcmVlbihGdWxsU2Ny
ZWVuQ2xpZW50VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9jbXBpbnQo
dGVzdC0+bV9ldmVudCwgPT0sIEZ1bGxTY3JlZW5DbGllbnRUZXN0OjpMZWF2ZSk7CiB9CiAKK3N0
YXRpYyB2b2lkIHRlc3RXZWJWaWV3Q2FuU2hvd01JTUVUeXBlKFdlYlZpZXdUZXN0KiB0ZXN0LCBn
Y29uc3Rwb2ludGVyKQoreworICAgIC8vIFN1cHBvcnRlZCBNSU1FIHR5cGVzLgorICAgIGdfYXNz
ZXJ0KHdlYmtpdF93ZWJfdmlld19jYW5fc2hvd19taW1lX3R5cGUodGVzdC0+bV93ZWJWaWV3LCAi
dGV4dC9odG1sIikpOworICAgIGdfYXNzZXJ0KHdlYmtpdF93ZWJfdmlld19jYW5fc2hvd19taW1l
X3R5cGUodGVzdC0+bV93ZWJWaWV3LCAidGV4dC9wbGFpbiIpKTsKKyAgICBnX2Fzc2VydCh3ZWJr
aXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlKHRlc3QtPm1fd2ViVmlldywgImltYWdlL2pw
ZWciKSk7CisgICAgZ19hc3NlcnQod2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0
ZXN0LT5tX3dlYlZpZXcsICJhdWRpby9vZ2ciKSk7CisgICAgZ19hc3NlcnQod2Via2l0X3dlYl92
aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0ZXN0LT5tX3dlYlZpZXcsICJ2aWRlby9vZ2ciKSk7Cisg
ICAgZ19hc3NlcnQod2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0ZXN0LT5tX3dl
YlZpZXcsICJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpKTsKKworICAgIC8vIFVuc3Vw
cG9ydGVkIE1JTUUgdHlwZXMuCisgICAgZ19hc3NlcnQoIXdlYmtpdF93ZWJfdmlld19jYW5fc2hv
d19taW1lX3R5cGUodGVzdC0+bV93ZWJWaWV3LCAidGV4dC92Y2FyZCIpKTsKKyAgICBnX2Fzc2Vy
dCghd2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0ZXN0LT5tX3dlYlZpZXcsICJh
cHBsaWNhdGlvbi9wZGYiKSk7CisgICAgZ19hc3NlcnQoIXdlYmtpdF93ZWJfdmlld19jYW5fc2hv
d19taW1lX3R5cGUodGVzdC0+bV93ZWJWaWV3LCAiYXBwbGljYXRpb24vemlwIikpOworICAgIGdf
YXNzZXJ0KCF3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlKHRlc3QtPm1fd2ViVmll
dywgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpKTsKK30KKwogdm9pZCBiZWZvcmVBbGwoKQog
ewogICAgIFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAiZGVmYXVsdC1jb250ZXh0
IiwgdGVzdFdlYlZpZXdEZWZhdWx0Q29udGV4dCk7CkBAIC03MjAsNiArNzM3LDcgQEAgdm9pZCBi
ZWZvcmVBbGwoKQogICAgIFdlYlZpZXdUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAicnVuLWph
dmFzY3JpcHQiLCB0ZXN0V2ViVmlld1J1bkphdmFTY3JpcHQpOwogICAgIEZpbGVDaG9vc2VyVGVz
dDo6YWRkKCJXZWJLaXRXZWJWaWV3IiwgImZpbGUtY2hvb3Nlci1yZXF1ZXN0IiwgdGVzdFdlYlZp
ZXdGaWxlQ2hvb3NlclJlcXVlc3QpOwogICAgIEZ1bGxTY3JlZW5DbGllbnRUZXN0OjphZGQoIldl
YktpdFdlYlZpZXciLCAiZnVsbHNjcmVlbiIsIHRlc3RXZWJWaWV3RnVsbFNjcmVlbik7CisgICAg
V2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJjYW4tc2hvdy1taW1lLXR5cGUiLCB0
ZXN0V2ViVmlld0NhblNob3dNSU1FVHlwZSk7CiB9CiAKIHZvaWQgYWZ0ZXJBbGwoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140961</attachid>
            <date>2012-05-09 09:44:57 -0700</date>
            <delta_ts>2012-05-29 08:04:09 -0700</delta_ts>
            <desc>Updated patch to match wk1 behaviour</desc>
            <filename>wk2-can-show-mime-type.diff</filename>
            <type>text/plain</type>
            <size>17803</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4MWU5YTI1Li4yZjEzMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTItMDUtMDkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIEFkZCB3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBl
KCkgdG8gV2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbmQgdXNlIGl0IGluIHRoZSBkZWZhdWx0IGhhbmRsZXIgb2YgV2ViS2l0
V2ViVmlldzo6ZGVjaWRlLXBvbGljeQorICAgICAgICBzaWduYWwgdG8gZGVjaWRlIHdoZXRoZXIg
dG8gdXNlIG9yIGlnbm9yZSBhIHJlc3BvbnNlIHBvbGljeQorICAgICAgICBkZWNpc2lvbiBkZXBl
bmRpbmcgb24gd2hldGhlciB0aGUgbWltZSB0eXBlIG9mIHRoZSByZXNwb25zZSBjYW4gYmUKKyAg
ICAgICAgZGlzcGxheWVkIGluIHRoZSBXZWJWaWV3IG9yIG5vdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFVSSVJl
c3BvbnNlR2V0UHJvcGVydHkpOiBBZGQgZ2V0dGVyIGZvciBtaW1lLXR5cGUgcHJvcGVydHkuCisg
ICAgICAgICh3ZWJraXRfdXJpX3Jlc3BvbnNlX2NsYXNzX2luaXQpOiBBZGQgbWltZS10eXBlIHBy
b3BlcnR5LgorICAgICAgICAod2Via2l0X3VyaV9yZXNwb25zZV9nZXRfbWltZV90eXBlKTogUmV0
dXJuIHRoZSBtaW1lIHR5cGUgb2YgdGhlCisgICAgICAgIHJlc3BvbnNlLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3RGVjaWRl
UG9saWN5KTogSW4gY2FzZSBvZiByZXNwb25zZSBwb2xpY3kgZGVjaXNpb25zLAorICAgICAgICB1
c2UgdGhlIFVSSSByZXNwb25zZSB0byBkZWNpZGUgd2hhdCB0byBkbzogZG93bmxvYWQgaWYgdGhl
CisgICAgICAgIHJlc3BvbnNlIGlzIGFuIGF0dGFjaG1lbnQsIHVzZSBpZiB0aGUgbWltZSB0eXBl
IGlzIHN1cHBvcnRlZCBieQorICAgICAgICB0aGUgd2ViIHZpZXcgb3IgaWdub3JlIG90aGVyd2lz
ZS4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19jYW5fc2hvd19taW1lX3R5cGUpOiBSZXR1cm5z
IHdoZXRoZXIgdGhlIGdpdmVuCisgICAgICAgIG1pbWUgdHlwZSBjYW4gYmUgZGlzcGxheWVkIGlu
IHRoZSBXZWJWaWV3IG9yIG5vdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNl
Y3Rpb25zLnR4dDogQWRkIG5ldyBzeW1ib2xzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L3Rlc3RzL1Rlc3RSZXNvdXJjZXMuY3BwOgorICAgICAgICAodGVzdFdlYlJlc291cmNlUmVzcG9u
c2UpOgorICAgICAgICAodGVzdFdlYlJlc291cmNlTWltZVR5cGUpOgorICAgICAgICAoc2VydmVy
Q2FsbGJhY2spOgorICAgICAgICAoYmVmb3JlQWxsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh0ZXN0V2ViVmlld0Nh
blNob3dNSU1FVHlwZSk6CisgICAgICAgIChiZWZvcmVBbGwpOgorCiAyMDEyLTA1LTA5ICBaYWxh
biBCdWp0YXMgIDx6YnVqdGFzQGdtYWlsLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gUmVtb3Zl
IGRlbGF5ZWQgbG9hZERpZFN1Y2NlZWQoKSBzaWduYWxpbmcgYW5kIG1fZGVmZXJlZFVybFRvTG9h
ZCBmcm9tIFFRdWlja1dlYlZpZXdQcml2YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHAKaW5kZXggMTc0YmYxMi4uOTNm
ODNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVSSVJlc3BvbnNlLmNwcApAQCAtMzAsNyArMzAsOCBAQCBlbnVtIHsKIAogICAgIFBST1Bf
VVJJLAogICAgIFBST1BfU1RBVFVTX0NPREUsCi0gICAgUFJPUF9DT05URU5UX0xFTkdUSAorICAg
IFBST1BfQ09OVEVOVF9MRU5HVEgsCisgICAgUFJPUF9NSU1FX1RZUEUKIH07CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwpAQCAtNDAsNiArNDEsNyBAQCBHX0RFRklORV9UWVBFKFdlYktpdFVS
SVJlc3BvbnNlLCB3ZWJraXRfdXJpX3Jlc3BvbnNlLCBHX1RZUEVfT0JKRUNUKQogc3RydWN0IF9X
ZWJLaXRVUklSZXNwb25zZVByaXZhdGUgewogICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Ug
cmVzb3VyY2VSZXNwb25zZTsKICAgICBDU3RyaW5nIHVyaTsKKyAgICBDU3RyaW5nIG1pbWVUeXBl
OwogfTsKIAogc3RhdGljIHZvaWQgd2Via2l0VVJJUmVzcG9uc2VGaW5hbGl6ZShHT2JqZWN0KiBv
YmplY3QpCkBAIC02Miw2ICs2NCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVJlc3BvbnNlR2V0
UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wSWQsIEdWYWx1ZSoKICAgICBjYXNl
IFBST1BfQ09OVEVOVF9MRU5HVEg6CiAgICAgICAgIGdfdmFsdWVfc2V0X3VpbnQ2NCh2YWx1ZSwg
d2Via2l0X3VyaV9yZXNwb25zZV9nZXRfY29udGVudF9sZW5ndGgocmVzcG9uc2UpKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX01JTUVfVFlQRToKKyAgICAgICAgZ192YWx1ZV9zZXRf
c3RyaW5nKHZhbHVlLCB3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5cGUocmVzcG9uc2Up
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9J
TlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgIH0KQEAg
LTExMiw2ICsxMTcsMTkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3VyaV9yZXNwb25zZV9jbGFzc19p
bml0KFdlYktpdFVSSVJlc3BvbnNlQ2xhc3MqIHJlc3BvbnNlQ2xhc3MKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgR19NQVhVSU5UNjQs
IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwogCisgICAgLyoqCisgICAgICogV2ViS2l0VVJJ
UmVzcG9uc2U6bWltZS10eXBlOgorICAgICAqCisgICAgICogVGhlIE1JTUUgdHlwZSBvZiB0aGUg
cmVzcG9uc2UuCisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShv
YmplY3RDbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfTUlN
RV9UWVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVj
X3N0cmluZygibWltZS10eXBlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXygiTUlNRSBUeXBlIiksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIlRoZSBNSU1FIHR5cGUgb2Yg
dGhlIHJlc3BvbnNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOworCiAgICAgZ190eXBl
X2NsYXNzX2FkZF9wcml2YXRlKHJlc3BvbnNlQ2xhc3MsIHNpemVvZihXZWJLaXRVUklSZXNwb25z
ZVByaXZhdGUpKTsKIH0KIApAQCAtMTcwLDYgKzE4OCwyMCBAQCBndWludDY0IHdlYmtpdF91cmlf
cmVzcG9uc2VfZ2V0X2NvbnRlbnRfbGVuZ3RoKFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSkK
ICAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPnJlc291cmNlUmVzcG9uc2UuZXhwZWN0ZWRDb250
ZW50TGVuZ3RoKCk7CiB9CiAKKy8qKgorICogd2Via2l0X3VyaV9yZXNwb25zZV9nZXRfbWltZV90
eXBlOgorICogQHJlc3BvbnNlOiBhICNXZWJLaXRVUklSZXNwb25zZQorICoKKyAqIFJldHVybnM6
IHRoZSBNSU1FIHR5cGUgb2YgdGhlICNXZWJLaXRVUklSZXNwb25zZQorICovCitjb25zdCBnY2hh
ciogd2Via2l0X3VyaV9yZXNwb25zZV9nZXRfbWltZV90eXBlKFdlYktpdFVSSVJlc3BvbnNlKiBy
ZXNwb25zZSkKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfVVJJX1JFU1BP
TlNFKHJlc3BvbnNlKSwgMCk7CisKKyAgICByZXNwb25zZS0+cHJpdi0+bWltZVR5cGUgPSByZXNw
b25zZS0+cHJpdi0+cmVzb3VyY2VSZXNwb25zZS5taW1lVHlwZSgpLnV0ZjgoKTsKKyAgICByZXR1
cm4gcmVzcG9uc2UtPnByaXYtPm1pbWVUeXBlLmRhdGEoKTsKK30KKwogV2ViS2l0VVJJUmVzcG9u
c2UqIHdlYmtpdFVSSVJlc3BvbnNlQ3JlYXRlRm9yUmVzb3VyY2VSZXNwb25zZShjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNvdXJjZVJlc3BvbnNlKQogewogICAgIFdlYktpdFVS
SVJlc3BvbnNlKiB1cmlSZXNwb25zZSA9IFdFQktJVF9VUklfUkVTUE9OU0UoZ19vYmplY3RfbmV3
KFdFQktJVF9UWVBFX1VSSV9SRVNQT05TRSwgTlVMTCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmgKaW5kZXggY2ZiZTRkOC4u
MGNjNmM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VVJJUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRVUklSZXNwb25zZS5oCkBAIC02NCw2ICs2NCw5IEBAIHdlYmtpdF91cmlfcmVzcG9uc2Vf
Z2V0X3N0YXR1c19jb2RlICAgIChXZWJLaXRVUklSZXNwb25zZSAqcmVzcG9uc2UpOwogV0VCS0lU
X0FQSSBndWludDY0CiB3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9jb250ZW50X2xlbmd0aCAoV2Vi
S2l0VVJJUmVzcG9uc2UgKnJlc3BvbnNlKTsKIAorV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCit3
ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5cGUgICAgICAoV2ViS2l0VVJJUmVzcG9uc2Ug
KnJlc3BvbnNlKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDU2YjIxZGYuLmM5
MzU1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXcuY3BwCkBAIC0zMyw5ICszMywxMSBAQAogI2luY2x1ZGUgIldlYktpdFByaW50T3Bl
cmF0aW9uUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRSZXNvdXJjZUxvYWRDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJLaXRSZXNwb25zZVBvbGlj
eURlY2lzaW9uLmgiCiAjaW5jbHVkZSAiV2ViS2l0U2NyaXB0RGlhbG9nUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYktpdFNldHRpbmdzUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFVJQ2xpZW50
LmgiCisjaW5jbHVkZSAiV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0V2ViQ29udGV4dFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJSZXNvdXJjZVByaXZh
dGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIKQEAgLTE4Niw5ICsx
ODgsMjUgQEAgc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2ViS2l0
V2ViVmlldyogd2ViVmlldywgV2ViS2l0U2NyaXB0RGkKICAgICByZXR1cm4gVFJVRTsKIH0KIAot
c3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdEZWNpZGVQb2xpY3koV2ViS2l0V2ViVmlldyos
IFdlYktpdFBvbGljeURlY2lzaW9uKiBkZWNpc2lvbiwgV2ViS2l0UG9saWN5RGVjaXNpb25UeXBl
KQorc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdEZWNpZGVQb2xpY3koV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViS2l0UG9saWN5RGVjaXNpb24qIGRlY2lzaW9uLCBXZWJLaXRQb2xpY3lE
ZWNpc2lvblR5cGUgZGVjaXNpb25UeXBlKQogewotICAgIHdlYmtpdF9wb2xpY3lfZGVjaXNpb25f
dXNlKGRlY2lzaW9uKTsKKyAgICBpZiAoZGVjaXNpb25UeXBlICE9IFdFQktJVF9QT0xJQ1lfREVD
SVNJT05fVFlQRV9SRVNQT05TRSkgeworICAgICAgICB3ZWJraXRfcG9saWN5X2RlY2lzaW9uX3Vz
ZShkZWNpc2lvbik7CisgICAgICAgIHJldHVybiBUUlVFOworICAgIH0KKworICAgIFdlYktpdFVS
SVJlc3BvbnNlKiByZXNwb25zZSA9IHdlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25fZ2V0
X3Jlc3BvbnNlKFdFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04oZGVjaXNpb24pKTsKKyAg
ICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlIHJlc291cmNlUmVzcG9uc2UgPSB3ZWJraXRVUklSZXNw
b25zZUdldFJlc291cmNlUmVzcG9uc2UocmVzcG9uc2UpOworICAgIGlmIChyZXNvdXJjZVJlc3Bv
bnNlLmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIHdlYmtpdF9wb2xpY3lfZGVjaXNpb25fZG93
bmxvYWQoZGVjaXNpb24pOworICAgICAgICByZXR1cm4gVFJVRTsKKyAgICB9CisKKyAgICBpZiAo
d2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh3ZWJWaWV3LCB3ZWJraXRfdXJpX3Jl
c3BvbnNlX2dldF9taW1lX3R5cGUocmVzcG9uc2UpKSkKKyAgICAgICAgd2Via2l0X3BvbGljeV9k
ZWNpc2lvbl91c2UoZGVjaXNpb24pOworICAgIGVsc2UKKyAgICAgICAgd2Via2l0X3BvbGljeV9k
ZWNpc2lvbl9pZ25vcmUoZGVjaXNpb24pOworCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKQEAgLTE4
ODYsMyArMTkwNCwyMSBAQCBHTGlzdCogd2Via2l0X3dlYl92aWV3X2dldF9zdWJyZXNvdXJjZXMo
V2ViS2l0V2ViVmlldyogd2ViVmlldykKIAogICAgIHJldHVybiBnX2xpc3RfcmV2ZXJzZShzdWJy
ZXNvdXJjZXMpOwogfQorCisvKioKKyAqIHdlYmtpdF93ZWJfdmlld19jYW5fc2hvd19taW1lX3R5
cGU6CisgKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKKyAqIEBtaW1lX3R5cGU6IGEgTUlN
RSB0eXBlCisgKgorICogV2hldGhlciBvciBub3QgYSBNSU1FIHR5cGUgY2FuIGJlIGRpc3BsYXll
ZCBpbiBAd2ViX3ZpZXcuCisgKgorICogUmV0dXJuczogJVRSVUUgaWYgdGhlIE1JTUUgdHlwZSBA
bWltZV90eXBlIGNhbiBiZSBkaXNwbGF5ZWQgb3IgJUZBTFNFIG90aGVyd2lzZQorICovCitnYm9v
bGVhbiB3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIGNvbnN0IGNoYXIqIG1pbWVUeXBlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgRkFMU0UpOworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKG1pbWVUeXBlLCBGQUxTRSk7CisKKyAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB3ZWJr
aXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpOworICAg
IHJldHVybiBwYWdlLT5jYW5TaG93TUlNRVR5cGUoU3RyaW5nOjpmcm9tVVRGOChtaW1lVHlwZSkp
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5oCmluZGV4IGM1NjIwNWIuLjRhNTVhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmgKQEAgLTI5Niw2ICsyOTYsMTIgQEAgd2Via2l0
X3dlYl92aWV3X2dldF9tYWluX3Jlc291cmNlICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYlZp
ZXcgICAgICAgICAgICAgKncKIAogV0VCS0lUX0FQSSBHTGlzdCAqCiB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3N1YnJlc291cmNlcyAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICAgICAqd2ViX3ZpZXcpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfd2ViX3ZpZXdf
Y2FuX3Nob3dfbWltZV90eXBlICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViVmlldyAgICAgICAg
ICAgICAqd2ViX3ZpZXcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICAgICAqbWltZV90eXBlKTsKKworCiBH
X0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstc2VjdGlvbnMudHh0CmluZGV4IGRjNWU2
NWEuLjNkYTlkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L2RvY3Mvd2Via2l0Mmd0ay1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLXNlY3Rpb25zLnR4dApAQCAtOTEsNiArOTEsNyBA
QCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ZpbmRfY29udHJvbGxlcgogd2Via2l0X3dlYl92aWV3X2dl
dF9qYXZhc2NyaXB0X2dsb2JhbF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfcnVuX2phdmFzY3Jp
cHQKIHdlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9maW5pc2gKK3dlYmtpdF93ZWJfdmll
d19jYW5fc2hvd19taW1lX3R5cGUKIAogPFNVQlNFQ1RJT04gV2ViS2l0SmF2YXNjcmlwdFJlc3Vs
dD4KIFdlYktpdEphdmFzY3JpcHRSZXN1bHQKQEAgLTI5Miw2ICsyOTMsNyBAQCBXZWJLaXRVUklS
ZXNwb25zZQogd2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpCiB3ZWJraXRfdXJpX3Jlc3BvbnNl
X2dldF9zdGF0dXNfY29kZQogd2Via2l0X3VyaV9yZXNwb25zZV9nZXRfY29udGVudF9sZW5ndGgK
K3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZQogCiA8U1VCU0VDVElPTiBTdGFuZGFy
ZD4KIFdlYktpdFVSSVJlc3BvbnNlQ2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RSZXNvdXJjZXMuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFJlc291cmNlcy5jcHAKaW5kZXggY2MyNzJjOS4u
MTk5NGYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVz
dHMvVGVzdFJlc291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvdGVzdHMvVGVzdFJlc291cmNlcy5jcHAKQEAgLTMwMCwxMyArMzAwLDExIEBAIHB1YmxpYzoK
ICAgICAgICAgZ19tYWluX2xvb3BfcnVuKG1fbWFpbkxvb3ApOwogICAgIH0KIAotICAgIGludCB3
YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVybkhUVFBTdGF0dXNSZXNwb25zZSgp
CisgICAgV2ViS2l0VVJJUmVzcG9uc2UqIHdhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkQW5k
UmV0dXJuVVJJUmVzcG9uc2UoKQogICAgIHsKICAgICAgICAgd2FpdFVudGlsUmVzb3VyY2VMb2Fk
Rmluc2loZWQoKTsKICAgICAgICAgZ19hc3NlcnQobV9yZXNvdXJjZSk7Ci0gICAgICAgIFdlYktp
dFVSSVJlc3BvbnNlKiByZXNwb25zZSA9IHdlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3Jlc3BvbnNl
KG1fcmVzb3VyY2UuZ2V0KCkpOwotICAgICAgICBnX2Fzc2VydChyZXNwb25zZSk7Ci0gICAgICAg
IHJldHVybiB3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9zdGF0dXNfY29kZShyZXNwb25zZSk7Cisg
ICAgICAgIHJldHVybiB3ZWJraXRfd2ViX3Jlc291cmNlX2dldF9yZXNwb25zZShtX3Jlc291cmNl
LmdldCgpKTsKICAgICB9CiAKICAgICBHUmVmUHRyPFdlYktpdFdlYlJlc291cmNlPiBtX3Jlc291
cmNlOwpAQCAtMzU1LDMzICszNTMsNDggQEAgc3RhdGljIHZvaWQgdGVzdFdlYlJlc291cmNlUmVz
cG9uc2UoU2luZ2xlUmVzb3VyY2VMb2FkVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKIHsKICAg
ICAvLyBObyBjYWNoZWQgcmVzb3VyY2U6IEZpcnN0IGxvYWQuCiAgICAgdGVzdC0+bG9hZFVSSShr
U2VydmVyLT5nZXRVUklGb3JQYXRoKCIvamF2YXNjcmlwdC5odG1sIikuZGF0YSgpKTsKLSAgICBn
aW50IHN0YXR1c0NvZGUgPSB0ZXN0LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJl
dHVybkhUVFBTdGF0dXNSZXNwb25zZSgpOwotICAgIGdfYXNzZXJ0X2NtcGludChzdGF0dXNDb2Rl
LCA9PSwgU09VUF9TVEFUVVNfT0spOworICAgIFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSA9
IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkQW5kUmV0dXJuVVJJUmVzcG9uc2Uo
KTsKKyAgICBnX2Fzc2VydF9jbXBpbnQod2Via2l0X3VyaV9yZXNwb25zZV9nZXRfc3RhdHVzX2Nv
ZGUocmVzcG9uc2UpLCA9PSwgU09VUF9TVEFUVVNfT0spOwogCiAgICAgLy8gTm8gY2FjaGVkIHJl
c291cmNlOiBTZWNvbmQgbG9hZC4KICAgICB0ZXN0LT5sb2FkVVJJKGtTZXJ2ZXItPmdldFVSSUZv
clBhdGgoIi9qYXZhc2NyaXB0Lmh0bWwiKS5kYXRhKCkpOwotICAgIHN0YXR1c0NvZGUgPSB0ZXN0
LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVybkhUVFBTdGF0dXNSZXNwb25z
ZSgpOwotICAgIGdfYXNzZXJ0X2NtcGludChzdGF0dXNDb2RlLCA9PSwgU09VUF9TVEFUVVNfT0sp
OworICAgIHJlc3BvbnNlID0gdGVzdC0+d2FpdFVudGlsUmVzb3VyY2VMb2FkRmluc2loZWRBbmRS
ZXR1cm5VUklSZXNwb25zZSgpOworICAgIGdfYXNzZXJ0X2NtcGludCh3ZWJraXRfdXJpX3Jlc3Bv
bnNlX2dldF9zdGF0dXNfY29kZShyZXNwb25zZSksID09LCBTT1VQX1NUQVRVU19PSyk7CiAKICAg
ICAvLyBObyBjYWNoZWQgcmVzb3VyY2U6IFJlbG9hZC4KICAgICB3ZWJraXRfd2ViX3ZpZXdfcmVs
b2FkKHRlc3QtPm1fd2ViVmlldyk7Ci0gICAgc3RhdHVzQ29kZSA9IHRlc3QtPndhaXRVbnRpbFJl
c291cmNlTG9hZEZpbnNpaGVkQW5kUmV0dXJuSFRUUFN0YXR1c1Jlc3BvbnNlKCk7Ci0gICAgZ19h
c3NlcnRfY21waW50KHN0YXR1c0NvZGUsID09LCBTT1VQX1NUQVRVU19PSyk7CisgICAgcmVzcG9u
c2UgPSB0ZXN0LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3Bv
bnNlKCk7CisgICAgZ19hc3NlcnRfY21waW50KHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N0YXR1
c19jb2RlKHJlc3BvbnNlKSwgPT0sIFNPVVBfU1RBVFVTX09LKTsKIAogICAgIC8vIENhY2hlZCBy
ZXNvdXJjZTogRmlyc3QgbG9hZC4KICAgICB0ZXN0LT5sb2FkVVJJKGtTZXJ2ZXItPmdldFVSSUZv
clBhdGgoIi9pbWFnZS5odG1sIikuZGF0YSgpKTsKLSAgICBzdGF0dXNDb2RlID0gdGVzdC0+d2Fp
dFVudGlsUmVzb3VyY2VMb2FkRmluc2loZWRBbmRSZXR1cm5IVFRQU3RhdHVzUmVzcG9uc2UoKTsK
LSAgICBnX2Fzc2VydF9jbXBpbnQoc3RhdHVzQ29kZSwgPT0sIFNPVVBfU1RBVFVTX09LKTsKKyAg
ICByZXNwb25zZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkQW5kUmV0dXJu
VVJJUmVzcG9uc2UoKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQod2Via2l0X3VyaV9yZXNwb25zZV9n
ZXRfc3RhdHVzX2NvZGUocmVzcG9uc2UpLCA9PSwgU09VUF9TVEFUVVNfT0spOwogCiAgICAgLy8g
Q2FjaGVkIHJlc291cmNlOiBTZWNvbmQgbG9hZC4KICAgICB0ZXN0LT5sb2FkVVJJKGtTZXJ2ZXIt
PmdldFVSSUZvclBhdGgoIi9pbWFnZS5odG1sIikuZGF0YSgpKTsKLSAgICBzdGF0dXNDb2RlID0g
dGVzdC0+d2FpdFVudGlsUmVzb3VyY2VMb2FkRmluc2loZWRBbmRSZXR1cm5IVFRQU3RhdHVzUmVz
cG9uc2UoKTsKLSAgICBnX2Fzc2VydF9jbXBpbnQoc3RhdHVzQ29kZSwgPT0sIFNPVVBfU1RBVFVT
X09LKTsKKyAgICByZXNwb25zZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVk
QW5kUmV0dXJuVVJJUmVzcG9uc2UoKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQod2Via2l0X3VyaV9y
ZXNwb25zZV9nZXRfc3RhdHVzX2NvZGUocmVzcG9uc2UpLCA9PSwgU09VUF9TVEFUVVNfT0spOwog
CiAgICAgLy8gQ2FjaGVkIHJlc291cmNlOiBSZWxvYWQuCiAgICAgd2Via2l0X3dlYl92aWV3X3Jl
bG9hZCh0ZXN0LT5tX3dlYlZpZXcpOwotICAgIHN0YXR1c0NvZGUgPSB0ZXN0LT53YWl0VW50aWxS
ZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVybkhUVFBTdGF0dXNSZXNwb25zZSgpOwotICAgIGdf
YXNzZXJ0X2NtcGludChzdGF0dXNDb2RlLCA9PSwgU09VUF9TVEFUVVNfTk9UX01PRElGSUVEKTsK
KyAgICByZXNwb25zZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZpbnNpaGVkQW5kUmV0
dXJuVVJJUmVzcG9uc2UoKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQod2Via2l0X3VyaV9yZXNwb25z
ZV9nZXRfc3RhdHVzX2NvZGUocmVzcG9uc2UpLCA9PSwgU09VUF9TVEFUVVNfTk9UX01PRElGSUVE
KTsKK30KKworc3RhdGljIHZvaWQgdGVzdFdlYlJlc291cmNlTWltZVR5cGUoU2luZ2xlUmVzb3Vy
Y2VMb2FkVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKK3sKKyAgICB0ZXN0LT5sb2FkVVJJKGtT
ZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9qYXZhc2NyaXB0Lmh0bWwiKS5kYXRhKCkpOworICAgIFdl
YktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSA9IHRlc3QtPndhaXRVbnRpbFJlc291cmNlTG9hZEZp
bnNpaGVkQW5kUmV0dXJuVVJJUmVzcG9uc2UoKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0
X3VyaV9yZXNwb25zZV9nZXRfbWltZV90eXBlKHJlc3BvbnNlKSwgPT0sICJ0ZXh0L2phdmFzY3Jp
cHQiKTsKKworICAgIHRlc3QtPmxvYWRVUkkoa1NlcnZlci0+Z2V0VVJJRm9yUGF0aCgiL2ltYWdl
Lmh0bWwiKS5kYXRhKCkpOworICAgIHJlc3BvbnNlID0gdGVzdC0+d2FpdFVudGlsUmVzb3VyY2VM
b2FkRmluc2loZWRBbmRSZXR1cm5VUklSZXNwb25zZSgpOworICAgIGdfYXNzZXJ0X2NtcHN0cih3
ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5cGUocmVzcG9uc2UpLCA9PSwgImltYWdlL3Zu
ZC5taWNyb3NvZnQuaWNvbiIpOworCisgICAgdGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklG
b3JQYXRoKCIvcmVkaXJlY3RlZC1jc3MuaHRtbCIpLmRhdGEoKSk7CisgICAgcmVzcG9uc2UgPSB0
ZXN0LT53YWl0VW50aWxSZXNvdXJjZUxvYWRGaW5zaWhlZEFuZFJldHVyblVSSVJlc3BvbnNlKCk7
CisgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZShy
ZXNwb25zZSksID09LCAidGV4dC9jc3MiKTsKIH0KIAogY2xhc3MgUmVzb3VyY2VVUklUcmFja2lu
Z1Rlc3Q6IHB1YmxpYyBTaW5nbGVSZXNvdXJjZUxvYWRUZXN0IHsKQEAgLTU1NSw2ICs1NjgsNyBA
QCBzdGF0aWMgdm9pZCBzZXJ2ZXJDYWxsYmFjayhTb3VwU2VydmVyKiBzZXJ2ZXIsIFNvdXBNZXNz
YWdlKiBtZXNzYWdlLCBjb25zdCBjaGFyKgogICAgICAgICBhZGRDYWNoZUhUVFBIZWFkZXJzVG9S
ZXNwb25zZShtZXNzYWdlKTsKICAgICB9IGVsc2UgaWYgKGdfc3RyX2VxdWFsKHBhdGgsICIvamF2
YXNjcmlwdC5qcyIpKSB7CiAgICAgICAgIHNvdXBfbWVzc2FnZV9ib2R5X2FwcGVuZChtZXNzYWdl
LT5yZXNwb25zZV9ib2R5LCBTT1VQX01FTU9SWV9TVEFUSUMsIGtKYXZhc2NyaXB0LCBzdHJsZW4o
a0phdmFzY3JpcHQpKTsKKyAgICAgICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kKG1lc3Nh
Z2UtPnJlc3BvbnNlX2hlYWRlcnMsICJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2NyaXB0Iik7
CiAgICAgfSBlbHNlIGlmIChnX3N0cl9lcXVhbChwYXRoLCAiL2JsYW5rLmljbyIpKSB7CiAgICAg
ICAgIEdPd25QdHI8Y2hhcj4gZmlsZVBhdGgoZ19idWlsZF9maWxlbmFtZShUZXN0OjpnZXRXZWJL
aXQxVGVzdFJlc291Y2VzRGlyKCkuZGF0YSgpLCBwYXRoLCBOVUxMKSk7CiAgICAgICAgIGNoYXIq
IGNvbnRlbnRzOwpAQCAtNTY5LDYgKzU4Myw3IEBAIHN0YXRpYyB2b2lkIHNlcnZlckNhbGxiYWNr
KFNvdXBTZXJ2ZXIqIHNlcnZlciwgU291cE1lc3NhZ2UqIG1lc3NhZ2UsIGNvbnN0IGNoYXIqCiAg
ICAgICAgICAgICAiICAgIHBhZGRpbmc6IDBweDsiCiAgICAgICAgICAgICAifSI7CiAgICAgICAg
IHNvdXBfbWVzc2FnZV9ib2R5X2FwcGVuZChtZXNzYWdlLT5yZXNwb25zZV9ib2R5LCBTT1VQX01F
TU9SWV9TVEFUSUMsIHNpbXBsZUNTUywgc3RybGVuKHNpbXBsZUNTUykpOworICAgICAgICBzb3Vw
X21lc3NhZ2VfaGVhZGVyc19hcHBlbmQobWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycywgIkNvbnRl
bnQtVHlwZSIsICJ0ZXh0L2NzcyIpOwogICAgIH0gZWxzZSBpZiAoZ19zdHJfZXF1YWwocGF0aCwg
Ii9yZWRpcmVjdGVkLmNzcyIpKSB7CiAgICAgICAgIHNvdXBfbWVzc2FnZV9zZXRfc3RhdHVzKG1l
c3NhZ2UsIFNPVVBfU1RBVFVTX01PVkVEX1BFUk1BTkVOVExZKTsKICAgICAgICAgc291cF9tZXNz
YWdlX2hlYWRlcnNfYXBwZW5kKG1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMsICJMb2NhdGlvbiIs
ICIvc2ltcGxlLXN0eWxlLmNzcyIpOwpAQCAtNTg1LDYgKzYwMCw3IEBAIHZvaWQgYmVmb3JlQWxs
KCkKICAgICBSZXNvdXJjZXNUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAicmVzb3VyY2VzIiwg
dGVzdFdlYlZpZXdSZXNvdXJjZXMpOwogICAgIFNpbmdsZVJlc291cmNlTG9hZFRlc3Q6OmFkZCgi
V2ViS2l0V2ViUmVzb3VyY2UiLCAibG9hZGluZyIsIHRlc3RXZWJSZXNvdXJjZUxvYWRpbmcpOwog
ICAgIFNpbmdsZVJlc291cmNlTG9hZFRlc3Q6OmFkZCgiV2ViS2l0V2ViUmVzb3VyY2UiLCAicmVz
cG9uc2UiLCB0ZXN0V2ViUmVzb3VyY2VSZXNwb25zZSk7CisgICAgU2luZ2xlUmVzb3VyY2VMb2Fk
VGVzdDo6YWRkKCJXZWJLaXRXZWJSZXNvdXJjZSIsICJtaW1lLXR5cGUiLCB0ZXN0V2ViUmVzb3Vy
Y2VNaW1lVHlwZSk7CiAgICAgUmVzb3VyY2VVUklUcmFja2luZ1Rlc3Q6OmFkZCgiV2ViS2l0V2Vi
UmVzb3VyY2UiLCAiYWN0aXZlLXVyaSIsIHRlc3RXZWJSZXNvdXJjZUFjdGl2ZVVSSSk7CiAgICAg
UmVzb3VyY2VzVGVzdDo6YWRkKCJXZWJLaXRXZWJSZXNvdXJjZSIsICJnZXQtZGF0YSIsIHRlc3RX
ZWJSZXNvdXJjZUdldERhdGEpOwogICAgIFJlc291cmNlc1Rlc3Q6OmFkZCgiV2ViS2l0V2ViVmll
dyIsICJyZXBsYWNlZC1jb250ZW50IiwgdGVzdFdlYlZpZXdSZXNvdXJjZXNSZXBsYWNlZENvbnRl
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMv
VGVzdFdlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
dGVzdHMvVGVzdFdlYktpdFdlYlZpZXcuY3BwCmluZGV4IGQ2NWU4YTYuLmIxOGMxNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRX
ZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9U
ZXN0V2ViS2l0V2ViVmlldy5jcHAKQEAgLTcwNiw2ICs3MDYsMjMgQEAgc3RhdGljIHZvaWQgdGVz
dFdlYlZpZXdGdWxsU2NyZWVuKEZ1bGxTY3JlZW5DbGllbnRUZXN0KiB0ZXN0LCBnY29uc3Rwb2lu
dGVyKQogICAgIGdfYXNzZXJ0X2NtcGludCh0ZXN0LT5tX2V2ZW50LCA9PSwgRnVsbFNjcmVlbkNs
aWVudFRlc3Q6OkxlYXZlKTsKIH0KIAorc3RhdGljIHZvaWQgdGVzdFdlYlZpZXdDYW5TaG93TUlN
RVR5cGUoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCit7CisgICAgLy8gU3VwcG9y
dGVkIE1JTUUgdHlwZXMuCisgICAgZ19hc3NlcnQod2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21p
bWVfdHlwZSh0ZXN0LT5tX3dlYlZpZXcsICJ0ZXh0L2h0bWwiKSk7CisgICAgZ19hc3NlcnQod2Vi
a2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0ZXN0LT5tX3dlYlZpZXcsICJ0ZXh0L3Bs
YWluIikpOworICAgIGdfYXNzZXJ0KHdlYmtpdF93ZWJfdmlld19jYW5fc2hvd19taW1lX3R5cGUo
dGVzdC0+bV93ZWJWaWV3LCAiaW1hZ2UvanBlZyIpKTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfd2Vi
X3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlKHRlc3QtPm1fd2ViVmlldywgImF1ZGlvL29nZyIpKTsK
KyAgICBnX2Fzc2VydCh3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlKHRlc3QtPm1f
d2ViVmlldywgInZpZGVvL29nZyIpKTsKKyAgICBnX2Fzc2VydCh3ZWJraXRfd2ViX3ZpZXdfY2Fu
X3Nob3dfbWltZV90eXBlKHRlc3QtPm1fd2ViVmlldywgImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZl
LWZsYXNoIikpOworCisgICAgLy8gVW5zdXBwb3J0ZWQgTUlNRSB0eXBlcy4KKyAgICBnX2Fzc2Vy
dCghd2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0ZXN0LT5tX3dlYlZpZXcsICJ0
ZXh0L3ZjYXJkIikpOworICAgIGdfYXNzZXJ0KCF3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWlt
ZV90eXBlKHRlc3QtPm1fd2ViVmlldywgImFwcGxpY2F0aW9uL3BkZiIpKTsKKyAgICBnX2Fzc2Vy
dCghd2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVfdHlwZSh0ZXN0LT5tX3dlYlZpZXcsICJh
cHBsaWNhdGlvbi96aXAiKSk7CisgICAgZ19hc3NlcnQoIXdlYmtpdF93ZWJfdmlld19jYW5fc2hv
d19taW1lX3R5cGUodGVzdC0+bV93ZWJWaWV3LCAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIikp
OworfQorCiB2b2lkIGJlZm9yZUFsbCgpCiB7CiAgICAgV2ViVmlld1Rlc3Q6OmFkZCgiV2ViS2l0
V2ViVmlldyIsICJkZWZhdWx0LWNvbnRleHQiLCB0ZXN0V2ViVmlld0RlZmF1bHRDb250ZXh0KTsK
QEAgLTcyMCw2ICs3MzcsNyBAQCB2b2lkIGJlZm9yZUFsbCgpCiAgICAgV2ViVmlld1Rlc3Q6OmFk
ZCgiV2ViS2l0V2ViVmlldyIsICJydW4tamF2YXNjcmlwdCIsIHRlc3RXZWJWaWV3UnVuSmF2YVNj
cmlwdCk7CiAgICAgRmlsZUNob29zZXJUZXN0OjphZGQoIldlYktpdFdlYlZpZXciLCAiZmlsZS1j
aG9vc2VyLXJlcXVlc3QiLCB0ZXN0V2ViVmlld0ZpbGVDaG9vc2VyUmVxdWVzdCk7CiAgICAgRnVs
bFNjcmVlbkNsaWVudFRlc3Q6OmFkZCgiV2ViS2l0V2ViVmlldyIsICJmdWxsc2NyZWVuIiwgdGVz
dFdlYlZpZXdGdWxsU2NyZWVuKTsKKyAgICBXZWJWaWV3VGVzdDo6YWRkKCJXZWJLaXRXZWJWaWV3
IiwgImNhbi1zaG93LW1pbWUtdHlwZSIsIHRlc3RXZWJWaWV3Q2FuU2hvd01JTUVUeXBlKTsKIH0K
IAogdm9pZCBhZnRlckFsbCgpCg==
</data>
<flag name="review"
          id="147000"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>