<?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>74298</bug_id>
          
          <creation_ts>2011-12-12 08:36:58 -0800</creation_ts>
          <short_desc>Web Inspector: report per document JS event listener count</short_desc>
          <delta_ts>2011-12-27 09:49:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519217</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-12 08:36:58 -0800</bug_when>
    <thetext>Memory agent should report per document JS event listener count.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519245</commentid>
    <comment_count>1</comment_count>
      <attachid>118802</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-12 08:55:06 -0800</bug_when>
    <thetext>Created attachment 118802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519248</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-12 08:58:19 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=118802) [details]
&gt; Patch

This patch will not report listeners set on document.body element since they are forwarded to corresponding DOMWindow object. We may show DOMWindow as a separate entity under Document(if it is still reacgable from the Document) in the memory report or even try to collect separate statistics on DOMWindows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519325</commentid>
    <comment_count>3</comment_count>
      <attachid>118802</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-12 10:39:53 -0800</bug_when>
    <thetext>Comment on attachment 118802
Patch

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

&gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:114
&gt; +        EventListenerIterator iterator(node);

similarly to the nameToCount you could introduce eventTypeToCount here and use return by-type stats (as in InspectorDOMAgent:742)

&gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:117
&gt; +                result++;

++result;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527354</commentid>
    <comment_count>4</comment_count>
      <attachid>120586</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-27 07:00:47 -0800</bug_when>
    <thetext>Created attachment 120586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527355</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-27 07:01:12 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 118802 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118802&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:114
&gt; &gt; +        EventListenerIterator iterator(node);
&gt; 
&gt; similarly to the nameToCount you could introduce eventTypeToCount here and use return by-type stats (as in InspectorDOMAgent:742)
Done.

&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:117
&gt; &gt; +                result++;
&gt; 
&gt; ++result;
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527360</commentid>
    <comment_count>6</comment_count>
      <attachid>120588</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-27 07:26:34 -0800</bug_when>
    <thetext>Created attachment 120588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527361</commentid>
    <comment_count>7</comment_count>
      <attachid>120589</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-27 07:28:08 -0800</bug_when>
    <thetext>Created attachment 120589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527373</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-27 08:22:17 -0800</bug_when>
    <thetext>Committed r103709: &lt;http://trac.webkit.org/changeset/103709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527390</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-27 09:49:44 -0800</bug_when>
    <thetext>The test added by this patch is failing on all bots: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector%2Fdom-statistics.html&amp;group=%40ToT%20-%20webkit.org</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118802</attachid>
            <date>2011-12-12 08:55:06 -0800</date>
            <delta_ts>2011-12-27 07:00:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74298-20111212205504.patch</filename>
            <type>text/plain</type>
            <size>3448</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdhZjEyOWZhMmZlMWI3
YWEwYzM5ZGM5NTk0Y2Y2MjA5Y2U2YTFiZS4uOTFmZDM3ZjMxMWM3ZDFjMTI1MWM3YjhhYTczNDFj
MjQxOTU1YzRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTEyICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZlbnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIEpTIGV2ZW50IGxpc3RlbmVyIGNvdW50IHRvIHRoZSBtZW1vcnkgYWdl
bnQKKyAgICAgICAgcmVwb3J0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHA6CisKIDIwMTEtMTEtMjUgIEFsZXhhbmRlciBQ
YXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWJLaXQgZG9lcyBub3Qg
ZW51bWVyYXRlIG92ZXIgQ1NTIHByb3BlcnRpZXMgaW4gSFRNTEVsZW1lbnQuc3R5bGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCAxMmJhM2M2M2FhNDFlODI5MTY4
MjQ5YjhjZWVhZDc1MmI0MjMxOGYzLi5kMTljNjgxN2FiMWVkZGE3YWI4ZWVhMzMyYWU0MGZlZjkz
YzliYWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC02NSw3
ICs2NSw4IEBACiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2l6ZSIsICJ0eXBlIjog
ImludGVnZXIiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGl0bGUiLCAidHlw
ZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZG9jdW1lbnRV
UkkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlIH0sCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibm9kZUNvdW50IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7
ICIkcmVmIjogIk5vZGVDb3VudCIgfX0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJu
b2RlQ291bnQiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiTm9kZUNvdW50
IiB9fSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsaXN0ZW5lckNvdW50IiwgInR5
cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAg
ICAgXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuY3BwCmluZGV4IDVlNjQxODgwYzM5OGY5YzQ3MGFlN2I2YWNhZGIxNzEwZWViM2Y1YmQuLjhk
MDZiYzlhNGY2NDFmZjkyZTdjMjJhZGEyMGQ0YjY4YzBjZGE1ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtMzUsNiArMzUs
NyBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlclZpc2l0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXJNYXAuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CkBAIC04MSwxMyArODIsMTYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb2xsZWN0VHJl
ZVN0YXRpc3RpY3MoTm9kZSogcm9vdE5vZGUsIEluc3BlY3Rvck9iamVjdCogcmVzdWx0KQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgY291bnQgPSAwOworICAgICAgICB1bnNpZ25lZCBsaXN0ZW5l
ckNvdW50ID0gMDsKICAgICAgICAgSGFzaE1hcDxTdHJpbmcsIGludD4gbmFtZVRvQ291bnQ7CiAg
ICAgICAgIE5vZGUqIGN1cnJlbnROb2RlID0gcm9vdE5vZGU7CisgICAgICAgIGNvbGxlY3RMaXN0
ZW5lcnNJbmZvKHJvb3ROb2RlLCBsaXN0ZW5lckNvdW50KTsKICAgICAgICAgd2hpbGUgKChjdXJy
ZW50Tm9kZSA9IGN1cnJlbnROb2RlLT50cmF2ZXJzZU5leHROb2RlKHJvb3ROb2RlKSkpIHsKICAg
ICAgICAgICAgICsrY291bnQ7CiAgICAgICAgICAgICBTdHJpbmcgbmFtZSA9IG5vZGVOYW1lKGN1
cnJlbnROb2RlKTsKICAgICAgICAgICAgIGludCBjdXJyZW50Q291bnQgPSBuYW1lVG9Db3VudC5n
ZXQobmFtZSk7CiAgICAgICAgICAgICBuYW1lVG9Db3VudC5zZXQobmFtZSwgY3VycmVudENvdW50
ICsgMSk7CisgICAgICAgICAgICBjb2xsZWN0TGlzdGVuZXJzSW5mbyhjdXJyZW50Tm9kZSwgbGlz
dGVuZXJDb3VudCk7CiAgICAgICAgIH0KIAogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
IGNoaWxkcmVuU3RhdHMgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CkBAIC0xMDAsNiArMTA0
LDE4IEBAIHByaXZhdGU6CiAKICAgICAgICAgcmVzdWx0LT5zZXROdW1iZXIoInNpemUiLCBjb3Vu
dCk7CiAgICAgICAgIHJlc3VsdC0+c2V0QXJyYXkoIm5vZGVDb3VudCIsIGNoaWxkcmVuU3RhdHMp
OworICAgICAgICByZXN1bHQtPnNldE51bWJlcigibGlzdGVuZXJDb3VudCIsIGxpc3RlbmVyQ291
bnQpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGNvbGxlY3RMaXN0ZW5lcnNJbmZvKE5vZGUq
IG5vZGUsIHVuc2lnbmVkJiByZXN1bHQpCisgICAgeworICAgICAgICBpZiAoIW5vZGUtPmhhc0V2
ZW50TGlzdGVuZXJzKCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIEV2ZW50TGlzdGVu
ZXJJdGVyYXRvciBpdGVyYXRvcihub2RlKTsKKyAgICAgICAgd2hpbGUgKEV2ZW50TGlzdGVuZXIq
IGxpc3RlbmVyID0gaXRlcmF0b3IubmV4dExpc3RlbmVyKCkpIHsKKyAgICAgICAgICAgIGlmIChs
aXN0ZW5lci0+dHlwZSgpID09IEV2ZW50TGlzdGVuZXI6OkpTRXZlbnRMaXN0ZW5lclR5cGUpCisg
ICAgICAgICAgICAgICAgcmVzdWx0Kys7CisgICAgICAgIH0KICAgICB9CiAKICAgICBzdGF0aWMg
U3RyaW5nIG5vZGVOYW1lKE5vZGUqIG5vZGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120586</attachid>
            <date>2011-12-27 07:00:47 -0800</date>
            <delta_ts>2011-12-27 07:26:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74298-20111227190045.patch</filename>
            <type>text/plain</type>
            <size>11708</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRlZTlmYzU2ZGFiODY0
