<?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>140268</bug_id>
          
          <creation_ts>2015-01-08 14:23:42 -0800</creation_ts>
          <short_desc>Web Inspector: ResourceContentView.js incorrectly contains call to WebInspector.UIString with a variable parameter</short_desc>
          <delta_ts>2015-01-22 17:08:15 -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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Wells">jonowells</reporter>
          <assigned_to name="Jonathan Wells">jonowells</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059952</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-08 14:23:42 -0800</bug_when>
    <thetext>UIString only takes in String literals. This is generating an error with update-webkit-localizable-strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059953</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-01-08 14:23:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/19417623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059958</commentid>
    <comment_count>2</comment_count>
      <attachid>244295</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-08 14:40:45 -0800</bug_when>
    <thetext>Created attachment 244295
[PATCH] fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059963</commentid>
    <comment_count>3</comment_count>
      <attachid>244295</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-08 15:03:25 -0800</bug_when>
    <thetext>Comment on attachment 244295
[PATCH] fix.

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

&gt; Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:102
&gt; +        this.element.appendChild(WebInspector.createMessageTextView(error.message, true));

While this is correct, I think there may be an actual bug here.

This is called from:

    // Request content last so the spinner will always be removed in case the content is immediately available.
    resource.requestContent().then(this._contentAvailable.bind(this)).catch(this._contentError.bind(this));

So it looks like the &quot;error.message&quot; here comes from a requestContent rejected promise:

    requestContent: function()
    {
        if (this._finished)
            return WebInspector.SourceCode.prototype.requestContent.call(this);

        if (this._failed)
            return Promise.reject(new Error(&quot;An error occurred trying to load the resource.&quot;));
        ...
    }

So, shouldn&apos;t that Error message be localized for this view to have a localized string?

    Promise.reject(new Error(WebInspector.UIString(&quot;An error occurred trying to load the resource.&quot;)));

If that is the case, are there other error strings that may need to be localized?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059995</commentid>
    <comment_count>4</comment_count>
      <attachid>244295</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-08 16:00:02 -0800</bug_when>
    <thetext>Comment on attachment 244295
[PATCH] fix.

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:102
&gt;&gt; +        this.element.appendChild(WebInspector.createMessageTextView(error.message, true));
&gt; 
&gt; While this is correct, I think there may be an actual bug here.
&gt; 
&gt; This is called from:
&gt; 
&gt;     // Request content last so the spinner will always be removed in case the content is immediately available.
&gt;     resource.requestContent().then(this._contentAvailable.bind(this)).catch(this._contentError.bind(this));
&gt; 
&gt; So it looks like the &quot;error.message&quot; here comes from a requestContent rejected promise:
&gt; 
&gt;     requestContent: function()
&gt;     {
&gt;         if (this._finished)
&gt;             return WebInspector.SourceCode.prototype.requestContent.call(this);
&gt; 
&gt;         if (this._failed)
&gt;             return Promise.reject(new Error(&quot;An error occurred trying to load the resource.&quot;));
&gt;         ...
&gt;     }
&gt; 
&gt; So, shouldn&apos;t that Error message be localized for this view to have a localized string?
&gt; 
&gt;     Promise.reject(new Error(WebInspector.UIString(&quot;An error occurred trying to load the resource.&quot;)));
&gt; 
&gt; If that is the case, are there other error strings that may need to be localized?

I would agree with Joe. We should localize any string passed to the Error constructor if it is thrown and possibly displayed to the user.

However, I&apos;m not sure that these exceptions would be shown to the user. Won&apos;t they instead appear in Inspector^2? If we don&apos;t plan to localize those strings (which exist mainly for our benefit and for testing) then this patch is good.
In either case, the explanation should be added to the changelog and the WebInspectorUI style guide for future reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060023</commentid>
    <comment_count>5</comment_count>
      <attachid>244295</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-08 17:10:02 -0800</bug_when>
    <thetext>Comment on attachment 244295
[PATCH] fix.

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:102
&gt;&gt;&gt; +        this.element.appendChild(WebInspector.createMessageTextView(error.message, true));
&gt;&gt; 
&gt;&gt; While this is correct, I think there may be an actual bug here.
&gt;&gt; 
&gt;&gt; This is called from:
&gt;&gt; 
&gt;&gt;     // Request content last so the spinner will always be removed in case the content is immediately available.
&gt;&gt;     resource.requestContent().then(this._contentAvailable.bind(this)).catch(this._contentError.bind(this));
&gt;&gt; 
&gt;&gt; So it looks like the &quot;error.message&quot; here comes from a requestContent rejected promise:
&gt;&gt; 
&gt;&gt;     requestContent: function()
&gt;&gt;     {
&gt;&gt;         if (this._finished)
&gt;&gt;             return WebInspector.SourceCode.prototype.requestContent.call(this);
&gt;&gt; 
&gt;&gt;         if (this._failed)
&gt;&gt;             return Promise.reject(new Error(&quot;An error occurred trying to load the resource.&quot;));
&gt;&gt;         ...
&gt;&gt;     }
&gt;&gt; 
&gt;&gt; So, shouldn&apos;t that Error message be localized for this view to have a localized string?
&gt;&gt; 
&gt;&gt;     Promise.reject(new Error(WebInspector.UIString(&quot;An error occurred trying to load the resource.&quot;)));
&gt;&gt; 
&gt;&gt; If that is the case, are there other error strings that may need to be localized?
&gt; 
&gt; I would agree with Joe. We should localize any string passed to the Error constructor if it is thrown and possibly displayed to the user.
&gt; 
&gt; However, I&apos;m not sure that these exceptions would be shown to the user. Won&apos;t they instead appear in Inspector^2? If we don&apos;t plan to localize those strings (which exist mainly for our benefit and for testing) then this patch is good.
&gt; In either case, the explanation should be added to the changelog and the WebInspectorUI style guide for future reference.

These are shown to the user if you select a resource that had an error loading. For images, in English, this reads:

&quot;Failed to load the resource: The requested URL was not found on this server.&quot;

For scripts, this is localized as this internal error is not available. Resource.js:682:

return Promise.reject(new Error(&quot;An error occurred trying to load the resource.&quot;));

It is shown to the user in bright red text in both cases when the resource is selected. I can make them both have the localized message &quot;An error occurred trying to load the resource.&quot; for consistency... though I do wish that this message was more specific about the nature of the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060055</commentid>
    <comment_count>6</comment_count>
      <attachid>244295</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-08 19:53:53 -0800</bug_when>
    <thetext>Comment on attachment 244295
[PATCH] fix.

I think it is odd to use the Error class for a string that gets displayed. It should be something else, if not just a plain string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060056</commentid>
    <comment_count>7</comment_count>
      <attachid>244295</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-08 19:55:47 -0800</bug_when>
    <thetext>Comment on attachment 244295
[PATCH] fix.

We likely should not reject for cases when the page failed to load a Resource. Those are page errors, not Inspector errors. Page errors likely should fulfill the Promise, not reject it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060339</commentid>
    <comment_count>8</comment_count>
      <attachid>244389</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-09 16:48:28 -0800</bug_when>
    <thetext>Created attachment 244389
[PATCH] fix.

Fix based on comments. Note that the localized strings files have not been updated. I haven&apos;t been able to properly configure my machine to diff those files despite many efforts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060456</commentid>
    <comment_count>9</comment_count>
      <attachid>244389</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-10 17:15:35 -0800</bug_when>
    <thetext>Comment on attachment 244389
[PATCH] fix.

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

You don&apos;t need to post a readable diff for localizedString.js, webkit-patch or git format-patch will output a binary patch just fine. The trick to use iconv is just helpful for seeing the diff with git diff.

&gt; Source/WebInspectorUI/UserInterface/Models/Script.js:119
&gt; +            return Promise.reject(new Error(WebInspector.UIString(&quot;There is no identifier to request content with.&quot;)));

No need to localize since this error should not be shown to the user.

&gt; Source/WebInspectorUI/UserInterface/Models/SourceCode.js:186
&gt; +        var errorMessage = WebInspector.UIString(&quot;Needs to be implemented by a subclass.&quot;);
&gt; +        console.error(errorMessage);
&gt; +        return Promise.reject(new Error(errorMessage));

No need to be localized. Revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060709</commentid>
    <comment_count>10</comment_count>
      <attachid>244477</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-12 16:19:53 -0800</bug_when>
    <thetext>Created attachment 244477
[PATCH] fix 2, with attempted localized strings addition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060710</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-12 16:22:40 -0800</bug_when>
    <thetext>Attachment 244477 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060712</commentid>
    <comment_count>12</comment_count>
      <attachid>244477</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-12 16:29:36 -0800</bug_when>
    <thetext>Comment on attachment 244477
