<?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>112710</bug_id>
          
          <creation_ts>2013-03-19 10:05:27 -0700</creation_ts>
          <short_desc>Web Inspector: Remove remainings of CSS-based console message filtering.</short_desc>
          <delta_ts>2014-12-01 14:00:52 -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>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>113321</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dmitry Zvorygin">zvorygin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>buildbot</cc>
    
    <cc>burg</cc>
    
    <cc>dglazkov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rniwa</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>858396</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-19 10:05:27 -0700</bug_when>
    <thetext>Remove remainings of non-optimal CSS-based console message filtering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858476</commentid>
    <comment_count>1</comment_count>
      <attachid>193863</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-19 10:58:13 -0700</bug_when>
    <thetext>Created attachment 193863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858579</commentid>
    <comment_count>2</comment_count>
      <attachid>193863</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 12:07:07 -0700</bug_when>
    <thetext>Comment on attachment 193863
Patch

Attachment 193863 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17179373

New failing tests:
inspector/console/console-preserve-log.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858608</commentid>
    <comment_count>3</comment_count>
      <attachid>193863</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 12:24:46 -0700</bug_when>
    <thetext>Comment on attachment 193863
Patch

Attachment 193863 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17238280

New failing tests:
inspector/console/console-preserve-log.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858676</commentid>
    <comment_count>4</comment_count>
      <attachid>193863</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 13:25:09 -0700</bug_when>
    <thetext>Comment on attachment 193863
Patch

Attachment 193863 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17215640

New failing tests:
inspector/console/console-preserve-log.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858952</commentid>
    <comment_count>5</comment_count>
      <attachid>193863</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 18:27:30 -0700</bug_when>
    <thetext>Comment on attachment 193863
Patch

Attachment 193863 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17235203

New failing tests:
inspector/console/console-preserve-log.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859125</commentid>
    <comment_count>6</comment_count>
      <attachid>193863</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-20 00:38:39 -0700</bug_when>
    <thetext>Comment on attachment 193863
Patch