NjllN2M4YjQ4MDZjZmIyY2E0NzY1ZTI0NS4uYmMwNzRjMTBkYjkyYmQ5ZTZhNmNiMzYxNmQxYmYw
ZjJjMzU1ZTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTEyLTI3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZlbnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIEpTIGV2ZW50IGxpc3RlbmVyIGNvdW50IHRvIHRoZSBtZW1vcnkgYWdl
bnQKKyAgICAgICAgcmVwb3J0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kb20tc3RhdGlzdGljcy5odG1sCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcDoKKwogMjAxMS0xMi0yNiAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDcmVhdGUgdGFiYmVk
IGVkaXRvciBmb3Igc2NyaXB0cyBwYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAxZGVmMjY3ZmU3MzlhYWIxMmEzNjk0MGQ0ODBkZTI1NzdiZjI4YmJmLi5k
ZmRhNzE2ZDY5NmFiZWQwMGYwNGRjODg3MmVkZGZiOTc0NjA5YzhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC01OSwxMyArNTksMjMgQEAKICAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIG5vZGVzIHdpdGggZ2l2ZW4gbmFtZS4iCiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6ICJMaXN0
ZW5lckNvdW50IiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5
cGUiLCAidHlwZSI6ICJzdHJpbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y291bnQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIEpTIGV2ZW50IGxpc3RlbmVycyBieSBl
dmVudCB0eXBlLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgImlkIjogIkRPTUdyb3VwIiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNpemUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInRpdGxlIiwgInR5cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImRvY3VtZW50VVJJIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjog
dHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVDb3VudCIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJOb2RlQ291bnQiIH19CisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUNvdW50IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogIk5vZGVDb3VudCIgfX0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibGlzdGVuZXJDb3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJM
aXN0ZW5lckNvdW50IiB9fQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAg
ICAgXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuY3BwCmluZGV4IDg1MmUwMzAxMjUwMjY4MGQ4NzZmNzdiYjdiMjk3OGMxM2NjMzQ3NGUuLjc1
OWFlMTFhOWYyZTk0NTFiNGViMDZhNDYyZmJhZDc3NDc5NDI1ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtMzUsNiArMzUs
NyBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlclZpc2l0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXJNYXAuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CkBAIC04MSwxMyArODIsMTYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb2xsZWN0VHJl
ZVN0YXRpc3RpY3MoTm9kZSogcm9vdE5vZGUsIEluc3BlY3Rvck9iamVjdCogcmVzdWx0KQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgY291bnQgPSAwOworICAgICAgICBIYXNoTWFwPEF0b21pY1N0
cmluZywgaW50PiBldmVudFR5cGVUb0NvdW50OwogICAgICAgICBIYXNoTWFwPFN0cmluZywgaW50
PiBuYW1lVG9Db3VudDsKICAgICAgICAgTm9kZSogY3VycmVudE5vZGUgPSByb290Tm9kZTsKKyAg
ICAgICAgY29sbGVjdExpc3RlbmVyc0luZm8ocm9vdE5vZGUsIGV2ZW50VHlwZVRvQ291bnQpOwog
ICAgICAgICB3aGlsZSAoKGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUtPnRyYXZlcnNlTmV4dE5v
ZGUocm9vdE5vZGUpKSkgewogICAgICAgICAgICAgKytjb3VudDsKICAgICAgICAgICAgIFN0cmlu
ZyBuYW1lID0gbm9kZU5hbWUoY3VycmVudE5vZGUpOwogICAgICAgICAgICAgaW50IGN1cnJlbnRD
b3VudCA9IG5hbWVUb0NvdW50LmdldChuYW1lKTsKICAgICAgICAgICAgIG5hbWVUb0NvdW50LnNl
dChuYW1lLCBjdXJyZW50Q291bnQgKyAxKTsKKyAgICAgICAgICAgIGNvbGxlY3RMaXN0ZW5lcnNJ
bmZvKGN1cnJlbnROb2RlLCBldmVudFR5cGVUb0NvdW50KTsKICAgICAgICAgfQogCiAgICAgICAg
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW5TdGF0cyA9IEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKTsKQEAgLTk4LDggKzEwMiwzOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgY2hpbGRy
ZW5TdGF0cy0+cHVzaE9iamVjdChub2RlQ291bnQpOwogICAgICAgICB9CiAKKyAgICAgICAgUmVm
UHRyPEluc3BlY3RvckFycmF5PiBsaXN0ZW5lclN0YXRzID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0
ZSgpOworICAgICAgICBmb3IgKEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+OjppdGVyYXRvciBp
dCA9IGV2ZW50VHlwZVRvQ291bnQuYmVnaW4oKTsgaXQgIT0gZXZlbnRUeXBlVG9Db3VudC5lbmQo
KTsgKytpdCkgeworICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZXZlbnRDb3Vu
dCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAgICAgICAgICBldmVudENvdW50LT5z
ZXRTdHJpbmcoInR5cGUiLCBpdC0+Zmlyc3QpOworICAgICAgICAgICAgZXZlbnRDb3VudC0+c2V0
TnVtYmVyKCJjb3VudCIsIGl0LT5zZWNvbmQpOworICAgICAgICAgICAgbGlzdGVuZXJTdGF0cy0+
cHVzaE9iamVjdChldmVudENvdW50KTsKKyAgICAgICAgfQorCiAgICAgICAgIHJlc3VsdC0+c2V0
TnVtYmVyKCJzaXplIiwgY291bnQpOwogICAgICAgICByZXN1bHQtPnNldEFycmF5KCJub2RlQ291
bnQiLCBjaGlsZHJlblN0YXRzKTsKKyAgICAgICAgcmVzdWx0LT5zZXRBcnJheSgibGlzdGVuZXJD
b3VudCIsIGxpc3RlbmVyU3RhdHMpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGNvbGxlY3RM
aXN0ZW5lcnNJbmZvKE5vZGUqIG5vZGUsIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+JiByZXN1
bHQpCisgICAgeworICAgICAgICBFdmVudFRhcmdldERhdGEqIGQgPSBub2RlLT5ldmVudFRhcmdl
dERhdGEoKTsKKyAgICAgICAgaWYgKCFkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBF
dmVudExpc3RlbmVyTWFwJiBldmVudExpc3RlbmVyTWFwID0gZC0+ZXZlbnRMaXN0ZW5lck1hcDsK
KyAgICAgICAgaWYgKGV2ZW50TGlzdGVuZXJNYXAuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiBldmVudE5hbWVzID0gZXZlbnRMaXN0
ZW5lck1hcC5ldmVudFR5cGVzKCk7CisgICAgICAgIGZvciAoVmVjdG9yPEF0b21pY1N0cmluZz46
Oml0ZXJhdG9yIGl0ID0gZXZlbnROYW1lcy5iZWdpbigpOyBpdCAhPSBldmVudE5hbWVzLmVuZCgp
OyArK2l0KSB7CisgICAgICAgICAgICBBdG9taWNTdHJpbmcgbmFtZSA9ICppdDsKKyAgICAgICAg
ICAgIEV2ZW50TGlzdGVuZXJWZWN0b3IqIGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJNYXAuZmlu
ZChuYW1lKTsKKyAgICAgICAgICAgIGludCBjb3VudCA9IDA7CisgICAgICAgICAgICBmb3IgKEV2
ZW50TGlzdGVuZXJWZWN0b3I6Oml0ZXJhdG9yIGogPSBsaXN0ZW5lcnMtPmJlZ2luKCk7IGogIT0g
bGlzdGVuZXJzLT5lbmQoKTsgKytqKSB7CisgICAgICAgICAgICAgICAgaWYgKGotPmxpc3RlbmVy
LT50eXBlKCkgPT0gRXZlbnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSkKKyAgICAgICAg
ICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjb3Vu
dCkKKyAgICAgICAgICAgICAgICByZXN1bHQuc2V0KG5hbWUsIHJlc3VsdC5nZXQobmFtZSkgKyBj
b3VudCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBzdGF0aWMgU3RyaW5nIG5vZGVOYW1lKE5v
ZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNGM2OGUzNmM5MmEzYzEwMTg4NWFiYjJjZmJjNTAxODQ2NGQyZGY4
MC4uMGMzNWUxMjFmZTZhYjE2OTI1MDU3NWM3YjhmZTU1MTkzYWI0NzExNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTEyLTI3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZl
bnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IGZvciBiYXNpYyBmdW5jdGlv
bmFsaXR5IG9mIE1lbW9yeUFnZW50LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgor
CiAyMDExLTEyLTI3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1F0XSBVbnJldmlld2VkIFhtYXMgZ2FyZGVuaW5nIGFmdGVyIHIxMDM2MTcsIGFkZCBh
ZGRpdGlvbmFsIGNvbnNvbGUgbWVzc2FnZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kb20tc3RhdGlzdGljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZG9tLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4NTgxNDExMmYzZGIwZjFh
NDgyNGNmMTZmNjczNjExNzE2NDczOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTE5IEBACisK
K1Rlc3RzIHRoYXQgcGVyIGRvY3VtZW50IE5vZGUgY291bnQgaXMgY29ycmVjdGx5IGNhbGN1bGF0
ZWQgYnkgdGhlIE1lbW9yeSBhZ2VudC4gQnVnIDc0MTAwLiBCdWcgNzQyOTguCisKK3Jlc3VsdCA9
IFsKKyAgICB7CisgICAgICAgICJ0aXRsZSI6ICJkaXYiLAorICAgICAgICAic2l6ZSI6IDEsCisg
ICAgICAgICJub2RlQ291bnQiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5v
ZGVOYW1lIjogImRpdiIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAg
fQorICAgICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6IFsKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAidHlwZSI6ICJtb3VzZW92ZXIiLAorICAgICAgICAgICAgICAgICJj
b3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
InR5cGUiOiAiY2xpY2siLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAg
IH0KKyAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgICAidGl0bGUiOiAiZGl2IiwKKyAg
ICAgICAgInNpemUiOiAxLAorICAgICAgICAibm9kZUNvdW50IjogWworICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJkaXYiLAorICAgICAgICAgICAgICAgICJjb3Vu
dCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAgICAgImxpc3RlbmVyQ291bnQi
OiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInR5cGUiOiAibW91c2VvdmVyIiwK
KyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJ0eXBlIjogImNsaWNrIiwKKyAgICAgICAgICAgICAgICAiY291
bnQiOiAxCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICAg
InRpdGxlIjogIiNkb2N1bWVudCIsCisgICAgICAgICJkb2N1bWVudFVSSSI6ICIuLi5hYm91dDpi
bGFuayIsCisgICAgICAgICJzaXplIjogMywKKyAgICAgICAgIm5vZGVDb3VudCI6IFsKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiYm9keSIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAibm9kZU5hbWUiOiAiaGVhZCIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQor
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUi
OiAiaHRtbCIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfQorICAg
ICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6IFtdCisgICAgfSwKKyAgICB7CisgICAg
ICAgICJ0aXRsZSI6ICIjZG9jdW1lbnQiLAorICAgICAgICAiZG9jdW1lbnRVUkkiOiAiLi4uZG9t
LXN0YXRpc3RpY3MuaHRtbCIsCisgICAgICAgICJzaXplIjogMjMsCisgICAgICAgICJub2RlQ291
bnQiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogIiN0ZXh0
IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxMworICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiYSIsCisgICAgICAgICAgICAgICAg
ImNvdW50IjogMgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibm9kZU5hbWUiOiAiYm9keSIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiZGl2
IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJoZWFkIiwKKyAgICAgICAgICAgICAg
ICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICJub2RlTmFtZSI6ICJodG1sIiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJp
ZnJhbWUiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogInAiLAorICAgICAgICAgICAg
ICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgIm5vZGVOYW1lIjogInNjcmlwdCIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMgor
ICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6IFsKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJjbGljayIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAidHlwZSI6ICJtb3VzZW92ZXIiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEK
KyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0KK10KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZG9tLXN0YXRpc3RpY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjVlOGU2ODkzMmZkMjA0NmMxZTUz
NzljZjY2YzY3Y2U3NWM4NWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS1zdGF0aXN0aWNzLmh0bWwKQEAgLTAsMCArMSw4NCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBj
YWxsYmFjayhlcnJvciwgcmVzdWx0KQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCByZXN1bHQubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciB1cmwgPSByZXN1bHRbaV0u
ZG9jdW1lbnRVUkk7CisgICAgICAgICAgICBpZiAoIXVybCkKKyAgICAgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgICAgIHZhciBpbmRleCA9IHVybC5sYXN0SW5kZXhPZigiLyIpOworICAg
ICAgICAgICAgaWYgKGluZGV4ICE9IC0xKQorICAgICAgICAgICAgICAgIHVybCA9IHVybC5zdWJz
dHJpbmcoaW5kZXggKyAxKTsKKyAgICAgICAgICAgIHJlc3VsdFtpXS5kb2N1bWVudFVSSSA9ICIu
Li4iICsgdXJsOworCisgICAgICAgICAgICByZXN1bHRbaV0ubm9kZUNvdW50LnNvcnQoZnVuY3Rp
b24oYSwgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLm5vZGVOYW1lLmxvY2FsZUNvbXBh
cmUoYi5ub2RlTmFtZSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJlc3VsdFtpXS5s
aXN0ZW5lckNvdW50LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgICAgICAgICAgIHJldHVy
biBhLnR5cGUubG9jYWxlQ29tcGFyZShiLnR5cGUpOworICAgICAgICAgICAgfSk7CisgICAgICAg
IH0KKworICAgICAgICBmdW5jdGlvbiBzdHJpbmdDb21wYXJlKGEsIGIpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmIChhICYmIGIpCisgICAgICAgICAgICAgICAgcmV0dXJuIGEubG9jYWxlQ29t
cGFyZShiKTsKKyAgICAgICAgICAgIGlmICghYSAmJiAhYikKKyAgICAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIGlmIChhKQorICAgICAgICAgICAgICAgIHJldHVybiAxOworICAg
ICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAgcmVzdWx0LnNvcnQoZnVu
Y3Rpb24oYSwgYikgeworICAgICAgICAgICAgdmFyIHIgPSBzdHJpbmdDb21wYXJlKGEuZG9jdW1l
bnRVUkksIGIuZG9jdW1lbnRVUkkpOworICAgICAgICAgICAgaWYgKHIpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHI7CisgICAgICAgICAgICByZXR1cm4gc3RyaW5nQ29tcGFyZShhLnRpdGxlLCBi
LnRpdGxlKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InJlc3VsdCA9ICIgKyBKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDQpKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisgICAgTWVtb3J5QWdlbnQuZ2V0
RE9NTm9kZUNvdW50KGNhbGxiYWNrKTsKK30KKwordmFyIGRldGFjaGVkRGl2cyA9IFtdOworZnVu
Y3Rpb24gY3JlYXRlRGV0YWNoZWROb2RlKCkKK3sKKyAgICB2YXIgZGV0YWNoZWREaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkZXRhY2hlZERpdi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGZ1bmN0aW9uKGUpIHt9KTsKKyAgICBkZXRhY2hlZERpdi5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbihlKSB7fSk7CisgICAgZGV0YWNoZWREaXYuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgIHJldHVybiBkZXRh
Y2hlZERpdjsKK30KKworZnVuY3Rpb24gcHJlcGFyZUFuZFJ1blRlc3QoKQoreworICAgIHZhciBw
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmFncmFwaCIpOworICAgIHAuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihlKSB7fSk7CisgICAgcC5hZGRFdmVudExpc3RlbmVy
KCJtb3VzZW92ZXIiLCBmdW5jdGlvbihlKSB7fSk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CisgICAgZGV0YWNoZWREaXZzLnB1
c2goY3JlYXRlRGV0YWNoZWROb2RlKCkpOworICAgIGRldGFjaGVkRGl2cy5wdXNoKGNyZWF0ZURl
dGFjaGVkTm9kZSgpKTsKKworICAgIHJ1blRlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5IG9ubG9hZD0icHJlcGFyZUFuZFJ1blRlc3QoKSI+Cis8aWZyYW1lIHNyYz0iYWJv
dXQ6YmxhbmsiPjwvaWZyYW1lPgorPHAgaWQ9InBhcmFncmFwaCIgb25jbGljaz0iYWxlcnQoMSki
PgorVGVzdHMgdGhhdCBwZXIgZG9jdW1lbnQgTm9kZSBjb3VudCBpcyBjb3JyZWN0bHkgY2FsY3Vs
YXRlZCBieSB0aGUgTWVtb3J5IGFnZW50LgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0MTAwIj5CdWcgNzQxMDAuPC9hPgorPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4Ij5CdWcgNzQyOTguPC9hPgor
PC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120588</attachid>
            <date>2011-12-27 07:26:34 -0800</date>
            <delta_ts>2011-12-27 07:27:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74298-20111227192631.patch</filename>
            <type>text/plain</type>
            <size>14812</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRlZTlmYzU2ZGFiODY0
