<?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>67205</bug_id>
          
          <creation_ts>2011-08-30 09:23:21 -0700</creation_ts>
          <short_desc>Web Inspector: implement source map v3 consumer.</short_desc>
          <delta_ts>2011-09-06 10:35:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</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>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458947</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-08-30 09:23:21 -0700</bug_when>
    <thetext>Web Inspector: implement source map v3 consumer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458949</commentid>
    <comment_count>1</comment_count>
      <attachid>105640</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-08-30 09:24:56 -0700</bug_when>
    <thetext>Created attachment 105640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458950</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-08-30 09:25:10 -0700</bug_when>
    <thetext>Format spec: https://docs.google.com/a/chromium.org/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?hl=en_US</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462084</commentid>
    <comment_count>3</comment_count>
      <attachid>105640</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-05 02:37:35 -0700</bug_when>
    <thetext>Comment on attachment 105640
Patch

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

&gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:49
&gt; +    get sources()

This should be a function since it may be overridden.

&gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:59
&gt; +WebInspector.ClosureCompilerSourceMapping = function(payload)

Is there a document describing the mapping format? If so, please add a link to the document here, otherwise provide a description of the format.

&gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:101
&gt; +              count -= step;

Can we replace count with step in the loop and get rid of these &quot;count =&quot; assignments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462193</commentid>
    <comment_count>4</comment_count>
      <attachid>106346</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-09-05 10:38:40 -0700</bug_when>
    <thetext>Created attachment 106346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462194</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-09-05 10:40:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 105640 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105640&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:49
&gt; &gt; +    get sources()
&gt; 
&gt; This should be a function since it may be overridden.

I think getters/setters can also be overridden just like regular functions.

&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:59
&gt; &gt; +WebInspector.ClosureCompilerSourceMapping = function(payload)
&gt; 
&gt; Is there a document describing the mapping format? If so, please add a link to the document here, otherwise provide a description of the format.

Done.

&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:101
&gt; &gt; +              count -= step;
&gt; 
&gt; Can we replace count with step in the loop and get rid of these &quot;count =&quot; assignments?

I don&apos;t think so, both count and step are required here since count could be odd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462380</commentid>
    <comment_count>6</comment_count>
      <attachid>106346</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-05 23:40:59 -0700</bug_when>
    <thetext>Comment on attachment 106346
Patch

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

&gt; Source/WebCore/inspector/front-end/CompilerSourceMapping.js:61
&gt; +    // This class implements Source Map V3 consumer. Source Map V3 format is described

The comment should go into the constructor description, not in its body.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462634</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-09-06 10:35:45 -0700</bug_when>
    <thetext>Committed r94577: &lt;http://trac.webkit.org/changeset/94577&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105640</attachid>
            <date>2011-08-30 09:24:56 -0700</date>
            <delta_ts>2011-09-05 10:38:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67205-20110830202454.patch</filename>
            <type>text/plain</type>
            <size>15096</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM5NzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0N2NlZWNlYTI0ZjY4OTFkZDA5NGNj
