<?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>74790</bug_id>
          
          <creation_ts>2011-12-17 13:49:42 -0800</creation_ts>
          <short_desc>Web Inspector: PageAgent.open() dosen&apos;t belong</short_desc>
          <delta_ts>2012-01-23 02:04:31 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>fishd</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>523348</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-17 13:49:42 -0800</bug_when>
    <thetext>PageAgent.open() is used to open resources in a new window/tab. In a remote environment this will open it on the wrong client. An open function should exist on InspectorFrontendHost, not PageAgent.

There might be use for PageAgent.open(), but all the uses I see today intend for it to open on the client showing the Inspector window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523436</commentid>
    <comment_count>1</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-18 06:00:46 -0800</bug_when>
    <thetext>That&apos;s exactly the reason behind its being hidden. My plan is to add non-hidder Page::navigate() that would perform the navigation within the same page. Before this is done, users can use RuntimeAgent::evaluate to assign to window.location.href in order to achieve this result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523467</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-18 09:14:25 -0800</bug_when>
    <thetext>I think you are not understanding (or I&apos;m not).

All of the UI actions associated with PageAgent.open are actions that I would expect to cause a window/tab to open on the computer showing the Inspector window. If I&apos;m remotly inspecting a page, PageAgent.open will open it on the remote client.

What you proposed is basically the same thing as PageAgent.open, which has a newWindow argument you can pass as false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523468</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-18 09:16:08 -0800</bug_when>
    <thetext>That is why I say these UI actions should use something on InspectorFrontendHost, which is local to the Inspector, to open a new window/tab. And no, not window.open, which has opener rules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523470</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-18 09:35:52 -0800</bug_when>
    <thetext>To further clarify: WebKit remote debugging protocol is operating within the page context. I.e. discovery of the pages and engaging with the page for debugging is happening outside of the protocol. InspectorFrontendHost would be the one covering it, but we don&apos;t yet have UI actions that would require it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523472</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-18 09:44:26 -0800</bug_when>
    <thetext>OK, I&apos;m confused then. I thought PageAgent went to the backend?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523473</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-18 09:47:32 -0800</bug_when>
    <thetext>I am not talking about discovery. I talking about all the users of PageAgent.open in the front-end.

That goes to the backend.

I don&apos;t want the backend opening Resources that I double-click in the Resources sidebar.

I want the front-end client to open it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523477</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-18 09:57:01 -0800</bug_when>
    <thetext>&gt; I don&apos;t want the backend opening Resources that I double-click in the Resources sidebar.
&gt; I want the front-end client to open it.

Oh, ok, gotcha, I thought we were talking about the navigate scenario. Yes, InspectorFrontendHost would be the place for it, its soft version that is used for remote debugging would be doing window.open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539365</commentid>
    <comment_count>8</comment_count>
      <attachid>123274</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-20 02:29:57 -0800</bug_when>
    <thetext>Created attachment 123274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539367</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-20 02:32:44 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539398</commentid>
    <comment_count>10</comment_count>
      <attachid>123274</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-01-20 03:41:20 -0800</bug_when>
    <thetext>Comment on attachment 123274
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:230
&gt; +                    { &quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;URL to navigate the page to.&quot; }

This may well be performed by evaluating location.href = &lt;new url&gt; in the inspected page, but as discussed offline let&apos;s leave this method for convenience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539635</commentid>
    <comment_count>11</comment_count>
      <attachid>123274</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2012-01-20 11:12:51 -0800</bug_when>
    <thetext>Comment on attachment 123274
Patch

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

I like this changes!

&gt; Source/WebCore/ChangeLog:16
&gt; +        * inspector/InspectorFrontendHost.h:
&gt; +        * inspector/InspectorFrontendHost.idl:

You should have a comment in the ChangeLog (probably just above the Reviewed by line) about InspectorFrontendHost.openInNewTab and PageAgent.navigate.

I&apos;m not sure &quot;openInNewTab&quot; makes much sense for a InspectorFrontendHost that might not have tabs, I think Just &quot;openURL&quot; would be fine.

&gt; Source/WebCore/inspector/InspectorFrontendClientLocal.cpp:193
&gt; +    // FIXME: Why does one use mainFrame and the other frame?
&gt; +    frame-&gt;loader()-&gt;changeLocation(mainFrame-&gt;document()-&gt;securityOrigin(), frame-&gt;document()-&gt;completeURL(url), &quot;&quot;, false, false);