NjllN2M4YjQ4MDZjZmIyY2E0NzY1ZTI0NS4uYmMwNzRjMTBkYjkyYmQ5ZTZhNmNiMzYxNmQxYmYw
ZjJjMzU1ZTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTEyLTI3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZlbnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIEpTIGV2ZW50IGxpc3RlbmVyIGNvdW50IHRvIHRoZSBtZW1vcnkgYWdl
bnQKKyAgICAgICAgcmVwb3J0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kb20tc3RhdGlzdGljcy5odG1sCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcDoKKwogMjAxMS0xMi0yNiAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDcmVhdGUgdGFiYmVk
IGVkaXRvciBmb3Igc2NyaXB0cyBwYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAxZGVmMjY3ZmU3MzlhYWIxMmEzNjk0MGQ0ODBkZTI1NzdiZjI4YmJmLi5k
ZmRhNzE2ZDY5NmFiZWQwMGYwNGRjODg3MmVkZGZiOTc0NjA5YzhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC01OSwxMyArNTksMjMgQEAKICAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIG5vZGVzIHdpdGggZ2l2ZW4gbmFtZS4iCiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6ICJMaXN0
ZW5lckNvdW50IiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5
cGUiLCAidHlwZSI6ICJzdHJpbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y291bnQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIEpTIGV2ZW50IGxpc3RlbmVycyBieSBl
dmVudCB0eXBlLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgImlkIjogIkRPTUdyb3VwIiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNpemUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInRpdGxlIiwgInR5cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImRvY3VtZW50VVJJIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjog
dHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVDb3VudCIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJOb2RlQ291bnQiIH19CisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUNvdW50IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogIk5vZGVDb3VudCIgfX0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibGlzdGVuZXJDb3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJM
aXN0ZW5lckNvdW50IiB9fQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAg
ICAgXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuY3BwCmluZGV4IDg1MmUwMzAxMjUwMjY4MGQ4NzZmNzdiYjdiMjk3OGMxM2NjMzQ3NGUuLjc1
OWFlMTFhOWYyZTk0NTFiNGViMDZhNDYyZmJhZDc3NDc5NDI1ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtMzUsNiArMzUs
NyBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlclZpc2l0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXJNYXAuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CkBAIC04MSwxMyArODIsMTYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb2xsZWN0VHJl
ZVN0YXRpc3RpY3MoTm9kZSogcm9vdE5vZGUsIEluc3BlY3Rvck9iamVjdCogcmVzdWx0KQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgY291bnQgPSAwOworICAgICAgICBIYXNoTWFwPEF0b21pY1N0
cmluZywgaW50PiBldmVudFR5cGVUb0NvdW50OwogICAgICAgICBIYXNoTWFwPFN0cmluZywgaW50
PiBuYW1lVG9Db3VudDsKICAgICAgICAgTm9kZSogY3VycmVudE5vZGUgPSByb290Tm9kZTsKKyAg
ICAgICAgY29sbGVjdExpc3RlbmVyc0luZm8ocm9vdE5vZGUsIGV2ZW50VHlwZVRvQ291bnQpOwog
ICAgICAgICB3aGlsZSAoKGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUtPnRyYXZlcnNlTmV4dE5v
ZGUocm9vdE5vZGUpKSkgewogICAgICAgICAgICAgKytjb3VudDsKICAgICAgICAgICAgIFN0cmlu
ZyBuYW1lID0gbm9kZU5hbWUoY3VycmVudE5vZGUpOwogICAgICAgICAgICAgaW50IGN1cnJlbnRD
b3VudCA9IG5hbWVUb0NvdW50LmdldChuYW1lKTsKICAgICAgICAgICAgIG5hbWVUb0NvdW50LnNl
dChuYW1lLCBjdXJyZW50Q291bnQgKyAxKTsKKyAgICAgICAgICAgIGNvbGxlY3RMaXN0ZW5lcnNJ
bmZvKGN1cnJlbnROb2RlLCBldmVudFR5cGVUb0NvdW50KTsKICAgICAgICAgfQogCiAgICAgICAg
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW5TdGF0cyA9IEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKTsKQEAgLTk4LDggKzEwMiwzOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgY2hpbGRy
ZW5TdGF0cy0+cHVzaE9iamVjdChub2RlQ291bnQpOwogICAgICAgICB9CiAKKyAgICAgICAgUmVm
UHRyPEluc3BlY3RvckFycmF5PiBsaXN0ZW5lclN0YXRzID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0
ZSgpOworICAgICAgICBmb3IgKEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+OjppdGVyYXRvciBp
dCA9IGV2ZW50VHlwZVRvQ291bnQuYmVnaW4oKTsgaXQgIT0gZXZlbnRUeXBlVG9Db3VudC5lbmQo
KTsgKytpdCkgeworICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZXZlbnRDb3Vu
dCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAgICAgICAgICBldmVudENvdW50LT5z
ZXRTdHJpbmcoInR5cGUiLCBpdC0+Zmlyc3QpOworICAgICAgICAgICAgZXZlbnRDb3VudC0+c2V0
TnVtYmVyKCJjb3VudCIsIGl0LT5zZWNvbmQpOworICAgICAgICAgICAgbGlzdGVuZXJTdGF0cy0+
cHVzaE9iamVjdChldmVudENvdW50KTsKKyAgICAgICAgfQorCiAgICAgICAgIHJlc3VsdC0+c2V0
TnVtYmVyKCJzaXplIiwgY291bnQpOwogICAgICAgICByZXN1bHQtPnNldEFycmF5KCJub2RlQ291
bnQiLCBjaGlsZHJlblN0YXRzKTsKKyAgICAgICAgcmVzdWx0LT5zZXRBcnJheSgibGlzdGVuZXJD
b3VudCIsIGxpc3RlbmVyU3RhdHMpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGNvbGxlY3RM
aXN0ZW5lcnNJbmZvKE5vZGUqIG5vZGUsIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+JiByZXN1
bHQpCisgICAgeworICAgICAgICBFdmVudFRhcmdldERhdGEqIGQgPSBub2RlLT5ldmVudFRhcmdl
dERhdGEoKTsKKyAgICAgICAgaWYgKCFkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBF
dmVudExpc3RlbmVyTWFwJiBldmVudExpc3RlbmVyTWFwID0gZC0+ZXZlbnRMaXN0ZW5lck1hcDsK
KyAgICAgICAgaWYgKGV2ZW50TGlzdGVuZXJNYXAuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiBldmVudE5hbWVzID0gZXZlbnRMaXN0
ZW5lck1hcC5ldmVudFR5cGVzKCk7CisgICAgICAgIGZvciAoVmVjdG9yPEF0b21pY1N0cmluZz46
Oml0ZXJhdG9yIGl0ID0gZXZlbnROYW1lcy5iZWdpbigpOyBpdCAhPSBldmVudE5hbWVzLmVuZCgp
OyArK2l0KSB7CisgICAgICAgICAgICBBdG9taWNTdHJpbmcgbmFtZSA9ICppdDsKKyAgICAgICAg
ICAgIEV2ZW50TGlzdGVuZXJWZWN0b3IqIGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJNYXAuZmlu
ZChuYW1lKTsKKyAgICAgICAgICAgIGludCBjb3VudCA9IDA7CisgICAgICAgICAgICBmb3IgKEV2
ZW50TGlzdGVuZXJWZWN0b3I6Oml0ZXJhdG9yIGogPSBsaXN0ZW5lcnMtPmJlZ2luKCk7IGogIT0g
bGlzdGVuZXJzLT5lbmQoKTsgKytqKSB7CisgICAgICAgICAgICAgICAgaWYgKGotPmxpc3RlbmVy
LT50eXBlKCkgPT0gRXZlbnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSkKKyAgICAgICAg
ICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjb3Vu
dCkKKyAgICAgICAgICAgICAgICByZXN1bHQuc2V0KG5hbWUsIHJlc3VsdC5nZXQobmFtZSkgKyBj
b3VudCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBzdGF0aWMgU3RyaW5nIG5vZGVOYW1lKE5v
ZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNGM2OGUzNmM5MmEzYzEwMTg4NWFiYjJjZmJjNTAxODQ2NGQyZGY4
MC4uM2UwYTYyZDM1NTBhZDBmYTBjZDg0YWI1YTM2NjNlY2Q3YmNlOGNjZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTEyLTI3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZl
bnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IGZvciBiYXNpYyBmdW5jdGlv
bmFsaXR5IG9mIE1lbW9yeUFnZW50LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kb20tc3RhdGlzdGljcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDExLTEyLTI3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIFhtYXMgZ2FyZGVuaW5nIGFm
dGVyIHIxMDM2MTcsIGFkZCBhZGRpdGlvbmFsIGNvbnNvbGUgbWVzc2FnZToKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tc3RhdGlzdGljcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA4NTgxNDExMmYzZGIwZjFhNDgyNGNmMTZmNjczNjExNzE2NDczOGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTE5IEBACisKK1Rlc3RzIHRoYXQgcGVyIGRvY3VtZW50IE5vZGUgY291bnQgaXMg
Y29ycmVjdGx5IGNhbGN1bGF0ZWQgYnkgdGhlIE1lbW9yeSBhZ2VudC4gQnVnIDc0MTAwLiBCdWcg
NzQyOTguCisKK3Jlc3VsdCA9IFsKKyAgICB7CisgICAgICAgICJ0aXRsZSI6ICJkaXYiLAorICAg
ICAgICAic2l6ZSI6IDEsCisgICAgICAgICJub2RlQ291bnQiOiBbCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImRpdiIsCisgICAgICAgICAgICAgICAgImNvdW50
IjogMQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6
IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJtb3VzZW92ZXIiLAor
ICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgInR5cGUiOiAiY2xpY2siLAorICAgICAgICAgICAgICAgICJjb3Vu
dCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgICAi
dGl0bGUiOiAiZGl2IiwKKyAgICAgICAgInNpemUiOiAxLAorICAgICAgICAibm9kZUNvdW50Ijog
WworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJkaXYiLAorICAg
ICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAg
ICAgImxpc3RlbmVyQ291bnQiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInR5
cGUiOiAibW91c2VvdmVyIiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0eXBlIjogImNsaWNrIiwKKyAg
ICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICB9
LAorICAgIHsKKyAgICAgICAgInRpdGxlIjogIiNkb2N1bWVudCIsCisgICAgICAgICJkb2N1bWVu
dFVSSSI6ICIuLi5hYm91dDpibGFuayIsCisgICAgICAgICJzaXplIjogMywKKyAgICAgICAgIm5v
ZGVDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAi
Ym9keSIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiaGVhZCIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAibm9kZU5hbWUiOiAiaHRtbCIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQor
ICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6IFtdCisg
ICAgfSwKKyAgICB7CisgICAgICAgICJ0aXRsZSI6ICIjZG9jdW1lbnQiLAorICAgICAgICAiZG9j
dW1lbnRVUkkiOiAiLi4uZG9tLXN0YXRpc3RpY3MuaHRtbCIsCisgICAgICAgICJzaXplIjogMjMs
CisgICAgICAgICJub2RlQ291bnQiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5vZGVOYW1lIjogIiN0ZXh0IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxMworICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiYSIs
CisgICAgICAgICAgICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiYm9keSIsCisgICAgICAgICAgICAgICAg
ImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibm9kZU5hbWUiOiAiZGl2IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJoZWFk
IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJodG1sIiwKKyAgICAgICAgICAgICAg
ICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICJub2RlTmFtZSI6ICJpZnJhbWUiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjog
InAiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogInNjcmlwdCIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlz
dGVuZXJDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJj
bGljayIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJtb3VzZW92ZXIiLAorICAgICAgICAg
ICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0KK10KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjVl
OGU2ODkzMmZkMjA0NmMxZTUzNzljZjY2YzY3Y2U3NWM4NWYwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWwKQEAgLTAsMCArMSw4NCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzdWx0KQorICAgIHsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZh
ciB1cmwgPSByZXN1bHRbaV0uZG9jdW1lbnRVUkk7CisgICAgICAgICAgICBpZiAoIXVybCkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHZhciBpbmRleCA9IHVybC5sYXN0
SW5kZXhPZigiLyIpOworICAgICAgICAgICAgaWYgKGluZGV4ICE9IC0xKQorICAgICAgICAgICAg
ICAgIHVybCA9IHVybC5zdWJzdHJpbmcoaW5kZXggKyAxKTsKKyAgICAgICAgICAgIHJlc3VsdFtp
XS5kb2N1bWVudFVSSSA9ICIuLi4iICsgdXJsOworCisgICAgICAgICAgICByZXN1bHRbaV0ubm9k
ZUNvdW50LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLm5v
ZGVOYW1lLmxvY2FsZUNvbXBhcmUoYi5ub2RlTmFtZSk7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJlc3VsdFtpXS5saXN0ZW5lckNvdW50LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAg
ICAgICAgICAgICAgIHJldHVybiBhLnR5cGUubG9jYWxlQ29tcGFyZShiLnR5cGUpOworICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzdHJpbmdDb21wYXJlKGEs
IGIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChhICYmIGIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGEubG9jYWxlQ29tcGFyZShiKTsKKyAgICAgICAgICAgIGlmICghYSAmJiAhYikKKyAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGlmIChhKQorICAgICAgICAgICAg
ICAgIHJldHVybiAxOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAg
ICAgcmVzdWx0LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgICAgICAgdmFyIHIgPSBzdHJp
bmdDb21wYXJlKGEuZG9jdW1lbnRVUkksIGIuZG9jdW1lbnRVUkkpOworICAgICAgICAgICAgaWYg
KHIpCisgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgICAgICAgICAgICByZXR1cm4gc3RyaW5n
Q29tcGFyZShhLnRpdGxlLCBiLnRpdGxlKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoInJlc3VsdCA9ICIgKyBKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51
bGwsIDQpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cisg
ICAgTWVtb3J5QWdlbnQuZ2V0RE9NTm9kZUNvdW50KGNhbGxiYWNrKTsKK30KKwordmFyIGRldGFj
aGVkRGl2cyA9IFtdOworZnVuY3Rpb24gY3JlYXRlRGV0YWNoZWROb2RlKCkKK3sKKyAgICB2YXIg
ZGV0YWNoZWREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkZXRhY2hl
ZERpdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKGUpIHt9KTsKKyAgICBkZXRh
Y2hlZERpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbihlKSB7fSk7Cisg
ICAgZGV0YWNoZWREaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikp
OworICAgIHJldHVybiBkZXRhY2hlZERpdjsKK30KKworZnVuY3Rpb24gcHJlcGFyZUFuZFJ1blRl
c3QoKQoreworICAgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmFncmFwaCIp
OworICAgIHAuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihlKSB7fSk7CisgICAg
cC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbihlKSB7fSk7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Cisg
ICAgZGV0YWNoZWREaXZzLnB1c2goY3JlYXRlRGV0YWNoZWROb2RlKCkpOworICAgIGRldGFjaGVk
RGl2cy5wdXNoKGNyZWF0ZURldGFjaGVkTm9kZSgpKTsKKworICAgIHJ1blRlc3QoKTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icHJlcGFyZUFuZFJ1blRlc3QoKSI+
Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHAgaWQ9InBhcmFncmFwaCIg
b25jbGljaz0iYWxlcnQoMSkiPgorVGVzdHMgdGhhdCBwZXIgZG9jdW1lbnQgTm9kZSBjb3VudCBp
cyBjb3JyZWN0bHkgY2FsY3VsYXRlZCBieSB0aGUgTWVtb3J5IGFnZW50LgorPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTAwIj5CdWcgNzQxMDAuPC9h
PgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4
Ij5CdWcgNzQyOTguPC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kb20tc3Rh
dGlzdGljcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1ODE0MTEyZjNkYjBmMWE0ODI0Y2Yx
NmY2NzM2MTE3MTY0NzM4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9kb20tc3RhdGlzdGljcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMTkgQEAKKworVGVzdHMgdGhhdCBwZXIgZG9jdW1lbnQgTm9kZSBjb3VudCBpcyBjb3JyZWN0
bHkgY2FsY3VsYXRlZCBieSB0aGUgTWVtb3J5IGFnZW50LiBCdWcgNzQxMDAuIEJ1ZyA3NDI5OC4K
KworcmVzdWx0ID0gWworICAgIHsKKyAgICAgICAgInRpdGxlIjogImRpdiIsCisgICAgICAgICJz
aXplIjogMSwKKyAgICAgICAgIm5vZGVDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAibm9kZU5hbWUiOiAiZGl2IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisg
ICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJsaXN0ZW5lckNvdW50IjogWworICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0eXBlIjogIm1vdXNlb3ZlciIsCisgICAgICAg
ICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAidHlwZSI6ICJjbGljayIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQor
ICAgICAgICAgICAgfQorICAgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0aXRsZSI6
ICJkaXYiLAorICAgICAgICAic2l6ZSI6IDEsCisgICAgICAgICJub2RlQ291bnQiOiBbCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImRpdiIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlz
dGVuZXJDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJt
b3VzZW92ZXIiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInR5cGUiOiAiY2xpY2siLAorICAgICAgICAg
ICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0sCisgICAg
eworICAgICAgICAidGl0bGUiOiAiI2RvY3VtZW50IiwKKyAgICAgICAgImRvY3VtZW50VVJJIjog
Ii4uLmFib3V0OmJsYW5rIiwKKyAgICAgICAgInNpemUiOiAzLAorICAgICAgICAibm9kZUNvdW50
IjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJib2R5IiwK
KyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJoZWFkIiwKKyAgICAgICAgICAgICAgICAi
Y291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICJub2RlTmFtZSI6ICJodG1sIiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAg
ICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJsaXN0ZW5lckNvdW50IjogW10KKyAgICB9LAor
ICAgIHsKKyAgICAgICAgInRpdGxlIjogIiNkb2N1bWVudCIsCisgICAgICAgICJkb2N1bWVudFVS
SSI6ICIuLi5kb20tc3RhdGlzdGljcy5odG1sIiwKKyAgICAgICAgInNpemUiOiAyMywKKyAgICAg
ICAgIm5vZGVDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5h
bWUiOiAiI3RleHQiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEzCisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJhIiwKKyAgICAg
ICAgICAgICAgICAiY291bnQiOiAyCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICJub2RlTmFtZSI6ICJib2R5IiwKKyAgICAgICAgICAgICAgICAiY291bnQi
OiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2Rl
TmFtZSI6ICJkaXYiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImhlYWQiLAorICAg
ICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImh0bWwiLAorICAgICAgICAgICAgICAgICJjb3Vu
dCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5v
ZGVOYW1lIjogImlmcmFtZSIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAicCIsCisg
ICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAic2NyaXB0IiwKKyAgICAgICAgICAgICAgICAi
Y291bnQiOiAyCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJsaXN0ZW5lckNv
dW50IjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0eXBlIjogImNsaWNrIiwK
KyAgICAgICAgICAgICAgICAiY291bnQiOiAyCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJ0eXBlIjogIm1vdXNlb3ZlciIsCisgICAgICAgICAgICAgICAg
ImNvdW50IjogMQorICAgICAgICAgICAgfQorICAgICAgICBdCisgICAgfQorXQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120589</attachid>
            <date>2011-12-27 07:28:08 -0800</date>
            <delta_ts>2011-12-27 08:06:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74298-20111227192806.patch</filename>
            <type>text/plain</type>
            <size>14812</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRlZTlmYzU2ZGFiODY0