[PATCH] fix 2, with attempted localized strings addition.

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        * English.lproj/Localizable.strings:

You should split this script sorting out and land separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063526</commentid>
    <comment_count>13</comment_count>
      <attachid>245179</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-22 16:24:23 -0800</bug_when>
    <thetext>Created attachment 245179
[PATCH] separated out localized strings, reviewed patch.

I&apos;ll submit the updated localized strings separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063533</commentid>
    <comment_count>14</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-22 16:33:22 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created attachment 245179 [details]
&gt; [PATCH] separated out localized strings, reviewed patch.
&gt; 
&gt; I&apos;ll submit the updated localized strings separately.

Why? Can you just land manually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063535</commentid>
    <comment_count>15</comment_count>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-22 16:35:46 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Created attachment 245179 [details]
&gt; &gt; [PATCH] separated out localized strings, reviewed patch.
&gt; &gt; 
&gt; &gt; I&apos;ll submit the updated localized strings separately.
&gt; 
&gt; Why? Can you just land manually?

I suppose so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063539</commentid>
    <comment_count>16</comment_count>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2015-01-22 16:44:39 -0800</bug_when>
    <thetext>Committed r178970: &lt;http://trac.webkit.org/changeset/178970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063546</commentid>
    <comment_count>17</comment_count>
      <attachid>245179</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-22 17:08:15 -0800</bug_when>
    <thetext>Comment on attachment 245179
[PATCH] separated out localized strings, reviewed patch.

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

&gt; Source/WebInspectorUI/UserInterface/Models/Resource.js:683
&gt; +            return Promise.resolve({ error: WebInspector.UIString(&quot;An error occurred trying to load the resource.&quot;) });

Style: Our style for object literals is {name: property}.

&gt; Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:93
&gt; +            this._contentError({ message: parameters.error });

Style: ditto.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244295</attachid>
            <date>2015-01-08 14:40:45 -0800</date>
            <delta_ts>2015-01-09 16:48:28 -0800</delta_ts>
            <desc>[PATCH] fix.</desc>
            <filename>uistring.diff</filename>
            <type>text/plain</type>
            <size>1529</size>
            <attacher name="Jonathan Wells">jonowells</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGJjN2VkNGMuLmU2NDE0ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTAxLTA4ICBKb25hdGhhbiBXZWxs
cyAgPGpvbm93ZWxsc0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3Vy
Y2VDb250ZW50Vmlldy5qcyBpbmNvcnJlY3RseSBjb250YWlucyBjYWxsIHRvIFdlYkluc3BlY3Rv
ci5VSVN0cmluZyB3aXRoIGEgdmFyaWFibGUgcGFyYW1ldGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgVUlTdHJpbmcoKSBjYWxsIGFyb3Vu
ZCBtZXNzYWdlLmVycm9yIGluIFJlc291cmNlQ29udGVudFZpZXcjX2NvbnRlbnRFcnJvci4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29udGVu
dEVycm9yKToKKwogMjAxNS0wMS0wOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEV4cGVjdGVkIFVzZXJBZ2VudCBzdHlsZXMg
dG8gYmUgY3Jvc3NlZC1vdXQgaWYgb3ZlcnJpZGRlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZp
ZXcuanMKaW5kZXggMTUwYmM1OS4uNmI1YjU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRW
aWV3LmpzCkBAIC05OSw3ICs5OSw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLmVsZW1l
bnQucmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKFdl
Ykluc3BlY3Rvci5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKGVy
cm9yLm1lc3NhZ2UpLCB0cnVlKSk7CisgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChX
ZWJJbnNwZWN0b3IuY3JlYXRlTWVzc2FnZVRleHRWaWV3KGVycm9yLm1lc3NhZ2UsIHRydWUpKTsK
ICAgICB9LAogCiAgICAgX2lzc3VlV2FzQWRkZWQ6IGZ1bmN0aW9uKGV2ZW50KQo=
</data>
<flag name="review"
          id="269221"
          type_id="1"
          status="-"
          setter="joepeck"
    />
    <flag name="commit-queue"
          id="269222"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244389</attachid>
            <date>2015-01-09 16:48:28 -0800</date>
            <delta_ts>2015-01-12 16:19:53 -0800</delta_ts>
            <desc>[PATCH] fix.</desc>
            <filename>uistring.diff</filename>
            <type>text/plain</type>
            <size>7985</size>
            <attacher name="Jonathan Wells">jonowells</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDZmZjg2NmMuLjBkNzFmNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTAxLTA5ICBKb25hdGhhbiBXZWxs