r- for the tests failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859155</commentid>
    <comment_count>7</comment_count>
      <attachid>193998</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-20 01:34:18 -0700</bug_when>
    <thetext>Created attachment 193998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859158</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-20 01:35:46 -0700</bug_when>
    <thetext>Fixed broken test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860056</commentid>
    <comment_count>9</comment_count>
      <attachid>193998</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-20 23:14:31 -0700</bug_when>
    <thetext>Comment on attachment 193998
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:-274
&gt; -            if (target.hasStyleClass(&quot;selected&quot;)) {

Why did this change?

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:-288
&gt; -        if (!selectMultiple) {

This seems to ruin the diff. Can you leave existing condition nesting?

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:539
&gt; +        return (!message.url || !this._messageURLFilters[message.url]) &amp;&amp; (!message.level || this._messageLevelFilters.indexOf(message.level) != -1);

This might get a bit expensive - consider using an object for faster lookup.

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:774
&gt; + * @param wasThrown

You should specify types for parameters and list them in proper order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860356</commentid>
    <comment_count>10</comment_count>
      <attachid>194264</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-21 08:15:42 -0700</bug_when>
    <thetext>Created attachment 194264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861500</commentid>
    <comment_count>11</comment_count>
      <attachid>194264</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-22 08:31:49 -0700</bug_when>
    <thetext>Comment on attachment 194264
Patch

I&apos;d like to test it manually before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863702</commentid>
    <comment_count>12</comment_count>
      <attachid>195093</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-26 08:47:02 -0700</bug_when>
    <thetext>Created attachment 195093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863775</commentid>
    <comment_count>13</comment_count>
      <attachid>195093</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-26 10:15:10 -0700</bug_when>
    <thetext>Comment on attachment 195093
Patch

Clearing flags on attachment: 195093

Committed r146901: &lt;http://trac.webkit.org/changeset/146901&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863776</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-26 10:15:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863787</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-26 10:22:30 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 113321</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193863</attachid>
            <date>2013-03-19 10:58:13 -0700</date>
            <delta_ts>2013-03-20 01:34:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112710-20130319215402.patch</filename>
            <type>text/plain</type>
            <size>13192</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTE1N2M0ZTU0Y2JhYjA5
NDhhZTY3MzcxMjUyYjhmNzAxMDNhYTZkZi4uMDY5N2Y2N2Q0N2ZhNWY0MzViZmEwOGU0ZmYwZjAx
NmEwZTE5NTQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTE5ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUmVtb3ZlIHJlbWFpbmluZ3Mgb2YgQ1NTLWJhc2VkIGNvbnNvbGUgbWVzc2FnZSBmaWx0
ZXJpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTI3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcuZ2V0IHRoaXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3LnByb3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlw
ZS5fY29uc29sZU1lc3NhZ2VBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlLl9hcHBlbmRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jb25zb2xlQ2xlYXJlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9zaG91bGRCZVZpc2libGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fdXBkYXRlTWVzc2FnZUxpc3Qp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fcHJvbXB0S2V5
RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9wcmlu
dFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQucHJvdG90eXBl
LmhpZ2hsaWdodFNlYXJjaFJlc3VsdHMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1l
c3NhZ2UpOgorCiAyMDEzLTAzLTE4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBOZXR3b3JrUHJvY2VzcyBzaG91bGQgc2VuZCB2bV9jb3BpZWQsIG1tYXAnZWQg
bWVtb3J5IHRvIFdlYlByb2Nlc3NlcyB3aGVuIGEgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCA4OTU5NmQ5NDBjZjY1NjdhZDhh
Njg3NjAyZTc2ZDI4NTQwMWU1Nzg3Li5iNjczNjQ5NDU3MDhiYWM5ZTI2YTM3MzE2ZDNkNTI0OTc5
NGM1YjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZVZpZXcuanMKQEAgLTM5LDYgKzM5LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3ID0g
ZnVuY3Rpb24oaGlkZUNvbnRleHRTZWxlY3RvcikKICAgICB0aGlzLmVsZW1lbnQuaWQgPSAiY29u
c29sZS12aWV3IjsKICAgICB0aGlzLl9tZXNzYWdlVVJMRmlsdGVycyA9IFdlYkluc3BlY3Rvci5z
ZXR0aW5ncy5tZXNzYWdlVVJMRmlsdGVycy5nZXQoKTsKICAgICB0aGlzLl92aXNpYmxlTWVzc2Fn
ZXMgPSBbXTsKKyAgICB0aGlzLl9tZXNzYWdlcyA9IFtdOwogICAgIHRoaXMuX3VybFRvTWVzc2Fn
ZUNvdW50ID0ge307CiAKICAgICB0aGlzLl9jbGVhckNvbnNvbGVCdXR0b24gPSBuZXcgV2ViSW5z
cGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsZWFyIGNvbnNv
bGUgbG9nLiIpLCAiY2xlYXItc3RhdHVzLWJhci1pdGVtIik7CkBAIC01Miw2ICs1Myw4IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldyA9IGZ1bmN0aW9uKGhpZGVDb250ZXh0U2VsZWN0b3IpCiAg
ICAgICAgIHRoaXMuX2NvbnRleHRTZWxlY3Rvci5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRl
biIpOwogICAgIH0KIAorICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMgPSBbXTsKKwogICAg
IHRoaXMubWVzc2FnZXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQuaWQgPSAiY29uc29sZS1tZXNzYWdlcyI7CiAgICAgdGhp
cy5tZXNzYWdlc0VsZW1lbnQuY2xhc3NOYW1lID0gIm1vbm9zcGFjZSI7CkBAIC05Nyw5ICsxMDAs
OSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5jdGlvbihoaWRlQ29udGV4dFNlbGVj
dG9yKQogCiAgICAgdGhpcy5hbGxFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRo
aXMsICJhbGwiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFsbCIpKTsKICAgICBjcmVhdGVEaXZp
ZGVyRWxlbWVudC5jYWxsKHRoaXMpOwotICAgIHRoaXMuZXJyb3JFbGVtZW50ID0gY3JlYXRlRmls
dGVyRWxlbWVudC5jYWxsKHRoaXMsICJlcnJvcnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVy
cm9ycyIpKTsKLSAgICB0aGlzLndhcm5pbmdFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5j
YWxsKHRoaXMsICJ3YXJuaW5ncyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiV2FybmluZ3MiKSk7
Ci0gICAgdGhpcy5sb2dFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJs
b2dzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2dzIikpOworICAgIHRoaXMuZXJyb3JFbGVt
ZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJlcnJvciIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiRXJyb3JzIikpOworICAgIHRoaXMud2FybmluZ0VsZW1lbnQgPSBjcmVhdGVG
aWx0ZXJFbGVtZW50LmNhbGwodGhpcywgIndhcm5pbmciLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
Ildhcm5pbmdzIikpOworICAgIHRoaXMubG9nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQu
Y2FsbCh0aGlzLCAibG9nIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2dzIikpOwogICAgIHRo
aXMuZGVidWdFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJkZWJ1ZyIs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGVidWciKSk7CiAKICAgICB0aGlzLmZpbHRlcih0aGlz
LmFsbEVsZW1lbnQsIGZhbHNlKTsKQEAgLTI1OSw1NCArMjYyLDU3IEBAIFdlYkluc3BlY3Rvci5D
b25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBmdW5jdGlvbiB1bnNlbGVj
dEFsbCgpCiAgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMg
PSBbXTsKKwogICAgICAgICAgICAgdGhpcy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNl
bGVjdGVkIik7CiAgICAgICAgICAgICB0aGlzLmVycm9yRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgdGhpcy53YXJuaW5nRWxlbWVudC5yZW1vdmVTdHls
ZUNsYXNzKCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgdGhpcy5sb2dFbGVtZW50LnJlbW92ZVN0
eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAgICAgICAgICAgICB0aGlzLmRlYnVnRWxlbWVudC5yZW1v
dmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotCi0gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxl
bWVudC5jbGFzc0xpc3QucmVtb3ZlKCJmaWx0ZXItYWxsIiwgImZpbHRlci1lcnJvcnMiLCAiZmls
dGVyLXdhcm5pbmdzIiwgImZpbHRlci1sb2dzIiwgImZpbHRlci1kZWJ1ZyIpOwogICAgICAgICB9
CiAKLSAgICAgICAgdmFyIHRhcmdldEZpbHRlckNsYXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNh
dGVnb3J5OwotCiAgICAgICAgIGlmICh0YXJnZXQuY2F0ZWdvcnkgPT09ICJhbGwiKSB7Ci0gICAg
ICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKLSAgICAgICAg
ICAgICAgICAvLyBXZSBjYW4ndCB1bnNlbGVjdCBhbGwsIHNvIHdlIGJyZWFrIGVhcmx5IGhlcmUK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIHVu
c2VsZWN0QWxsLmNhbGwodGhpcyk7CisgICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygi
c2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMgPSBbImVy
cm9yIiwgIndhcm5pbmciLCAibG9nIiwgImRlYnVnIl07CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAvLyBTb21ldGhpbmcgb3RoZXIgdGhhbiBhbGwgaXMgYmVpbmcgc2VsZWN0ZWQsIHNv
IHdlIHdhbnQgdG8gdW5zZWxlY3QgYWxsCiAgICAgICAgICAgICBpZiAodGhpcy5hbGxFbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9tZXNz
YWdlTGV2ZWxGaWx0ZXJzID0gW107CiAgICAgICAgICAgICAgICAgdGhpcy5hbGxFbGVtZW50LnJl
bW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdl
c0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOwogICAgICAgICAgICAgfQot
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKCFzZWxlY3RNdWx0aXBsZSkgewotICAgICAgICAgICAg
Ly8gSWYgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIG9mZiwgd2Ugd2FudCB0byB1bnNlbGVjdCBldmVy
eXRoaW5nIGVsc2UKLSAgICAgICAgICAgIC8vIGFuZCBqdXN0IHNlbGVjdCBvdXJzZWx2ZXMuCi0g
ICAgICAgICAgICB1bnNlbGVjdEFsbC5jYWxsKHRoaXMpOworICAgICAgICAgICAgaWYgKCFzZWxl
Y3RNdWx0aXBsZSkgeworICAgICAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVjdGlvbiBp
cyBvZmYsIHdlIHdhbnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAgICAgICAg
ICAgLy8gYW5kIGp1c3Qgc2VsZWN0IG91cnNlbHZlcy4KKyAgICAgICAgICAgICAgICB1bnNlbGVj
dEFsbC5jYWxsKHRoaXMpOwogCi0gICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2Vs
ZWN0ZWQiKTsKLSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmFkZFN0eWxlQ2xhc3Mo
dGFyZ2V0RmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpOwogCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB0aGlzLl9tZXNzYWdlTGV2ZWxGaWx0ZXJzID0gW3RhcmdldC5jYXRlZ29yeV07Cisg
ICAgICAgICAgICB9IGVsc2UgewogCi0gICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVDbGFzcygi
c2VsZWN0ZWQiKSkgewotICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVk
IG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwgd2UganVzdAotICAgICAgICAgICAgLy8gd2FudCB0
byB1bnNlbGVjdCBvdXJzZWx2ZXMuCi0gICAgICAgICAgICB0YXJnZXQucmVtb3ZlU3R5bGVDbGFz
cygic2VsZWN0ZWQiKTsKLSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0
eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZW4ndCBzZWxl
Y3RlZCwgd2UganVzdAotICAgICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qgb3Vyc2VsdmVzLgot
ICAgICAgICAgICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAg
ICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5hZGRTdHlsZUNsYXNzKHRhcmdldEZpbHRlckNsYXNzKTsK
KyAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0RmlsdGVySW5kZXggPSB0aGlzLl9tZXNzYWdlTGV2
ZWxGaWx0ZXJzLmluZGV4T2YodGFyZ2V0LmNhdGVnb3J5KTsKKyAgICAgICAgICAgICAgICBpZiAo
dGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwg
d2UganVzdAorICAgICAgICAgICAgICAgICAgICAvLyB3YW50IHRvIHVuc2VsZWN0IG91cnNlbHZl
cy4KKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVk
Iik7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldEZpbHRlckluZGV4ICE9IC0xKQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbWVzc2FnZUxldmVsRmlsdGVycy5zcGxpY2Uo
dGFyZ2V0RmlsdGVySW5kZXgsIDEpOworCisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ug
d2VyZW4ndCBzZWxlY3RlZCwgd2UganVzdAorICAgICAgICAgICAgICAgICAgICAvLyB3YW50IHRv
IHNlbGVjdCBvdXJzZWx2ZXMuCisgICAgICAgICAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNs
YXNzKCJzZWxlY3RlZCIpOworCisgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRGaWx0ZXJJ
bmRleCA9PT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlTGV2ZWxG
aWx0ZXJzLnB1c2godGFyZ2V0LmNhdGVnb3J5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKworICAgICAgICB0aGlzLl91cGRhdGVNZXNzYWdlTGlzdCgpOwog
ICAgIH0sCiAKICAgICB3aWxsSGlkZTogZnVuY3Rpb24oKQpAQCAtMzg0LDYgKzM5MCw4IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2NvbnNvbGVNZXNzYWdl
QWRkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIG1lc3NhZ2UgPSAvKiog
QHR5cGUge1dlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZX0gKi8gKGV2ZW50LmRhdGEpOworICAg
ICAgICB0aGlzLl9tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOworCiAgICAgICAgIGlmICh0aGlzLl91
cmxUb01lc3NhZ2VDb3VudFttZXNzYWdlLnVybF0pCiAgICAgICAgICAgICB0aGlzLl91cmxUb01l
c3NhZ2VDb3VudFttZXNzYWdlLnVybF0rKzsKICAgICAgICAgZWxzZQpAQCAtNDAzLDcgKzQxMSw3
IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X3Zpc2libGVNZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOwogCiAgICAgICAgIGlmIChtZXNzYWdlLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5FbmRHcm91cCkg
ewotICAgICAgICAgICAgdmFyIHBhcmVudEdyb3VwID0gdGhpcy5jdXJyZW50R3JvdXAucGFyZW50
R3JvdXAKKyAgICAgICAgICAgIHZhciBwYXJlbnRHcm91cCA9IHRoaXMuY3VycmVudEdyb3VwLnBh
cmVudEdyb3VwOwogICAgICAgICAgICAgaWYgKHBhcmVudEdyb3VwKQogICAgICAgICAgICAgICAg
IHRoaXMuY3VycmVudEdyb3VwID0gcGFyZW50R3JvdXA7CiAgICAgICAgIH0gZWxzZSB7CkBAIC00
MjQsNiArNDMyLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl92aXNpYmxlTWVzc2FnZXMubGVuZ3RoOyAr
K2kpCiAgICAgICAgICAgICB0aGlzLl92aXNpYmxlTWVzc2FnZXNbaV0ud2lsbEhpZGUoKTsKICAg
ICAgICAgdGhpcy5fdmlzaWJsZU1lc3NhZ2VzID0gW107CisgICAgICAgIHRoaXMuX21lc3NhZ2Vz
ID0gW107CiAKICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSB0aGlzLnRvcEdyb3VwOwogICAg
ICAgICB0aGlzLnRvcEdyb3VwLm1lc3NhZ2VzRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwpAQCAt
NTI3LDcgKzUzNiw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAg
ICAgICovCiAgICAgX3Nob3VsZEJlVmlzaWJsZTogZnVuY3Rpb24obWVzc2FnZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiAhbWVzc2FnZS51cmwgfHwgIXRoaXMuX21lc3NhZ2VVUkxGaWx0ZXJzW21l
c3NhZ2UudXJsXTsKKyAgICAgICAgcmV0dXJuICghbWVzc2FnZS51cmwgfHwgIXRoaXMuX21lc3Nh
Z2VVUkxGaWx0ZXJzW21lc3NhZ2UudXJsXSkgJiYgKCFtZXNzYWdlLmxldmVsIHx8IHRoaXMuX21l
c3NhZ2VMZXZlbEZpbHRlcnMuaW5kZXhPZihtZXNzYWdlLmxldmVsKSAhPSAtMSk7CiAgICAgfSwK
IAogICAgIC8qKgpAQCAtNTM1LDcgKzU0NCw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3VwZGF0ZU1lc3NhZ2VMaXN0OiBmdW5jdGlvbigp
CiAgICAgewotICAgICAgICB2YXIgc291cmNlTWVzc2FnZXMgPSBXZWJJbnNwZWN0b3IuY29uc29s
ZS5tZXNzYWdlczsKKyAgICAgICAgdmFyIHNvdXJjZU1lc3NhZ2VzID0gdGhpcy5fbWVzc2FnZXM7
CiAgICAgICAgIHZhciB2aXNpYmxlTWVzc2FnZUluZGV4ID0gMDsKICAgICAgICAgdmFyIG5ld1Zp
c2libGVNZXNzYWdlcyA9IFtdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJjZU1l
c3NhZ2VzLmxlbmd0aDsgaSsrKSB7CkBAIC01NDgsNyArNTU3LDcgQEAgV2ViSW5zcGVjdG9yLkNv
bnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZU1l
c3NhZ2VzLnB1c2godmlzaWJsZU1lc3NhZ2UpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICB2aXNpYmxlTWVzc2FnZS53aWxsSGlkZSgpOwotICAgICAgICAgICAg
ICAgICAgICB2aXNpYmxlTWVzc2FnZS50b01lc3NhZ2VFbGVtZW50KCkucmVtb3ZlU2VsZigpOyAg
ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHZpc2libGVNZXNzYWdlLnRv
TWVzc2FnZUVsZW1lbnQoKS5yZW1vdmVTZWxmKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkQmVWaXNpYmxl
KHNvdXJjZU1lc3NhZ2UpKSB7CkBAIC02MjYsNyArNjM1LDYgQEAgV2ViSW5zcGVjdG9yLkNvbnNv
bGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGhhbmRsZXIpIHsKICAgICAgICAgICAg
IGhhbmRsZXIoKTsKICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9LAogCkBAIC02NTQsOCArNjYyLDkgQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICgh
cmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX2FwcGVuZENvbnNv
bGVNZXNzYWdlKG5ldyBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQocmVzdWx0LCB3
YXNUaHJvd24sIG9yaWdpbmF0aW5nQ29tbWFuZCwgdGhpcy5fbGlua2lmaWVyKSk7CisgICAgICAg
IHZhciBtZXNzYWdlID0gbmV3IFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdChyZXN1
bHQsIHdhc1Rocm93biwgb3JpZ2luYXRpbmdDb21tYW5kLCB0aGlzLl9saW5raWZpZXIpOworICAg
ICAgICB0aGlzLl9tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOworICAgICAgICB0aGlzLl9hcHBlbmRD
b25zb2xlTWVzc2FnZShtZXNzYWdlKTsKICAgICB9LAogCiAgICAgX2FwcGVuZENvbW1hbmQ6IGZ1
bmN0aW9uKHRleHQsIG5ld1Byb21wdFRleHQsIHVzZUNvbW1hbmRMaW5lQVBJLCBzaG93UmVzdWx0
T25seSkKQEAgLTY2Myw2ICs2NzIsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90
eXBlID0gewogICAgICAgICBpZiAoIXNob3dSZXN1bHRPbmx5KSB7CiAgICAgICAgICAgICB2YXIg
Y29tbWFuZE1lc3NhZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kKHRleHQpOwog
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuaW50ZXJydXB0UmVwZWF0Q291bnQoKTsK
KyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VzLnB1c2goY29tbWFuZE1lc3NhZ2UpOwogICAgICAg
ICAgICAgdGhpcy5fYXBwZW5kQ29uc29sZU1lc3NhZ2UoY29tbWFuZE1lc3NhZ2UpOwogICAgICAg
ICB9CiAgICAgICAgIHRoaXMucHJvbXB0LnRleHQgPSBuZXdQcm9tcHRUZXh0OwpAQCAtNjc2LDcg
KzY4Niw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICAgICAgdGhpcy5wcm9tcHQucHVzaEhpc3RvcnlJdGVtKHRleHQpOwogICAgICAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jb25zb2xlSGlzdG9yeS5zZXQodGhpcy5wcm9tcHQu
aGlzdG9yeURhdGEuc2xpY2UoLTMwKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwog
ICAgICAgICAgICAgdGhpcy5fcHJpbnRSZXN1bHQocmVzdWx0LCB3YXNUaHJvd24sIGNvbW1hbmRN
ZXNzYWdlKTsKICAgICAgICAgfQogICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLmV2
YWx1YXRlKHRleHQsICJjb25zb2xlIiwgdXNlQ29tbWFuZExpbmVBUEksIGZhbHNlLCBmYWxzZSwg
dHJ1ZSwgcHJpbnRSZXN1bHQuYmluZCh0aGlzKSk7CkBAIC03MjIsNyArNzMyLDYgQEAgV2ViSW5z
cGVjdG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmVnZXhPYmplY3Qu
bGFzdEluZGV4ID0gMDsKICAgICAgICAgdmFyIHRleHQgPSB0aGlzLmNvbW1hbmQ7CiAgICAgICAg
IHZhciBtYXRjaCA9IHJlZ2V4T2JqZWN0LmV4ZWModGV4dCk7Ci0gICAgICAgIHZhciBvZmZzZXQg
PSAwOwogICAgICAgICB2YXIgbWF0Y2hSYW5nZXMgPSBbXTsKICAgICAgICAgd2hpbGUgKG1hdGNo
KSB7CiAgICAgICAgICAgICBtYXRjaFJhbmdlcy5wdXNoKHsgb2Zmc2V0OiBtYXRjaC5pbmRleCwg
bGVuZ3RoOiBtYXRjaFswXS5sZW5ndGggfSk7CkBAIC03NjIsNiArNzcxLDkgQEAgV2ViSW5zcGVj
dG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2VJbXBsfQogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge1dlYklu
c3BlY3Rvci5MaW5raWZpZXJ9IGxpbmtpZmllcgorICogQHBhcmFtIHdhc1Rocm93bgorICogQHBh
cmFtIG9yaWdpbmF0aW5nQ29tbWFuZAorICogQHBhcmFtIHJlc3VsdAogICovCiBXZWJJbnNwZWN0
b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQgPSBmdW5jdGlvbihyZXN1bHQsIHdhc1Rocm93biwgb3Jp
Z2luYXRpbmdDb21tYW5kLCBsaW5raWZpZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggM2VhY2M0NDU1NmNlNzQ1NTZhM2Y4
NjExNWU1ZTczZjUzNDcyYmZmNi4uZjUzMzc2YmY3ZGU4ZGY1ZGJjODFmNjc1MGE1NDZmZWY5MmIz
NTZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmNzcwpAQCAtMTkwMCwyMSArMTkwMCwxMSBAQCBidXR0b24uZW5hYmxlLXRvZ2dsZS1zdGF0
dXMtYmFyLWl0ZW0udG9nZ2xlZC1vbiAuZ2x5cGggewogICAgIC13ZWJraXQtYm94LXNoYWRvdzog
MCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KSBpbnNldCwgMCAtMXB4IDFweCByZ2JhKDI1NSwg
MjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsK
IH0KIAotLmNvbnNvbGUtd2FybmluZy1sZXZlbCwgLmNvbnNvbGUtZXJyb3ItbGV2ZWwsIC5jb25z
b2xlLWxvZy1sZXZlbCwgLmNvbnNvbGUtZGVidWctbGV2ZWwgewotICAgIGRpc3BsYXk6IG5vbmU7
Ci19Ci0KLS5maWx0ZXItYWxsIC5jb25zb2xlLXdhcm5pbmctbGV2ZWwsIC5maWx0ZXItd2Fybmlu
Z3MgLmNvbnNvbGUtd2FybmluZy1sZXZlbCwKLS5maWx0ZXItYWxsIC5jb25zb2xlLWVycm9yLWxl
dmVsLCAuZmlsdGVyLWVycm9ycyAuY29uc29sZS1lcnJvci1sZXZlbCwKLS5maWx0ZXItYWxsIC5j
b25zb2xlLWxvZy1sZXZlbCwgLmZpbHRlci1sb2dzIC5jb25zb2xlLWxvZy1sZXZlbCwKLS5maWx0
ZXItYWxsIC5jb25zb2xlLWRlYnVnLWxldmVsLCAuZmlsdGVyLWRlYnVnIC5jb25zb2xlLWRlYnVn
LWxldmVsIHsKLSAgICBkaXNwbGF5OiBibG9jazsKLX0KIAotLmZpbHRlci1hbGwgLmNvbnNvbGUt
d2FybmluZy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdlLCAuZmlsdGVyLXdhcm5pbmdzIC5jb25zb2xl
LXdhcm5pbmctbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKLS5maWx0ZXItYWxsIC5jb25zb2xlLWVy
cm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsIC5maWx0ZXItZXJyb3JzIC5jb25zb2xlLWVycm9y
LWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsCi0uZmlsdGVyLWFsbCAuY29uc29sZS1sb2ctbGV2ZWwu
cmVwZWF0ZWQtbWVzc2FnZSwgLmZpbHRlci1sb2dzIC5jb25zb2xlLWxvZy1sZXZlbC5yZXBlYXRl
ZC1tZXNzYWdlLAotLmZpbHRlci1hbGwgLmNvbnNvbGUtZGVidWctbGV2ZWwucmVwZWF0ZWQtbWVz
c2FnZSwgLmZpbHRlci1kZWJ1ZyAuY29uc29sZS1kZWJ1Zy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdl
IHsKKy5jb25zb2xlLXdhcm5pbmctbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKKy5jb25zb2xlLWVy
cm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsCisuY29uc29sZS1sb2ctbGV2ZWwucmVwZWF0ZWQt
bWVzc2FnZSwKKy5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2V7CiAgICAgZGlz
cGxheTogLXdlYmtpdC1mbGV4OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193998</attachid>
            <date>2013-03-20 01:34:18 -0700</date>
            <delta_ts>2013-03-21 08:15:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112710-20130320123007.patch</filename>
            <type>text/plain</type>
            <size>14715</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTE1N2M0ZTU0Y2JhYjA5
NDhhZTY3MzcxMjUyYjhmNzAxMDNhYTZkZi4uMDY5N2Y2N2Q0N2ZhNWY0MzViZmEwOGU0ZmYwZjAx
NmEwZTE5NTQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTE5ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUmVtb3ZlIHJlbWFpbmluZ3Mgb2YgQ1NTLWJhc2VkIGNvbnNvbGUgbWVzc2FnZSBmaWx0
ZXJpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTI3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcuZ2V0IHRoaXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3LnByb3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlw
ZS5fY29uc29sZU1lc3NhZ2VBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlLl9hcHBlbmRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jb25zb2xlQ2xlYXJlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9zaG91bGRCZVZpc2libGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fdXBkYXRlTWVzc2FnZUxpc3Qp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fcHJvbXB0S2V5
RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9wcmlu
dFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQucHJvdG90eXBl
LmhpZ2hsaWdodFNlYXJjaFJlc3VsdHMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1l
c3NhZ2UpOgorCiAyMDEzLTAzLTE4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBOZXR3b3JrUHJvY2VzcyBzaG91bGQgc2VuZCB2bV9jb3BpZWQsIG1tYXAnZWQg
bWVtb3J5IHRvIFdlYlByb2Nlc3NlcyB3aGVuIGEgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCA4OTU5NmQ5NDBjZjY1NjdhZDhh
Njg3NjAyZTc2ZDI4NTQwMWU1Nzg3Li5iNjczNjQ5NDU3MDhiYWM5ZTI2YTM3MzE2ZDNkNTI0OTc5
NGM1YjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZVZpZXcuanMKQEAgLTM5LDYgKzM5LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3ID0g
ZnVuY3Rpb24oaGlkZUNvbnRleHRTZWxlY3RvcikKICAgICB0aGlzLmVsZW1lbnQuaWQgPSAiY29u
c29sZS12aWV3IjsKICAgICB0aGlzLl9tZXNzYWdlVVJMRmlsdGVycyA9IFdlYkluc3BlY3Rvci5z
ZXR0aW5ncy5tZXNzYWdlVVJMRmlsdGVycy5nZXQoKTsKICAgICB0aGlzLl92aXNpYmxlTWVzc2Fn
ZXMgPSBbXTsKKyAgICB0aGlzLl9tZXNzYWdlcyA9IFtdOwogICAgIHRoaXMuX3VybFRvTWVzc2Fn
ZUNvdW50ID0ge307CiAKICAgICB0aGlzLl9jbGVhckNvbnNvbGVCdXR0b24gPSBuZXcgV2ViSW5z
cGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsZWFyIGNvbnNv
bGUgbG9nLiIpLCAiY2xlYXItc3RhdHVzLWJhci1pdGVtIik7CkBAIC01Miw2ICs1Myw4IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldyA9IGZ1bmN0aW9uKGhpZGVDb250ZXh0U2VsZWN0b3IpCiAg
ICAgICAgIHRoaXMuX2NvbnRleHRTZWxlY3Rvci5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRl
biIpOwogICAgIH0KIAorICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMgPSBbXTsKKwogICAg
IHRoaXMubWVzc2FnZXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQuaWQgPSAiY29uc29sZS1tZXNzYWdlcyI7CiAgICAgdGhp
cy5tZXNzYWdlc0VsZW1lbnQuY2xhc3NOYW1lID0gIm1vbm9zcGFjZSI7CkBAIC05Nyw5ICsxMDAs
OSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5jdGlvbihoaWRlQ29udGV4dFNlbGVj
dG9yKQogCiAgICAgdGhpcy5hbGxFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRo
aXMsICJhbGwiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFsbCIpKTsKICAgICBjcmVhdGVEaXZp
ZGVyRWxlbWVudC5jYWxsKHRoaXMpOwotICAgIHRoaXMuZXJyb3JFbGVtZW50ID0gY3JlYXRlRmls
dGVyRWxlbWVudC5jYWxsKHRoaXMsICJlcnJvcnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVy
cm9ycyIpKTsKLSAgICB0aGlzLndhcm5pbmdFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5j
YWxsKHRoaXMsICJ3YXJuaW5ncyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiV2FybmluZ3MiKSk7
Ci0gICAgdGhpcy5sb2dFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJs
b2dzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2dzIikpOworICAgIHRoaXMuZXJyb3JFbGVt
ZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJlcnJvciIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiRXJyb3JzIikpOworICAgIHRoaXMud2FybmluZ0VsZW1lbnQgPSBjcmVhdGVG
aWx0ZXJFbGVtZW50LmNhbGwodGhpcywgIndhcm5pbmciLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
Ildhcm5pbmdzIikpOworICAgIHRoaXMubG9nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQu
Y2FsbCh0aGlzLCAibG9nIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2dzIikpOwogICAgIHRo
aXMuZGVidWdFbGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJkZWJ1ZyIs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGVidWciKSk7CiAKICAgICB0aGlzLmZpbHRlcih0aGlz
LmFsbEVsZW1lbnQsIGZhbHNlKTsKQEAgLTI1OSw1NCArMjYyLDU3IEBAIFdlYkluc3BlY3Rvci5D
b25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBmdW5jdGlvbiB1bnNlbGVj
dEFsbCgpCiAgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMg
PSBbXTsKKwogICAgICAgICAgICAgdGhpcy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNl
bGVjdGVkIik7CiAgICAgICAgICAgICB0aGlzLmVycm9yRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgdGhpcy53YXJuaW5nRWxlbWVudC5yZW1vdmVTdHls
ZUNsYXNzKCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgdGhpcy5sb2dFbGVtZW50LnJlbW92ZVN0
eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAgICAgICAgICAgICB0aGlzLmRlYnVnRWxlbWVudC5yZW1v
dmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotCi0gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxl
bWVudC5jbGFzc0xpc3QucmVtb3ZlKCJmaWx0ZXItYWxsIiwgImZpbHRlci1lcnJvcnMiLCAiZmls
dGVyLXdhcm5pbmdzIiwgImZpbHRlci1sb2dzIiwgImZpbHRlci1kZWJ1ZyIpOwogICAgICAgICB9
CiAKLSAgICAgICAgdmFyIHRhcmdldEZpbHRlckNsYXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNh
dGVnb3J5OwotCiAgICAgICAgIGlmICh0YXJnZXQuY2F0ZWdvcnkgPT09ICJhbGwiKSB7Ci0gICAg
ICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKLSAgICAgICAg
ICAgICAgICAvLyBXZSBjYW4ndCB1bnNlbGVjdCBhbGwsIHNvIHdlIGJyZWFrIGVhcmx5IGhlcmUK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIHVu
c2VsZWN0QWxsLmNhbGwodGhpcyk7CisgICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygi
c2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMgPSBbImVy
cm9yIiwgIndhcm5pbmciLCAibG9nIiwgImRlYnVnIl07CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAvLyBTb21ldGhpbmcgb3RoZXIgdGhhbiBhbGwgaXMgYmVpbmcgc2VsZWN0ZWQsIHNv
IHdlIHdhbnQgdG8gdW5zZWxlY3QgYWxsCiAgICAgICAgICAgICBpZiAodGhpcy5hbGxFbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9tZXNz
YWdlTGV2ZWxGaWx0ZXJzID0gW107CiAgICAgICAgICAgICAgICAgdGhpcy5hbGxFbGVtZW50LnJl
bW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdl
c0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOwogICAgICAgICAgICAgfQot
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKCFzZWxlY3RNdWx0aXBsZSkgewotICAgICAgICAgICAg
Ly8gSWYgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIG9mZiwgd2Ugd2FudCB0byB1bnNlbGVjdCBldmVy
eXRoaW5nIGVsc2UKLSAgICAgICAgICAgIC8vIGFuZCBqdXN0IHNlbGVjdCBvdXJzZWx2ZXMuCi0g
ICAgICAgICAgICB1bnNlbGVjdEFsbC5jYWxsKHRoaXMpOworICAgICAgICAgICAgaWYgKCFzZWxl
Y3RNdWx0aXBsZSkgeworICAgICAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVjdGlvbiBp
cyBvZmYsIHdlIHdhbnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAgICAgICAg
ICAgLy8gYW5kIGp1c3Qgc2VsZWN0IG91cnNlbHZlcy4KKyAgICAgICAgICAgICAgICB1bnNlbGVj
dEFsbC5jYWxsKHRoaXMpOwogCi0gICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2Vs
ZWN0ZWQiKTsKLSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmFkZFN0eWxlQ2xhc3Mo
dGFyZ2V0RmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpOwogCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB0aGlzLl9tZXNzYWdlTGV2ZWxGaWx0ZXJzID0gW3RhcmdldC5jYXRlZ29yeV07Cisg
ICAgICAgICAgICB9IGVsc2UgewogCi0gICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVDbGFzcygi
c2VsZWN0ZWQiKSkgewotICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVk
IG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwgd2UganVzdAotICAgICAgICAgICAgLy8gd2FudCB0
byB1bnNlbGVjdCBvdXJzZWx2ZXMuCi0gICAgICAgICAgICB0YXJnZXQucmVtb3ZlU3R5bGVDbGFz
cygic2VsZWN0ZWQiKTsKLSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0
eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZW4ndCBzZWxl
Y3RlZCwgd2UganVzdAotICAgICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qgb3Vyc2VsdmVzLgot
ICAgICAgICAgICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAg
ICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5hZGRTdHlsZUNsYXNzKHRhcmdldEZpbHRlckNsYXNzKTsK
KyAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0RmlsdGVySW5kZXggPSB0aGlzLl9tZXNzYWdlTGV2
ZWxGaWx0ZXJzLmluZGV4T2YodGFyZ2V0LmNhdGVnb3J5KTsKKyAgICAgICAgICAgICAgICBpZiAo
dGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwg
d2UganVzdAorICAgICAgICAgICAgICAgICAgICAvLyB3YW50IHRvIHVuc2VsZWN0IG91cnNlbHZl
cy4KKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVk
Iik7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldEZpbHRlckluZGV4ICE9IC0xKQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbWVzc2FnZUxldmVsRmlsdGVycy5zcGxpY2Uo
dGFyZ2V0RmlsdGVySW5kZXgsIDEpOworCisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ug
d2VyZW4ndCBzZWxlY3RlZCwgd2UganVzdAorICAgICAgICAgICAgICAgICAgICAvLyB3YW50IHRv
IHNlbGVjdCBvdXJzZWx2ZXMuCisgICAgICAgICAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNs
YXNzKCJzZWxlY3RlZCIpOworCisgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRGaWx0ZXJJ
bmRleCA9PT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlTGV2ZWxG
aWx0ZXJzLnB1c2godGFyZ2V0LmNhdGVnb3J5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKworICAgICAgICB0aGlzLl91cGRhdGVNZXNzYWdlTGlzdCgpOwog
ICAgIH0sCiAKICAgICB3aWxsSGlkZTogZnVuY3Rpb24oKQpAQCAtMzg0LDYgKzM5MCw4IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2NvbnNvbGVNZXNzYWdl
QWRkZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIG1lc3NhZ2UgPSAvKiog
QHR5cGUge1dlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZX0gKi8gKGV2ZW50LmRhdGEpOworICAg
ICAgICB0aGlzLl9tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOworCiAgICAgICAgIGlmICh0aGlzLl91
cmxUb01lc3NhZ2VDb3VudFttZXNzYWdlLnVybF0pCiAgICAgICAgICAgICB0aGlzLl91cmxUb01l
c3NhZ2VDb3VudFttZXNzYWdlLnVybF0rKzsKICAgICAgICAgZWxzZQpAQCAtNDAzLDcgKzQxMSw3
IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
X3Zpc2libGVNZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOwogCiAgICAgICAgIGlmIChtZXNzYWdlLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5FbmRHcm91cCkg
ewotICAgICAgICAgICAgdmFyIHBhcmVudEdyb3VwID0gdGhpcy5jdXJyZW50R3JvdXAucGFyZW50
R3JvdXAKKyAgICAgICAgICAgIHZhciBwYXJlbnRHcm91cCA9IHRoaXMuY3VycmVudEdyb3VwLnBh
cmVudEdyb3VwOwogICAgICAgICAgICAgaWYgKHBhcmVudEdyb3VwKQogICAgICAgICAgICAgICAg
IHRoaXMuY3VycmVudEdyb3VwID0gcGFyZW50R3JvdXA7CiAgICAgICAgIH0gZWxzZSB7CkBAIC00
MjQsNiArNDMyLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl92aXNpYmxlTWVzc2FnZXMubGVuZ3RoOyAr
K2kpCiAgICAgICAgICAgICB0aGlzLl92aXNpYmxlTWVzc2FnZXNbaV0ud2lsbEhpZGUoKTsKICAg
ICAgICAgdGhpcy5fdmlzaWJsZU1lc3NhZ2VzID0gW107CisgICAgICAgIHRoaXMuX21lc3NhZ2Vz
ID0gW107CiAKICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSB0aGlzLnRvcEdyb3VwOwogICAg
ICAgICB0aGlzLnRvcEdyb3VwLm1lc3NhZ2VzRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwpAQCAt
NTI3LDcgKzUzNiw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAg
ICAgICovCiAgICAgX3Nob3VsZEJlVmlzaWJsZTogZnVuY3Rpb24obWVzc2FnZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiAhbWVzc2FnZS51cmwgfHwgIXRoaXMuX21lc3NhZ2VVUkxGaWx0ZXJzW21l
c3NhZ2UudXJsXTsKKyAgICAgICAgcmV0dXJuICghbWVzc2FnZS51cmwgfHwgIXRoaXMuX21lc3Nh
Z2VVUkxGaWx0ZXJzW21lc3NhZ2UudXJsXSkgJiYgKCFtZXNzYWdlLmxldmVsIHx8IHRoaXMuX21l
c3NhZ2VMZXZlbEZpbHRlcnMuaW5kZXhPZihtZXNzYWdlLmxldmVsKSAhPSAtMSk7CiAgICAgfSwK
IAogICAgIC8qKgpAQCAtNTM1LDcgKzU0NCw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3VwZGF0ZU1lc3NhZ2VMaXN0OiBmdW5jdGlvbigp
CiAgICAgewotICAgICAgICB2YXIgc291cmNlTWVzc2FnZXMgPSBXZWJJbnNwZWN0b3IuY29uc29s
ZS5tZXNzYWdlczsKKyAgICAgICAgdmFyIHNvdXJjZU1lc3NhZ2VzID0gdGhpcy5fbWVzc2FnZXM7
CiAgICAgICAgIHZhciB2aXNpYmxlTWVzc2FnZUluZGV4ID0gMDsKICAgICAgICAgdmFyIG5ld1Zp
c2libGVNZXNzYWdlcyA9IFtdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJjZU1l
c3NhZ2VzLmxlbmd0aDsgaSsrKSB7CkBAIC01NDgsNyArNTU3LDcgQEAgV2ViSW5zcGVjdG9yLkNv
bnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZU1l
c3NhZ2VzLnB1c2godmlzaWJsZU1lc3NhZ2UpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICB2aXNpYmxlTWVzc2FnZS53aWxsSGlkZSgpOwotICAgICAgICAgICAg
ICAgICAgICB2aXNpYmxlTWVzc2FnZS50b01lc3NhZ2VFbGVtZW50KCkucmVtb3ZlU2VsZigpOyAg
ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHZpc2libGVNZXNzYWdlLnRv
TWVzc2FnZUVsZW1lbnQoKS5yZW1vdmVTZWxmKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkQmVWaXNpYmxl
KHNvdXJjZU1lc3NhZ2UpKSB7CkBAIC02MjYsNyArNjM1LDYgQEAgV2ViSW5zcGVjdG9yLkNvbnNv
bGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGhhbmRsZXIpIHsKICAgICAgICAgICAg
IGhhbmRsZXIoKTsKICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9LAogCkBAIC02NTQsOCArNjYyLDkgQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICgh
cmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX2FwcGVuZENvbnNv
bGVNZXNzYWdlKG5ldyBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQocmVzdWx0LCB3
YXNUaHJvd24sIG9yaWdpbmF0aW5nQ29tbWFuZCwgdGhpcy5fbGlua2lmaWVyKSk7CisgICAgICAg
IHZhciBtZXNzYWdlID0gbmV3IFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdChyZXN1
bHQsIHdhc1Rocm93biwgb3JpZ2luYXRpbmdDb21tYW5kLCB0aGlzLl9saW5raWZpZXIpOworICAg
ICAgICB0aGlzLl9tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOworICAgICAgICB0aGlzLl9hcHBlbmRD
b25zb2xlTWVzc2FnZShtZXNzYWdlKTsKICAgICB9LAogCiAgICAgX2FwcGVuZENvbW1hbmQ6IGZ1
bmN0aW9uKHRleHQsIG5ld1Byb21wdFRleHQsIHVzZUNvbW1hbmRMaW5lQVBJLCBzaG93UmVzdWx0
T25seSkKQEAgLTY2Myw2ICs2NzIsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90
eXBlID0gewogICAgICAgICBpZiAoIXNob3dSZXN1bHRPbmx5KSB7CiAgICAgICAgICAgICB2YXIg
Y29tbWFuZE1lc3NhZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kKHRleHQpOwog
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuaW50ZXJydXB0UmVwZWF0Q291bnQoKTsK
KyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VzLnB1c2goY29tbWFuZE1lc3NhZ2UpOwogICAgICAg
ICAgICAgdGhpcy5fYXBwZW5kQ29uc29sZU1lc3NhZ2UoY29tbWFuZE1lc3NhZ2UpOwogICAgICAg
ICB9CiAgICAgICAgIHRoaXMucHJvbXB0LnRleHQgPSBuZXdQcm9tcHRUZXh0OwpAQCAtNjc2LDcg
KzY4Niw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICAgICAgdGhpcy5wcm9tcHQucHVzaEhpc3RvcnlJdGVtKHRleHQpOwogICAgICAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jb25zb2xlSGlzdG9yeS5zZXQodGhpcy5wcm9tcHQu
aGlzdG9yeURhdGEuc2xpY2UoLTMwKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwog
ICAgICAgICAgICAgdGhpcy5fcHJpbnRSZXN1bHQocmVzdWx0LCB3YXNUaHJvd24sIGNvbW1hbmRN
ZXNzYWdlKTsKICAgICAgICAgfQogICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1vZGVsLmV2
YWx1YXRlKHRleHQsICJjb25zb2xlIiwgdXNlQ29tbWFuZExpbmVBUEksIGZhbHNlLCBmYWxzZSwg
dHJ1ZSwgcHJpbnRSZXN1bHQuYmluZCh0aGlzKSk7CkBAIC03MjIsNyArNzMyLDYgQEAgV2ViSW5z
cGVjdG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmVnZXhPYmplY3Qu
bGFzdEluZGV4ID0gMDsKICAgICAgICAgdmFyIHRleHQgPSB0aGlzLmNvbW1hbmQ7CiAgICAgICAg
IHZhciBtYXRjaCA9IHJlZ2V4T2JqZWN0LmV4ZWModGV4dCk7Ci0gICAgICAgIHZhciBvZmZzZXQg
PSAwOwogICAgICAgICB2YXIgbWF0Y2hSYW5nZXMgPSBbXTsKICAgICAgICAgd2hpbGUgKG1hdGNo
KSB7CiAgICAgICAgICAgICBtYXRjaFJhbmdlcy5wdXNoKHsgb2Zmc2V0OiBtYXRjaC5pbmRleCwg
bGVuZ3RoOiBtYXRjaFswXS5sZW5ndGggfSk7CkBAIC03NjIsNiArNzcxLDkgQEAgV2ViSW5zcGVj
dG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2VJbXBsfQogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge1dlYklu
c3BlY3Rvci5MaW5raWZpZXJ9IGxpbmtpZmllcgorICogQHBhcmFtIHdhc1Rocm93bgorICogQHBh
cmFtIG9yaWdpbmF0aW5nQ29tbWFuZAorICogQHBhcmFtIHJlc3VsdAogICovCiBXZWJJbnNwZWN0
b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQgPSBmdW5jdGlvbihyZXN1bHQsIHdhc1Rocm93biwgb3Jp
Z2luYXRpbmdDb21tYW5kLCBsaW5raWZpZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggM2VhY2M0NDU1NmNlNzQ1NTZhM2Y4
NjExNWU1ZTczZjUzNDcyYmZmNi4uZjUzMzc2YmY3ZGU4ZGY1ZGJjODFmNjc1MGE1NDZmZWY5MmIz
NTZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmNzcwpAQCAtMTkwMCwyMSArMTkwMCwxMSBAQCBidXR0b24uZW5hYmxlLXRvZ2dsZS1zdGF0
dXMtYmFyLWl0ZW0udG9nZ2xlZC1vbiAuZ2x5cGggewogICAgIC13ZWJraXQtYm94LXNoYWRvdzog
MCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KSBpbnNldCwgMCAtMXB4IDFweCByZ2JhKDI1NSwg
MjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsK
IH0KIAotLmNvbnNvbGUtd2FybmluZy1sZXZlbCwgLmNvbnNvbGUtZXJyb3ItbGV2ZWwsIC5jb25z
b2xlLWxvZy1sZXZlbCwgLmNvbnNvbGUtZGVidWctbGV2ZWwgewotICAgIGRpc3BsYXk6IG5vbmU7
Ci19Ci0KLS5maWx0ZXItYWxsIC5jb25zb2xlLXdhcm5pbmctbGV2ZWwsIC5maWx0ZXItd2Fybmlu
Z3MgLmNvbnNvbGUtd2FybmluZy1sZXZlbCwKLS5maWx0ZXItYWxsIC5jb25zb2xlLWVycm9yLWxl
dmVsLCAuZmlsdGVyLWVycm9ycyAuY29uc29sZS1lcnJvci1sZXZlbCwKLS5maWx0ZXItYWxsIC5j
b25zb2xlLWxvZy1sZXZlbCwgLmZpbHRlci1sb2dzIC5jb25zb2xlLWxvZy1sZXZlbCwKLS5maWx0
ZXItYWxsIC5jb25zb2xlLWRlYnVnLWxldmVsLCAuZmlsdGVyLWRlYnVnIC5jb25zb2xlLWRlYnVn
LWxldmVsIHsKLSAgICBkaXNwbGF5OiBibG9jazsKLX0KIAotLmZpbHRlci1hbGwgLmNvbnNvbGUt
d2FybmluZy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdlLCAuZmlsdGVyLXdhcm5pbmdzIC5jb25zb2xl
LXdhcm5pbmctbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKLS5maWx0ZXItYWxsIC5jb25zb2xlLWVy
cm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsIC5maWx0ZXItZXJyb3JzIC5jb25zb2xlLWVycm9y
LWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsCi0uZmlsdGVyLWFsbCAuY29uc29sZS1sb2ctbGV2ZWwu
cmVwZWF0ZWQtbWVzc2FnZSwgLmZpbHRlci1sb2dzIC5jb25zb2xlLWxvZy1sZXZlbC5yZXBlYXRl
ZC1tZXNzYWdlLAotLmZpbHRlci1hbGwgLmNvbnNvbGUtZGVidWctbGV2ZWwucmVwZWF0ZWQtbWVz
c2FnZSwgLmZpbHRlci1kZWJ1ZyAuY29uc29sZS1kZWJ1Zy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdl
IHsKKy5jb25zb2xlLXdhcm5pbmctbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKKy5jb25zb2xlLWVy
cm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsCisuY29uc29sZS1sb2ctbGV2ZWwucmVwZWF0ZWQt
bWVzc2FnZSwKKy5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2V7CiAgICAgZGlz
cGxheTogLXdlYmtpdC1mbGV4OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWZmYTRlMzc4OTQ5ZDQxYzQ2NDViZTVi
NzFkMWI3YjQ3MTJlZWQyOC4uYmIxYzRkYzkwYzU2MjBkZjI3ZGIwN2M1MTA0YjI0OWI1ZDljNmY3
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAzLTIwICBEbWl0cnkgWnZvcnlnaW4gIDx6
dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHJl
bWFpbmluZ3Mgb2YgQ1NTLWJhc2VkIGNvbnNvbGUgbWVzc2FnZSBmaWx0ZXJpbmcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI3MTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWw6CisKIDIwMTMtMDMtMTggIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgc3RyaW5nIGNvbnZlcnNpb25zIGFu
ZCBhbGxvY2F0aW9ucyBzaG91bGQgYmUgaW5saW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwKaW5kZXggNTE0Nzk5
OTNiOTk1NWZkYmJmZWE1YzFlMmZjMDA5Y2FlZmI2OTM4ZC4uNGVmOWEzM2M4MDgyZTg2Yzg4NmYx
NzE4MzU0Mjk5YTZkZTI3MjgyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9jb25zb2xlLXByZXNlcnZlLWxvZy5odG1sCkBAIC01LDcgKzUsNyBAQAogPHNj
cmlwdD4KIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLmFkZE1l
c3NhZ2UoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLmNyZWF0ZShXZWJJbnNwZWN0b3IuQ29u
c29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5PdGhlciwgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNz
YWdlLk1lc3NhZ2VMZXZlbCwgIlBBU1MiKSk7CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuYWRk
TWVzc2FnZShXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLk90aGVyLCBXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2UuTWVzc2FnZUxldmVsLkxvZywgIlBBU1MiKSk7CiAgICAgV2ViSW5zcGVjdG9yLnNldHRp
bmdzLnByZXNlcnZlQ29uc29sZUxvZy5zZXQodHJ1ZSk7CiAgICAgSW5zcGVjdG9yVGVzdC5yZWxv
YWRQYWdlKGZ1bmN0aW9uKCkgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVz
c2FnZXMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194264</attachid>
            <date>2013-03-21 08:15:42 -0700</date>
            <delta_ts>2013-03-26 08:46:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112710-20130321191129.patch</filename>
            <type>text/plain</type>
            <size>14718</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IyZDM0NTI5NTY0ZDMw
ZjE4MzZlMGY3NmZiYjUyY2RmZDljNjAxZi4uYjU2ZTgxM2ZmZTMyNjkzZmQzYjJmMjllNDU1ZDkw
NzY1MmQzNmI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTE5ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUmVtb3ZlIHJlbWFpbmluZ3Mgb2YgQ1NTLWJhc2VkIGNvbnNvbGUgbWVzc2FnZSBmaWx0
ZXJpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTI3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcuZ2V0IHRoaXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3LnByb3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlw
ZS5fY29uc29sZU1lc3NhZ2VBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlLl9hcHBlbmRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jb25zb2xlQ2xlYXJlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9zaG91bGRCZVZpc2libGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fdXBkYXRlTWVzc2FnZUxpc3Qp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fcHJvbXB0S2V5
RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9wcmlu
dFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQucHJvdG90eXBl
LmhpZ2hsaWdodFNlYXJjaFJlc3VsdHMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1l
c3NhZ2UpOgorCiAyMDEzLTAzLTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSFRNTE5hbWVzIHNob3VsZCBjb25zdHJ1Y3Qgc3RyaW5ncyBhdCBjb21waWxlIHRp
bWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3
LmpzCmluZGV4IDkwMDdjYzk0YWYwOTIxMzgyZDQ3NDYxYTZiZjY1NWFiZWZjMWIxN2MuLjVhNTJk
ZjU5NDI2MGIzYTkwNWZlMzFjMzc5YWZlZjYzYmMzM2VlODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtMzksNiArMzksNyBA
QCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5jdGlvbihoaWRlQ29udGV4dFNlbGVjdG9y
KQogICAgIHRoaXMuZWxlbWVudC5pZCA9ICJjb25zb2xlLXZpZXciOwogICAgIHRoaXMuX21lc3Nh
Z2VVUkxGaWx0ZXJzID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLm1lc3NhZ2VVUkxGaWx0ZXJzLmdl
dCgpOwogICAgIHRoaXMuX3Zpc2libGVNZXNzYWdlcyA9IFtdOworICAgIHRoaXMuX21lc3NhZ2Vz
ID0gW107CiAgICAgdGhpcy5fdXJsVG9NZXNzYWdlQ291bnQgPSB7fTsKIAogICAgIHRoaXMuX2Ns
ZWFyQ29uc29sZUJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYklu
c3BlY3Rvci5VSVN0cmluZygiQ2xlYXIgY29uc29sZSBsb2cuIiksICJjbGVhci1zdGF0dXMtYmFy
LWl0ZW0iKTsKQEAgLTUyLDYgKzUzLDggQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3ID0gZnVu
Y3Rpb24oaGlkZUNvbnRleHRTZWxlY3RvcikKICAgICAgICAgdGhpcy5fY29udGV4dFNlbGVjdG9y
LmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CiAgICAgfQogCisgICAgdGhpcy5fbWVz
c2FnZUxldmVsRmlsdGVycyA9IHt9OworCiAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5pZCA9
ICJjb25zb2xlLW1lc3NhZ2VzIjsKICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5jbGFzc05hbWUg
PSAibW9ub3NwYWNlIjsKQEAgLTk3LDkgKzEwMCw5IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmll
dyA9IGZ1bmN0aW9uKGhpZGVDb250ZXh0U2VsZWN0b3IpCiAKICAgICB0aGlzLmFsbEVsZW1lbnQg
PSBjcmVhdGVGaWx0ZXJFbGVtZW50LmNhbGwodGhpcywgImFsbCIsIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiQWxsIikpOwogICAgIGNyZWF0ZURpdmlkZXJFbGVtZW50LmNhbGwodGhpcyk7Ci0gICAg
dGhpcy5lcnJvckVsZW1lbnQgPSBjcmVhdGVGaWx0ZXJFbGVtZW50LmNhbGwodGhpcywgImVycm9y
cyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRXJyb3JzIikpOwotICAgIHRoaXMud2FybmluZ0Vs
ZW1lbnQgPSBjcmVhdGVGaWx0ZXJFbGVtZW50LmNhbGwodGhpcywgIndhcm5pbmdzIiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJXYXJuaW5ncyIpKTsKLSAgICB0aGlzLmxvZ0VsZW1lbnQgPSBjcmVh
dGVGaWx0ZXJFbGVtZW50LmNhbGwodGhpcywgImxvZ3MiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkxvZ3MiKSk7CisgICAgdGhpcy5lcnJvckVsZW1lbnQgPSBjcmVhdGVGaWx0ZXJFbGVtZW50LmNh
bGwodGhpcywgImVycm9yIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFcnJvcnMiKSk7CisgICAg
dGhpcy53YXJuaW5nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQuY2FsbCh0aGlzLCAid2Fy
bmluZyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiV2FybmluZ3MiKSk7CisgICAgdGhpcy5sb2dF
bGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJsb2ciLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkxvZ3MiKSk7CiAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQgPSBjcmVhdGVGaWx0
ZXJFbGVtZW50LmNhbGwodGhpcywgImRlYnVnIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEZWJ1
ZyIpKTsKIAogICAgIHRoaXMuZmlsdGVyKHRoaXMuYWxsRWxlbWVudCwgZmFsc2UpOwpAQCAtMjU5
LDU0ICsyNjIsNTYgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICB7CiAgICAgICAgIGZ1bmN0aW9uIHVuc2VsZWN0QWxsKCkKICAgICAgICAgeworICAgICAgICAg
ICAgdGhpcy5fbWVzc2FnZUxldmVsRmlsdGVycyA9IHt9OworCiAgICAgICAgICAgICB0aGlzLmFs
bEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKICAgICAgICAgICAgIHRoaXMu
ZXJyb3JFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAgICAgICAgICAgICB0
aGlzLndhcm5pbmdFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAgICAgICAg
ICAgICB0aGlzLmxvZ0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKICAgICAg
ICAgICAgIHRoaXMuZGVidWdFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0K
LSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImZpbHRl
ci1hbGwiLCAiZmlsdGVyLWVycm9ycyIsICJmaWx0ZXItd2FybmluZ3MiLCAiZmlsdGVyLWxvZ3Mi
LCAiZmlsdGVyLWRlYnVnIik7CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgdGFyZ2V0RmlsdGVy
Q2xhc3MgPSAiZmlsdGVyLSIgKyB0YXJnZXQuY2F0ZWdvcnk7Ci0KICAgICAgICAgaWYgKHRhcmdl
dC5jYXRlZ29yeSA9PT0gImFsbCIpIHsKLSAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVD
bGFzcygic2VsZWN0ZWQiKSkgewotICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IHVuc2VsZWN0
IGFsbCwgc28gd2UgYnJlYWsgZWFybHkgaGVyZQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgIH0KLQogICAgICAgICAgICAgdW5zZWxlY3RBbGwuY2FsbCh0aGlzKTsKKyAgICAg
ICAgICAgIHRhcmdldC5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAgICAgICAgICAgdGhp
cy5fbWVzc2FnZUxldmVsRmlsdGVycyA9IHtlcnJvcjogdHJ1ZSwgd2FybmluZzogdHJ1ZSwgbG9n
OiB0cnVlLCBkZWJ1ZzogdHJ1ZX07CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBT
b21ldGhpbmcgb3RoZXIgdGhhbiBhbGwgaXMgYmVpbmcgc2VsZWN0ZWQsIHNvIHdlIHdhbnQgdG8g
dW5zZWxlY3QgYWxsCiAgICAgICAgICAgICBpZiAodGhpcy5hbGxFbGVtZW50Lmhhc1N0eWxlQ2xh
c3MoInNlbGVjdGVkIikpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlTGV2ZWxGaWx0
ZXJzID0ge307CiAgICAgICAgICAgICAgICAgdGhpcy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xh
c3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVt
b3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOwogICAgICAgICAgICAgfQotICAgICAgICB9CiAK
LSAgICAgICAgaWYgKCFzZWxlY3RNdWx0aXBsZSkgewotICAgICAgICAgICAgLy8gSWYgbXVsdGlw
bGUgc2VsZWN0aW9uIGlzIG9mZiwgd2Ugd2FudCB0byB1bnNlbGVjdCBldmVyeXRoaW5nIGVsc2UK
LSAgICAgICAgICAgIC8vIGFuZCBqdXN0IHNlbGVjdCBvdXJzZWx2ZXMuCi0gICAgICAgICAgICB1
bnNlbGVjdEFsbC5jYWxsKHRoaXMpOworICAgICAgICAgICAgaWYgKCFzZWxlY3RNdWx0aXBsZSkg
eworICAgICAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBvZmYsIHdlIHdh
bnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAgICAgICAgICAgLy8gYW5kIGp1
c3Qgc2VsZWN0IG91cnNlbHZlcy4KKyAgICAgICAgICAgICAgICB1bnNlbGVjdEFsbC5jYWxsKHRo
aXMpOwogCi0gICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAg
ICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVy
Q2xhc3MpOworICAgICAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIp
OwogCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICAgICAgICAgICAgICB0aGlz
Ll9tZXNzYWdlTGV2ZWxGaWx0ZXJzID0ge307CisgICAgICAgICAgICAgICAgdGhpcy5fbWVzc2Fn
ZUxldmVsRmlsdGVyc1t0YXJnZXQuY2F0ZWdvcnldID0gdHJ1ZTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CiAKLSAgICAgICAgaWYgKHRhcmdldC5oYXNTdHlsZUNsYXNzKCJzZWxlY3RlZCIpKSB7Ci0g
ICAgICAgICAgICAvLyBJZiBzZWxlY3RNdWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJl
IHNlbGVjdGVkLCB3ZSBqdXN0Ci0gICAgICAgICAgICAvLyB3YW50IHRvIHVuc2VsZWN0IG91cnNl
bHZlcy4KLSAgICAgICAgICAgIHRhcmdldC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwot
ICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyh0YXJnZXRG
aWx0ZXJDbGFzcyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBJZiBzZWxlY3RN
dWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNlbGVjdGVkLCB3ZSBqdXN0Ci0g
ICAgICAgICAgICAvLyB3YW50IHRvIHNlbGVjdCBvdXJzZWx2ZXMuCi0gICAgICAgICAgICB0YXJn
ZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNF
bGVtZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgICAg
IGlmICh0YXJnZXQuaGFzU3R5bGVDbGFzcygic2VsZWN0ZWQiKSkgeworICAgICAgICAgICAgICAg
ICAgICAvLyBJZiBzZWxlY3RNdWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlIHNlbGVj
dGVkLCB3ZSBqdXN0CisgICAgICAgICAgICAgICAgICAgIC8vIHdhbnQgdG8gdW5zZWxlY3Qgb3Vy
c2VsdmVzLgorICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlU3R5bGVDbGFzcygic2Vs
ZWN0ZWQiKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fbWVzc2FnZUxldmVsRmls
dGVyc1t0YXJnZXQuY2F0ZWdvcnldKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRo
aXMuX21lc3NhZ2VMZXZlbEZpbHRlcnNbdGFyZ2V0LmNhdGVnb3J5XTsKKworICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8vIElmIHNlbGVjdE11bHRpcGxlIGlz
IHR1cm5lZCBvbiwgYW5kIHdlIHdlcmVuJ3Qgc2VsZWN0ZWQsIHdlIGp1c3QKKyAgICAgICAgICAg
ICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qgb3Vyc2VsdmVzLgorICAgICAgICAgICAgICAgICAg
ICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKworICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9tZXNzYWdlTGV2ZWxGaWx0ZXJzW3RhcmdldC5jYXRlZ29yeV0gPSB0cnVlOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIHRoaXMu
X3VwZGF0ZU1lc3NhZ2VMaXN0KCk7CiAgICAgfSwKIAogICAgIHdpbGxIaWRlOiBmdW5jdGlvbigp
CkBAIC0zODQsNiArMzg5LDggQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9
IHsKICAgICBfY29uc29sZU1lc3NhZ2VBZGRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAg
ICAgICB2YXIgbWVzc2FnZSA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
fSAqLyAoZXZlbnQuZGF0YSk7CisgICAgICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobWVzc2FnZSk7
CisKICAgICAgICAgaWYgKHRoaXMuX3VybFRvTWVzc2FnZUNvdW50W21lc3NhZ2UudXJsXSkKICAg
ICAgICAgICAgIHRoaXMuX3VybFRvTWVzc2FnZUNvdW50W21lc3NhZ2UudXJsXSsrOwogICAgICAg
ICBlbHNlCkBAIC00MDMsNyArNDEwLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdGhpcy5fdmlzaWJsZU1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7CiAK
ICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
Lk1lc3NhZ2VUeXBlLkVuZEdyb3VwKSB7Ci0gICAgICAgICAgICB2YXIgcGFyZW50R3JvdXAgPSB0
aGlzLmN1cnJlbnRHcm91cC5wYXJlbnRHcm91cAorICAgICAgICAgICAgdmFyIHBhcmVudEdyb3Vw
ID0gdGhpcy5jdXJyZW50R3JvdXAucGFyZW50R3JvdXA7CiAgICAgICAgICAgICBpZiAocGFyZW50
R3JvdXApCiAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSBwYXJlbnRHcm91cDsK
ICAgICAgICAgfSBlbHNlIHsKQEAgLTQyNCw2ICs0MzEsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29s
ZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3Zp
c2libGVNZXNzYWdlcy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRoaXMuX3Zpc2libGVNZXNz
YWdlc1tpXS53aWxsSGlkZSgpOwogICAgICAgICB0aGlzLl92aXNpYmxlTWVzc2FnZXMgPSBbXTsK
KyAgICAgICAgdGhpcy5fbWVzc2FnZXMgPSBbXTsKIAogICAgICAgICB0aGlzLmN1cnJlbnRHcm91
cCA9IHRoaXMudG9wR3JvdXA7CiAgICAgICAgIHRoaXMudG9wR3JvdXAubWVzc2FnZXNFbGVtZW50
LnJlbW92ZUNoaWxkcmVuKCk7CkBAIC01MjcsNyArNTM1LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNv
bGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBfc2hvdWxkQmVWaXNpYmxlOiBmdW5j
dGlvbihtZXNzYWdlKQogICAgIHsKLSAgICAgICAgcmV0dXJuICFtZXNzYWdlLnVybCB8fCAhdGhp
cy5fbWVzc2FnZVVSTEZpbHRlcnNbbWVzc2FnZS51cmxdOworICAgICAgICByZXR1cm4gKCFtZXNz
YWdlLnVybCB8fCAhdGhpcy5fbWVzc2FnZVVSTEZpbHRlcnNbbWVzc2FnZS51cmxdKSAmJiAoIW1l
c3NhZ2UubGV2ZWwgfHwgdGhpcy5fbWVzc2FnZUxldmVsRmlsdGVyc1ttZXNzYWdlLmxldmVsXSk7
CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNTM1LDcgKzU0Myw3IEBAIFdlYkluc3BlY3Rvci5Db25z
b2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3VwZGF0ZU1lc3NhZ2VMaXN0OiBm
dW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgc291cmNlTWVzc2FnZXMgPSBXZWJJbnNwZWN0
b3IuY29uc29sZS5tZXNzYWdlczsKKyAgICAgICAgdmFyIHNvdXJjZU1lc3NhZ2VzID0gdGhpcy5f
bWVzc2FnZXM7CiAgICAgICAgIHZhciB2aXNpYmxlTWVzc2FnZUluZGV4ID0gMDsKICAgICAgICAg
dmFyIG5ld1Zpc2libGVNZXNzYWdlcyA9IFtdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHNvdXJjZU1lc3NhZ2VzLmxlbmd0aDsgaSsrKSB7CkBAIC01NDgsNyArNTU2LDcgQEAgV2ViSW5z
cGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgbmV3
VmlzaWJsZU1lc3NhZ2VzLnB1c2godmlzaWJsZU1lc3NhZ2UpOwogICAgICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgICAgICB2aXNpYmxlTWVzc2FnZS53aWxsSGlkZSgpOwotICAg
ICAgICAgICAgICAgICAgICB2aXNpYmxlTWVzc2FnZS50b01lc3NhZ2VFbGVtZW50KCkucmVtb3Zl
U2VsZigpOyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHZpc2libGVN
ZXNzYWdlLnRvTWVzc2FnZUVsZW1lbnQoKS5yZW1vdmVTZWxmKCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxk
QmVWaXNpYmxlKHNvdXJjZU1lc3NhZ2UpKSB7CkBAIC02MjYsNyArNjM0LDYgQEAgV2ViSW5zcGVj
dG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGhhbmRsZXIpIHsKICAg
ICAgICAgICAgIGhhbmRsZXIoKTsKICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7
Ci0gICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9LAogCkBAIC02NTQsOCArNjYx
LDkgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAg
ICAgIGlmICghcmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX2Fw
cGVuZENvbnNvbGVNZXNzYWdlKG5ldyBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQo
cmVzdWx0LCB3YXNUaHJvd24sIG9yaWdpbmF0aW5nQ29tbWFuZCwgdGhpcy5fbGlua2lmaWVyKSk7
CisgICAgICAgIHZhciBtZXNzYWdlID0gbmV3IFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJl
c3VsdChyZXN1bHQsIHdhc1Rocm93biwgb3JpZ2luYXRpbmdDb21tYW5kLCB0aGlzLl9saW5raWZp
ZXIpOworICAgICAgICB0aGlzLl9tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpOworICAgICAgICB0aGlz
Ll9hcHBlbmRDb25zb2xlTWVzc2FnZShtZXNzYWdlKTsKICAgICB9LAogCiAgICAgX2FwcGVuZENv
bW1hbmQ6IGZ1bmN0aW9uKHRleHQsIG5ld1Byb21wdFRleHQsIHVzZUNvbW1hbmRMaW5lQVBJLCBz
aG93UmVzdWx0T25seSkKQEAgLTY2Myw2ICs2NzEsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXNob3dSZXN1bHRPbmx5KSB7CiAgICAgICAg
ICAgICB2YXIgY29tbWFuZE1lc3NhZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5k
KHRleHQpOwogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuaW50ZXJydXB0UmVwZWF0
Q291bnQoKTsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VzLnB1c2goY29tbWFuZE1lc3NhZ2Up
OwogICAgICAgICAgICAgdGhpcy5fYXBwZW5kQ29uc29sZU1lc3NhZ2UoY29tbWFuZE1lc3NhZ2Up
OwogICAgICAgICB9CiAgICAgICAgIHRoaXMucHJvbXB0LnRleHQgPSBuZXdQcm9tcHRUZXh0OwpA
QCAtNjc2LDcgKzY4NSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICAgICAgdGhpcy5wcm9tcHQucHVzaEhpc3RvcnlJdGVtKHRleHQpOwogICAg
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jb25zb2xlSGlzdG9yeS5zZXQodGhp
cy5wcm9tcHQuaGlzdG9yeURhdGEuc2xpY2UoLTMwKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAKKwogICAgICAgICAgICAgdGhpcy5fcHJpbnRSZXN1bHQocmVzdWx0LCB3YXNUaHJvd24s
IGNvbW1hbmRNZXNzYWdlKTsKICAgICAgICAgfQogICAgICAgICBXZWJJbnNwZWN0b3IucnVudGlt
ZU1vZGVsLmV2YWx1YXRlKHRleHQsICJjb25zb2xlIiwgdXNlQ29tbWFuZExpbmVBUEksIGZhbHNl
LCBmYWxzZSwgdHJ1ZSwgcHJpbnRSZXN1bHQuYmluZCh0aGlzKSk7CkBAIC03MjIsNyArNzMxLDYg
QEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmVn
ZXhPYmplY3QubGFzdEluZGV4ID0gMDsKICAgICAgICAgdmFyIHRleHQgPSB0aGlzLmNvbW1hbmQ7
CiAgICAgICAgIHZhciBtYXRjaCA9IHJlZ2V4T2JqZWN0LmV4ZWModGV4dCk7Ci0gICAgICAgIHZh
ciBvZmZzZXQgPSAwOwogICAgICAgICB2YXIgbWF0Y2hSYW5nZXMgPSBbXTsKICAgICAgICAgd2hp
bGUgKG1hdGNoKSB7CiAgICAgICAgICAgICBtYXRjaFJhbmdlcy5wdXNoKHsgb2Zmc2V0OiBtYXRj
aC5pbmRleCwgbGVuZ3RoOiBtYXRjaFswXS5sZW5ndGggfSk7CkBAIC03NjEsNiArNzY5LDkgQEAg
V2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kLnByb3RvdHlwZSA9IHsKIC8qKgogICogQGV4dGVu
ZHMge1dlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGx9CiAgKiBAY29uc3RydWN0b3IKKyAq
IEBwYXJhbSB7b2JqZWN0fSByZXN1bHQKKyAqIEBwYXJhbSB7Ym9vbGVhbn0gd2FzVGhyb3duCisg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZH0gb3JpZ2luYXRpbmdDb21tYW5k
CiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5MaW5raWZpZXJ9IGxpbmtpZmllcgogICovCiBXZWJJ
bnNwZWN0b3IuQ29uc29sZUNvbW1hbmRSZXN1bHQgPSBmdW5jdGlvbihyZXN1bHQsIHdhc1Rocm93
biwgb3JpZ2luYXRpbmdDb21tYW5kLCBsaW5raWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggNDFlN2VhNmI4NzFiYTg5ZTY3
MTZkODQwZGYzY2VkMWVmOTFiMWI1ZC4uNGYzN2IxZDVhMmM4YWE5YmI4NDIxNGFlNzJkM2ZhZWFi
NjdjNGNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmNzcwpAQCAtMTkzOCwyMSArMTkzOCwxMSBAQCBidXR0b24uZW5hYmxlLXRvZ2dsZS1z
dGF0dXMtYmFyLWl0ZW0udG9nZ2xlZC1vbiAuZ2x5cGggewogICAgIC13ZWJraXQtYm94LXNoYWRv
dzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KSBpbnNldCwgMCAtMXB4IDFweCByZ2JhKDI1
NSwgMjU1LCAyNTUsIDAuMjUpIGluc2V0LCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41
KTsKIH0KIAotLmNvbnNvbGUtd2FybmluZy1sZXZlbCwgLmNvbnNvbGUtZXJyb3ItbGV2ZWwsIC5j
b25zb2xlLWxvZy1sZXZlbCwgLmNvbnNvbGUtZGVidWctbGV2ZWwgewotICAgIGRpc3BsYXk6IG5v
bmU7Ci19Ci0KLS5maWx0ZXItYWxsIC5jb25zb2xlLXdhcm5pbmctbGV2ZWwsIC5maWx0ZXItd2Fy
bmluZ3MgLmNvbnNvbGUtd2FybmluZy1sZXZlbCwKLS5maWx0ZXItYWxsIC5jb25zb2xlLWVycm9y
LWxldmVsLCAuZmlsdGVyLWVycm9ycyAuY29uc29sZS1lcnJvci1sZXZlbCwKLS5maWx0ZXItYWxs
IC5jb25zb2xlLWxvZy1sZXZlbCwgLmZpbHRlci1sb2dzIC5jb25zb2xlLWxvZy1sZXZlbCwKLS5m
aWx0ZXItYWxsIC5jb25zb2xlLWRlYnVnLWxldmVsLCAuZmlsdGVyLWRlYnVnIC5jb25zb2xlLWRl
YnVnLWxldmVsIHsKLSAgICBkaXNwbGF5OiBibG9jazsKLX0KIAotLmZpbHRlci1hbGwgLmNvbnNv
bGUtd2FybmluZy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdlLCAuZmlsdGVyLXdhcm5pbmdzIC5jb25z
b2xlLXdhcm5pbmctbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKLS5maWx0ZXItYWxsIC5jb25zb2xl
LWVycm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsIC5maWx0ZXItZXJyb3JzIC5jb25zb2xlLWVy
cm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsCi0uZmlsdGVyLWFsbCAuY29uc29sZS1sb2ctbGV2
ZWwucmVwZWF0ZWQtbWVzc2FnZSwgLmZpbHRlci1sb2dzIC5jb25zb2xlLWxvZy1sZXZlbC5yZXBl
YXRlZC1tZXNzYWdlLAotLmZpbHRlci1hbGwgLmNvbnNvbGUtZGVidWctbGV2ZWwucmVwZWF0ZWQt
bWVzc2FnZSwgLmZpbHRlci1kZWJ1ZyAuY29uc29sZS1kZWJ1Zy1sZXZlbC5yZXBlYXRlZC1tZXNz
YWdlIHsKKy5jb25zb2xlLXdhcm5pbmctbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKKy5jb25zb2xl
LWVycm9yLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsCisuY29uc29sZS1sb2ctbGV2ZWwucmVwZWF0
ZWQtbWVzc2FnZSwKKy5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2V7CiAgICAg
ZGlzcGxheTogLXdlYmtpdC1mbGV4OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2U5NzA1MThhODNkN2FiNzBlNTRi
MTVlODY1ZTc4YTg0NDM1ZDY2ZC4uOWUwNzU2NmI2MmYzMTFlNDEzYTEyMGVjM2ZmNDMzMDIzOTM3
ZmExZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAzLTIwICBEbWl0cnkgWnZvcnlnaW4g
IDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3Zl
IHJlbWFpbmluZ3Mgb2YgQ1NTLWJhc2VkIGNvbnNvbGUgbWVzc2FnZSBmaWx0ZXJpbmcuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI3MTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWw6CisKIDIwMTMtMDMtMjEgIEppbndvbyBT
b25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFJlYmFzZWxp
bmUgbW9zdCAibmVlZHMgcmViYXNlbGluZSIgc2VjdGlvbnMgb2YgRUZMIHRlc3QgZXhwZWN0YXRp
b25zLCBhbmQgdXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwKaW5kZXggNTE0
Nzk5OTNiOTk1NWZkYmJmZWE1YzFlMmZjMDA5Y2FlZmI2OTM4ZC4uNGVmOWEzM2M4MDgyZTg2Yzg4
NmYxNzE4MzU0Mjk5YTZkZTI3MjgyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS9jb25zb2xlLXByZXNlcnZlLWxvZy5odG1sCkBAIC01LDcgKzUsNyBAQAog
PHNjcmlwdD4KIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLmFk
ZE1lc3NhZ2UoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLmNyZWF0ZShXZWJJbnNwZWN0b3Iu
Q29uc29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5PdGhlciwgV2ViSW5zcGVjdG9yLkNvbnNvbGVN
ZXNzYWdlLk1lc3NhZ2VMZXZlbCwgIlBBU1MiKSk7CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUu
YWRkTWVzc2FnZShXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKFdlYkluc3BlY3Rv
ci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlU291cmNlLk90aGVyLCBXZWJJbnNwZWN0b3IuQ29uc29s
ZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkxvZywgIlBBU1MiKSk7CiAgICAgV2ViSW5zcGVjdG9yLnNl
dHRpbmdzLnByZXNlcnZlQ29uc29sZUxvZy5zZXQodHJ1ZSk7CiAgICAgSW5zcGVjdG9yVGVzdC5y
ZWxvYWRQYWdlKGZ1bmN0aW9uKCkgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xl
TWVzc2FnZXMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195093</attachid>
            <date>2013-03-26 08:47:02 -0700</date>
            <delta_ts>2013-03-26 10:15:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112710-20130326194242.patch</filename>
            <type>text/plain</type>
            <size>18123</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJhOTZjYTVmZjVlZDVm
ZWU3YTBmYzZlMGNlNTViOGI0OGZkZDE3MS4uZTI2NjliNTBlMjk0Y2RkMDdlMWU3ZWE5MzIxODAy
YjVkN2I0NGYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAzLTE5ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUmVtb3ZlIHJlbWFpbmluZ3Mgb2YgQ1NTLWJhc2VkIGNvbnNvbGUgbWVzc2FnZSBmaWx0
ZXJpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTI3MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcuZ2V0IHRoaXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3LnByb3RvdHlwZS4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlw
ZS5fY29uc29sZU1lc3NhZ2VBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlLl9hcHBlbmRDb25zb2xlTWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jb25zb2xlQ2xlYXJlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9zaG91bGRCZVZpc2libGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fdXBkYXRlTWVzc2FnZUxpc3Qp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5fcHJvbXB0S2V5
RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9wcmlu
dFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQucHJvdG90eXBl
LmhpZ2hsaWdodFNlYXJjaFJlc3VsdHMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVhdGVkLW1l
c3NhZ2UpOgorCiAyMDEzLTAzLTI1ICBBbGV4ZWkgRmlsaXBwb3YgIDxhbHBoQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBGb250cyByZWZhY3RvcmluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggOTAw
N2NjOTRhZjA5MjEzODJkNDc0NjFhNmJmNjU1YWJlZmMxYjE3Yy4uYzVhZjI2YTU5NWE2YWMyYjdl
NTg4YjhkNDgyMzk3N2M0ZTg1NTRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC0zOSw2ICszOSw3IEBAIFdlYkluc3BlY3Rv
ci5Db25zb2xlVmlldyA9IGZ1bmN0aW9uKGhpZGVDb250ZXh0U2VsZWN0b3IpCiAgICAgdGhpcy5l
bGVtZW50LmlkID0gImNvbnNvbGUtdmlldyI7CiAgICAgdGhpcy5fbWVzc2FnZVVSTEZpbHRlcnMg
PSBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubWVzc2FnZVVSTEZpbHRlcnMuZ2V0KCk7CiAgICAgdGhp
cy5fdmlzaWJsZU1lc3NhZ2VzID0gW107CisgICAgdGhpcy5fbWVzc2FnZXMgPSBbXTsKICAgICB0
aGlzLl91cmxUb01lc3NhZ2VDb3VudCA9IHt9OwogCiAgICAgdGhpcy5fY2xlYXJDb25zb2xlQnV0
dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJDbGVhciBjb25zb2xlIGxvZy4iKSwgImNsZWFyLXN0YXR1cy1iYXItaXRlbSIpOwpAQCAt
NTIsNiArNTMsOCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5jdGlvbihoaWRlQ29u
dGV4dFNlbGVjdG9yKQogICAgICAgICB0aGlzLl9jb250ZXh0U2VsZWN0b3IuZWxlbWVudC5hZGRT
dHlsZUNsYXNzKCJoaWRkZW4iKTsKICAgICB9CiAKKyAgICB0aGlzLl9tZXNzYWdlTGV2ZWxGaWx0
ZXJzID0ge307CisKICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmlkID0gImNvbnNvbGUtbWVz
c2FnZXMiOwogICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmNsYXNzTmFtZSA9ICJtb25vc3BhY2Ui
OwpAQCAtOTcsOSArMTAwLDkgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3ID0gZnVuY3Rpb24o
aGlkZUNvbnRleHRTZWxlY3RvcikKIAogICAgIHRoaXMuYWxsRWxlbWVudCA9IGNyZWF0ZUZpbHRl
ckVsZW1lbnQuY2FsbCh0aGlzLCAiYWxsIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBbGwiKSk7
CiAgICAgY3JlYXRlRGl2aWRlckVsZW1lbnQuY2FsbCh0aGlzKTsKLSAgICB0aGlzLmVycm9yRWxl
bWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQuY2FsbCh0aGlzLCAiZXJyb3JzIiwgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJFcnJvcnMiKSk7Ci0gICAgdGhpcy53YXJuaW5nRWxlbWVudCA9IGNyZWF0
ZUZpbHRlckVsZW1lbnQuY2FsbCh0aGlzLCAid2FybmluZ3MiLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIldhcm5pbmdzIikpOwotICAgIHRoaXMubG9nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1l
bnQuY2FsbCh0aGlzLCAibG9ncyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9ncyIpKTsKKyAg
ICB0aGlzLmVycm9yRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQuY2FsbCh0aGlzLCAiZXJy
b3IiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVycm9ycyIpKTsKKyAgICB0aGlzLndhcm5pbmdF
bGVtZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJ3YXJuaW5nIiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJXYXJuaW5ncyIpKTsKKyAgICB0aGlzLmxvZ0VsZW1lbnQgPSBjcmVh
dGVGaWx0ZXJFbGVtZW50LmNhbGwodGhpcywgImxvZyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
TG9ncyIpKTsKICAgICB0aGlzLmRlYnVnRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQuY2Fs
bCh0aGlzLCAiZGVidWciLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRlYnVnIikpOwogCiAgICAg
dGhpcy5maWx0ZXIodGhpcy5hbGxFbGVtZW50LCBmYWxzZSk7CkBAIC0xMjgsOCArMTMxLDggQEAg
V2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3ID0gZnVuY3Rpb24oaGlkZUNvbnRleHRTZWxlY3RvcikK
IH0KIAogV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LkV2ZW50cyA9IHsKLSAgQ29uc29sZUNsZWFy
ZWQ6ICJjb25zb2xlLWNsZWFyZWQiLAotICBFbnRyeUFkZGVkOiAiY29uc29sZS1lbnRyeS1hZGRl
ZCIsCisgICAgQ29uc29sZUNsZWFyZWQ6ICJjb25zb2xlLWNsZWFyZWQiLAorICAgIEVudHJ5QWRk
ZWQ6ICJjb25zb2xlLWVudHJ5LWFkZGVkIiwKIH0KIAogV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3
LnByb3RvdHlwZSA9IHsKQEAgLTI1OSw1NCArMjYyLDU2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xl
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBmdW5jdGlvbiB1bnNlbGVjdEFsbCgp
CiAgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMgPSB7fTsK
KwogICAgICAgICAgICAgdGhpcy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVk
Iik7CiAgICAgICAgICAgICB0aGlzLmVycm9yRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxl
Y3RlZCIpOwogICAgICAgICAgICAgdGhpcy53YXJuaW5nRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgdGhpcy5sb2dFbGVtZW50LnJlbW92ZVN0eWxlQ2xh
c3MoInNlbGVjdGVkIik7CiAgICAgICAgICAgICB0aGlzLmRlYnVnRWxlbWVudC5yZW1vdmVTdHls
ZUNsYXNzKCJzZWxlY3RlZCIpOwotCi0gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5j
bGFzc0xpc3QucmVtb3ZlKCJmaWx0ZXItYWxsIiwgImZpbHRlci1lcnJvcnMiLCAiZmlsdGVyLXdh
cm5pbmdzIiwgImZpbHRlci1sb2dzIiwgImZpbHRlci1kZWJ1ZyIpOwogICAgICAgICB9CiAKLSAg
ICAgICAgdmFyIHRhcmdldEZpbHRlckNsYXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNhdGVnb3J5
OwotCiAgICAgICAgIGlmICh0YXJnZXQuY2F0ZWdvcnkgPT09ICJhbGwiKSB7Ci0gICAgICAgICAg
ICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKLSAgICAgICAgICAgICAg
ICAvLyBXZSBjYW4ndCB1bnNlbGVjdCBhbGwsIHNvIHdlIGJyZWFrIGVhcmx5IGhlcmUKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIHVuc2VsZWN0
QWxsLmNhbGwodGhpcyk7CisgICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0
ZWQiKTsKKyAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnMgPSB7ZXJyb3I6IHRy
dWUsIHdhcm5pbmc6IHRydWUsIGxvZzogdHJ1ZSwgZGVidWc6IHRydWV9OwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgLy8gU29tZXRoaW5nIG90aGVyIHRoYW4gYWxsIGlzIGJlaW5nIHNl
bGVjdGVkLCBzbyB3ZSB3YW50IHRvIHVuc2VsZWN0IGFsbAogICAgICAgICAgICAgaWYgKHRoaXMu
YWxsRWxlbWVudC5oYXNTdHlsZUNsYXNzKCJzZWxlY3RlZCIpKSB7CisgICAgICAgICAgICAgICAg
dGhpcy5fbWVzc2FnZUxldmVsRmlsdGVycyA9IHt9OwogICAgICAgICAgICAgICAgIHRoaXMuYWxs
RWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotICAgICAgICAgICAgICAgIHRo
aXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImZpbHRlci1hbGwiKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgfQogCi0gICAgICAgIGlmICghc2VsZWN0TXVsdGlwbGUpIHsKLSAg
ICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBvZmYsIHdlIHdhbnQgdG8gdW5z
ZWxlY3QgZXZlcnl0aGluZyBlbHNlCi0gICAgICAgICAgICAvLyBhbmQganVzdCBzZWxlY3Qgb3Vy
c2VsdmVzLgotICAgICAgICAgICAgdW5zZWxlY3RBbGwuY2FsbCh0aGlzKTsKKyAgICAgICAgICAg
IGlmICghc2VsZWN0TXVsdGlwbGUpIHsKKyAgICAgICAgICAgICAgICAvLyBJZiBtdWx0aXBsZSBz
ZWxlY3Rpb24gaXMgb2ZmLCB3ZSB3YW50IHRvIHVuc2VsZWN0IGV2ZXJ5dGhpbmcgZWxzZQorICAg
ICAgICAgICAgICAgIC8vIGFuZCBqdXN0IHNlbGVjdCBvdXJzZWx2ZXMuCisgICAgICAgICAgICAg
ICAgdW5zZWxlY3RBbGwuY2FsbCh0aGlzKTsKIAotICAgICAgICAgICAgdGFyZ2V0LmFkZFN0eWxl
Q2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5hZGRT
dHlsZUNsYXNzKHRhcmdldEZpbHRlckNsYXNzKTsKKyAgICAgICAgICAgICAgICB0YXJnZXQuYWRk
U3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKIAotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
CisgICAgICAgICAgICAgICAgdGhpcy5fbWVzc2FnZUxldmVsRmlsdGVycyA9IHt9OworICAgICAg
ICAgICAgICAgIHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnNbdGFyZ2V0LmNhdGVnb3J5XSA9IHRy
dWU7CisgICAgICAgICAgICB9IGVsc2UgewogCi0gICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVD
bGFzcygic2VsZWN0ZWQiKSkgewotICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMg
dHVybmVkIG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwgd2UganVzdAotICAgICAgICAgICAgLy8g
d2FudCB0byB1bnNlbGVjdCBvdXJzZWx2ZXMuCi0gICAgICAgICAgICB0YXJnZXQucmVtb3ZlU3R5
bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJl
bW92ZVN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZW4n
dCBzZWxlY3RlZCwgd2UganVzdAotICAgICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qgb3Vyc2Vs
dmVzLgotICAgICAgICAgICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAg
ICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5hZGRTdHlsZUNsYXNzKHRhcmdldEZpbHRlckNs
YXNzKTsKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVk
IikpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVk
IG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwgd2UganVzdAorICAgICAgICAgICAgICAgICAgICAv
LyB3YW50IHRvIHVuc2VsZWN0IG91cnNlbHZlcy4KKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0
LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHRoaXMuX21lc3NhZ2VMZXZlbEZpbHRlcnNbdGFyZ2V0LmNhdGVnb3J5XSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9tZXNzYWdlTGV2ZWxGaWx0ZXJzW3RhcmdldC5jYXRl
Z29yeV07CisKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAv
LyBJZiBzZWxlY3RNdWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNlbGVjdGVk
LCB3ZSBqdXN0CisgICAgICAgICAgICAgICAgICAgIC8vIHdhbnQgdG8gc2VsZWN0IG91cnNlbHZl
cy4KKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7
CisKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fbWVzc2FnZUxldmVsRmlsdGVyc1t0YXJnZXQu
Y2F0ZWdvcnldID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KKworICAgICAgICB0aGlzLl91cGRhdGVNZXNzYWdlTGlzdCgpOwogICAgIH0sCiAKICAg
ICB3aWxsSGlkZTogZnVuY3Rpb24oKQpAQCAtMzYwLDYgKzM2NSw3IEBAIFdlYkluc3BlY3Rvci5D
b25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fc2Nyb2xs
SW50b1ZpZXdUaW1lcjsKICAgICAgICAgICAgIHRoaXMucHJvbXB0RWxlbWVudC5zY3JvbGxJbnRv
Vmlldyh0cnVlKTsKICAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX3Njcm9sbEludG9WaWV3VGlt
ZXIgPSBzZXRUaW1lb3V0KHNjcm9sbEludG9WaWV3LmJpbmQodGhpcyksIDIwKTsKICAgICB9LAog
CkBAIC0zODQsNiArMzkwLDggQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9
IHsKICAgICBfY29uc29sZU1lc3NhZ2VBZGRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAg
ICAgICB2YXIgbWVzc2FnZSA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
fSAqLyAoZXZlbnQuZGF0YSk7CisgICAgICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobWVzc2FnZSk7
CisKICAgICAgICAgaWYgKHRoaXMuX3VybFRvTWVzc2FnZUNvdW50W21lc3NhZ2UudXJsXSkKICAg
ICAgICAgICAgIHRoaXMuX3VybFRvTWVzc2FnZUNvdW50W21lc3NhZ2UudXJsXSsrOwogICAgICAg
ICBlbHNlCkBAIC00MDMsNyArNDExLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdGhpcy5fdmlzaWJsZU1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7CiAK
ICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
Lk1lc3NhZ2VUeXBlLkVuZEdyb3VwKSB7Ci0gICAgICAgICAgICB2YXIgcGFyZW50R3JvdXAgPSB0
aGlzLmN1cnJlbnRHcm91cC5wYXJlbnRHcm91cAorICAgICAgICAgICAgdmFyIHBhcmVudEdyb3Vw
ID0gdGhpcy5jdXJyZW50R3JvdXAucGFyZW50R3JvdXA7CiAgICAgICAgICAgICBpZiAocGFyZW50
R3JvdXApCiAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSBwYXJlbnRHcm91cDsK
ICAgICAgICAgfSBlbHNlIHsKQEAgLTQxMSw2ICs0MTksNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29s
ZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHZhciBncm91cCA9IG5ldyBXZWJJ
bnNwZWN0b3IuQ29uc29sZUdyb3VwKHRoaXMuY3VycmVudEdyb3VwKTsKICAgICAgICAgICAgICAg
ICB0aGlzLmN1cnJlbnRHcm91cC5tZXNzYWdlc0VsZW1lbnQuYXBwZW5kQ2hpbGQoZ3JvdXAuZWxl
bWVudCk7CiAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSBncm91cDsKKyAgICAg
ICAgICAgICAgICBtZXNzYWdlLmdyb3VwID0gZ3JvdXA7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB0aGlzLmN1cnJlbnRHcm91cC5hZGRNZXNzYWdlKG1lc3NhZ2UpOwogICAgICAgICB9CkBA
IC00MjQsNiArNDMzLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl92aXNpYmxlTWVzc2FnZXMubGVuZ3Ro
OyArK2kpCiAgICAgICAgICAgICB0aGlzLl92aXNpYmxlTWVzc2FnZXNbaV0ud2lsbEhpZGUoKTsK
ICAgICAgICAgdGhpcy5fdmlzaWJsZU1lc3NhZ2VzID0gW107CisgICAgICAgIHRoaXMuX21lc3Nh
Z2VzID0gW107CiAKICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSB0aGlzLnRvcEdyb3VwOwog
ICAgICAgICB0aGlzLnRvcEdyb3VwLm1lc3NhZ2VzRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwpA
QCAtNDUwLDEyICs0NjAsMTQgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9
IHsKICAgICAgICAgewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm1vbml0b3Jp
bmdYSFJFbmFibGVkLnNldCghV2ViSW5zcGVjdG9yLnNldHRpbmdzLm1vbml0b3JpbmdYSFJFbmFi
bGVkLmdldCgpKTsKICAgICAgICAgfQorCiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZENoZWNr
Ym94SXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxvZyBYTUxIdHRwUmVxdWVzdHMiKSwgbW9u
aXRvcmluZ1hIUkl0ZW1BY3Rpb24uYmluZCh0aGlzKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm1v
bml0b3JpbmdYSFJFbmFibGVkLmdldCgpKTsKIAogICAgICAgICBmdW5jdGlvbiBwcmVzZXJ2ZUxv
Z0l0ZW1BY3Rpb24oKQogICAgICAgICB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGlu
Z3MucHJlc2VydmVDb25zb2xlTG9nLnNldCghV2ViSW5zcGVjdG9yLnNldHRpbmdzLnByZXNlcnZl
Q29uc29sZUxvZy5nZXQoKSk7CiAgICAgICAgIH0KKwogICAgICAgICBjb250ZXh0TWVudS5hcHBl
bmRDaGVja2JveEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rvci51c2VMb3dl
ckNhc2VNZW51VGl0bGVzKCkgPyAiUHJlc2VydmUgbG9nIHVwb24gbmF2aWdhdGlvbiIgOiAiUHJl
c2VydmUgTG9nIHVwb24gTmF2aWdhdGlvbiIpLCBwcmVzZXJ2ZUxvZ0l0ZW1BY3Rpb24uYmluZCh0
aGlzKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnByZXNlcnZlQ29uc29sZUxvZy5nZXQoKSk7CiAK
ICAgICAgICAgdmFyIHNvdXJjZUVsZW1lbnQgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9y
U2VsZldpdGhDbGFzcygiY29uc29sZS1tZXNzYWdlIik7CkBAIC01MjcsNyArNTM5LDggQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBfc2hvdWxk
QmVWaXNpYmxlOiBmdW5jdGlvbihtZXNzYWdlKQogICAgIHsKLSAgICAgICAgcmV0dXJuICFtZXNz
YWdlLnVybCB8fCAhdGhpcy5fbWVzc2FnZVVSTEZpbHRlcnNbbWVzc2FnZS51cmxdOworICAgICAg
ICByZXR1cm4gKG1lc3NhZ2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1l
c3NhZ2VUeXBlLlN0YXJ0R3JvdXAgfHwgbWVzc2FnZS50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29u
c29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuU3RhcnRHcm91cENvbGxhcHNlZCB8fCBtZXNzYWdlLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5FbmRHcm91cCkg
fHwKKyAgICAgICAgICAgICgoIW1lc3NhZ2UudXJsIHx8ICF0aGlzLl9tZXNzYWdlVVJMRmlsdGVy
c1ttZXNzYWdlLnVybF0pICYmICghbWVzc2FnZS5sZXZlbCB8fCB0aGlzLl9tZXNzYWdlTGV2ZWxG
aWx0ZXJzW21lc3NhZ2UubGV2ZWxdKSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNTM1LDI1ICs1
NDgsMzUgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgKi8K
ICAgICBfdXBkYXRlTWVzc2FnZUxpc3Q6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBz
b3VyY2VNZXNzYWdlcyA9IFdlYkluc3BlY3Rvci5jb25zb2xlLm1lc3NhZ2VzOworICAgICAgICB2
YXIgZ3JvdXAgPSB0aGlzLnRvcEdyb3VwOworICAgICAgICB2YXIgc291cmNlTWVzc2FnZXMgPSB0
aGlzLl9tZXNzYWdlczsKICAgICAgICAgdmFyIHZpc2libGVNZXNzYWdlSW5kZXggPSAwOwogICAg
ICAgICB2YXIgbmV3VmlzaWJsZU1lc3NhZ2VzID0gW107CisgICAgICAgIHZhciBhbmNob3IgPSBu
dWxsOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJjZU1lc3NhZ2VzLmxlbmd0aDsg
aSsrKSB7CiAgICAgICAgICAgICB2YXIgc291cmNlTWVzc2FnZSA9IHNvdXJjZU1lc3NhZ2VzW2ld
OwogICAgICAgICAgICAgdmFyIHZpc2libGVNZXNzYWdlID0gdGhpcy5fdmlzaWJsZU1lc3NhZ2Vz
W3Zpc2libGVNZXNzYWdlSW5kZXhdOwogCiAgICAgICAgICAgICBpZiAodmlzaWJsZU1lc3NhZ2Ug
PT09IHNvdXJjZU1lc3NhZ2UpIHsKICAgICAgICAgICAgICAgICB2aXNpYmxlTWVzc2FnZUluZGV4
Kys7Ci0gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3Nob3VsZEJlVmlzaWJsZSh2aXNpYmxlTWVz
c2FnZSkpCisgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3Nob3VsZEJlVmlzaWJsZSh2aXNpYmxl
TWVzc2FnZSkpIHsKICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZU1lc3NhZ2VzLnB1c2go
dmlzaWJsZU1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoc291cmNlTWVzc2FnZS50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3Nh
Z2UuTWVzc2FnZVR5cGUuRW5kR3JvdXApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hv
ciA9IGdyb3VwLmVsZW1lbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9IGdyb3Vw
LnBhcmVudEdyb3VwIHx8IGdyb3VwOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNv
dXJjZU1lc3NhZ2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VU
eXBlLlN0YXJ0R3JvdXAgfHwgc291cmNlTWVzc2FnZS50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29u
c29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuU3RhcnRHcm91cENvbGxhcHNlZCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgZ3JvdXAgPSBzb3VyY2VNZXNzYWdlLmdyb3VwOworICAgICAgICAgICAg
ICAgICAgICAgICAgYW5jaG9yID0gZ3JvdXAubWVzc2FnZXNFbGVtZW50LmZpcnN0Q2hpbGQ7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICAgICB2aXNpYmxlTWVzc2FnZS53aWxsSGlkZSgpOwotICAgICAgICAgICAgICAgICAg
ICB2aXNpYmxlTWVzc2FnZS50b01lc3NhZ2VFbGVtZW50KCkucmVtb3ZlU2VsZigpOyAgICAgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHZpc2libGVNZXNzYWdlLnRvTWVzc2Fn
ZUVsZW1lbnQoKS5yZW1vdmVTZWxmKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2hvdWxkQmVWaXNpYmxlKHNvdXJj
ZU1lc3NhZ2UpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEdyb3VwLmFkZE1l
c3NhZ2Uoc291cmNlTWVzc2FnZSwgdmlzaWJsZU1lc3NhZ2UgPyB2aXNpYmxlTWVzc2FnZS50b01l
c3NhZ2VFbGVtZW50KCkgOiBudWxsKTsKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXAuYWRkTWVz
c2FnZShzb3VyY2VNZXNzYWdlLCBhbmNob3IgPyBhbmNob3IubmV4dFNpYmxpbmcgOiBncm91cC5t
ZXNzYWdlc0VsZW1lbnQuZmlyc3RDaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2li
bGVNZXNzYWdlcy5wdXNoKHNvdXJjZU1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICBhbmNo
b3IgPSBzb3VyY2VNZXNzYWdlLnRvTWVzc2FnZUVsZW1lbnQoKTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTYyNiw3ICs2NDksNiBAQCBXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAoaGFuZGxlcikgewogICAg
ICAgICAgICAgaGFuZGxlcigpOwogICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsK
LSAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0sCiAKQEAgLTY1NCw4ICs2NzYs
OSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAg
ICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fYXBw
ZW5kQ29uc29sZU1lc3NhZ2UobmV3IFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdChy
ZXN1bHQsIHdhc1Rocm93biwgb3JpZ2luYXRpbmdDb21tYW5kLCB0aGlzLl9saW5raWZpZXIpKTsK
KyAgICAgICAgdmFyIG1lc3NhZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kUmVz
dWx0KHJlc3VsdCwgd2FzVGhyb3duLCBvcmlnaW5hdGluZ0NvbW1hbmQsIHRoaXMuX2xpbmtpZmll
cik7CisgICAgICAgIHRoaXMuX21lc3NhZ2VzLnB1c2gobWVzc2FnZSk7CisgICAgICAgIHRoaXMu
X2FwcGVuZENvbnNvbGVNZXNzYWdlKG1lc3NhZ2UpOwogICAgIH0sCiAKICAgICBfYXBwZW5kQ29t
bWFuZDogZnVuY3Rpb24odGV4dCwgbmV3UHJvbXB0VGV4dCwgdXNlQ29tbWFuZExpbmVBUEksIHNo
b3dSZXN1bHRPbmx5KQpAQCAtNjYzLDYgKzY4Niw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghc2hvd1Jlc3VsdE9ubHkpIHsKICAgICAgICAg
ICAgIHZhciBjb21tYW5kTWVzc2FnZSA9IG5ldyBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQo
dGV4dCk7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY29uc29sZS5pbnRlcnJ1cHRSZXBlYXRD
b3VudCgpOworICAgICAgICAgICAgdGhpcy5fbWVzc2FnZXMucHVzaChjb21tYW5kTWVzc2FnZSk7
CiAgICAgICAgICAgICB0aGlzLl9hcHBlbmRDb25zb2xlTWVzc2FnZShjb21tYW5kTWVzc2FnZSk7
CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5wcm9tcHQudGV4dCA9IG5ld1Byb21wdFRleHQ7CkBA
IC02NzYsOSArNzAwLDEwIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICAgICAgdGhpcy5wcm9tcHQucHVzaEhpc3RvcnlJdGVtKHRleHQpOwogICAg
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jb25zb2xlSGlzdG9yeS5zZXQodGhp
cy5wcm9tcHQuaGlzdG9yeURhdGEuc2xpY2UoLTMwKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAKKwogICAgICAgICAgICAgdGhpcy5fcHJpbnRSZXN1bHQocmVzdWx0LCB3YXNUaHJvd24s
IGNvbW1hbmRNZXNzYWdlKTsKICAgICAgICAgfQorCiAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50
aW1lTW9kZWwuZXZhbHVhdGUodGV4dCwgImNvbnNvbGUiLCB1c2VDb21tYW5kTGluZUFQSSwgZmFs
c2UsIGZhbHNlLCB0cnVlLCBwcmludFJlc3VsdC5iaW5kKHRoaXMpKTsKIAogICAgICAgICBXZWJJ
bnNwZWN0b3IudXNlck1ldHJpY3MuQ29uc29sZUV2YWx1YXRlZC5yZWNvcmQoKTsKQEAgLTcyMiw3
ICs3NDcsNiBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQucHJvdG90eXBlID0gewogICAg
ICAgICByZWdleE9iamVjdC5sYXN0SW5kZXggPSAwOwogICAgICAgICB2YXIgdGV4dCA9IHRoaXMu
Y29tbWFuZDsKICAgICAgICAgdmFyIG1hdGNoID0gcmVnZXhPYmplY3QuZXhlYyh0ZXh0KTsKLSAg
ICAgICAgdmFyIG9mZnNldCA9IDA7CiAgICAgICAgIHZhciBtYXRjaFJhbmdlcyA9IFtdOwogICAg
ICAgICB3aGlsZSAobWF0Y2gpIHsKICAgICAgICAgICAgIG1hdGNoUmFuZ2VzLnB1c2goeyBvZmZz
ZXQ6IG1hdGNoLmluZGV4LCBsZW5ndGg6IG1hdGNoWzBdLmxlbmd0aCB9KTsKQEAgLTc2MSw2ICs3
ODUsOSBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1hbmQucHJvdG90eXBlID0gewogLyoqCiAg
KiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbH0KICAqIEBjb25zdHJ1
Y3RvcgorICogQHBhcmFtIHtvYmplY3R9IHJlc3VsdAorICogQHBhcmFtIHtib29sZWFufSB3YXNU
aHJvd24KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kfSBvcmlnaW5hdGlu
Z0NvbW1hbmQKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkxpbmtpZmllcn0gbGlua2lmaWVyCiAg
Ki8KIFdlYkluc3BlY3Rvci5Db25zb2xlQ29tbWFuZFJlc3VsdCA9IGZ1bmN0aW9uKHJlc3VsdCwg
d2FzVGhyb3duLCBvcmlnaW5hdGluZ0NvbW1hbmQsIGxpbmtpZmllcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAxODNiZmYzNGRh
YjdhN2MzMWYxNzkxM2ZiOWY2NDA3N2FjMDc0YTY3Li4zNDVlMmJiNTAwOWYyZWJiZDhmMDA0MTBm
OTQ3YWZjNjY5NDk1ZGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC0xOTM3LDIxICsxOTM3LDExIEBAIGJ1dHRvbi5lbmFibGUt
dG9nZ2xlLXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9uIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1i
b3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpIGluc2V0LCAwIC0xcHggMXB4
IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkgaW5zZXQsIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwg
MjU1LCAwLjUpOwogfQogCi0uY29uc29sZS13YXJuaW5nLWxldmVsLCAuY29uc29sZS1lcnJvci1s
ZXZlbCwgLmNvbnNvbGUtbG9nLWxldmVsLCAuY29uc29sZS1kZWJ1Zy1sZXZlbCB7Ci0gICAgZGlz
cGxheTogbm9uZTsKLX0KLQotLmZpbHRlci1hbGwgLmNvbnNvbGUtd2FybmluZy1sZXZlbCwgLmZp
bHRlci13YXJuaW5ncyAuY29uc29sZS13YXJuaW5nLWxldmVsLAotLmZpbHRlci1hbGwgLmNvbnNv
bGUtZXJyb3ItbGV2ZWwsIC5maWx0ZXItZXJyb3JzIC5jb25zb2xlLWVycm9yLWxldmVsLAotLmZp
bHRlci1hbGwgLmNvbnNvbGUtbG9nLWxldmVsLCAuZmlsdGVyLWxvZ3MgLmNvbnNvbGUtbG9nLWxl
dmVsLAotLmZpbHRlci1hbGwgLmNvbnNvbGUtZGVidWctbGV2ZWwsIC5maWx0ZXItZGVidWcgLmNv
bnNvbGUtZGVidWctbGV2ZWwgewotICAgIGRpc3BsYXk6IGJsb2NrOwotfQogCi0uZmlsdGVyLWFs
bCAuY29uc29sZS13YXJuaW5nLWxldmVsLnJlcGVhdGVkLW1lc3NhZ2UsIC5maWx0ZXItd2Fybmlu
Z3MgLmNvbnNvbGUtd2FybmluZy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdlLAotLmZpbHRlci1hbGwg
LmNvbnNvbGUtZXJyb3ItbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwgLmZpbHRlci1lcnJvcnMgLmNv
bnNvbGUtZXJyb3ItbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKLS5maWx0ZXItYWxsIC5jb25zb2xl
LWxvZy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdlLCAuZmlsdGVyLWxvZ3MgLmNvbnNvbGUtbG9nLWxl
dmVsLnJlcGVhdGVkLW1lc3NhZ2UsCi0uZmlsdGVyLWFsbCAuY29uc29sZS1kZWJ1Zy1sZXZlbC5y
ZXBlYXRlZC1tZXNzYWdlLCAuZmlsdGVyLWRlYnVnIC5jb25zb2xlLWRlYnVnLWxldmVsLnJlcGVh
dGVkLW1lc3NhZ2UgeworLmNvbnNvbGUtd2FybmluZy1sZXZlbC5yZXBlYXRlZC1tZXNzYWdlLAor
LmNvbnNvbGUtZXJyb3ItbGV2ZWwucmVwZWF0ZWQtbWVzc2FnZSwKKy5jb25zb2xlLWxvZy1sZXZl
bC5yZXBlYXRlZC1tZXNzYWdlLAorLmNvbnNvbGUtZGVidWctbGV2ZWwucmVwZWF0ZWQtbWVzc2Fn
ZXsKICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYjNhOGMxYmE3Mjk0
OTU3MWQzNmE0MTk4NzkyMTI1OTlkNzViZWZkLi5iNTBlNmIxZGU0M2Q2NjdiOGY0ZWJiM2I2NzQ0
ZGE1Y2Q2ZmQzMTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDMtMjAgIERtaXRyeSBa
dm9yeWdpbiAgPHp2b3J5Z2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBSZW1vdmUgcmVtYWluaW5ncyBvZiBDU1MtYmFzZWQgY29uc29sZSBtZXNzYWdlIGZpbHRlcmlu
Zy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjcx
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL2NvbnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbDoKKwogMjAxMy0wMy0yNSAg
QWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3VwcG9ydCBR
dW90YSBBUEkgaW4gV29ya2VycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvY29uc29sZS1wcmVzZXJ2ZS1sb2cuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b25zb2xlL2NvbnNvbGUtcHJlc2VydmUtbG9nLmh0bWwKaW5kZXggNTE0Nzk5OTNiOTk1NWZkYmJm
ZWE1YzFlMmZjMDA5Y2FlZmI2OTM4ZC4uNGVmOWEzM2M4MDgyZTg2Yzg4NmYxNzE4MzU0Mjk5YTZk
ZTI3MjgyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29s
ZS1wcmVzZXJ2ZS1sb2cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLXByZXNlcnZlLWxvZy5odG1sCkBAIC01LDcgKzUsNyBAQAogPHNjcmlwdD4KIGZ1bmN0
aW9uIHRlc3QoKQogewotICAgIFdlYkluc3BlY3Rvci5jb25zb2xlLmFkZE1lc3NhZ2UoV2ViSW5z
cGVjdG9yLkNvbnNvbGVNZXNzYWdlLmNyZWF0ZShXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2Uu
TWVzc2FnZVNvdXJjZS5PdGhlciwgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VM
ZXZlbCwgIlBBU1MiKSk7CisgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuYWRkTWVzc2FnZShXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5NZXNzYWdlU291cmNlLk90aGVyLCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2Fn
ZUxldmVsLkxvZywgIlBBU1MiKSk7CiAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnByZXNlcnZl
Q29uc29sZUxvZy5zZXQodHJ1ZSk7CiAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0
aW9uKCkgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXMoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>