Yjc3OTNhMTg3NGQzOGMxZmYzLi43ZDYwZGNkNzc2MzIyMGM1ZGVhZjEzOTU2MDYxZWY5Y2QzNTJm
OWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMzAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVt
ZW50IHNvdXJjZSBtYXAgdjMgY29uc3VtZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbXBpbGVyLXNvdXJjZS1t
YXBwaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2Vy
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLmh0bWw6IEFkZGVkLgorCiAyMDExLTA4LTI5ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogPGJ1dHRvbiBoaWRkZW4+Li48L2J1dHRvbj4gaGFzIGEgZGlmZmVyZW50IGNvbXB1dGVk
ICJkaXNwbGF5IiB2YWx1ZSB0aGFuICJub25lIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21waWxlci1zb3VyY2UtbWFwcGluZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjllNDlmYTRlYWJjZDhiZjZiZDFmZWJjMWNlMGI1YTk2M2Ix
ZDU5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9j
b21waWxlci1zb3VyY2UtbWFwcGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUZXN0
cyBDbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLgorCisKK1J1bm5pbmc6IHRlc3RTaW1wbGVN
YXBwaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21w
aWxlci1zb3VyY2UtbWFwcGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE0NWY3MDIyNmEzZjg2
MTNiM2VkYTk2MmM0MGMyNmM5NDZiYjAzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9jb21waWxlci1zb3VyY2UtbWFwcGluZy5odG1sCkBAIC0wLDAg
KzEsNTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBjaGVja01hcHBpbmcoY29tcGlsZWRMaW5lTnVt
YmVyLCBjb21waWxlZENvbHVtbk51bWJlciwgc291cmNlVVJMLCBzb3VyY2VMaW5lTnVtYmVyLCBz
b3VyY2VDb2x1bW5OdW1iZXIsIG1hcHBpbmcpCisgICAgeworICAgICAgICB2YXIgc291cmNlTG9j
YXRpb24gPSBtYXBwaW5nLmNvbXBpbGVkTG9jYXRpb25Ub1NvdXJjZUxvY2F0aW9uKGNvbXBpbGVk
TGluZU51bWJlciwgY29tcGlsZWRDb2x1bW5OdW1iZXIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydEVxdWFscyhzb3VyY2VVUkwsIHNvdXJjZUxvY2F0aW9uLnNvdXJjZVVSTCk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHNvdXJjZUxpbmVOdW1iZXIsIHNvdXJjZUxv
Y2F0aW9uLmxpbmVOdW1iZXIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhz
b3VyY2VDb2x1bW5OdW1iZXIsIHNvdXJjZUxvY2F0aW9uLmNvbHVtbk51bWJlcik7CisgICAgfQor
CisgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiB0ZXN0
U2ltcGxlTWFwcGluZyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICAvLyBleGFtcGxlLmpz
OgorICAgICAgICAgICAgLy8gMCAgICAgICAgIDEgICAgICAgICAyICAgICAgICAgMworICAgICAg
ICAgICAgLy8gMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1CisgICAgICAgICAg
ICAvLyBmdW5jdGlvbiBhZGQodmFyaWFibGVfeCwgdmFyaWFibGVfeSkKKyAgICAgICAgICAgIC8v
IHsKKyAgICAgICAgICAgIC8vICAgICByZXR1cm4gdmFyaWFibGVfeCArIHZhcmlhYmxlX3k7Cisg
ICAgICAgICAgICAvLyB9CisgICAgICAgICAgICAvLyBleGFtcGxlLWNvbXBpbGVkLmpzOgorICAg
ICAgICAgICAgLy8gMCAgICAgICAgIDEgICAgICAgICAyICAgICAgICAgMworICAgICAgICAgICAg
Ly8gMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1CisgICAgICAgICAgICAvLyBm
dW5jdGlvbiBhZGQoYSxiKXtyZXR1cm4gYStifTsKKyAgICAgICAgICAgIHZhciBtYXBwaW5nUGF5
bG9hZCA9IHsKKyAgICAgICAgICAgICAgICAibWFwcGluZ3MiOiJBQUFTQSxRQUFBQSxJQUFHLENB
QUNDLENBQUQsQ0FBYUMsQ0FBYixDQUNaLENBQ0ksTUFBT0QsRUFBUCxDQUFvQkMsQ0FEeEI7IiwK
KyAgICAgICAgICAgICAgICAic291cmNlcyI6WyJleGFtcGxlLmpzIl0KKyAgICAgICAgICAgIH07
CisgICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBp
bGVyU291cmNlTWFwcGluZyhtYXBwaW5nUGF5bG9hZCk7CisgICAgICAgICAgICBjaGVja01hcHBp
bmcoMCwgOSwgImV4YW1wbGUuanMiLCAwLCA5LCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNr
TWFwcGluZygwLCAxMywgImV4YW1wbGUuanMiLCAwLCAxMywgbWFwcGluZyk7CisgICAgICAgICAg
ICBjaGVja01hcHBpbmcoMCwgMTUsICJleGFtcGxlLmpzIiwgMCwgMjUsIG1hcHBpbmcpOworICAg
ICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDE4LCAiZXhhbXBsZS5qcyIsIDIsIDQsIG1hcHBpbmcp
OworICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDI1LCAiZXhhbXBsZS5qcyIsIDIsIDExLCBt
YXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAyNywgImV4YW1wbGUuanMiLCAy
LCAyNCwgbWFwcGluZyk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0KKyAgICBdKTsK
K307CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPlRlc3RzIENsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcuPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGIyYWQwMjAwZmM0ZjVlYmM0MDQxMmQ2YzkxODM5ODg2NmEzYTRk
YmMuLjFlZGZkMDA2MjMzMWNmY2ExZTNhNzU4NjEwMjE5OTFmNDVjZWEyZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzNCBAQAorMjAxMS0wOC0zMCAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92
QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBpbXBsZW1lbnQgc291cmNl
IG1hcCB2MyBjb25zdW1lci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5n
Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVy
U291cmNlTWFwcGluZy5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJT
b3VyY2VNYXBwaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBp
bmcucHJvdG90eXBlLmNvbXBpbGVkTG9jYXRpb25Ub1NvdXJjZUxvY2F0aW9uKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnNvdXJjZUxvY2F0
aW9uVG9Db21waWxlZExvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNv
dXJjZU1hcHBpbmcucHJvdG90eXBlLmdldCBzb3VyY2VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
bG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5jb21waWxlZExvY2F0aW9uVG9T
b3VyY2VMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291
cmNlTWFwcGluZy5wcm90b3R5cGUuc291cmNlTG9jYXRpb25Ub0NvbXBpbGVkTG9jYXRpb24pOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90
eXBlLmdldCBzb3VyY2VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJT
b3VyY2VNYXBwaW5nLnByb3RvdHlwZS5fZmluZE1hcHBpbmcpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90eXBlLl9wYXJzZVBheWxvYWQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcucHJv
dG90eXBlLl9pc1NlcGFyYXRvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBp
bGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUuX2RlY29kZVZMUSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5TdHJpbmdDaGFySXRlcmF0b3IpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcuU3RyaW5n
Q2hhckl0ZXJhdG9yLnByb3RvdHlwZS5uZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DbG9z
dXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLlN0cmluZ0NoYXJJdGVyYXRvci5wcm90b3R5cGUucGVl
ayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5T
dHJpbmdDaGFySXRlcmF0b3IucHJvdG90eXBlLmhhc05leHQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sOgorCiAyMDExLTA4LTI5ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogPGJ1dHRvbiBoaWRkZW4+Li48
L2J1dHRvbj4gaGFzIGEgZGlmZmVyZW50IGNvbXB1dGVkICJkaXNwbGF5IiB2YWx1ZSB0aGFuICJu
b25lIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGMwNmNlNGI2MzJlYjUyZTJlYjYxNDUzMWJiNmZiOGY1
MDM2Nzg2NTAuLjFmZjhmN2U1ODA3YmY0MDc0YTgyNjc5YjNjZjI1YTIxY2I0MjYwMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTYyOTYsNiArNjI5Niw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9y
L2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9DaGVja2JveC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9Db2xvci5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxl
clNvdXJjZU1hcHBpbmcuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZU1lc3NhZ2UuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZU1vZGVsLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVQYW5l
bC5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmlu
ZGV4IDJkOTIwNjQ1OGE0ZTZlYjUzYWFhMjQ2YjU1OGJkNTQzNmVmNTFhYWMuLmJlOWFjNWM4ZTM2
NmI2ZWRkNDkyOWEwODExZjc0YTBkMDhhNTE0NWYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02ODgyOSw2ICs2ODgyOSwxMCBAQAogCQkJCQk+
CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9y
XGZyb250LWVuZFxDb21waWxlclNvdXJjZU1hcHBpbmcuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXENv
bnNvbGVNZXNzYWdlLmpzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVyU291cmNlTWFwcGluZy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YzJmOTkzZjYwMDU1OGI0MmM4NWVjN2ZlN2Y4ZDNlNjE5M2Q1YTkxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21w
aWxlclNvdXJjZU1hcHBpbmcuanMKQEAgLTAsMCArMSwxOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKioKKyAqIEBjb25zdHJ1Y3Rv
cgorICovCitXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nID0gZnVuY3Rpb24oKQor
eworfQorCitXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsK
KyAgICBjb21waWxlZExvY2F0aW9uVG9Tb3VyY2VMb2NhdGlvbjogZnVuY3Rpb24obGluZU51bWJl
ciwgY29sdW1uTnVtYmVyKQorICAgIHsKKyAgICAgICAgLy8gU2hvdWxkIGJlIGltcGxlbWVudGVk
IGJ5IHN1YmNsYXNzZXMuCisgICAgfSwKKworICAgIHNvdXJjZUxvY2F0aW9uVG9Db21waWxlZExv
Y2F0aW9uOiBmdW5jdGlvbihzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikKKyAg
ICB7CisgICAgICAgIC8vIFNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgorICAg
IH0sCisKKyAgICBnZXQgc291cmNlcygpCisgICAgeworICAgICAgICAvLyBTaG91bGQgYmUgaW1w
bGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KKyAgICB9Cit9CisKKy8qKgorICogQGV4dGVuZHMge1dl
Ykluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmd9CisgKiBAY29uc3RydWN0b3IKKyAqLwor
V2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcgPSBmdW5jdGlvbihwYXls
b2FkKQoreworICAgIGlmICghV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBp
bmcucHJvdG90eXBlLl9iYXNlNjRNYXApIHsKKyAgICAgICAgYmFzZTY0RGlnaXRzID0gIkFCQ0RF
RkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5
Ky8iOworICAgICAgICBXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5w
cm90b3R5cGUuX2Jhc2U2NE1hcCA9IHt9OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJh
c2U2NERpZ2l0cy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5DbG9zdXJl
Q29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5fYmFzZTY0TWFwW2Jhc2U2NERpZ2l0cy5j
aGFyQXQoaSldID0gaTsKKyAgICB9CisKKyAgICB0aGlzLl9zb3VyY2VzID0gcGF5bG9hZC5zb3Vy
Y2VzOworICAgIHRoaXMuX21hcHBpbmdzID0gdGhpcy5fcGFyc2VQYXlsb2FkKHBheWxvYWQpOwor
fQorCitXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUg
PSB7CisgICAgY29tcGlsZWRMb2NhdGlvblRvU291cmNlTG9jYXRpb246IGZ1bmN0aW9uKGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlcikKKyAgICB7CisgICAgICAgIHZhciBtYXBwaW5nID0gdGhpcy5f
ZmluZE1hcHBpbmcobGluZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICAgICAgdmFyIHNvdXJj
ZVVSTCA9IHRoaXMuX3NvdXJjZXNbbWFwcGluZ1syXV07CisgICAgICAgIHJldHVybiB7IHNvdXJj
ZVVSTDogc291cmNlVVJMLCBsaW5lTnVtYmVyOiBtYXBwaW5nWzNdLCBjb2x1bW5OdW1iZXI6IG1h
cHBpbmdbNF0gfTsKKyAgICB9LAorCisgICAgc291cmNlTG9jYXRpb25Ub0NvbXBpbGVkTG9jYXRp
b246IGZ1bmN0aW9uKHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyKQorICAgIHsK
KyAgICB9LAorCisgICAgZ2V0IHNvdXJjZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X3NvdXJjZXM7CisgICAgfSwKKworICAgIF9maW5kTWFwcGluZzogZnVuY3Rpb24obGluZU51bWJl
ciwgY29sdW1uTnVtYmVyKQorICAgIHsKKyAgICAgICAgdmFyIGZpcnN0ID0gMDsKKyAgICAgICAg
dmFyIGNvdW50ID0gdGhpcy5fbWFwcGluZ3MubGVuZ3RoOworICAgICAgICB3aGlsZSAoY291bnQg
PiAxKSB7CisgICAgICAgICAgdmFyIHN0ZXAgPSBjb3VudCA+PiAxOworICAgICAgICAgIHZhciBt
aWRkbGUgPSBmaXJzdCArIHN0ZXA7CisgICAgICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9tYXBw
aW5nc1ttaWRkbGVdOworICAgICAgICAgIGlmIChsaW5lTnVtYmVyIDwgbWFwcGluZ1swXSB8fCAo
bGluZU51bWJlciA9PSBtYXBwaW5nWzBdICYmIGNvbHVtbk51bWJlciA8IG1hcHBpbmdbMV0pKQor
ICAgICAgICAgICAgICBjb3VudCA9IHN0ZXA7CisgICAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICAgIGZpcnN0ID0gbWlkZGxlOworICAgICAgICAgICAgICBjb3VudCAtPSBzdGVwOworICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdGhpcy5fbWFwcGluZ3NbZmlyc3RdOwor
ICAgIH0sCisKKyAgICBfcGFyc2VQYXlsb2FkOiBmdW5jdGlvbihwYXlsb2FkKQorICAgIHsKKyAg
ICAgICAgdmFyIG1hcHBpbmdzID0gW107CisgICAgICAgIHZhciBzdHJpbmdDaGFySXRlcmF0b3Ig
PSBuZXcgV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcuU3RyaW5nQ2hh
ckl0ZXJhdG9yKHBheWxvYWQubWFwcGluZ3MpOworCisgICAgICAgIHZhciBsaW5lTnVtYmVyID0g
MDsKKyAgICAgICAgdmFyIGNvbHVtbk51bWJlciA9IDA7CisgICAgICAgIHZhciBzb3VyY2VJbmRl
eCA9IDA7CisgICAgICAgIHZhciBzb3VyY2VMaW5lTnVtYmVyID0gMDsKKyAgICAgICAgdmFyIHNv
dXJjZUNvbHVtbk51bWJlciA9IDA7CisgICAgICAgIHZhciBuYW1lSW5kZXggPSAwOworICAgICAg
ICBkbyB7CisgICAgICAgICAgICBjb2x1bW5OdW1iZXIgKz0gdGhpcy5fZGVjb2RlVkxRKHN0cmlu
Z0NoYXJJdGVyYXRvcik7CisgICAgICAgICAgICBpZiAodGhpcy5faXNTZXBhcmF0b3Ioc3RyaW5n
Q2hhckl0ZXJhdG9yLnBlZWsoKSkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
ICAgICBzb3VyY2VJbmRleCArPSB0aGlzLl9kZWNvZGVWTFEoc3RyaW5nQ2hhckl0ZXJhdG9yKTsK
KyAgICAgICAgICAgIHNvdXJjZUxpbmVOdW1iZXIgKz0gdGhpcy5fZGVjb2RlVkxRKHN0cmluZ0No
YXJJdGVyYXRvcik7CisgICAgICAgICAgICBzb3VyY2VDb2x1bW5OdW1iZXIgKz0gdGhpcy5fZGVj
b2RlVkxRKHN0cmluZ0NoYXJJdGVyYXRvcik7CisgICAgICAgICAgICB2YXIgbWFwcGluZyA9IFts
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZUluZGV4LCBzb3VyY2VMaW5lTnVtYmVyLCBz
b3VyY2VDb2x1bW5OdW1iZXJdOworICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1NlcGFyYXRvcihz
dHJpbmdDaGFySXRlcmF0b3IucGVlaygpKSkgeworICAgICAgICAgICAgICAgIG5hbWVJbmRleCAr
PSB0aGlzLl9kZWNvZGVWTFEoc3RyaW5nQ2hhckl0ZXJhdG9yKTsKKyAgICAgICAgICAgICAgICBt
YXBwaW5nLnB1c2gobmFtZUluZGV4KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1hcHBp
bmdzLnB1c2gobWFwcGluZyk7CisgICAgICAgICAgICBpZiAoc3RyaW5nQ2hhckl0ZXJhdG9yLm5l
eHQoKSA9PT0gIjsiKSB7CisgICAgICAgICAgICAgICAgbGluZU51bWJlciArPSAxOworICAgICAg
ICAgICAgICAgIGNvbHVtbk51bWJlciA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hp
bGUoc3RyaW5nQ2hhckl0ZXJhdG9yLmhhc05leHQoKSk7CisgICAgICAgIHJldHVybiBtYXBwaW5n
czsKKyAgICB9LAorCisgICAgX2lzU2VwYXJhdG9yOiBmdW5jdGlvbihjaGFyKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGNoYXIgPT09ICIsIiB8fCBjaGFyID09PSAiOyI7CisgICAgfSwKKworICAg
IF9kZWNvZGVWTFE6IGZ1bmN0aW9uKHN0cmluZ0NoYXJJdGVyYXRvcikKKyAgICB7CisgICAgICAg
IC8vIFJlYWQgdW5zaWduZWQgdmFsdWUuCisgICAgICAgIHZhciByZXN1bHQgPSAwOworICAgICAg
ICB2YXIgc2hpZnQgPSAwOworICAgICAgICBkbyB7CisgICAgICAgICAgICB2YXIgZGlnaXQgPSB0
aGlzLl9iYXNlNjRNYXBbc3RyaW5nQ2hhckl0ZXJhdG9yLm5leHQoKV07CisgICAgICAgICAgICBy
ZXN1bHQgKz0gKGRpZ2l0ICYgdGhpcy5fVkxRX0JBU0VfTUFTSykgPDwgc2hpZnQ7CisgICAgICAg
ICAgICBzaGlmdCArPSB0aGlzLl9WTFFfQkFTRV9TSElGVDsKKyAgICAgICAgfSB3aGlsZSAoZGln
aXQgJiB0aGlzLl9WTFFfQ09OVElOVUFUSU9OX01BU0spOworCisgICAgICAgIC8vIEZpeCB0aGUg
c2lnbi4KKyAgICAgICAgdmFyIG5lZ2F0aXZlID0gcmVzdWx0ICYgMTsKKyAgICAgICAgcmVzdWx0
ID4+PSAxOworICAgICAgICByZXR1cm4gbmVnYXRpdmUgPyAtcmVzdWx0IDogcmVzdWx0OworICAg
IH0sCisKKyAgICBfVkxRX0JBU0VfU0hJRlQ6IDUsCisgICAgX1ZMUV9CQVNFX01BU0s6ICgxIDw8
IDUpIC0gMSwKKyAgICBfVkxRX0NPTlRJTlVBVElPTl9NQVNLOiAxIDw8IDUKK30KKworLyoqCisg
KiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1h
cHBpbmcuU3RyaW5nQ2hhckl0ZXJhdG9yID0gZnVuY3Rpb24oc3RyaW5nKQoreworICAgIHRoaXMu
X3N0cmluZyA9IHN0cmluZzsKKyAgICB0aGlzLl9wb3NpdGlvbiA9IDA7Cit9CisKK1dlYkluc3Bl
Y3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLlN0cmluZ0NoYXJJdGVyYXRvci5wcm90
b3R5cGUgPSB7CisgICAgbmV4dDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX3N0cmluZy5jaGFyQXQodGhpcy5fcG9zaXRpb24rKyk7CisgICAgfSwKKworICAgIHBlZWs6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9zdHJpbmcuY2hhckF0KHRo
aXMuX3Bvc2l0aW9uKTsKKyAgICB9LAorCisgICAgaGFzTmV4dDogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uIDwgdGhpcy5fc3RyaW5nLmxlbmd0aDsKKyAg
ICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMK
aW5kZXggYTIzOGUyNjE2NTIyMzBiYWNkOTRjNTE3MGI5ODUwMzI5NWVkYWY4ZS4uMDdhYzdjNGE2
MTVkODgwNmZkNDQwZDIyNDZlODQ2Njc5MjlhODZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtMTUsNiArMTUsNyBAQAogICAgIDxmaWxl
PkNhbGxTdGFja1NpZGViYXJQYW5lLmpzPC9maWxlPgogICAgIDxmaWxlPkNoZWNrYm94LmpzPC9m
aWxlPgogICAgIDxmaWxlPkNvbG9yLmpzPC9maWxlPgorICAgIDxmaWxlPkNvbXBpbGVyU291cmNl
TWFwcGluZy5qczwvZmlsZT4KICAgICA8ZmlsZT5Db25zb2xlTWVzc2FnZS5qczwvZmlsZT4KICAg
ICA8ZmlsZT5Db25zb2xlTW9kZWwuanM8L2ZpbGU+CiAgICAgPGZpbGU+Q29uc29sZVBhbmVsLmpz
PC9maWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWwKaW5kZXggN2FmMDA0NmNhMzYwMjgyYTQ2MjUzZTgxYTU2MzBkOGU4Mjg3MmZkZC4u
ZDJjMjE2N2EyYWE0OTMxZjU2ZWYxNmZlOTZiZGFkZmI3NTJiMDg2MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC0xNjEsNiAr
MTYxLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJCcmVha3BvaW50TWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iVUlTb3VyY2VDb2RlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3VyY2VGaWxlLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb21waWxlclNvdXJjZU1hcHBp
bmcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkRPTUFnZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJUaW1lbGluZUFnZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGluZVBhbmVsLmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106346</attachid>
            <date>2011-09-05 10:38:40 -0700</date>
            <delta_ts>2011-09-05 23:40:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67205-20110905213838.patch</filename>
            <type>text/plain</type>
            <size>15203</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ1MzMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZTMwOTk2Nzg2OWJjZTg1ZDM3YTll