cyAgPGpvbm93ZWxsc0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3Vy
Y2VDb250ZW50Vmlldy5qcyBpbmNvcnJlY3RseSBjb250YWlucyBjYWxsIHRvIFdlYkluc3BlY3Rv
ci5VSVN0cmluZyB3aXRoIGEgdmFyaWFibGUgcGFyYW1ldGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJJbnNwZWN0b3IuVUlTdHJpbmcgbm93IHBy
b3BlcnR5IHdyYXBzIG9ubHkgc3RyaW5nIGxpdGVyYWxzLiBBZGRpdGlvbmFsbHksIHVzZSBvZiBw
cm9taXNlcyBoYXMgYmVlbiB0d2Vha2VkCisgICAgICAgIHN1Y2ggdGhhdCBhIHByb21pc2Ugb25s
eSByZWplY3RzIGZvciBpbnNwZWN0b3IgZXJyb3JzLCBub3QgcGFnZSBsb2FkIGVycm9ycyB0aGF0
IGFyZSBub3QgaW5kaWNhdGl2ZSBvZiBicm9rZW4KKyAgICAgICAgaW5zcGVjdG9yIGJlaGF2aW9y
LiBTZXZlcmFsIGRyaXZlLWJ5IHVwZGF0ZXMgdG8gcHJvdG90eXBlIGluaGVyaXRhbmNlIHN0eWxl
cyBoYXZlIGJlZW4gbWFkZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1Jlc291
cmNlLmpzOiBQYWdlIGVycm9ycyBub3cgcmVzb2x2ZSByYXRoZXIgdGhhbiByZWplY3QgdGhlIHBy
b21pc2UuCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0LmpzOiBJbmhlcml0
YW5jZSBzdHlsZSB1cGRhdGUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlw
ZS5yZXF1ZXN0Q29udGVudEZyb21CYWNrZW5kKTogUHJvcGVyIHdyYXBwaW5nIG9mIHN0cmluZyBp
bnNpZGUgVUlTdHJpbmcuCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29k
ZS5qczogSW5oZXJpdGFuY2Ugc3R5bGUgdXBkYXRlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNv
dXJjZUNvZGUucHJvdG90eXBlLnJlcXVlc3RDb250ZW50RnJvbUJhY2tlbmQpOiBQcm9wZXIgd3Jh
cHBpbmcgb2Ygc3RyaW5nIGluc2lkZSBVSVN0cmluZy4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcuanM6IEluaGVyaXRhbmNlIHN0eWxlIHVwZGF0ZS4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29u
dGVudEF2YWlsYWJsZSk6IEFkanVzdCB0byBjaGFuZ2UgaW4gUmVzb3VyY2UuanMuCisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2NvbnRlbnRFcnJv
cik6IEFkanVzdCB0byBjaGFuZ2UgaW4gUmVzb3VyY2UuanMuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qczogSW5oZXJpdGFuY2Ugc3R5bGUgdXBk
YXRlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnByb3RvdHlw
ZS5fY29udGVudEF2YWlsYWJsZSk6IEFkanVzdCB0byBjaGFuZ2UgaW4gUmVzb3VyY2UuanMuCisK
IDIwMTUtMDEtMDkgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbaU9TXSBTdXBwb3J0IGFkZGl0aW9uYWwgdGV4dCBzdHlsZXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMKaW5kZXgg
NGNhNGQ2YS4uZjY4NjI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1Jlc291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9SZXNvdXJjZS5qcwpAQCAtMTg2LDYgKzE4Niw3IEBAIFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5kaXNwbGF5TmFtZUZvclR5cGUgPSBmdW5jdGlvbih0eXBlLCBwbHVy
YWwpCiAKIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0
b3I6IFdlYkluc3BlY3Rvci5SZXNvdXJjZSwKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5T
b3VyY2VDb2RlLnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC02NzksNyArNjgwLDcg
QEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVy
biBXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5wcm90b3R5cGUucmVxdWVzdENvbnRlbnQuY2FsbCh0
aGlzKTsKIAogICAgICAgICBpZiAodGhpcy5fZmFpbGVkKQotICAgICAgICAgICAgcmV0dXJuIFBy
b21pc2UucmVqZWN0KG5ldyBFcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgdHJ5aW5nIHRvIGxvYWQg
dGhlIHJlc291cmNlLiIpKTsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBl
cnJvcjogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBbiBlcnJvciBvY2N1cnJlZCB0cnlpbmcgdG8g
bG9hZCB0aGUgcmVzb3VyY2UuIikgfSk7CiAKICAgICAgICAgaWYgKCF0aGlzLl9maW5pc2hUaGVu
UmVxdWVzdENvbnRlbnRQcm9taXNlKSB7CiAgICAgICAgICAgICB2YXIgbGlzdGVuZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXIodGhpcywgdHJ1ZSk7CkBAIC03MTQsNSArNzE1LDMg
QEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgY29va2llW1dl
Ykluc3BlY3Rvci5SZXNvdXJjZS5NYWluUmVzb3VyY2VDb29raWVLZXldID0gdGhpcy5pc01haW5S
ZXNvdXJjZSgpOwogICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90eXBlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMKaW5k
ZXggODM0MGMzNS4uYWU5MDJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0LmpzCkBAIC01OCw2ICs1OCw3IEBAIFdlYkluc3Bl
Y3Rvci5TY3JpcHQuX25leHRVbmlxdWVEaXNwbGF5TmFtZU51bWJlciA9IDE7CiAKIFdlYkluc3Bl
Y3Rvci5TY3JpcHQucHJvdG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3Iu
U2NyaXB0LAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90eXBl
LAogCiAgICAgLy8gUHVibGljCiAKQEAgLTExMCwxMiArMTExLDEyIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHQucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fc2NyaXB0U3ludGF4VHJl
ZTsKICAgICB9LAogCi0gICAgcmVxdWVzdENvbnRlbnRGcm9tQmFja2VuZDogZnVuY3Rpb24oY2Fs
bGJhY2spCisgICAgcmVxdWVzdENvbnRlbnRGcm9tQmFja2VuZDogZnVuY3Rpb24oKQogICAgIHsK
ICAgICAgICAgaWYgKCF0aGlzLl9pZCkgewogICAgICAgICAgICAgLy8gVGhlcmUgaXMgbm8gaWRl
bnRpZmllciB0byByZXF1ZXN0IGNvbnRlbnQgd2l0aC4gUmV0dXJuIGZhbHNlIHRvIGNhdXNlIHRo
ZQogICAgICAgICAgICAgLy8gcGVuZGluZyBjYWxsYmFja3MgdG8gZ2V0IG51bGwgY29udGVudC4K
LSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh7IG1lc3NhZ2U6ICJUaGVyZSBpcyBu
byBpZGVudGlmaWVyIHRvIHJlcXVlc3QgY29udGVudCB3aXRoLiIgfSk7CisgICAgICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGhl
cmUgaXMgbm8gaWRlbnRpZmllciB0byByZXF1ZXN0IGNvbnRlbnQgd2l0aC4iKSkpOwogICAgICAg
ICB9CiAKICAgICAgICAgcmV0dXJuIERlYnVnZ2VyQWdlbnQuZ2V0U2NyaXB0U291cmNlLnByb21p
c2UodGhpcy5faWQpOwpAQCAtMjEyLDUgKzIxMywzIEBAIFdlYkluc3BlY3Rvci5TY3JpcHQucHJv
dG90eXBlID0gewogICAgICAgICB0aGlzLl9zY3JpcHRTeW50YXhUcmVlID0gbmV3IFdlYkluc3Bl
Y3Rvci5TY3JpcHRTeW50YXhUcmVlKHNvdXJjZVRleHQsIHRoaXMpOwogICAgIH0KIH07Ci0KLVdl
Ykluc3BlY3Rvci5TY3JpcHQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDb2RlLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGUuanMKaW5kZXggYTcwNzE5ZC4uY2ZjMGZkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Nv
dXJjZUNvZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL1NvdXJjZUNvZGUuanMKQEAgLTQ3LDYgKzQ3LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNv
ZGUuRXZlbnQgPSB7CiAKIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsKICAg
ICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUsCisgICAgX19wcm90b19fOiBX
ZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC0xODAs
OCArMTgxLDkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90eXBlID0gewogICAgIHJl
cXVlc3RDb250ZW50RnJvbUJhY2tlbmQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIC8vIElt
cGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCi0gICAgICAgIGNvbnNvbGUuZXJyb3IoIk5lZWRzIHRv
IGJlIGltcGxlbWVudGVkIGJ5IGEgc3ViY2xhc3MuIik7Ci0gICAgICAgIHJldHVybiBQcm9taXNl
LnJlamVjdChuZXcgRXJyb3IoIk5lZWRzIHRvIGJlIGltcGxlbWVudGVkIGJ5IGEgc3ViY2xhc3Mu
IikpOworICAgICAgICB2YXIgZXJyb3JNZXNzYWdlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJO
ZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBieSBhIHN1YmNsYXNzLiIpOworICAgICAgICBjb25zb2xl
LmVycm9yKGVycm9yTWVzc2FnZSk7CisgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcg
RXJyb3IoZXJyb3JNZXNzYWdlKSk7CiAgICAgfSwKIAogICAgIC8vIFByaXZhdGUKQEAgLTIwNiw1
ICsyMDgsMyBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5wcm90b3R5cGUgPSB7CiAgICAgICAg
IH0pOwogICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNv
bnRlbnRWaWV3LmpzCmluZGV4IDE1MGJjNTkuLjU4Zjc0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VD
b250ZW50Vmlldy5qcwpAQCAtNTgsNiArNTgsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250
ZW50Vmlldy5TdHlsZUNsYXNzTmFtZSA9ICJyZXNvdXJjZSI7CiAKIFdlYkluc3BlY3Rvci5SZXNv
dXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVj
dG9yLlJlc291cmNlQ29udGVudFZpZXcsCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQ29u
dGVudFZpZXcucHJvdG90eXBlLAogCiAgICAgLy8gUHVibGljCiAKQEAgLTg4LDYgKzg5LDExIEBA
IFdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIF9j
b250ZW50QXZhaWxhYmxlOiBmdW5jdGlvbihwYXJhbWV0ZXJzKQogICAgIHsKKyAgICAgICAgaWYg
KHBhcmFtZXRlcnMuZXJyb3IpIHsKKyAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRFcnJvcih7IG1l
c3NhZ2U6IHBhcmFtZXRlcnMuZXJyb3IgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKwogICAgICAgICAvLyBDb250ZW50IGlzIHJlYWR5IHRvIHNob3csIGNhbGwgdGhlIHB1Ymxp
YyBtZXRob2Qgbm93LgogICAgICAgICB0aGlzLmNvbnRlbnRBdmFpbGFibGUocGFyYW1ldGVycy5j
b250ZW50LCBwYXJhbWV0ZXJzLmJhc2U2NEVuY29kZWQpOwogICAgIH0sCkBAIC05OSw3ICsxMDUs
NyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7
Ci0gICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChXZWJJbnNwZWN0b3IuY3JlYXRlTWVz
c2FnZVRleHRWaWV3KFdlYkluc3BlY3Rvci5VSVN0cmluZyhlcnJvci5tZXNzYWdlKSwgdHJ1ZSkp
OworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoV2ViSW5zcGVjdG9yLmNyZWF0ZU1l
c3NhZ2VUZXh0VmlldyhlcnJvci5tZXNzYWdlLCB0cnVlKSk7CiAgICAgfSwKIAogICAgIF9pc3N1
ZVdhc0FkZGVkOiBmdW5jdGlvbihldmVudCkKQEAgLTEyMCw1ICsxMjYsMyBAQCBXZWJJbnNwZWN0
b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIFdlYkluc3BlY3Rv
ci5oYW5kbGVQb3NzaWJsZUxpbmtDbGljayhldmVudCwgdGhpcy5yZXNvdXJjZS5wYXJlbnRGcmFt
ZSk7CiAgICAgfQogfTsKLQotV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90
eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5wcm90b3R5cGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VD
b2RlVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCmluZGV4IGNiMjhjODAuLjg3MGQ1NjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNv
ZGVUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC00NDMsNiArNDQzLDEwIEBAIFdlYklu
c3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUgPSB7CiAKICAgICBfY29udGVu
dEF2YWlsYWJsZTogZnVuY3Rpb24ocGFyYW1ldGVycykKICAgICB7CisgICAgICAgIC8vIFJldHVy
biBpZiByZXNvdXJjZSBpcyBub3QgYXZhaWxhYmxlLgorICAgICAgICBpZiAocGFyYW1ldGVycy5l
cnJvcikKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB2YXIgc291cmNlQ29kZSA9IHBh
cmFtZXRlcnMuc291cmNlQ29kZTsKICAgICAgICAgdmFyIGNvbnRlbnQgPSBwYXJhbWV0ZXJzLmNv
bnRlbnQ7CiAgICAgICAgIHZhciBiYXNlNjRFbmNvZGVkID0gcGFyYW1ldGVycy5iYXNlNjRFbmNv
ZGVkOwo=
</data>
<flag name="review"
          id="269315"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244477</attachid>
            <date>2015-01-12 16:19:53 -0800</date>
            <delta_ts>2015-01-22 16:24:23 -0800</delta_ts>
            <desc>[PATCH] fix 2, with attempted localized strings addition.</desc>
            <filename>uistring.patch</filename>
            <type>text/plain</type>
            <size>14969</size>
            <attacher name="Jonathan Wells">jonowells</attacher>
            
              <data encoding="base64">RnJvbSAwNTI2MDJmYTUwNGYyNDYzY2ExOTdiZGZkZjBiMTQ3Y2JhZTYzNTc2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhhbiBXZWxscyA8am9ub3dlbGxzQGFwcGxlLmNvbT4K