Is the FIXME necessary? Can you just use frame-&gt;document()-&gt;securityOrigin() since you&apos;re making the request in a new Window?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539637</commentid>
    <comment_count>12</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2012-01-20 11:13:45 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 123274 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=123274&amp;action=review
&gt; 
&gt; I like this changes!

change*. English has never been my strong suit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540444</commentid>
    <comment_count>13</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-23 02:04:31 -0800</bug_when>
    <thetext>Committed r105600: &lt;http://trac.webkit.org/changeset/105600&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123274</attachid>
            <date>2012-01-20 02:29:57 -0800</date>
            <delta_ts>2012-01-20 11:12:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74790-20120120142955.patch</filename>
            <type>text/plain</type>
            <size>17797</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM1OGI1ZmU3YWJhMWYy
MTE1YjUzOTBhNzhjYmM1MGI4NzM3Yzk0YS4uYmI3MTFkYzMzOGEwMTU0NGRmYzgyYzUwZGZkYmRj
MjBhZWIwNmY0NSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAxLTIwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBQYWdlQWdlbnQub3BlbigpIGRvc2VuJ3QgYmVsb25nIHRvIHRoZSBwcm90b2NvbC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6b3Blbklu
TmV3VGFiKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpvcGVuSW5OZXdUYWIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2Vu
dDo6bmF2aWdhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5JbWFnZVZpZXcucHJvdG90eXBlLl9vcGVuSW5OZXdUYWIpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qczoKKyAgICAg
ICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5wcm90b3R5cGUub3Bl
bkluTmV3VGFiKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5f
b3BlbkluTmV3VGFiKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1Bh
bmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZyYW1lUmVzb3VyY2VUcmVlRWxlbWVudC5w
cm90b3R5cGUub25kYmxjbGljayk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iub3BlblJlc291cmNlKToKKwogMjAxMi0w
MS0xOSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2hhbmdl
IExvY2FsaXplZE51bWJlciBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
Nzg4NTA4MDUwM2RjMzM4MmYwZGI3NDM1ZjMzNTBlNDI1ZDEwZDExMS4uYjhiMWY2MDUwODRjOGM4
NzUwMGUwOGM2MTI3NjBkM2NmYjY4NTUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0wMS0yMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUGFnZUFnZW50Lm9wZW4oKSBkb3Nlbid0
IGJlbG9uZyB0byB0aGUgcHJvdG9jb2wuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NDc5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudDo6b3BlbkluTmV3VGFiKToK
KyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpvcGVuSW5OZXdUYWIpOgorICAg
ICAgICAoV2ViS2l0OjpJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OnNhdmVBcyk6CisgICAg
ICAgICogc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oOgorCiAyMDEyLTAxLTIwICBT
aGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVt
XSBDaHJvbWl1bSBzaG91bGQgaGF2ZSBFZGl0b3JDbGllbnRJbXBsOjpjaGVja1RleHRPZlBhcmFn
cmFwaC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA4YzM5ZTlk
YzE5NDBhN2I2Mzk0ZjAxNjc0YjIyYzM1OWU4OTFiZGE4Li42M2UxODZkOWQzOTUxN2ZiZDM4NTM3
YTIwYmJmNDA2ZmMwNDg3ZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCkBAIC0yMjUsMTMgKzIyNSwxMSBAQAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJSZWxvYWRzIGdpdmVuIHBhZ2Ugb3B0aW9uYWxseSBpZ25vcmluZyB0aGUgY2FjaGUuIgogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJvcGVu
IiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJuYXZpZ2F0ZSIsCiAgICAgICAgICAgICAgICAg
InBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidXJsIiwgInR5
cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlVSTCB0byBvcGVuLiIgfSwKLSAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJuZXdXaW5kb3ciLCAib3B0aW9uYWwiOiB0cnVlLCAidHlw
ZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIklmIHRydWUsIG9wZW5zIGdpdmVuIFVSTCBp
biBhIG5ldyB3aW5kb3cgb3IgdGFiLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InVybCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJVUkwgdG8gbmF2aWdhdGUg
dGhlIHBhZ2UgdG8uIiB9CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiT3BlbnMgZ2l2ZW4gVVJMIGVpdGhlciBpbiB0aGUgaW5zcGVjdGVkIHBhZ2Ug
b3IgaW4gYSBuZXcgdGFiIC8gd2luZG93LiIsCi0gICAgICAgICAgICAgICAgImhpZGRlbiI6IHRy
dWUKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTmF2aWdhdGVzIGN1cnJlbnQgcGFn
ZSB0byB0aGUgZ2l2ZW4gVVJMLiIKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Q29va2llcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCmluZGV4IDBhM2ZmZmE5MGMzZTRl
MjczMTYzNWM3YmU1ZDUxMGI4NGNlN2FiMzMuLmVhZDNlZTgwMmM3MzcyNDgxYTg5MDUxZWYzM2Q2
MWI3NGRlMTRmZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudC5oCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdERldGFjaFdpbmRvdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dFNldERvY2tTaWRlKGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2hhbmdl
QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgb3Bl
bkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNh
dmVBcygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2F2ZUFzKGNvbnN0IFdURjo6U3RyaW5nJiBm
aWxlTmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGNvbnRlbnQpID0gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
Y3BwCmluZGV4IDFjZThhYWMyNDk5ODU0MDZlZTdkZTQ1OTgwNTBkMDVjYWMzZjY4MzMuLjExN2Fl
OGIzOGM2MDYyYjJmMzU3YTAyZGMzZmQxOWI4NDU2YzczNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAK
QEAgLTM2LDYgKzM2LDggQEAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKICNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZFJlcXVlc3QuaCIK
KyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29u
dHJvbGxlci5oIgpAQCAtNDYsNiArNDgsOCBAQAogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlICJVc2Vy
R2VzdHVyZUluZGljYXRvci5oIgorI2luY2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE2OSw2ICsxNzMsMjYg
QEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsOjpjaGFuZ2VBdHRhY2hlZFdpbmRv
d0hlaWdodCh1bnNpZ25lZCBoZWlnaHQpCiAgICAgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQoYXR0
YWNoZWRIZWlnaHQpOwogfQogCit2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6Om9w
ZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAgICBVc2VyR2VzdHVyZUluZGljYXRv
ciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgUGFnZSog
cGFnZSA9IG1faW5zcGVjdG9yQ29udHJvbGxlci0+aW5zcGVjdGVkUGFnZSgpOworICAgIEZyYW1l
KiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IHJl
cXVlc3QobWFpbkZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBSZXNvdXJjZVJl
cXVlc3QoKSwgIl9ibGFuayIpOworCisgICAgYm9vbCBjcmVhdGVkOworICAgIFdpbmRvd0ZlYXR1
cmVzIHdpbmRvd0ZlYXR1cmVzOworICAgIEZyYW1lKiBmcmFtZSA9IFdlYkNvcmU6OmNyZWF0ZVdp
bmRvdyhtYWluRnJhbWUsIG1haW5GcmFtZSwgcmVxdWVzdCwgd2luZG93RmVhdHVyZXMsIGNyZWF0
ZWQpOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIGZyYW1lLT5sb2Fk
ZXIoKS0+c2V0T3BlbmVyKG1haW5GcmFtZSk7CisgICAgZnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVk
QnlET00oKTsKKworICAgIC8vIEZJWE1FOiBXaHkgZG9lcyBvbmUgdXNlIG1haW5GcmFtZSBhbmQg
dGhlIG90aGVyIGZyYW1lPworICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2hhbmdlTG9jYXRpb24obWFp
bkZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBmcmFtZS0+ZG9jdW1lbnQoKS0+
Y29tcGxldGVVUkwodXJsKSwgIiIsIGZhbHNlLCBmYWxzZSk7Cit9CisKIHZvaWQgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbDo6bW92ZVdpbmRvd0J5KGZsb2F0IHgsIGZsb2F0IHkpCiB7CiAg
ICAgRmxvYXRSZWN0IGZyYW1lUmVjdCA9IG1fZnJvbnRlbmRQYWdlLT5jaHJvbWUoKS0+d2luZG93
UmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggYjQ5YTc3MjU2OGM0NDJlMmJmYmZiNDcwYzExZWNj
M2FlMWQwOGM3Yy4uMmIxZDE4N2I1OWY2MDk1NzY2ZDQ5MGExMDExNGU5NTE4ZGNkMWQxMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5oCkBAIC02Nyw2ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdERldGFjaFdpbmRvdygpOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2V0RG9ja1Np
ZGUoY29uc3QgU3RyaW5nJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNoYW5nZUF0dGFjaGVkV2lu
ZG93SGVpZ2h0KHVuc2lnbmVkKTsKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0
IFN0cmluZyYgdXJsKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZUFzKCkgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2F2ZUFzKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY3BwCmluZGV4IDhmNTgzZTZjZGNiYmFiNWUxMTI3ZGM4MTE3ODhiY2IzMGQyNTI0
NTMuLjAxNzA1ZThjM2QyN2ExNmEwNGZhYWEwNTc5YjBkYmEwMTc3NTUyMDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0y
MjAsNiArMjIwLDEyIEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpjb3B5VGV4dChjb25z
dCBTdHJpbmcmIHRleHQpCiAgICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+d3Jp
dGVQbGFpblRleHQodGV4dCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpvcGVu
SW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAg
ICBtX2NsaWVudC0+b3BlbkluTmV3VGFiKHVybCk7Cit9CisKIGJvb2wgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpjYW5TYXZlQXMoKQogewogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCAyMDk2MmE3MWQy
ZGZkZDQ3ZWRmYTYxMzU2YzMyZTc2NzgxN2JlZTAyLi41ODg2ODg1YmUwZDM0OTY5NjEwOGQxNjMy
ODdlZGNkNmU1Y2JhMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcg
aGlkZGVuUGFuZWxzKCk7CiAKICAgICB2b2lkIGNvcHlUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCk7
CisgICAgdm9pZCBvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIGJvb2wgY2Fu
U2F2ZUFzKCk7CiAgICAgdm9pZCBzYXZlQXMoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3Qg
U3RyaW5nJiBjb250ZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmlkbAppbmRleCBlMTQxY2NjNjMxNTQ0MThlY2RkMTllZjFlYTM2
MDI5NmI0ZWQyYzRiLi41YTA1NzIwMzVkNWUwNmFlYmZkNWFiM2Q2MzE5ZTdiZDE0MmQ2ODMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmlkbApAQCAtNTAsNiArNTAsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIERPTVN0cmluZyBo
aWRkZW5QYW5lbHMoKTsKIAogICAgICAgICB2b2lkIGNvcHlUZXh0KGluIERPTVN0cmluZyB0ZXh0
KTsKKyAgICAgICAgdm9pZCBvcGVuSW5OZXdUYWIoaW4gRE9NU3RyaW5nIHVybCk7CiAgICAgICAg
IGJvb2xlYW4gY2FuU2F2ZUFzKCk7CiAgICAgICAgIHZvaWQgc2F2ZUFzKGluIERPTVN0cmluZyBm
aWxlTmFtZSwgaW4gRE9NU3RyaW5nIGNvbnRlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGMzOTE1MmUwNjYxYTNjMjRlZmJj
OWJmNjQwOTczYWE1NTE4YjM2OWYuLjQ0MDA0YmM4Y2FkYjBkODI5ZDZiOWI1ZTIyMmM4YzZiMTBi
MzI3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuY3BwCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiRnJhbWVM
b2FkUmVxdWVzdC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhUTUxGcmFt
ZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgpAQCAtNjEsMTAgKzYwLDEw
IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlZ3VsYXJFeHByZXNzaW9uLmgiCiAj
aW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKICNpbmNs
dWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgotI2luY2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgi
CiAKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hT
ZXQuaD4KQEAgLTM0OSwyOCArMzQ4LDExIEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpyZWxv
YWQoRXJyb3JTdHJpbmcqLCBjb25zdCBib29sKiBjb25zdCBvcHRpb25hbElnbm9yZUNhCiAgICAg
bV9wYWdlLT5tYWluRnJhbWUoKS0+bG9hZGVyKCktPnJlbG9hZChvcHRpb25hbElnbm9yZUNhY2hl
ID8gKm9wdGlvbmFsSWdub3JlQ2FjaGUgOiBmYWxzZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUGFn
ZUFnZW50OjpvcGVuKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IGJvb2wq
IGNvbnN0IGluTmV3V2luZG93KQordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6Om5hdmlnYXRlKEVy
cm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgVXNlckdlc3R1cmVJbmRpY2F0
b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwotCi0gICAgRnJh
bWUqIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7Ci0gICAgRnJhbWUqIGZyYW1lOwot
ICAgIGlmIChpbk5ld1dpbmRvdyAmJiAqaW5OZXdXaW5kb3cpIHsKLSAgICAgICAgRnJhbWVMb2Fk
UmVxdWVzdCByZXF1ZXN0KG1haW5GcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwg
UmVzb3VyY2VSZXF1ZXN0KCksICJfYmxhbmsiKTsKLQotICAgICAgICBib29sIGNyZWF0ZWQ7Ci0g
ICAgICAgIFdpbmRvd0ZlYXR1cmVzIHdpbmRvd0ZlYXR1cmVzOwotICAgICAgICBmcmFtZSA9IFdl
YkNvcmU6OmNyZWF0ZVdpbmRvdyhtYWluRnJhbWUsIG1haW5GcmFtZSwgcmVxdWVzdCwgd2luZG93
RmVhdHVyZXMsIGNyZWF0ZWQpOwotICAgICAgICBpZiAoIWZyYW1lKQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+c2V0T3BlbmVyKG1haW5GcmFtZSk7Ci0g
ICAgICAgIGZyYW1lLT5wYWdlKCktPnNldE9wZW5lZEJ5RE9NKCk7Ci0gICAgfSBlbHNlCi0gICAg
ICAgIGZyYW1lID0gbWFpbkZyYW1lOwotCi0gICAgLy8gRklYTUU6IFdoeSBkb2VzIG9uZSB1c2Ug
bWFpbkZyYW1lIGFuZCB0aGUgb3RoZXIgZnJhbWU/Ci0gICAgZnJhbWUtPmxvYWRlcigpLT5jaGFu
Z2VMb2NhdGlvbihtYWluRnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGZyYW1l
LT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpLCAiIiwgZmFsc2UsIGZhbHNlKTsKKyAgICBG
cmFtZSogZnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOworICAgIGZyYW1lLT5sb2FkZXIoKS0+
Y2hhbmdlTG9jYXRpb24oZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGZyYW1l
LT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpLCAiIiwgZmFsc2UsIGZhbHNlKTsKIH0KIAog
c3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvckNvb2tpZShj
b25zdCBDb29raWUmIGNvb2tpZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuaAppbmRleCBiNDBkNjQ4NGE1ZDBmYmU1Y2M5ZmQxNWU3YmY0MDdhMGZlNjNj
NTc0Li5kNjFjMDkzOWVjMDE4ZTBmMDE2NGM5YzM2NzE2ZTE4Njg3NGY0ZmQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC05Miw3ICs5Miw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFNjcmlwdFRvRXZhbHVhdGVPbkxvYWQoRXJyb3JTdHJp
bmcqLCBjb25zdCBTdHJpbmcmIHNvdXJjZSwgU3RyaW5nKiByZXN1bHQpOwogICAgIHZvaWQgcmVt
b3ZlU2NyaXB0VG9FdmFsdWF0ZU9uTG9hZChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllcik7CiAgICAgdm9pZCByZWxvYWQoRXJyb3JTdHJpbmcqLCBjb25zdCBib29sKiBjb25z
dCBvcHRpb25hbElnbm9yZUNhY2hlLCBjb25zdCBTdHJpbmcqIG9wdGlvbmFsU2NyaXB0VG9FdmFs
dWF0ZU9uTG9hZCk7Ci0gICAgdm9pZCBvcGVuKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IGJvb2wqIGNvbnN0IGluTmV3V2luZG93KTsKKyAgICB2b2lkIG5hdmlnYXRlKEVy
cm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgZ2V0Q29va2llcyhFcnJv
clN0cmluZyosIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mIGNvb2tpZXMsIFdURjo6U3RyaW5nKiBj
b29raWVzU3RyaW5nKTsKICAgICB2b2lkIGRlbGV0ZUNvb2tpZShFcnJvclN0cmluZyosIGNvbnN0
IFN0cmluZyYgY29va2llTmFtZSwgY29uc3QgU3RyaW5nJiBkb21haW4pOwogICAgIHZvaWQgZ2V0
UmVzb3VyY2VUcmVlKEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VWaWV3Lmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZVZpZXcuanMKaW5kZXgg
ZjBiZmYxY2NjMmVmYmQ0NWQ1YTVlNTE2ZDFhY2U3YTE0M2MzMTA4MC4uN2I1Y2YxM2UwZTllZTRk
ZWFiMmM0ZDUzNWIwNTM1NzA5NzA1MjM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbWFnZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9JbWFnZVZpZXcuanMKQEAgLTEzOSw3ICsxMzksNyBAQCBXZWJJbnNwZWN0
b3IuSW1hZ2VWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIF9vcGVuSW5OZXdUYWI6IGZ1bmN0aW9u
KGV2ZW50KQogICAgIHsKLSAgICAgICAgUGFnZUFnZW50Lm9wZW4odGhpcy5yZXNvdXJjZS51cmws
IHRydWUpOworICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qub3BlbkluTmV3VGFiKHRoaXMu
cmVzb3VyY2UudXJsKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpp
bmRleCAzM2RjZDI0NmU0NDZjYTM2ZDU3Mjc0ZWFjNzYyYWM3MDMwNDFmMzgzLi42N2Q2YmQxZTY3
YWUyZmJhYmM2MjdmYzk1ZGFhNGI3OGZlYTYwMjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RT
dHViLmpzCkBAIC0xMTYsNiArMTE2LDExIEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVu
ZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgfSwKIAorICAgIG9wZW5Jbk5ld1Rh
YjogZnVuY3Rpb24odXJsKQorICAgIHsKKyAgICAgICAgd2luZG93Lm9wZW4odXJsLCAiX2JsYW5r
Iik7CisgICAgfSwKKwogICAgIGNhblNhdmVBczogZnVuY3Rpb24oZmlsZU5hbWUsIGNvbnRlbnQp
CiAgICAgewogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggNzcyYTRkMmQ2YjE1YmUyMjk4
YWY2MTkzZGZkODdkMmIwNWZmOGJiYS4uNmZkNGZjZDVhZGRlNzE4MTM4YjlhMzllZjA5ODRhZjQ4
Mjk5ZjZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanMKQEAgLTE3MjIsNyArMTcyMiw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3Jr
RGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIF9vcGVuSW5OZXdUYWI6IGZ1bmN0aW9u
KCkKICAgICB7Ci0gICAgICAgIFBhZ2VBZ2VudC5vcGVuKHRoaXMuX3Jlc291cmNlLnVybCwgdHJ1
ZSk7CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5vcGVuSW5OZXdUYWIodGhpcy5fcmVz
b3VyY2UudXJsKTsKICAgICB9LAogCiAgICAgZ2V0IHNlbGVjdGFibGUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXgg
ZmRmYjdiMzFhYmRhZTQ2YTI3YmVhMWM3NmQzZWQyYzExNGNkMjRiMS4uN2M2ZTZiMTY3ZDFiNTkz
MWUxY2ZjNGFiYTliMmNkM2Y2Y2I2MWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0xMTk3LDcgKzExOTcsNyBA
QCBXZWJJbnNwZWN0b3IuRnJhbWVSZXNvdXJjZVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAog
ICAgIG9uZGJsY2xpY2s6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgUGFnZUFnZW50
Lm9wZW4odGhpcy5fcmVzb3VyY2UudXJsLCB0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0Lm9wZW5Jbk5ld1RhYih0aGlzLl9yZXNvdXJjZS51cmwpOwogICAgIH0sCiAKICAgICBv
bmF0dGFjaDogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5qcwppbmRleCA2ZjA3MGM4OGQ3NWIwZTE5ZjNhNDQxYjRmNDAwNzQ3ZmE2
NTA3ZjQxLi4yMDY3NWJjNTU3YTZhOTFlOWY1ZWY1YjI0MjlkYTZjZjVkOTFhZjY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNTg2
LDcgKzU4Niw3IEBAIFdlYkluc3BlY3Rvci5vcGVuUmVzb3VyY2UgPSBmdW5jdGlvbihyZXNvdXJj
ZVVSTCwgaW5SZXNvdXJjZXNQYW5lbCkKICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNv
dXJjZXMuc2hvd1Jlc291cmNlKHJlc291cmNlKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dQ
YW5lbCgicmVzb3VyY2VzIik7CiAgICAgfSBlbHNlCi0gICAgICAgIFBhZ2VBZ2VudC5vcGVuKHJl
c291cmNlVVJMLCB0cnVlKTsKKyAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lm9wZW5Jbk5l
d1RhYihyZXNvdXJjZVVSTCk7CiB9CiAKIFdlYkluc3BlY3Rvci5vcGVuUmVxdWVzdEluTmV0d29y
a1BhbmVsID0gZnVuY3Rpb24ocmVzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgKaW5kZXggYWNiNWY5
ODQ5ZWVmYjQ2MDVjZjA0ZjJkYzU3YmQ0ZTc2YjBkMzY3YS4uYzA5ZjUxNGMxMTBkOGU4MTEyZDYy
OTY1YjljYjBjZGM1ZjJhYTY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaApAQCAtNDksNiArNDksNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RVbmRvY2tXaW5kb3coKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGNvbnN0IFdlYlN0cmluZyYgc2lkZSkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIG1vdmVXaW5kb3dCeShjb25zdCBXZWJGbG9hdFBvaW50Jikg
eyB9CisgICAgdmlydHVhbCB2b2lkIG9wZW5Jbk5ld1RhYihjb25zdCBXZWJTdHJpbmcmIHNpZGUp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBzYXZlQXMoY29uc3QgV2ViU3RyaW5nJiBmaWxlTmFtZSwg
Y29uc3QgV2ViU3RyaW5nJiBjb250ZW50KSB7IH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1w
bC5jcHAKaW5kZXggNDk0ODIyMzc2NWZhMmU3NDhkY2NmN2ExMDMwZTEyYjVmNjI4ZWQ3Mi4uZWUy
ZTg5YTQyNzM3NzFkZmJiZGQwMGEyNTRiNDc4ODQyNTY5YjlmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwu
Y3BwCkBAIC0xMjQsOSArMTI0LDkgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6
OmNoYW5nZUF0dGFjaGVkV2luZG93SGVpZ2h0KHVuc2lnbmVkKQogICAgIC8vIERvIG5vdGhpbmc7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpzYXZlQXMoY29uc3QgU3Ry
aW5nJiBmaWxlTmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50KQordm9pZCBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGw6Om9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVybCkKIHsKLSAgICBt
X2NsaWVudC0+c2F2ZUFzKGZpbGVOYW1lLCBjb250ZW50KTsKKyAgICBtX2NsaWVudC0+b3Blbklu
TmV3VGFiKHVybCk7CiB9CiAKIGJvb2wgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpjYW5T
YXZlQXMoKQpAQCAtMTM0LDYgKzEzNCwxMSBAQCBib29sIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbDo6Y2FuU2F2ZUFzKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBJbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGw6OnNhdmVBcyhjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBT
dHJpbmcmIGNvbnRlbnQpCit7CisgICAgbV9jbGllbnQtPnNhdmVBcyhmaWxlTmFtZSwgY29udGVu
dCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjppbnNwZWN0ZWRVUkxD
aGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIG1fZnJvbnRlbmRQYWdlLT5tYWluRnJh
bWUoKS0+ZG9jdW1lbnQoKS0+c2V0VGl0bGUoIkRldmVsb3BlciBUb29scyAtICIgKyB1cmwpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudEltcGwuaAppbmRleCBkOGU5YTM2Njk2MWQ1MmQ5OTQ5MjhlMDA4ZTBlZTNkOTgxMTVj
OGUyLi40ZjdhNzJiOTY5NmYzYmUyMjg2NjRmODI0NWI3ZDkzMjg2MWJiMjZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwuaApAQCAtNjYsNiArNjYsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3REZXRhY2hXaW5kb3coKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKGNv
bnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VBdHRhY2hlZFdpbmRvd0hlaWdo
dCh1bnNpZ25lZCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbkluTmV3VGFiKGNvbnN0IFN0cmlu
ZyYgdXJsKTsKKwogICAgIHZpcnR1YWwgYm9vbCBjYW5TYXZlQXMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2F2ZUFzKGNvbnN0IFdURjo6U3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgV1RGOjpTdHJpbmcm
IGNvbnRlbnQpOwogCg==
</data>
<flag name="review"
          id="124303"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>