ZTQzM2EwNDU5YTg5M2VlZGY1Li4wOWFiMTdjYTEwMjUzNGViM2MyMjM3MjZjNjQxZGFhNzdjMGEw
MDAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMzAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVt
ZW50IHNvdXJjZSBtYXAgdjMgY29uc3VtZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbXBpbGVyLXNvdXJjZS1t
YXBwaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2Vy
L2NvbXBpbGVyLXNvdXJjZS1tYXBwaW5nLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5LTA1ICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nIC0gbW92ZSBleHBlY3RhdGlvbiB0byB0aGUgY29ycmVjdCBwbGFjZS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21waWxlci1zb3VyY2Ut
bWFwcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29t
cGlsZXItc291cmNlLW1hcHBpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5ZTQ5ZmE0ZWFi
Y2Q4YmY2YmQxZmViYzFjZTBiNWE5NjNiMWQ1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tcGlsZXItc291cmNlLW1hcHBpbmctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy4K
KworCitSdW5uaW5nOiB0ZXN0U2ltcGxlTWFwcGluZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tcGlsZXItc291cmNlLW1hcHBpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21waWxlci1zb3VyY2UtbWFwcGluZy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRhNDVmNzAyMjZhM2Y4NjEzYjNlZGE5NjJjNDBjMjZjOTQ2YmIwM2UKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tcGlsZXItc291
cmNlLW1hcHBpbmcuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gY2hl
Y2tNYXBwaW5nKGNvbXBpbGVkTGluZU51bWJlciwgY29tcGlsZWRDb2x1bW5OdW1iZXIsIHNvdXJj
ZVVSTCwgc291cmNlTGluZU51bWJlciwgc291cmNlQ29sdW1uTnVtYmVyLCBtYXBwaW5nKQorICAg
IHsKKyAgICAgICAgdmFyIHNvdXJjZUxvY2F0aW9uID0gbWFwcGluZy5jb21waWxlZExvY2F0aW9u
VG9Tb3VyY2VMb2NhdGlvbihjb21waWxlZExpbmVOdW1iZXIsIGNvbXBpbGVkQ29sdW1uTnVtYmVy
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoc291cmNlVVJMLCBzb3VyY2VM
b2NhdGlvbi5zb3VyY2VVUkwpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhz
b3VyY2VMaW5lTnVtYmVyLCBzb3VyY2VMb2NhdGlvbi5saW5lTnVtYmVyKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoc291cmNlQ29sdW1uTnVtYmVyLCBzb3VyY2VMb2NhdGlv
bi5jb2x1bW5OdW1iZXIpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRl
KFsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNpbXBsZU1hcHBpbmcobmV4dCkKKyAgICAgICAgewor
ICAgICAgICAgICAgLy8gZXhhbXBsZS5qczoKKyAgICAgICAgICAgIC8vIDAgICAgICAgICAxICAg
ICAgICAgMiAgICAgICAgIDMKKyAgICAgICAgICAgIC8vIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy
MzQ1Njc4OTAxMjM0NQorICAgICAgICAgICAgLy8gZnVuY3Rpb24gYWRkKHZhcmlhYmxlX3gsIHZh
cmlhYmxlX3kpCisgICAgICAgICAgICAvLyB7CisgICAgICAgICAgICAvLyAgICAgcmV0dXJuIHZh
cmlhYmxlX3ggKyB2YXJpYWJsZV95OworICAgICAgICAgICAgLy8gfQorICAgICAgICAgICAgLy8g
ZXhhbXBsZS1jb21waWxlZC5qczoKKyAgICAgICAgICAgIC8vIDAgICAgICAgICAxICAgICAgICAg
MiAgICAgICAgIDMKKyAgICAgICAgICAgIC8vIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4
OTAxMjM0NQorICAgICAgICAgICAgLy8gZnVuY3Rpb24gYWRkKGEsYil7cmV0dXJuIGErYn07Cisg
ICAgICAgICAgICB2YXIgbWFwcGluZ1BheWxvYWQgPSB7CisgICAgICAgICAgICAgICAgIm1hcHBp
bmdzIjoiQUFBU0EsUUFBQUEsSUFBRyxDQUFDQyxDQUFELENBQWFDLENBQWIsQ0FDWixDQUNJLE1B
QU9ELEVBQVAsQ0FBb0JDLENBRHhCOyIsCisgICAgICAgICAgICAgICAgInNvdXJjZXMiOlsiZXhh
bXBsZS5qcyJdCisgICAgICAgICAgICB9OworICAgICAgICAgICAgdmFyIG1hcHBpbmcgPSBuZXcg
V2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcobWFwcGluZ1BheWxvYWQp
OworICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDksICJleGFtcGxlLmpzIiwgMCwgOSwgbWFw
cGluZyk7CisgICAgICAgICAgICBjaGVja01hcHBpbmcoMCwgMTMsICJleGFtcGxlLmpzIiwgMCwg
MTMsIG1hcHBpbmcpOworICAgICAgICAgICAgY2hlY2tNYXBwaW5nKDAsIDE1LCAiZXhhbXBsZS5q
cyIsIDAsIDI1LCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAxOCwgImV4
YW1wbGUuanMiLCAyLCA0LCBtYXBwaW5nKTsKKyAgICAgICAgICAgIGNoZWNrTWFwcGluZygwLCAy
NSwgImV4YW1wbGUuanMiLCAyLCAxMSwgbWFwcGluZyk7CisgICAgICAgICAgICBjaGVja01hcHBp
bmcoMCwgMjcsICJleGFtcGxlLmpzIiwgMiwgMjQsIG1hcHBpbmcpOworICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICB9CisgICAgXSk7Cit9OworCis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBDbG9zdXJlQ29tcGlsZXJTb3VyY2VN
YXBwaW5nLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NmM2N2NiNTM4ODI5
ODVhMzY5ODljMTg1NjdmZjlmZGI1M2MwMzk1Li5lZTA3Yzg4MzgzYmJhN2UyOThhOGU0MmU3MmMy
ZjBmNzY4YWZhMjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDgtMzAgIFBh
dmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogaW1wbGVtZW50IHNvdXJjZSBtYXAgdjMgY29uc3VtZXIuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kZWJ1Z2dl
ci9jb21waWxlci1zb3VyY2UtbWFwcGluZy5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanM6IEFkZGVkLgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZyk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5jb21waWxlZExvY2F0aW9uVG9T
b3VyY2VMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBw
aW5nLnByb3RvdHlwZS5zb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5nZXQgc291cmNl
cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90
b3R5cGUuY29tcGlsZWRMb2NhdGlvblRvU291cmNlTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90eXBlLnNvdXJjZUxvY2F0
aW9uVG9Db21waWxlZExvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DbG9zdXJlQ29t
cGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5nZXQgc291cmNlcyk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUuX2ZpbmRNYXBw
aW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5n
LnByb3RvdHlwZS5fcGFyc2VQYXlsb2FkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DbG9zdXJl
Q29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5faXNTZXBhcmF0b3IpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcucHJvdG90eXBlLl9kZWNv
ZGVWTFEpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJjZU1hcHBp
bmcuU3RyaW5nQ2hhckl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DbG9zdXJlQ29t
cGlsZXJTb3VyY2VNYXBwaW5nLlN0cmluZ0NoYXJJdGVyYXRvci5wcm90b3R5cGUubmV4dCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5TdHJpbmdD
aGFySXRlcmF0b3IucHJvdG90eXBlLnBlZWspOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNsb3N1
cmVDb21waWxlclNvdXJjZU1hcHBpbmcuU3RyaW5nQ2hhckl0ZXJhdG9yLnByb3RvdHlwZS5oYXNO
ZXh0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAxMS0wOS0wMiAgUGF2
ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiByZW5hbWUgUmF3U291cmNlQ29kZS5yZWxvYWQgdG8gY29udGVudEVkaXRlZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCAwZTY1OTBmY2NlZGE5MWIyMjUyOGExMjRlNWNmZThkOTZlYTZhYWYy
Li43NDc5ZTY1NGFjNWUxMDhmNzI2ZTI2NTgyNGYxNzcxNThjZDRkYmU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC02MzA5LDYgKzYzMDksNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvQ2hlY2tib3guanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvQ29s
b3IuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VN
YXBwaW5nLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNz
YWdlLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNb2RlbC5q
cycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlUGFuZWwuanMnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBkZmNk
YWIyNDZhNDRmNzdlNWEyOTBjM2UyNDZmMjg2MTdhYjliZTU4Li5jMmU4YjBmMDM5NDIxNTIzNjk1
OWJmZDk4YmEzY2M3Mjc2NjA1OGMyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNjg3ODksNiArNjg3ODksMTAgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxDb25zb2xlTWVz
c2FnZS5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNvdXJjZU1hcHBpbmcuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzBjYTEyMjY0ZWNhYTc3OGZlMTUxZDVjNjQxMmJjZWNjMDJjZWRkZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTb3Vy
Y2VNYXBwaW5nLmpzCkBAIC0wLDAgKzEsMTkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLwor
V2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZyA9IGZ1bmN0aW9uKCkKK3sKK30KKwor
V2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CisgICAgY29t
cGlsZWRMb2NhdGlvblRvU291cmNlTG9jYXRpb246IGZ1bmN0aW9uKGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlcikKKyAgICB7CisgICAgICAgIC8vIFNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBzdWJj
bGFzc2VzLgorICAgIH0sCisKKyAgICBzb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbjog
ZnVuY3Rpb24oc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCisgICAgeworICAg
ICAgICAvLyBTaG91bGQgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KKyAgICB9LAorCisg
ICAgc291cmNlczogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgLy8gU2hvdWxkIGJlIGltcGxl
bWVudGVkIGJ5IHN1YmNsYXNzZXMuCisgICAgfQorfQorCisvKioKKyAqIEBleHRlbmRzIHtXZWJJ
bnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nfQorICogQGNvbnN0cnVjdG9yCisgKi8KK1dl
Ykluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nID0gZnVuY3Rpb24ocGF5bG9h
ZCkKK3sKKyAgICAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMgU291cmNlIE1hcCBWMyBjb25zdW1l
ci4gU291cmNlIE1hcCBWMyBmb3JtYXQgaXMgZGVzY3JpYmVkCisgICAgLy8gaGVyZSBodHRwOi8v
Y29kZS5nb29nbGUuY29tL3AvY2xvc3VyZS1jb21waWxlci93aWtpL1NvdXJjZU1hcHMuCisgICAg
aWYgKCFXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5wcm90b3R5cGUu
X2Jhc2U2NE1hcCkgeworICAgICAgICBiYXNlNjREaWdpdHMgPSAiQUJDREVGR0hJSktMTU5PUFFS
U1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CisgICAgICAg
IFdlYkluc3BlY3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5fYmFz
ZTY0TWFwID0ge307CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmFzZTY0RGlnaXRzLmxl
bmd0aDsgKytpKQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkNsb3N1cmVDb21waWxlclNvdXJj
ZU1hcHBpbmcucHJvdG90eXBlLl9iYXNlNjRNYXBbYmFzZTY0RGlnaXRzLmNoYXJBdChpKV0gPSBp
OworICAgIH0KKworICAgIHRoaXMuX3NvdXJjZXMgPSBwYXlsb2FkLnNvdXJjZXM7CisgICAgdGhp
cy5fbWFwcGluZ3MgPSB0aGlzLl9wYXJzZVBheWxvYWQocGF5bG9hZCk7Cit9CisKK1dlYkluc3Bl
Y3Rvci5DbG9zdXJlQ29tcGlsZXJTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKKyAgICBjb21w
aWxlZExvY2F0aW9uVG9Tb3VyY2VMb2NhdGlvbjogZnVuY3Rpb24obGluZU51bWJlciwgY29sdW1u
TnVtYmVyKQorICAgIHsKKyAgICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9maW5kTWFwcGluZyhs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgICAgICB2YXIgc291cmNlVVJMID0gdGhpcy5f
c291cmNlc1ttYXBwaW5nWzJdXTsKKyAgICAgICAgcmV0dXJuIHsgc291cmNlVVJMOiBzb3VyY2VV
UkwsIGxpbmVOdW1iZXI6IG1hcHBpbmdbM10sIGNvbHVtbk51bWJlcjogbWFwcGluZ1s0XSB9Owor
ICAgIH0sCisKKyAgICBzb3VyY2VMb2NhdGlvblRvQ29tcGlsZWRMb2NhdGlvbjogZnVuY3Rpb24o
c291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCisgICAgeworICAgIH0sCisKKyAg
ICBzb3VyY2VzOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fc291cmNl
czsKKyAgICB9LAorCisgICAgX2ZpbmRNYXBwaW5nOiBmdW5jdGlvbihsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIpCisgICAgeworICAgICAgICB2YXIgZmlyc3QgPSAwOworICAgICAgICB2YXIgY291
bnQgPSB0aGlzLl9tYXBwaW5ncy5sZW5ndGg7CisgICAgICAgIHdoaWxlIChjb3VudCA+IDEpIHsK
KyAgICAgICAgICB2YXIgc3RlcCA9IGNvdW50ID4+IDE7CisgICAgICAgICAgdmFyIG1pZGRsZSA9
IGZpcnN0ICsgc3RlcDsKKyAgICAgICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX21hcHBpbmdzW21p
ZGRsZV07CisgICAgICAgICAgaWYgKGxpbmVOdW1iZXIgPCBtYXBwaW5nWzBdIHx8IChsaW5lTnVt
YmVyID09IG1hcHBpbmdbMF0gJiYgY29sdW1uTnVtYmVyIDwgbWFwcGluZ1sxXSkpCisgICAgICAg
ICAgICAgIGNvdW50ID0gc3RlcDsKKyAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgZmly
c3QgPSBtaWRkbGU7CisgICAgICAgICAgICAgIGNvdW50IC09IHN0ZXA7CisgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIHJldHVybiB0aGlzLl9tYXBwaW5nc1tmaXJzdF07CisgICAgfSwK
KworICAgIF9wYXJzZVBheWxvYWQ6IGZ1bmN0aW9uKHBheWxvYWQpCisgICAgeworICAgICAgICB2
YXIgbWFwcGluZ3MgPSBbXTsKKyAgICAgICAgdmFyIHN0cmluZ0NoYXJJdGVyYXRvciA9IG5ldyBX
ZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5TdHJpbmdDaGFySXRlcmF0
b3IocGF5bG9hZC5tYXBwaW5ncyk7CisKKyAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSAwOworICAg
ICAgICB2YXIgY29sdW1uTnVtYmVyID0gMDsKKyAgICAgICAgdmFyIHNvdXJjZUluZGV4ID0gMDsK
KyAgICAgICAgdmFyIHNvdXJjZUxpbmVOdW1iZXIgPSAwOworICAgICAgICB2YXIgc291cmNlQ29s
dW1uTnVtYmVyID0gMDsKKyAgICAgICAgdmFyIG5hbWVJbmRleCA9IDA7CisgICAgICAgIGRvIHsK
KyAgICAgICAgICAgIGNvbHVtbk51bWJlciArPSB0aGlzLl9kZWNvZGVWTFEoc3RyaW5nQ2hhckl0
ZXJhdG9yKTsKKyAgICAgICAgICAgIGlmICh0aGlzLl9pc1NlcGFyYXRvcihzdHJpbmdDaGFySXRl
cmF0b3IucGVlaygpKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHNv
dXJjZUluZGV4ICs9IHRoaXMuX2RlY29kZVZMUShzdHJpbmdDaGFySXRlcmF0b3IpOworICAgICAg
ICAgICAgc291cmNlTGluZU51bWJlciArPSB0aGlzLl9kZWNvZGVWTFEoc3RyaW5nQ2hhckl0ZXJh
dG9yKTsKKyAgICAgICAgICAgIHNvdXJjZUNvbHVtbk51bWJlciArPSB0aGlzLl9kZWNvZGVWTFEo
c3RyaW5nQ2hhckl0ZXJhdG9yKTsKKyAgICAgICAgICAgIHZhciBtYXBwaW5nID0gW2xpbmVOdW1i
ZXIsIGNvbHVtbk51bWJlciwgc291cmNlSW5kZXgsIHNvdXJjZUxpbmVOdW1iZXIsIHNvdXJjZUNv
bHVtbk51bWJlcl07CisgICAgICAgICAgICBpZiAoIXRoaXMuX2lzU2VwYXJhdG9yKHN0cmluZ0No
YXJJdGVyYXRvci5wZWVrKCkpKSB7CisgICAgICAgICAgICAgICAgbmFtZUluZGV4ICs9IHRoaXMu
X2RlY29kZVZMUShzdHJpbmdDaGFySXRlcmF0b3IpOworICAgICAgICAgICAgICAgIG1hcHBpbmcu
cHVzaChuYW1lSW5kZXgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbWFwcGluZ3MucHVz
aChtYXBwaW5nKTsKKyAgICAgICAgICAgIGlmIChzdHJpbmdDaGFySXRlcmF0b3IubmV4dCgpID09
PSAiOyIpIHsKKyAgICAgICAgICAgICAgICBsaW5lTnVtYmVyICs9IDE7CisgICAgICAgICAgICAg
ICAgY29sdW1uTnVtYmVyID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSB3aGlsZShzdHJp
bmdDaGFySXRlcmF0b3IuaGFzTmV4dCgpKTsKKyAgICAgICAgcmV0dXJuIG1hcHBpbmdzOworICAg
IH0sCisKKyAgICBfaXNTZXBhcmF0b3I6IGZ1bmN0aW9uKGNoYXIpCisgICAgeworICAgICAgICBy
ZXR1cm4gY2hhciA9PT0gIiwiIHx8IGNoYXIgPT09ICI7IjsKKyAgICB9LAorCisgICAgX2RlY29k
ZVZMUTogZnVuY3Rpb24oc3RyaW5nQ2hhckl0ZXJhdG9yKQorICAgIHsKKyAgICAgICAgLy8gUmVh
ZCB1bnNpZ25lZCB2YWx1ZS4KKyAgICAgICAgdmFyIHJlc3VsdCA9IDA7CisgICAgICAgIHZhciBz
aGlmdCA9IDA7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHZhciBkaWdpdCA9IHRoaXMuX2Jh
c2U2NE1hcFtzdHJpbmdDaGFySXRlcmF0b3IubmV4dCgpXTsKKyAgICAgICAgICAgIHJlc3VsdCAr
PSAoZGlnaXQgJiB0aGlzLl9WTFFfQkFTRV9NQVNLKSA8PCBzaGlmdDsKKyAgICAgICAgICAgIHNo
aWZ0ICs9IHRoaXMuX1ZMUV9CQVNFX1NISUZUOworICAgICAgICB9IHdoaWxlIChkaWdpdCAmIHRo
aXMuX1ZMUV9DT05USU5VQVRJT05fTUFTSyk7CisKKyAgICAgICAgLy8gRml4IHRoZSBzaWduLgor
ICAgICAgICB2YXIgbmVnYXRpdmUgPSByZXN1bHQgJiAxOworICAgICAgICByZXN1bHQgPj49IDE7
CisgICAgICAgIHJldHVybiBuZWdhdGl2ZSA/IC1yZXN1bHQgOiByZXN1bHQ7CisgICAgfSwKKwor
ICAgIF9WTFFfQkFTRV9TSElGVDogNSwKKyAgICBfVkxRX0JBU0VfTUFTSzogKDEgPDwgNSkgLSAx
LAorICAgIF9WTFFfQ09OVElOVUFUSU9OX01BU0s6IDEgPDwgNQorfQorCisvKioKKyAqIEBjb25z
dHJ1Y3RvcgorICovCitXZWJJbnNwZWN0b3IuQ2xvc3VyZUNvbXBpbGVyU291cmNlTWFwcGluZy5T
dHJpbmdDaGFySXRlcmF0b3IgPSBmdW5jdGlvbihzdHJpbmcpCit7CisgICAgdGhpcy5fc3RyaW5n
ID0gc3RyaW5nOworICAgIHRoaXMuX3Bvc2l0aW9uID0gMDsKK30KKworV2ViSW5zcGVjdG9yLkNs
b3N1cmVDb21waWxlclNvdXJjZU1hcHBpbmcuU3RyaW5nQ2hhckl0ZXJhdG9yLnByb3RvdHlwZSA9
IHsKKyAgICBuZXh0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fc3Ry
aW5nLmNoYXJBdCh0aGlzLl9wb3NpdGlvbisrKTsKKyAgICB9LAorCisgICAgcGVlazogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmluZy5jaGFyQXQodGhpcy5fcG9z
aXRpb24pOworICAgIH0sCisKKyAgICBoYXNOZXh0OiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fcG9zaXRpb24gPCB0aGlzLl9zdHJpbmcubGVuZ3RoOworICAgIH0KK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFy
YyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCBh
MjM4ZTI2MTY1MjIzMGJhY2Q5NGM1MTcwYjk4NTAzMjk1ZWRhZjhlLi4wN2FjN2M0YTYxNWQ4ODA2
ZmQ0NDBkMjI0NmU4NDY2NzkyOWE4NmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC0xNSw2ICsxNSw3IEBACiAgICAgPGZpbGU+Q2FsbFN0
YWNrU2lkZWJhclBhbmUuanM8L2ZpbGU+CiAgICAgPGZpbGU+Q2hlY2tib3guanM8L2ZpbGU+CiAg
ICAgPGZpbGU+Q29sb3IuanM8L2ZpbGU+CisgICAgPGZpbGU+Q29tcGlsZXJTb3VyY2VNYXBwaW5n
LmpzPC9maWxlPgogICAgIDxmaWxlPkNvbnNvbGVNZXNzYWdlLmpzPC9maWxlPgogICAgIDxmaWxl
PkNvbnNvbGVNb2RlbC5qczwvZmlsZT4KICAgICA8ZmlsZT5Db25zb2xlUGFuZWwuanM8L2ZpbGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bAppbmRleCA3YWYwMDQ2Y2EzNjAyODJhNDYyNTNlODFhNTYzMGQ4ZTgyODcyZmRkLi5kMmMyMTY3
YTJhYTQ5MzFmNTZlZjE2ZmU5NmJkYWRmYjc1MmIwODYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTE2MSw2ICsxNjEsNyBA
QCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkJyZWFr
cG9pbnRNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJVSVNvdXJjZUNvZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJjZUZpbGUuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbXBpbGVyU291cmNlTWFwcGluZy5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRE9NQWdl
bnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IlRpbWVsaW5lQWdlbnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IlRpbWVsaW5lUGFuZWwuanMiPjwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="102751"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>