RGF0ZTogTW9uLCAxMiBKYW4gMjAxNSAxNjoxNzo0MCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFdl
YiBJbnNwZWN0b3I6IFJlc291cmNlQ29udGVudFZpZXcuanMgaW5jb3JyZWN0bHkgY29udGFpbnMK
IGNhbGwgdG8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nIHdpdGggYSB2YXJpYWJsZSBwYXJhbWV0ZXIK
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNjgKClJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYkNvcmU6CgpObyBuZXcgdGVzdHMgKE9PUFMh
KS4KCiogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOgoKU291cmNlL1dlYkluc3Bl
Y3RvclVJOgoKV2ViSW5zcGVjdG9yLlVJU3RyaW5nIG5vdyBwcm9wZXJ0eSB3cmFwcyBvbmx5IHN0
cmluZyBsaXRlcmFscy4gQWRkaXRpb25hbGx5LCB1c2Ugb2YgcHJvbWlzZXMgaGFzIGJlZW4gdHdl
YWtlZApzdWNoIHRoYXQgYSBwcm9taXNlIG9ubHkgcmVqZWN0cyBmb3IgaW5zcGVjdG9yIGVycm9y
cywgbm90IHBhZ2UgbG9hZCBlcnJvcnMgdGhhdCBhcmUgbm90IGluZGljYXRpdmUgb2YgYnJva2Vu
Cmluc3BlY3RvciBiZWhhdmlvci4gU2V2ZXJhbCBkcml2ZS1ieSB1cGRhdGVzIHRvIHByb3RvdHlw
ZSBpbmhlcml0YW5jZSBzdHlsZXMgaGF2ZSBiZWVuIG1hZGUuCgoqIFVzZXJJbnRlcmZhY2UvTW9k
ZWxzL1Jlc291cmNlLmpzOiBQYWdlIGVycm9ycyBub3cgcmVzb2x2ZSByYXRoZXIgdGhhbiByZWpl
Y3QgdGhlIHByb21pc2UuCiogVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0LmpzOiBJbmhlcml0
YW5jZSBzdHlsZSB1cGRhdGUuCihXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZS5yZXF1ZXN0
Q29udGVudEZyb21CYWNrZW5kKTogQWRkIHVzZSBvZiBFcnJvciBvYmplY3QuCiogVXNlckludGVy
ZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qczogSW5oZXJpdGFuY2Ugc3R5bGUgdXBkYXRlLgoqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qczogSW5oZXJpdGFuY2Ugc3R5
bGUgdXBkYXRlLgooV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBlLl9j
b250ZW50QXZhaWxhYmxlKTogQWRqdXN0IHRvIGNoYW5nZSBpbiBSZXNvdXJjZS5qcy4KKFdlYklu
c3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29udGVudEVycm9yKTogQWRq
dXN0IHRvIGNoYW5nZSBpbiBSZXNvdXJjZS5qcy4KKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJj
ZUNvZGVUZXh0RWRpdG9yLmpzOiBJbmhlcml0YW5jZSBzdHlsZSB1cGRhdGUuCihXZWJJbnNwZWN0
b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLl9jb250ZW50QXZhaWxhYmxlKTogQWRq
dXN0IHRvIGNoYW5nZSBpbiBSZXNvdXJjZS5qcy4KLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMSArKysKIFNvdXJjZS9XZWJDb3JlL0Vu
Z2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyAgIHwgIDgwICsrKysrKysrKystLS0tLS0t
LS0tLQogU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
fCAgMjEgKysrKysrCiAuLi4vTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzICAgICB8IEJpbiA1NTI2NCAtPiA1NTUwMiBieXRlcwogLi4uL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL1Jlc291cmNlLmpzICAgICAgICAgICAgICAgfCAgIDUgKy0KIC4uLi9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMgIHwgICA3ICstCiAuLi4vVXNlckludGVy
ZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qcyAgICAgICAgICAgICB8ICAgMyArLQogLi4uL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcyAgICAgfCAgMTAgKystCiAuLi4v
VXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcyAgICB8ICAgNCArKwog
OSBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggNjhjMGQ5Ni4uOWIxNzg5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTAxLTEyICBKb25hdGhhbiBXZWxscyAgPGpvbm93ZWxsc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogUmVzb3VyY2VDb250ZW50Vmlldy5qcyBpbmNvcnJlY3RseSBjb250
YWlucyBjYWxsIHRvIFdlYkluc3BlY3Rvci5VSVN0cmluZyB3aXRoIGEgdmFyaWFibGUgcGFyYW1l
dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAy
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovTG9jYWxpemFibGUu
c3RyaW5nczoKKwogMjAxNS0wMS0xMiAgVGltb3RoeSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE3NzY1Nik6IFRleHQgaW4gZmluZC1p
bi1wYWdlIHllbGxvdyBib3VuY3kgcmVjdGFuZ2xlIGlzIG5vdCBjcmlzcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzIGIvU291cmNl
L1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IGRkZDYwMDAu
LjM0MDAzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxp
emFibGUuc3RyaW5ncworKysgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXph
YmxlLnN0cmluZ3MKQEAgLTkxLDkgKzkxLDE1IEBACiAvKiBXS0Vycm9ySmF2YVNjcmlwdEV4Y2Vw
dGlvbk9jY3VycmVkIGRlc2NyaXB0aW9uICovCiAiQSBKYXZhU2NyaXB0IGV4Y2VwdGlvbiBvY2N1
cnJlZCIgPSAiQSBKYXZhU2NyaXB0IGV4Y2VwdGlvbiBvY2N1cnJlZCI7CiAKKy8qIGFjdGlvbiBt
ZW51IGl0ZW0gKi8KKyJBZGQgdG8gUGhvdG9zIChhY3Rpb24gbWVudSBpdGVtKSIgPSAiQWRkIHRv
IFBob3RvcyI7CisKIC8qIFRpdGxlIGZvciBBZGQgdG8gUmVhZGluZyBMaXN0IGFjdGlvbiBidXR0
b24gKi8KICJBZGQgdG8gUmVhZGluZyBMaXN0IiA9ICJBZGQgdG8gUmVhZGluZyBMaXN0IjsKIAor
LyogYWN0aW9uIG1lbnUgaXRlbSAqLworIkFkZCB0byBSZWFkaW5nIExpc3QgKGFjdGlvbiBtZW51
IGl0ZW0pIiA9ICJBZGQgdG8gUmVhZGluZyBMaXN0IjsKKwogLyogVW5kbyBhY3Rpb24gbmFtZSAq
LwogIkFsaWduIExlZnQgKFVuZG8gYWN0aW9uIG5hbWUpIiA9ICJBbGlnbiBMZWZ0IjsKIApAQCAt
MTgxLDYgKzE4NywxNSBAQAogLyogQ29weSBjb250ZXh0IG1lbnUgaXRlbSAqLwogIkNvcHkiID0g
IkNvcHkiOwogCisvKiBpbWFnZSBhY3Rpb24gbWVudSBpdGVtICovCisiQ29weSAoaW1hZ2UgYWN0
aW9uIG1lbnUgaXRlbSkiID0gIkNvcHkiOworCisvKiB0ZXh0IGFjdGlvbiBtZW51IGl0ZW0gKi8K
KyJDb3B5ICh0ZXh0IGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJDb3B5IjsKKworLyogdmlkZW8gYWN0
aW9uIG1lbnUgaXRlbSAqLworIkNvcHkgKHZpZGVvIGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJDb3B5
IjsKKwogLyogVGl0bGUgZm9yIENvcHkgTGluayBvciBJbWFnZSBhY3Rpb24gYnV0dG9uICovCiAi
Q29weSBBY3Rpb25TaGVldCBMaW5rIiA9ICJDb3B5IjsKIApAQCAtMzYxLDYgKzM3Niw5IEBACiAv
KiBNZW51IGl0ZW0gbGFiZWwgZm9yIHRoZSB0cmFjayB0aGF0IHJlcHJlc2VudHMgZGlzYWJsaW5n
IGNsb3NlZCBjYXB0aW9ucyAqLwogIk9mZiIgPSAiT2ZmIjsKIAorLyogYWN0aW9uIG1lbnUgaXRl
bSAqLworIk9wZW4gKGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJPcGVuIjsKKwogLyogVGl0bGUgZm9y
IE9wZW4gTGluayBhY3Rpb24gYnV0dG9uICovCiAiT3BlbiBBY3Rpb25TaGVldCBMaW5rIiA9ICJP
cGVuIjsKIApAQCAtNDAzLDYgKzQyMSw5IEBACiAvKiBVbmRvIGFjdGlvbiBuYW1lICovCiAiUGFz
dGUgKFVuZG8gYWN0aW9uIG5hbWUpIiA9ICJQYXN0ZSI7CiAKKy8qIGFjdGlvbiBtZW51IGl0ZW0g
Ki8KKyJQYXN0ZSAoYWN0aW9uIG1lbnUgaXRlbSkiID0gIlBhc3RlIjsKKwogLyogVW5kbyBhY3Rp
b24gbmFtZSAqLwogIlBhc3RlIEZvbnQgKFVuZG8gYWN0aW9uIG5hbWUpIiA9ICJQYXN0ZSBGb250
IjsKIApAQCAtNDU0LDYgKzQ3NSwxMiBAQAogLyogVGl0bGUgZm9yIFNhdmUgSW1hZ2UgYWN0aW9u
IGJ1dHRvbiAqLwogIlNhdmUgSW1hZ2UiID0gIlNhdmUgSW1hZ2UiOwogCisvKiBpbWFnZSBhY3Rp
b24gbWVudSBpdGVtICovCisiU2F2ZSB0byBEb3dubG9hZHMgKGltYWdlIGFjdGlvbiBtZW51IGl0
ZW0pIiA9ICJTYXZlIHRvIERvd25sb2FkcyI7CisKKy8qIHZpZGVvIGFjdGlvbiBtZW51IGl0ZW0g
Ki8KKyJTYXZlIHRvIERvd25sb2FkcyAodmlkZW8gYWN0aW9uIG1lbnUgaXRlbSkiID0gIlNhdmUg
dG8gRG93bmxvYWRzIjsKKwogLyogU2VhcmNoIGluIFNwb3RsaWdodCBjb250ZXh0IG1lbnUgaXRl
bSAqLwogIlNlYXJjaCBpbiBTcG90bGlnaHQiID0gIlNlYXJjaCBpbiBTcG90bGlnaHQiOwogCkBA
IC00ODEsNiArNTA4LDEyIEBACiAvKiBVbmRvIGFjdGlvbiBuYW1lICovCiAiU2V0IFdyaXRpbmcg
RGlyZWN0aW9uIChVbmRvIGFjdGlvbiBuYW1lKSIgPSAiU2V0IFdyaXRpbmcgRGlyZWN0aW9uIjsK
IAorLyogaW1hZ2UgYWN0aW9uIG1lbnUgaXRlbSAqLworIlNoYXJlIChpbWFnZSBhY3Rpb24gbWVu
dSBpdGVtKSIgPSAiU2hhcmUgKGltYWdlIGFjdGlvbiBtZW51IGl0ZW0pIjsKKworLyogdmlkZW8g
YWN0aW9uIG1lbnUgaXRlbSAqLworIlNoYXJlICh2aWRlbyBhY3Rpb24gbWVudSBpdGVtKSIgPSAi
U2hhcmUiOworCiAvKiBTaG93IGNvbG9ycyBjb250ZXh0IG1lbnUgaXRlbSAqLwogIlNob3cgQ29s
b3JzIiA9ICJTaG93IENvbG9ycyI7CiAKQEAgLTU1OSw2ICs1OTIsOSBAQAogLyogTWVudSBzZWN0
aW9uIGhlYWRpbmcgZm9yIHN1YnRpdGxlcyAqLwogIlN1YnRpdGxlcyIgPSAiU3VidGl0bGVzIjsK
IAorLyogYWN0aW9uIG1lbnUgaXRlbSAqLworIlN1Z2dlc3Rpb25zIChhY3Rpb24gbWVudSBpdGVt
KSIgPSAiU3VnZ2VzdGlvbnMiOworCiAvKiBVbmRvIGFjdGlvbiBuYW1lICovCiAiU3VwZXJzY3Jp
cHQgKFVuZG8gYWN0aW9uIG5hbWUpIiA9ICJTdXBlcnNjcmlwdCI7CiAKQEAgLTYzNCw2ICs2NzAs
OSBAQAogLyogVW5kbyBhY3Rpb24gbmFtZSAqLwogIlVuZGVybGluZSAoVW5kbyBhY3Rpb24gbmFt
ZSkiID0gIlVuZGVybGluZSI7CiAKKy8qIE1lbnUgaXRlbSBsYWJlbCBmb3IgYW4gYXVkaW8gdHJh
Y2sgdGhhdCBoYXMgbm8gb3RoZXIgbmFtZSAqLworIlVua25vd24gKGF1ZGlvIHRyYWNrKSIgPSAi
VW5rbm93biI7CisKIC8qIFVua25vd24gZmlsZXNpemUgRlRQIGRpcmVjdG9yeSBsaXN0aW5nIGl0
ZW0gKi8KICJVbmtub3duIChmaWxlc2l6ZSkiID0gIlVua25vd24iOwogCkBAIC0xMDcyLDQ0ICsx
MTExLDMgQEAKIC8qIGFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHZpZGVvIGVsZW1lbnQgY29udHJv
bGxlciAqLwogInZpZGVvIHBsYXliYWNrIiA9ICJ2aWRlbyBwbGF5YmFjayI7CiAKLS8qICJPcGVu
IExpbmsgaW4gRGVmYXVsdCBCcm93c2VyIiBhY3Rpb24gbWVudSBpdGVtICovCi0iT3BlbiAoYWN0
aW9uIG1lbnUgaXRlbSkiID0gIk9wZW4iOwotCi0vKiAiUHJldmlldyBMaW5rIiBhY3Rpb24gbWVu
dSBpdGVtICovCi0iUHJldmlldyAoYWN0aW9uIG1lbnUgaXRlbSkiID0gIlByZXZpZXciOwotCi0v
KiAiQWRkIHRvIFJlYWRpbmcgTGlzdCIgYWN0aW9uIG1lbnUgaXRlbSAqLwotIkFkZCB0byBSZWFk
aW5nIExpc3QgKGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJBZGQgdG8gUmVhZGluZyBMaXN0IjsKLQot
LyogIkNvcHkiIGFjdGlvbiBtZW51IGl0ZW0gaW4gaW1hZ2UgbWVudSAqLwotIkNvcHkgKGltYWdl
IGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJDb3B5IjsKLQotLyogIkFkZCB0byBQaG90b3MiIGFjdGlv
biBtZW51IGl0ZW0gKi8KLSJBZGQgdG8gUGhvdG9zIChhY3Rpb24gbWVudSBpdGVtKSIgPSAiQWRk
IHRvIFBob3RvcyI7Ci0KLS8qICJTYXZlIHRvIERvd25sb2FkcyIgYWN0aW9uIG1lbnUgaXRlbSBp
biBpbWFnZSBtZW51ICovCi0iU2F2ZSB0byBEb3dubG9hZHMgKGltYWdlIGFjdGlvbiBtZW51IGl0
ZW0pIiA9ICJTYXZlIHRvIERvd25sb2FkcyI7Ci0KLS8qICJTaGFyZSIgYWN0aW9uIG1lbnUgaXRl
bSBpbiBpbWFnZSBtZW51ICovCi0iU2hhcmUgKGltYWdlIGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJT
aGFyZSI7Ci0KLS8qICJDb3B5IiBhY3Rpb24gbWVudSBpdGVtIGluIHRleHQgbWVudSAqLwotIkNv
cHkgKHRleHQgYWN0aW9uIG1lbnUgaXRlbSkiID0gIkNvcHkiOwotCi0vKiAiTG9vayBVcCIgYWN0
aW9uIG1lbnUgaXRlbSAqLwotIkxvb2sgVXAgKGFjdGlvbiBtZW51IGl0ZW0pIiA9ICJMb29rIFVw
IjsKLQotLyogIlBhc3RlIiBhY3Rpb24gbWVudSBpdGVtICovCi0iUGFzdGUgKGFjdGlvbiBtZW51
IGl0ZW0pIiA9ICJQYXN0ZSI7Ci0KLS8qICJTdWdnZXN0aW9ucyIgYWN0aW9uIG1lbnUgaXRlbSAq
LwotIlN1Z2dlc3Rpb25zIChhY3Rpb24gbWVudSBpdGVtKSIgPSAiU3VnZ2VzdGlvbnMiOwotCi0v
KiAiQ29weSIgYWN0aW9uIG1lbnUgaXRlbSBpbiB2aWRlbyBtZW51ICovCi0iQ29weSAodmlkZW8g
YWN0aW9uIG1lbnUgaXRlbSkiID0gIkNvcHkiOwotCi0vKiAiU2hhcmUiIGFjdGlvbiBtZW51IGl0
ZW0gaW4gdmlkZW8gbWVudSAqLwotIlNoYXJlICh2aWRlbyBhY3Rpb24gbWVudSBpdGVtKSIgPSAi
U2hhcmUiOwotCi0vKiAiU2F2ZSB0byBEb3dubG9hZHMiIGFjdGlvbiBtZW51IGl0ZW0gaW4gdmlk
ZW8gbWVudSAqLwotIlNhdmUgdG8gRG93bmxvYWRzICh2aWRlbyBhY3Rpb24gbWVudSBpdGVtKSIg
PSAiU2F2ZSB0byBEb3dubG9hZHMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggNmZmODY2
Yy4uOGY2NmFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIw
MTUtMDEtMDkgIEpvbmF0aGFuIFdlbGxzICA8am9ub3dlbGxzQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGluY29ycmVjdGx5IGNvbnRh
aW5zIGNhbGwgdG8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nIHdpdGggYSB2YXJpYWJsZSBwYXJhbWV0
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDI2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYklu
c3BlY3Rvci5VSVN0cmluZyBub3cgcHJvcGVydHkgd3JhcHMgb25seSBzdHJpbmcgbGl0ZXJhbHMu
IEFkZGl0aW9uYWxseSwgdXNlIG9mIHByb21pc2VzIGhhcyBiZWVuIHR3ZWFrZWQKKyAgICAgICAg
c3VjaCB0aGF0IGEgcHJvbWlzZSBvbmx5IHJlamVjdHMgZm9yIGluc3BlY3RvciBlcnJvcnMsIG5v
dCBwYWdlIGxvYWQgZXJyb3JzIHRoYXQgYXJlIG5vdCBpbmRpY2F0aXZlIG9mIGJyb2tlbgorICAg
ICAgICBpbnNwZWN0b3IgYmVoYXZpb3IuIFNldmVyYWwgZHJpdmUtYnkgdXBkYXRlcyB0byBwcm90
b3R5cGUgaW5oZXJpdGFuY2Ugc3R5bGVzIGhhdmUgYmVlbiBtYWRlLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanM6IFBhZ2UgZXJyb3JzIG5vdyByZXNvbHZlIHJh
dGhlciB0aGFuIHJlamVjdCB0aGUgcHJvbWlzZS4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01v
ZGVscy9TY3JpcHQuanM6IEluaGVyaXRhbmNlIHN0eWxlIHVwZGF0ZS4KKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TY3JpcHQucHJvdG90eXBlLnJlcXVlc3RDb250ZW50RnJvbUJhY2tlbmQpOiBBZGQg
dXNlIG9mIEVycm9yIG9iamVjdC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9Tb3Vy
Y2VDb2RlLmpzOiBJbmhlcml0YW5jZSBzdHlsZSB1cGRhdGUuCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3LmpzOiBJbmhlcml0YW5jZSBzdHlsZSB1cGRh
dGUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUu
X2NvbnRlbnRBdmFpbGFibGUpOiBBZGp1c3QgdG8gY2hhbmdlIGluIFJlc291cmNlLmpzLgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBlLl9jb250ZW50
RXJyb3IpOiBBZGp1c3QgdG8gY2hhbmdlIGluIFJlc291cmNlLmpzLgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanM6IEluaGVyaXRhbmNlIHN0eWxl
IHVwZGF0ZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90
b3R5cGUuX2NvbnRlbnRBdmFpbGFibGUpOiBBZGp1c3QgdG8gY2hhbmdlIGluIFJlc291cmNlLmpz
LgorCiAyMDE1LTAxLTA5ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW2lPU10gU3VwcG9ydCBhZGRpdGlvbmFsIHRleHQgc3R5bGVzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKaW5kZXggYTA1ZTI3N2NkNmU5YzYxYWIwZGQ4YzcyYjY2YmMwOTAx
NGFlNDYwMy4uNzhhNjQ1ZTAzNDJiMTBkNTI3NTdmYWI0ZmMxMDNmZmZhMmQ4OWM5ZSAxMDA2NDQK
R0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMjIKemNtYUVgcDg0RUg8XytHJGxTNzVYRz5hSGc4QiFQ
JjcpbHQ1NyVDWXU4UylzPyFNdURSblp1Q0prTy1Ce25CMVQpCllJKGU7LTdLdTYoTz80KnczJGJu
WDdNXitwMDV3K35oNSFIbgoKZGVsdGEgMTgKYWNtWEBOa0A+LVQ8XytHJGxpIU9kWkheV3hKXn16
elRMPzQmCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1Jlc291cmNlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1Jlc291cmNlLmpzCmluZGV4IDRjYTRkNmEuLmY2ODYyN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXNvdXJjZS5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMK
QEAgLTE4Niw2ICsxODYsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuZGlzcGxheU5hbWVGb3JU
eXBlID0gZnVuY3Rpb24odHlwZSwgcGx1cmFsKQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJv
dG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UsCisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5wcm90b3R5cGUsCiAKICAgICAvLyBQ
dWJsaWMKIApAQCAtNjc5LDcgKzY4MCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90
eXBlLnJlcXVlc3RDb250ZW50LmNhbGwodGhpcyk7CiAKICAgICAgICAgaWYgKHRoaXMuX2ZhaWxl
ZCkKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkFuIGVycm9y
IG9jY3VycmVkIHRyeWluZyB0byBsb2FkIHRoZSByZXNvdXJjZS4iKSk7CisgICAgICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgZXJyb3I6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQW4g
ZXJyb3Igb2NjdXJyZWQgdHJ5aW5nIHRvIGxvYWQgdGhlIHJlc291cmNlLiIpIH0pOwogCiAgICAg
ICAgIGlmICghdGhpcy5fZmluaXNoVGhlblJlcXVlc3RDb250ZW50UHJvbWlzZSkgewogICAgICAg
ICAgICAgdmFyIGxpc3RlbmVyID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyKHRoaXMs
IHRydWUpOwpAQCAtNzE0LDUgKzcxNSwzIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5
cGUgPSB7CiAgICAgICAgIGNvb2tpZVtXZWJJbnNwZWN0b3IuUmVzb3VyY2UuTWFpblJlc291cmNl
Q29va2llS2V5XSA9IHRoaXMuaXNNYWluUmVzb3VyY2UoKTsKICAgICB9CiB9OwotCi1XZWJJbnNw
ZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VD
b2RlLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9TY3JpcHQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvU2NyaXB0LmpzCmluZGV4IDgzNDBjMzUuLjg4NDcwYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qcwpA
QCAtNTgsNiArNTgsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0Ll9uZXh0VW5pcXVlRGlzcGxheU5h
bWVOdW1iZXIgPSAxOwogCiBXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICBj
b25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNjcmlwdCwKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5Tb3VyY2VDb2RlLnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC0xMTAsMTIg
KzExMSwxMiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0
dXJuIHRoaXMuX3NjcmlwdFN5bnRheFRyZWU7CiAgICAgfSwKIAotICAgIHJlcXVlc3RDb250ZW50
RnJvbUJhY2tlbmQ6IGZ1bmN0aW9uKGNhbGxiYWNrKQorICAgIHJlcXVlc3RDb250ZW50RnJvbUJh
Y2tlbmQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5faWQpIHsKICAgICAg
ICAgICAgIC8vIFRoZXJlIGlzIG5vIGlkZW50aWZpZXIgdG8gcmVxdWVzdCBjb250ZW50IHdpdGgu
IFJldHVybiBmYWxzZSB0byBjYXVzZSB0aGUKICAgICAgICAgICAgIC8vIHBlbmRpbmcgY2FsbGJh
Y2tzIHRvIGdldCBudWxsIGNvbnRlbnQuCi0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QoeyBtZXNzYWdlOiAiVGhlcmUgaXMgbm8gaWRlbnRpZmllciB0byByZXF1ZXN0IGNvbnRlbnQg
d2l0aC4iIH0pOworICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigi
VGhlcmUgaXMgbm8gaWRlbnRpZmllciB0byByZXF1ZXN0IGNvbnRlbnQgd2l0aC4iKSk7CiAgICAg
ICAgIH0KIAogICAgICAgICByZXR1cm4gRGVidWdnZXJBZ2VudC5nZXRTY3JpcHRTb3VyY2UucHJv
bWlzZSh0aGlzLl9pZCk7CkBAIC0yMTIsNSArMjEzLDMgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3NjcmlwdFN5bnRheFRyZWUgPSBuZXcgV2ViSW5z
cGVjdG9yLlNjcmlwdFN5bnRheFRyZWUoc291cmNlVGV4dCwgdGhpcyk7CiAgICAgfQogfTsKLQot
V2ViSW5zcGVjdG9yLlNjcmlwdC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNv
dXJjZUNvZGUucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qcwppbmRleCBhNzA3MTlkLi5jMTY2MjM5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L1NvdXJjZUNvZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1NvdXJjZUNvZGUuanMKQEAgLTQ3LDYgKzQ3LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGUuRXZlbnQgPSB7CiAKIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLnByb3RvdHlwZSA9IHsK
ICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUsCisgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC0y
MDYsNSArMjA3LDMgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90eXBlID0gewogICAg
ICAgICB9KTsKICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3IuU291cmNlQ29kZS5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3Vy
Y2VDb250ZW50Vmlldy5qcwppbmRleCAxNTBiYzU5Li41OGY3NDE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291
cmNlQ29udGVudFZpZXcuanMKQEAgLTU4LDYgKzU4LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNl
Q29udGVudFZpZXcuU3R5bGVDbGFzc05hbWUgPSAicmVzb3VyY2UiOwogCiBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6IFdlYklu
c3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LkNvbnRlbnRWaWV3LnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC04OCw2ICs4OSwx
MSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAKICAg
ICBfY29udGVudEF2YWlsYWJsZTogZnVuY3Rpb24ocGFyYW1ldGVycykKICAgICB7CisgICAgICAg
IGlmIChwYXJhbWV0ZXJzLmVycm9yKSB7CisgICAgICAgICAgICB0aGlzLl9jb250ZW50RXJyb3Io
eyBtZXNzYWdlOiBwYXJhbWV0ZXJzLmVycm9yIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKICAgICAgICAgLy8gQ29udGVudCBpcyByZWFkeSB0byBzaG93LCBjYWxsIHRoZSBw
dWJsaWMgbWV0aG9kIG5vdy4KICAgICAgICAgdGhpcy5jb250ZW50QXZhaWxhYmxlKHBhcmFtZXRl
cnMuY29udGVudCwgcGFyYW1ldGVycy5iYXNlNjRFbmNvZGVkKTsKICAgICB9LApAQCAtOTksNyAr
MTA1LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVDaGlsZHJl
bigpOwotICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoV2ViSW5zcGVjdG9yLmNyZWF0
ZU1lc3NhZ2VUZXh0VmlldyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoZXJyb3IubWVzc2FnZSksIHRy
dWUpKTsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5jcmVh
dGVNZXNzYWdlVGV4dFZpZXcoZXJyb3IubWVzc2FnZSwgdHJ1ZSkpOwogICAgIH0sCiAKICAgICBf
aXNzdWVXYXNBZGRlZDogZnVuY3Rpb24oZXZlbnQpCkBAIC0xMjAsNSArMTI2LDMgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgICAgICBXZWJJbnNw
ZWN0b3IuaGFuZGxlUG9zc2libGVMaW5rQ2xpY2soZXZlbnQsIHRoaXMucmVzb3VyY2UucGFyZW50
RnJhbWUpOwogICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcucHJvdG90eXBlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291
cmNlQ29kZVRleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwppbmRleCBjYjI4YzgwLi44NzBkNTYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3Vy
Y2VDb2RlVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwpAQCAtNDQzLDYgKzQ0MywxMCBAQCBX
ZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlID0gewogCiAgICAgX2Nv
bnRlbnRBdmFpbGFibGU6IGZ1bmN0aW9uKHBhcmFtZXRlcnMpCiAgICAgeworICAgICAgICAvLyBS
ZXR1cm4gaWYgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZS4KKyAgICAgICAgaWYgKHBhcmFtZXRl
cnMuZXJyb3IpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgdmFyIHNvdXJjZUNvZGUg
PSBwYXJhbWV0ZXJzLnNvdXJjZUNvZGU7CiAgICAgICAgIHZhciBjb250ZW50ID0gcGFyYW1ldGVy
cy5jb250ZW50OwogICAgICAgICB2YXIgYmFzZTY0RW5jb2RlZCA9IHBhcmFtZXRlcnMuYmFzZTY0
RW5jb2RlZDsKLS0gCjIuMS4xIChBcHBsZSBHaXQtNTEpCgo=
</data>
<flag name="review"
          id="269416"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="269417"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245179</attachid>
            <date>2015-01-22 16:24:23 -0800</date>
            <delta_ts>2015-01-22 16:36:00 -0800</delta_ts>
            <desc>[PATCH] separated out localized strings, reviewed patch.</desc>
            <filename>uistring.diff</filename>
            <type>text/plain</type>
            <size>7269</size>
            <attacher name="Jonathan Wells">jonowells</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDU2ZGFjNTEuLmVmZjg2OWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTAxLTIyICBKb25hdGhhbiBXZWxs