NjllN2M4YjQ4MDZjZmIyY2E0NzY1ZTI0NS4uYmMwNzRjMTBkYjkyYmQ5ZTZhNmNiMzYxNmQxYmYw
ZjJjMzU1ZTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTEyLTI3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZlbnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIEpTIGV2ZW50IGxpc3RlbmVyIGNvdW50IHRvIHRoZSBtZW1vcnkgYWdl
bnQKKyAgICAgICAgcmVwb3J0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kb20tc3RhdGlzdGljcy5odG1sCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcDoKKwogMjAxMS0xMi0yNiAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDcmVhdGUgdGFiYmVk
IGVkaXRvciBmb3Igc2NyaXB0cyBwYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAxZGVmMjY3ZmU3MzlhYWIxMmEzNjk0MGQ0ODBkZTI1NzdiZjI4YmJmLi5k
ZmRhNzE2ZDY5NmFiZWQwMGYwNGRjODg3MmVkZGZiOTc0NjA5YzhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC01OSwxMyArNTksMjMgQEAKICAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIG5vZGVzIHdpdGggZ2l2ZW4gbmFtZS4iCiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6ICJMaXN0
ZW5lckNvdW50IiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5
cGUiLCAidHlwZSI6ICJzdHJpbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y291bnQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiTnVtYmVyIG9mIEpTIGV2ZW50IGxpc3RlbmVycyBieSBl
dmVudCB0eXBlLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgImlkIjogIkRPTUdyb3VwIiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog
ICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNpemUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInRpdGxlIiwgInR5cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImRvY3VtZW50VVJJIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjog
dHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVDb3VudCIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJOb2RlQ291bnQiIH19CisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUNvdW50IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogIk5vZGVDb3VudCIgfX0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibGlzdGVuZXJDb3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJM
aXN0ZW5lckNvdW50IiB9fQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAg
ICAgXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuY3BwCmluZGV4IDg1MmUwMzAxMjUwMjY4MGQ4NzZmNzdiYjdiMjk3OGMxM2NjMzQ3NGUuLjc1
OWFlMTFhOWYyZTk0NTFiNGViMDZhNDYyZmJhZDc3NDc5NDI1ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtMzUsNiArMzUs
NyBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlclZpc2l0b3IuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXJNYXAuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CkBAIC04MSwxMyArODIsMTYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjb2xsZWN0VHJl
ZVN0YXRpc3RpY3MoTm9kZSogcm9vdE5vZGUsIEluc3BlY3Rvck9iamVjdCogcmVzdWx0KQogICAg
IHsKICAgICAgICAgdW5zaWduZWQgY291bnQgPSAwOworICAgICAgICBIYXNoTWFwPEF0b21pY1N0
cmluZywgaW50PiBldmVudFR5cGVUb0NvdW50OwogICAgICAgICBIYXNoTWFwPFN0cmluZywgaW50
PiBuYW1lVG9Db3VudDsKICAgICAgICAgTm9kZSogY3VycmVudE5vZGUgPSByb290Tm9kZTsKKyAg
ICAgICAgY29sbGVjdExpc3RlbmVyc0luZm8ocm9vdE5vZGUsIGV2ZW50VHlwZVRvQ291bnQpOwog
ICAgICAgICB3aGlsZSAoKGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUtPnRyYXZlcnNlTmV4dE5v
ZGUocm9vdE5vZGUpKSkgewogICAgICAgICAgICAgKytjb3VudDsKICAgICAgICAgICAgIFN0cmlu
ZyBuYW1lID0gbm9kZU5hbWUoY3VycmVudE5vZGUpOwogICAgICAgICAgICAgaW50IGN1cnJlbnRD
b3VudCA9IG5hbWVUb0NvdW50LmdldChuYW1lKTsKICAgICAgICAgICAgIG5hbWVUb0NvdW50LnNl
dChuYW1lLCBjdXJyZW50Q291bnQgKyAxKTsKKyAgICAgICAgICAgIGNvbGxlY3RMaXN0ZW5lcnNJ
bmZvKGN1cnJlbnROb2RlLCBldmVudFR5cGVUb0NvdW50KTsKICAgICAgICAgfQogCiAgICAgICAg
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW5TdGF0cyA9IEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKTsKQEAgLTk4LDggKzEwMiwzOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgY2hpbGRy
ZW5TdGF0cy0+cHVzaE9iamVjdChub2RlQ291bnQpOwogICAgICAgICB9CiAKKyAgICAgICAgUmVm
UHRyPEluc3BlY3RvckFycmF5PiBsaXN0ZW5lclN0YXRzID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0
ZSgpOworICAgICAgICBmb3IgKEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+OjppdGVyYXRvciBp
dCA9IGV2ZW50VHlwZVRvQ291bnQuYmVnaW4oKTsgaXQgIT0gZXZlbnRUeXBlVG9Db3VudC5lbmQo
KTsgKytpdCkgeworICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZXZlbnRDb3Vu
dCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAgICAgICAgICBldmVudENvdW50LT5z
ZXRTdHJpbmcoInR5cGUiLCBpdC0+Zmlyc3QpOworICAgICAgICAgICAgZXZlbnRDb3VudC0+c2V0
TnVtYmVyKCJjb3VudCIsIGl0LT5zZWNvbmQpOworICAgICAgICAgICAgbGlzdGVuZXJTdGF0cy0+
cHVzaE9iamVjdChldmVudENvdW50KTsKKyAgICAgICAgfQorCiAgICAgICAgIHJlc3VsdC0+c2V0
TnVtYmVyKCJzaXplIiwgY291bnQpOwogICAgICAgICByZXN1bHQtPnNldEFycmF5KCJub2RlQ291
bnQiLCBjaGlsZHJlblN0YXRzKTsKKyAgICAgICAgcmVzdWx0LT5zZXRBcnJheSgibGlzdGVuZXJD
b3VudCIsIGxpc3RlbmVyU3RhdHMpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGNvbGxlY3RM
aXN0ZW5lcnNJbmZvKE5vZGUqIG5vZGUsIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+JiByZXN1
bHQpCisgICAgeworICAgICAgICBFdmVudFRhcmdldERhdGEqIGQgPSBub2RlLT5ldmVudFRhcmdl
dERhdGEoKTsKKyAgICAgICAgaWYgKCFkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBF
dmVudExpc3RlbmVyTWFwJiBldmVudExpc3RlbmVyTWFwID0gZC0+ZXZlbnRMaXN0ZW5lck1hcDsK
KyAgICAgICAgaWYgKGV2ZW50TGlzdGVuZXJNYXAuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiBldmVudE5hbWVzID0gZXZlbnRMaXN0
ZW5lck1hcC5ldmVudFR5cGVzKCk7CisgICAgICAgIGZvciAoVmVjdG9yPEF0b21pY1N0cmluZz46
Oml0ZXJhdG9yIGl0ID0gZXZlbnROYW1lcy5iZWdpbigpOyBpdCAhPSBldmVudE5hbWVzLmVuZCgp
OyArK2l0KSB7CisgICAgICAgICAgICBBdG9taWNTdHJpbmcgbmFtZSA9ICppdDsKKyAgICAgICAg
ICAgIEV2ZW50TGlzdGVuZXJWZWN0b3IqIGxpc3RlbmVycyA9IGV2ZW50TGlzdGVuZXJNYXAuZmlu
ZChuYW1lKTsKKyAgICAgICAgICAgIGludCBjb3VudCA9IDA7CisgICAgICAgICAgICBmb3IgKEV2
ZW50TGlzdGVuZXJWZWN0b3I6Oml0ZXJhdG9yIGogPSBsaXN0ZW5lcnMtPmJlZ2luKCk7IGogIT0g
bGlzdGVuZXJzLT5lbmQoKTsgKytqKSB7CisgICAgICAgICAgICAgICAgaWYgKGotPmxpc3RlbmVy
LT50eXBlKCkgPT0gRXZlbnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSkKKyAgICAgICAg
ICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjb3Vu
dCkKKyAgICAgICAgICAgICAgICByZXN1bHQuc2V0KG5hbWUsIHJlc3VsdC5nZXQobmFtZSkgKyBj
b3VudCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBzdGF0aWMgU3RyaW5nIG5vZGVOYW1lKE5v
ZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNGM2OGUzNmM5MmEzYzEwMTg4NWFiYjJjZmJjNTAxODQ2NGQyZGY4
MC4uM2UwYTYyZDM1NTBhZDBmYTBjZDg0YWI1YTM2NjNlY2Q3YmNlOGNjZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTEyLTI3ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcG9ydCBwZXIgZG9jdW1lbnQgSlMgZXZl
bnQgbGlzdGVuZXIgY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc0Mjk4CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IGZvciBiYXNpYyBmdW5jdGlv
bmFsaXR5IG9mIE1lbW9yeUFnZW50LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kb20tc3RhdGlzdGljcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDExLTEyLTI3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIFhtYXMgZ2FyZGVuaW5nIGFm
dGVyIHIxMDM2MTcsIGFkZCBhZGRpdGlvbmFsIGNvbnNvbGUgbWVzc2FnZToKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tc3RhdGlzdGljcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA4NTgxNDExMmYzZGIwZjFhNDgyNGNmMTZmNjczNjExNzE2NDczOGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTE5IEBACisKK1Rlc3RzIHRoYXQgcGVyIGRvY3VtZW50IE5vZGUgY291bnQgaXMg
Y29ycmVjdGx5IGNhbGN1bGF0ZWQgYnkgdGhlIE1lbW9yeSBhZ2VudC4gQnVnIDc0MTAwLiBCdWcg
NzQyOTguCisKK3Jlc3VsdCA9IFsKKyAgICB7CisgICAgICAgICJ0aXRsZSI6ICJkaXYiLAorICAg
ICAgICAic2l6ZSI6IDEsCisgICAgICAgICJub2RlQ291bnQiOiBbCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImRpdiIsCisgICAgICAgICAgICAgICAgImNvdW50
IjogMQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6
IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJtb3VzZW92ZXIiLAor
ICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgInR5cGUiOiAiY2xpY2siLAorICAgICAgICAgICAgICAgICJjb3Vu
dCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgICAi
dGl0bGUiOiAiZGl2IiwKKyAgICAgICAgInNpemUiOiAxLAorICAgICAgICAibm9kZUNvdW50Ijog
WworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJkaXYiLAorICAg
ICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAg
ICAgImxpc3RlbmVyQ291bnQiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInR5
cGUiOiAibW91c2VvdmVyIiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0eXBlIjogImNsaWNrIiwKKyAg
ICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICB9
LAorICAgIHsKKyAgICAgICAgInRpdGxlIjogIiNkb2N1bWVudCIsCisgICAgICAgICJkb2N1bWVu
dFVSSSI6ICIuLi5hYm91dDpibGFuayIsCisgICAgICAgICJzaXplIjogMywKKyAgICAgICAgIm5v
ZGVDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAi
Ym9keSIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiaGVhZCIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAibm9kZU5hbWUiOiAiaHRtbCIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQor
ICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlzdGVuZXJDb3VudCI6IFtdCisg
ICAgfSwKKyAgICB7CisgICAgICAgICJ0aXRsZSI6ICIjZG9jdW1lbnQiLAorICAgICAgICAiZG9j
dW1lbnRVUkkiOiAiLi4uZG9tLXN0YXRpc3RpY3MuaHRtbCIsCisgICAgICAgICJzaXplIjogMjMs
CisgICAgICAgICJub2RlQ291bnQiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5vZGVOYW1lIjogIiN0ZXh0IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxMworICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiYSIs
CisgICAgICAgICAgICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAiYm9keSIsCisgICAgICAgICAgICAgICAg
ImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibm9kZU5hbWUiOiAiZGl2IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJoZWFk
IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJodG1sIiwKKyAgICAgICAgICAgICAg
ICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICJub2RlTmFtZSI6ICJpZnJhbWUiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAg
ICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjog
InAiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogInNjcmlwdCIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlz
dGVuZXJDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJj
bGljayIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJtb3VzZW92ZXIiLAorICAgICAgICAg
ICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0KK10KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLXN0YXRpc3RpY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjVl
OGU2ODkzMmZkMjA0NmMxZTUzNzljZjY2YzY3Y2U3NWM4NWYwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLmh0bWwKQEAgLTAsMCArMSw4NCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzdWx0KQorICAgIHsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZh
ciB1cmwgPSByZXN1bHRbaV0uZG9jdW1lbnRVUkk7CisgICAgICAgICAgICBpZiAoIXVybCkKKyAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHZhciBpbmRleCA9IHVybC5sYXN0
SW5kZXhPZigiLyIpOworICAgICAgICAgICAgaWYgKGluZGV4ICE9IC0xKQorICAgICAgICAgICAg
ICAgIHVybCA9IHVybC5zdWJzdHJpbmcoaW5kZXggKyAxKTsKKyAgICAgICAgICAgIHJlc3VsdFtp
XS5kb2N1bWVudFVSSSA9ICIuLi4iICsgdXJsOworCisgICAgICAgICAgICByZXN1bHRbaV0ubm9k
ZUNvdW50LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLm5v
ZGVOYW1lLmxvY2FsZUNvbXBhcmUoYi5ub2RlTmFtZSk7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJlc3VsdFtpXS5saXN0ZW5lckNvdW50LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAg
ICAgICAgICAgICAgIHJldHVybiBhLnR5cGUubG9jYWxlQ29tcGFyZShiLnR5cGUpOworICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzdHJpbmdDb21wYXJlKGEs
IGIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChhICYmIGIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGEubG9jYWxlQ29tcGFyZShiKTsKKyAgICAgICAgICAgIGlmICghYSAmJiAhYikKKyAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGlmIChhKQorICAgICAgICAgICAg
ICAgIHJldHVybiAxOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAg
ICAgcmVzdWx0LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgICAgICAgdmFyIHIgPSBzdHJp
bmdDb21wYXJlKGEuZG9jdW1lbnRVUkksIGIuZG9jdW1lbnRVUkkpOworICAgICAgICAgICAgaWYg
KHIpCisgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgICAgICAgICAgICByZXR1cm4gc3RyaW5n
Q29tcGFyZShhLnRpdGxlLCBiLnRpdGxlKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoInJlc3VsdCA9ICIgKyBKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51
bGwsIDQpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cisg
ICAgTWVtb3J5QWdlbnQuZ2V0RE9NTm9kZUNvdW50KGNhbGxiYWNrKTsKK30KKwordmFyIGRldGFj
aGVkRGl2cyA9IFtdOworZnVuY3Rpb24gY3JlYXRlRGV0YWNoZWROb2RlKCkKK3sKKyAgICB2YXIg
ZGV0YWNoZWREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkZXRhY2hl
ZERpdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKGUpIHt9KTsKKyAgICBkZXRh
Y2hlZERpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbihlKSB7fSk7Cisg
ICAgZGV0YWNoZWREaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikp
OworICAgIHJldHVybiBkZXRhY2hlZERpdjsKK30KKworZnVuY3Rpb24gcHJlcGFyZUFuZFJ1blRl
c3QoKQoreworICAgIHZhciBwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmFncmFwaCIp
OworICAgIHAuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbihlKSB7fSk7CisgICAg
cC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBmdW5jdGlvbihlKSB7fSk7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Cisg
ICAgZGV0YWNoZWREaXZzLnB1c2goY3JlYXRlRGV0YWNoZWROb2RlKCkpOworICAgIGRldGFjaGVk
RGl2cy5wdXNoKGNyZWF0ZURldGFjaGVkTm9kZSgpKTsKKworICAgIHJ1blRlc3QoKTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icHJlcGFyZUFuZFJ1blRlc3QoKSI+
Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHAgaWQ9InBhcmFncmFwaCIg
b25jbGljaz0iYWxlcnQoMSkiPgorVGVzdHMgdGhhdCBwZXIgZG9jdW1lbnQgTm9kZSBjb3VudCBp
cyBjb3JyZWN0bHkgY2FsY3VsYXRlZCBieSB0aGUgTWVtb3J5IGFnZW50LgorPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTAwIj5CdWcgNzQxMDAuPC9h
PgorPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk4
Ij5CdWcgNzQyOTguPC9hPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2RvbS1zdGF0aXN0aWNzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kb20tc3Rh
dGlzdGljcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg1ODE0MTEyZjNkYjBmMWE0ODI0Y2Yx
NmY2NzM2MTE3MTY0NzM4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2luc3BlY3Rvci9kb20tc3RhdGlzdGljcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMTkgQEAKKworVGVzdHMgdGhhdCBwZXIgZG9jdW1lbnQgTm9kZSBjb3VudCBpcyBjb3JyZWN0
bHkgY2FsY3VsYXRlZCBieSB0aGUgTWVtb3J5IGFnZW50LiBCdWcgNzQxMDAuIEJ1ZyA3NDI5OC4K
KworcmVzdWx0ID0gWworICAgIHsKKyAgICAgICAgInRpdGxlIjogImRpdiIsCisgICAgICAgICJz
aXplIjogMSwKKyAgICAgICAgIm5vZGVDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAibm9kZU5hbWUiOiAiZGl2IiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisg
ICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJsaXN0ZW5lckNvdW50IjogWworICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0eXBlIjogIm1vdXNlb3ZlciIsCisgICAgICAg
ICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAidHlwZSI6ICJjbGljayIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQor
ICAgICAgICAgICAgfQorICAgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0aXRsZSI6
ICJkaXYiLAorICAgICAgICAic2l6ZSI6IDEsCisgICAgICAgICJub2RlQ291bnQiOiBbCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImRpdiIsCisgICAgICAgICAg
ICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAibGlz
dGVuZXJDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJt
b3VzZW92ZXIiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInR5cGUiOiAiY2xpY2siLAorICAgICAgICAg
ICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgIH0sCisgICAg
eworICAgICAgICAidGl0bGUiOiAiI2RvY3VtZW50IiwKKyAgICAgICAgImRvY3VtZW50VVJJIjog
Ii4uLmFib3V0OmJsYW5rIiwKKyAgICAgICAgInNpemUiOiAzLAorICAgICAgICAibm9kZUNvdW50
IjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJib2R5IiwK
KyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJoZWFkIiwKKyAgICAgICAgICAgICAgICAi
Y291bnQiOiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICJub2RlTmFtZSI6ICJodG1sIiwKKyAgICAgICAgICAgICAgICAiY291bnQiOiAxCisgICAgICAg
ICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJsaXN0ZW5lckNvdW50IjogW10KKyAgICB9LAor
ICAgIHsKKyAgICAgICAgInRpdGxlIjogIiNkb2N1bWVudCIsCisgICAgICAgICJkb2N1bWVudFVS
SSI6ICIuLi5kb20tc3RhdGlzdGljcy5odG1sIiwKKyAgICAgICAgInNpemUiOiAyMywKKyAgICAg
ICAgIm5vZGVDb3VudCI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5h
bWUiOiAiI3RleHQiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEzCisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2RlTmFtZSI6ICJhIiwKKyAgICAg
ICAgICAgICAgICAiY291bnQiOiAyCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICJub2RlTmFtZSI6ICJib2R5IiwKKyAgICAgICAgICAgICAgICAiY291bnQi
OiAxCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJub2Rl
TmFtZSI6ICJkaXYiLAorICAgICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0s
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImhlYWQiLAorICAg
ICAgICAgICAgICAgICJjb3VudCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgIm5vZGVOYW1lIjogImh0bWwiLAorICAgICAgICAgICAgICAgICJjb3Vu
dCI6IDEKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5v
ZGVOYW1lIjogImlmcmFtZSIsCisgICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAicCIsCisg
ICAgICAgICAgICAgICAgImNvdW50IjogMQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAibm9kZU5hbWUiOiAic2NyaXB0IiwKKyAgICAgICAgICAgICAgICAi
Y291bnQiOiAyCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJsaXN0ZW5lckNv
dW50IjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJ0eXBlIjogImNsaWNrIiwK
KyAgICAgICAgICAgICAgICAiY291bnQiOiAyCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJ0eXBlIjogIm1vdXNlb3ZlciIsCisgICAgICAgICAgICAgICAg
ImNvdW50IjogMQorICAgICAgICAgICAgfQorICAgICAgICBdCisgICAgfQorXQorCg==
</data>
<flag name="review"
          id="120892"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>