cyAgPGpvbm93ZWxsc0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3Vy
Y2VDb250ZW50Vmlldy5qcyBpbmNvcnJlY3RseSBjb250YWlucyBjYWxsIHRvIFdlYkluc3BlY3Rv
ci5VSVN0cmluZyB3aXRoIGEgdmFyaWFibGUgcGFyYW1ldGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgVUlTdHJpbmcgbm8gbG9uZ2VyIGluY29ycmVj
dGx5IHVzZWQgYXJvdW5kIHZhcmlhYmxlcy4gRHJpdmUtYnkgZml4ZXMgdG8gcHJvdG90eXBlIGlu
aGVyaXRhbmNlIHN0eWxlLgorICAgICAgICBVc2Ugb2YgUHJvbWlzZXMgY29ycmVjdGVkIHN1Y2gg
dGhhdCByZXF1ZXN0aW5nIGNvbnRlbnQgZm9yIGEgcmVzb3VyY2UgcmVzb2x2ZXMgcmF0aGVyIHRo
YW4gcmVqZWN0cyBpZgorICAgICAgICBhIHJlc291cmNlIGNhbid0IGJlIGZvdW5kIG9yIGhhcyBh
bm90aGVyIGVycm9yIHRoYXQgaXNuJ3QgYSB3ZWIgaW5zcGVjdG9yIGVycm9yLgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanM6IENoYW5nZSByZWplY3QgdG8gcmVz
b2x2ZS4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3RvdHlwZS5yZXF1ZXN0Q29udGVudEZyb21CYWNrZW5k
KTogUHJvcGVyIHVzZSBvZiBFcnJvciBvYmplY3QuCisgICAgICAgICogVXNlckludGVyZmFjZS9N
b2RlbHMvU291cmNlQ29kZS5qczogVXNlIGNvcnJlY3QgaW5oZXJpdGFuY2Ugc3R5bGUuCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3LmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBlLl9jb250ZW50QXZh
aWxhYmxlKTogSGFuZGxlIGVycm9yIG5vdyB0aGF0IHByb21pc2UgcmVzb2x2ZXMuCisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2NvbnRlbnRFcnJv
cik6IFJlbW92ZSBpbmNvcnJlY3QgdXNlIG9mIFVJU3RyaW5nLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLl9jb250ZW50QXZhaWxhYmxlKTogSGFu
ZGxlIGVycm9yIG5vdyB0aGF0IHByb21pc2UgcmVzb2x2ZXMuCisKIDIwMTUtMDEtMjIgIE5pa2l0
YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogRXhwZWN0ZWQgZ3V0dGVyIGhpZ2hsaWdodCB3aGVuIHNlbGVjdGluZyBjb25zb2xlIGlucHV0
IGxpbmUsIGp1c3QgbGlrZSBvdXRwdXQgbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Jlc291cmNlLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Jlc291cmNlLmpzCmluZGV4IDRjYTRkNmEuLmY2
ODYyN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9SZXNvdXJjZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvUmVzb3VyY2UuanMKQEAgLTE4Niw2ICsxODYsNyBAQCBXZWJJbnNwZWN0b3IuUmVz
b3VyY2UuZGlzcGxheU5hbWVGb3JUeXBlID0gZnVuY3Rpb24odHlwZSwgcGx1cmFsKQogCiBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2UsCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZS5w
cm90b3R5cGUsCiAKICAgICAvLyBQdWJsaWMKIApAQCAtNjc5LDcgKzY4MCw3IEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVj
dG9yLlNvdXJjZUNvZGUucHJvdG90eXBlLnJlcXVlc3RDb250ZW50LmNhbGwodGhpcyk7CiAKICAg
ICAgICAgaWYgKHRoaXMuX2ZhaWxlZCkKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVj
dChuZXcgRXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIHRyeWluZyB0byBsb2FkIHRoZSByZXNvdXJj
ZS4iKSk7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgZXJyb3I6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiQW4gZXJyb3Igb2NjdXJyZWQgdHJ5aW5nIHRvIGxvYWQgdGhlIHJl
c291cmNlLiIpIH0pOwogCiAgICAgICAgIGlmICghdGhpcy5fZmluaXNoVGhlblJlcXVlc3RDb250
ZW50UHJvbWlzZSkgewogICAgICAgICAgICAgdmFyIGxpc3RlbmVyID0gbmV3IFdlYkluc3BlY3Rv
ci5FdmVudExpc3RlbmVyKHRoaXMsIHRydWUpOwpAQCAtNzE0LDUgKzcxNSwzIEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNvb2tpZVtXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UuTWFpblJlc291cmNlQ29va2llS2V5XSA9IHRoaXMuaXNNYWluUmVzb3VyY2UoKTsK
ICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0LmpzCmluZGV4IDgzNDBjMzUu
Ljg4NDcwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9TY3JpcHQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1NjcmlwdC5qcwpAQCAtNTgsNiArNTgsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
Ll9uZXh0VW5pcXVlRGlzcGxheU5hbWVOdW1iZXIgPSAxOwogCiBXZWJJbnNwZWN0b3IuU2NyaXB0
LnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNjcmlwdCwKKyAg
ICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLnByb3RvdHlwZSwKIAogICAgIC8v
IFB1YmxpYwogCkBAIC0xMTAsMTIgKzExMSwxMiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3NjcmlwdFN5bnRheFRyZWU7CiAgICAgfSwK
IAotICAgIHJlcXVlc3RDb250ZW50RnJvbUJhY2tlbmQ6IGZ1bmN0aW9uKGNhbGxiYWNrKQorICAg
IHJlcXVlc3RDb250ZW50RnJvbUJhY2tlbmQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlm
ICghdGhpcy5faWQpIHsKICAgICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIGlkZW50aWZpZXIgdG8g
cmVxdWVzdCBjb250ZW50IHdpdGguIFJldHVybiBmYWxzZSB0byBjYXVzZSB0aGUKICAgICAgICAg
ICAgIC8vIHBlbmRpbmcgY2FsbGJhY2tzIHRvIGdldCBudWxsIGNvbnRlbnQuCi0gICAgICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZWplY3QoeyBtZXNzYWdlOiAiVGhlcmUgaXMgbm8gaWRlbnRpZmll
ciB0byByZXF1ZXN0IGNvbnRlbnQgd2l0aC4iIH0pOworICAgICAgICAgICAgcmV0dXJuIFByb21p
c2UucmVqZWN0KG5ldyBFcnJvcigiVGhlcmUgaXMgbm8gaWRlbnRpZmllciB0byByZXF1ZXN0IGNv
bnRlbnQgd2l0aC4iKSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gRGVidWdnZXJBZ2Vu
dC5nZXRTY3JpcHRTb3VyY2UucHJvbWlzZSh0aGlzLl9pZCk7CkBAIC0yMTIsNSArMjEzLDMgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3NjcmlwdFN5
bnRheFRyZWUgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdFN5bnRheFRyZWUoc291cmNlVGV4dCwg
dGhpcyk7CiAgICAgfQogfTsKLQotV2ViSW5zcGVjdG9yLlNjcmlwdC5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGUuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZS5qcwpp
bmRleCBhNzA3MTlkLi5jMTY2MjM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGUuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGUuanMKQEAgLTQ3LDYgKzQ3LDcg
QEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUuRXZlbnQgPSB7CiAKIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDb2RlLnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNvdXJj
ZUNvZGUsCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZSwKIAog
ICAgIC8vIFB1YmxpYwogCkBAIC0yMDYsNSArMjA3LDMgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNv
ZGUucHJvdG90eXBlID0gewogICAgICAgICB9KTsKICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3Iu
U291cmNlQ29kZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90
b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcwppbmRleCAxNTBiYzU5Li41OGY3
NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZXNvdXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcuanMKQEAgLTU4LDYgKzU4LDcgQEAg
V2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcuU3R5bGVDbGFzc05hbWUgPSAicmVzb3Vy
Y2UiOwogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAg
ICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5SZXNvdXJjZUNvbnRlbnRWaWV3LAorICAgIF9f
cHJvdG9fXzogV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LnByb3RvdHlwZSwKIAogICAgIC8vIFB1
YmxpYwogCkBAIC04OCw2ICs4OSwxMSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VDb250ZW50Vmll
dy5wcm90b3R5cGUgPSB7CiAKICAgICBfY29udGVudEF2YWlsYWJsZTogZnVuY3Rpb24ocGFyYW1l
dGVycykKICAgICB7CisgICAgICAgIGlmIChwYXJhbWV0ZXJzLmVycm9yKSB7CisgICAgICAgICAg
ICB0aGlzLl9jb250ZW50RXJyb3IoeyBtZXNzYWdlOiBwYXJhbWV0ZXJzLmVycm9yIH0pOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgLy8gQ29udGVudCBpcyByZWFk
eSB0byBzaG93LCBjYWxsIHRoZSBwdWJsaWMgbWV0aG9kIG5vdy4KICAgICAgICAgdGhpcy5jb250
ZW50QXZhaWxhYmxlKHBhcmFtZXRlcnMuY29udGVudCwgcGFyYW1ldGVycy5iYXNlNjRFbmNvZGVk
KTsKICAgICB9LApAQCAtOTksNyArMTA1LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVu
dFZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMu
ZWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQoV2ViSW5zcGVjdG9yLmNyZWF0ZU1lc3NhZ2VUZXh0VmlldyhXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoZXJyb3IubWVzc2FnZSksIHRydWUpKTsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENo
aWxkKFdlYkluc3BlY3Rvci5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoZXJyb3IubWVzc2FnZSwgdHJ1
ZSkpOwogICAgIH0sCiAKICAgICBfaXNzdWVXYXNBZGRlZDogZnVuY3Rpb24oZXZlbnQpCkBAIC0x
MjAsNSArMTI2LDMgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBl
ID0gewogICAgICAgICBXZWJJbnNwZWN0b3IuaGFuZGxlUG9zc2libGVMaW5rQ2xpY2soZXZlbnQs
IHRoaXMucmVzb3VyY2UucGFyZW50RnJhbWUpOwogICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5S
ZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQ29u
dGVudFZpZXcucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwppbmRl
eCA5MjY4ZDViLi42OTY1ZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwpA
QCAtNTEwLDYgKzUxMCwxMCBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJv
dG90eXBlID0gewogCiAgICAgX2NvbnRlbnRBdmFpbGFibGU6IGZ1bmN0aW9uKHBhcmFtZXRlcnMp
CiAgICAgeworICAgICAgICAvLyBSZXR1cm4gaWYgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZS4K
KyAgICAgICAgaWYgKHBhcmFtZXRlcnMuZXJyb3IpCisgICAgICAgICAgICByZXR1cm47CisKICAg
ICAgICAgdmFyIHNvdXJjZUNvZGUgPSBwYXJhbWV0ZXJzLnNvdXJjZUNvZGU7CiAgICAgICAgIHZh
ciBjb250ZW50ID0gcGFyYW1ldGVycy5jb250ZW50OwogICAgICAgICB2YXIgYmFzZTY0RW5jb2Rl
ZCA9IHBhcmFtZXRlcnMuYmFzZTY0RW5jb2RlZDsK
</data>
<flag name="commit-queue"
          id="270129"
          type_id="3"
          status="-"
          setter="jonowells"
    />
          </attachment>
      

    </bug>

</bugzilla>