<?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>30273</bug_id>
          
          <creation_ts>2009-10-10 02:24:15 -0700</creation_ts>
          <short_desc>REGRESSION: Dromaeo DOM test is 14% slower</short_desc>
          <delta_ts>2009-10-20 11:17:27 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dromaeo.com/?id=75494,75493</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Smith">catfish.man</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>darin</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>jens</cc>
    
    <cc>levin</cc>
    
    <cc>mjs</cc>
    
    <cc>mrowe</cc>
    
    <cc>oliver</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153855</commentid>
    <comment_count>0</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2009-10-10 02:24:15 -0700</bug_when>
    <thetext>The URL is comparing the result of running dromaeo.com/?dom on stock Safari 4.0.3 and Safari 4.0.3 + r49412, with the nightly build coming in significantly behind. 2.4GHz/2GB MacBook running 10.6.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153858</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-10-10 02:29:28 -0700</bug_when>
    <thetext>The cited link shows a 14% regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153877</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-10-10 08:27:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/7292968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154064</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-12 07:58:04 -0700</bug_when>
    <thetext>Brian Weinstein tells me that some of the slowdown is from the recent changes to lower() although I don&apos;t know the details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154091</commentid>
    <comment_count>4</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-12 09:41:15 -0700</bug_when>
    <thetext>I&apos;d like to see any profiling data, preferably with backtraces, that implicates lower(). There&apos;s certainly potential for the optimization I made to backfire if there are huge numbers of non-no-op calls to that method; I just wasn&apos;t seeing many such calls when I was profiling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154095</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-12 10:00:14 -0700</bug_when>
    <thetext>Jens, our primary technique is actually narrowing down which revision caused the performance change. We typically don&apos;t start profiling until we have pinpointed the revision number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154121</commentid>
    <comment_count>6</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-12 11:57:46 -0700</bug_when>
    <thetext>OK. Just now I ran the core DOM tests on r49402 and r49403 (just before and after my StringImpl::lower change), and found a 1.5% speedup.

I also did some profiling and saw StringImpl::isLower showing up in some of the tests; the patch I&apos;m working on right now (bug 30261) eliminates those tests, which will help slightly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154123</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-12 11:59:36 -0700</bug_when>
    <thetext>Brian, let us know when you&apos;ve pinpointed which revisions caused the slowdown.

Here&apos;s hoping Jens&apos;s changes are not to blame. I suspect they may even provide a speedup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154124</commentid>
    <comment_count>8</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-12 12:03:11 -0700</bug_when>
    <thetext>I had a 10.8% regression between 4.0.3 and revision 49414 on my machine. I was able to track down an 8-9% regression between revisions 48316 and 48351, and I will comment again when I have it down to the exact revision/revision + build fixes around it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154143</commentid>
    <comment_count>9</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-12 13:02:20 -0700</bug_when>
    <thetext>Here are my results after testing on Mac:

4.0.3: 670.73 runs/second

r48325: 671.44 runs/second
r48330: 663.40 runs/second
r48334: 613.25 runs/second

Tip of Tree (r49414): 598.18 runs/second

It looks like there is a slight regression between r48325 and r48330, and a big regression between 48330 and 48334. 

However, the mac doesn&apos;t have any builds between these two revisions, so I will move over to Windows to see if I can reproduce the regressions there, and get an exact revision number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154144</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-12 13:06:46 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; a big regression between 48330 and 48334. 

That points to &lt;http://trac.webkit.org/changeset/48331&gt; then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154145</commentid>
    <comment_count>11</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-12 13:10:02 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; a big regression between 48330 and 48334. 
&gt; 
&gt; That points to &lt;http://trac.webkit.org/changeset/48331&gt; then.

That was my guess, but I&apos;m going to verify on Windows to double check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154150</commentid>
    <comment_count>12</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-12 13:34:26 -0700</bug_when>
    <thetext>I confirmed that this is also a regression on Windows, and that it is from http://trac.webkit.org/changeset/48331, assigning to Oliver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154152</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-12 13:46:00 -0700</bug_when>
    <thetext>Brian: So if that’s 8% of the regression, we still have a significant regression to track down. Over 5%, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154154</commentid>
    <comment_count>14</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-12 13:48:10 -0700</bug_when>
    <thetext>I never saw 14%, so in my tests, there&apos;s about 2-3% of the regression that still needs to be spoken for, but I&apos;ll take a look at that later today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154957</commentid>
    <comment_count>15</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2009-10-15 17:28:29 -0700</bug_when>
    <thetext>Tracked dow the rest of this.  There was a 4.5% regression from &lt;http://trac.webkit.org/changeset/49409&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156046</commentid>
    <comment_count>16</comment_count>
      <attachid>41477</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-19 20:55:35 -0700</bug_when>
    <thetext>Created attachment 41477
Make the DOM bindings use StructureFlags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156048</commentid>
    <comment_count>17</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-19 21:06:03 -0700</bug_when>
    <thetext>Am now adding logging to see what cases we&apos;re hitting where we believe things aren&apos;t cachable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156049</commentid>
    <comment_count>18</comment_count>
      <attachid>41477</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-19 21:06:43 -0700</bug_when>
    <thetext>Comment on attachment 41477
Make the DOM bindings use StructureFlags

Landed in r49835</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156084</commentid>
    <comment_count>19</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-19 23:58:27 -0700</bug_when>
    <thetext>Accidentally removed important part of that patch, with it actually present the regression caused by r48331 goes away.

Fixed in r49841.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156192</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-20 10:43:18 -0700</bug_when>
    <thetext>Why is this marked fixed if there was a 4.5% regression from &lt;http://trac.webkit.org/changeset/49409&gt;? Was that fixed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156214</commentid>
    <comment_count>21</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-20 11:17:27 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Why is this marked fixed if there was a 4.5% regression from
&gt; &lt;http://trac.webkit.org/changeset/49409&gt;? Was that fixed?

That was almost certainly due to Geoff disabling the JIT in that revision (&lt;http://trac.webkit.org/changeset/49409/trunk/JavaScriptCore/wtf/Platform.h&gt;).It was reenabled shortly after.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41477</attachid>
            <date>2009-10-19 20:55:35 -0700</date>
            <delta_ts>2009-10-19 21:06:43 -0700</delta_ts>
            <desc>Make the DOM bindings use StructureFlags</desc>
            <filename>bug-30273-20091019205534.patch</filename>
            <type>text/plain</type>
            <size>20110</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTY3YWU0ZS4uMjY3ZjVmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAwOS0xMC0xOSAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJFR1JFU1NJT046IERyb21hZW8gRE9NIHRlc3QgaXMgMTQlIHNsb3dlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyNzMKKwor
ICAgICAgICBNYWtlIERPTSBiaW5kaW5ncyBhdXRvbWF0aWNhbGx5IGluaGVyaXQgY29ycmVjdCBz
dHJ1Y3R1cmUKKyAgICAgICAgZmxhZ3MgcmF0aGVyIHRoYW4gYmVpbmcgbmVlZGxlc3NseSBjb25z
ZXJ2YXRpdmUuICBUaGlzIGlzCisgICAgICAgIGRvbmUgYnkgbWFraW5nIHRoZSBiaW5kaW5ncyBn
ZW5lcmF0b3IgdXNlIHRoZSBzYW1lIG1vZGVsCisgICAgICAgIGZvciBUeXBlSW5mbyBmbGFncyB0
aGF0IHdlIG5vdyB1c2UgaW4gSlNDLgorCisgICAgICAgIFRoaXMgZ2FpbnMgdXMgYWJvdXQgMSUg
b2YgdGhpcyByZWdyZXNzaW9uIGJhY2suCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJp
bmRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTU9iamVjdFdpdGhHbG9iYWxQb2ludGVyOjpj
cmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NQ29uc3RydWN0b3JPYmplY3Q6
OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVs
bC5oOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dTaGVsbDo6Y3JlYXRlU3RydWN0dXJl
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0aW9uLmg6CisgICAgICAg
IChXZWJDb3JlOjpKU0hUTUxBbGxDb2xsZWN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTUXVhcmFudGluZWRPYmplY3RXcmFwcGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpKU1F1YXJhbnRpbmVkT2JqZWN0V3JhcHBlcjo6Y3JlYXRlU3RydWN0dXJlKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBi
cmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6Ok9iamNG
YWxsYmFja09iamVjdEltcDo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAgICAgKiBicmlkZ2UvcnVu
dGltZV9hcnJheS5oOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmNyZWF0ZVN0cnVjdHVy
ZSk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmg6CisgICAgICAgIChKU0M6OlJ1
bnRpbWVNZXRob2Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVf
b2JqZWN0Lmg6CisgICAgICAgIChKU0M6OlJ1bnRpbWVPYmplY3RJbXA6OmNyZWF0ZVN0cnVjdHVy
ZSk6CisKIDIwMDktMTAtMTkgIFJvYmluIFFpdSAgPHJvYmluLnFpdUB0b3JjaG1vYmlsZS5jb20u
Y24+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmgKaW5kZXggYWI2N2M2Mi4uOWFmNDVkNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5oCkBAIC03NiwxMCArNzYsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1
cmUoSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IEpTQzo6U3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2Jq
ZWN0VHlwZSwgSlNDOjpPdmVycmlkZXNNYXJrQ2hpbGRyZW4pKTsKKyAgICAgICAgICAgIHJldHVy
biBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9i
amVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoK
KyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNDOjpPdmVy
cmlkZXNNYXJrQ2hpbGRyZW4gfCBET01PYmplY3Q6OlN0cnVjdHVyZUZsYWdzOworCiAgICAgICAg
IERPTU9iamVjdFdpdGhHbG9iYWxQb2ludGVyKE5vbk51bGxQYXNzUmVmUHRyPEpTQzo6U3RydWN0
dXJlPiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAg
ICAgICA6IERPTU9iamVjdChzdHJ1Y3R1cmUpCiAgICAgICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0
KGdsb2JhbE9iamVjdCkKQEAgLTEwNiwxMCArMTA4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPiBj
cmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBKU0M6OlR5cGVJ
bmZvKEpTQzo6T2JqZWN0VHlwZSwgSlNDOjpJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBKU0M6Ok92
ZXJyaWRlc01hcmtDaGlsZHJlbikpOworICAgICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUocHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0
dXJlRmxhZ3MpKTsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBKU0M6OkltcGxlbWVudHNIYXNJbnN0YW5j
ZSB8IEpTQzo6T3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwgRE9NT2JqZWN0V2l0aEdsb2JhbFBvaW50
ZXI6OlN0cnVjdHVyZUZsYWdzOwogICAgICAgICBET01Db25zdHJ1Y3Rvck9iamVjdChOb25OdWxs
UGFzc1JlZlB0cjxKU0M6OlN0cnVjdHVyZT4gc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogICAgICAgICAgICAgOiBET01PYmplY3RXaXRoR2xvYmFsUG9pbnRlcihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93U2hlbGwuaAppbmRleCBiMDRhNWMwLi4xYmIwOTM4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93U2hlbGwuaApAQCAtNjAsMTAgKzYwLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU0M6OlN0cnVjdHVyZT4gY3JlYXRlU3Ry
dWN0dXJlKEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpIAogICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlND
OjpPYmplY3RUeXBlLCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6T3Zl
cnJpZGVzTWFya0NoaWxkcmVuIHwgSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7IAor
ICAgICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBKU0M6
OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsgCiAgICAgICAgIH0K
IAogICAgIHByaXZhdGU6CisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlNDOjpPdmVycmlkZXNN
YXJrQ2hpbGRyZW4gfCBKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBET01PYmplY3Q6
OlN0cnVjdHVyZUZsYWdzOworCiAgICAgICAgIHZpcnR1YWwgdm9pZCBtYXJrQ2hpbGRyZW4oSlND
OjpNYXJrU3RhY2smKTsKICAgICAgICAgdmlydHVhbCBKU0M6OlVTdHJpbmcgY2xhc3NOYW1lKCkg
Y29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0
eVNsb3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVj
dGlvbi5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0aW9uLmgKaW5kZXgg
ODBiYmUzNS4uZGEzYTc1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxB
bGxDb2xsZWN0aW9uLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0
aW9uLmgKQEAgLTQyLDEwICs0MiwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8SlNDOjpTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpT
VmFsdWUgcHJvdG8pIAogICAgICAgICB7IAotICAgICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0
dXJlOjpjcmVhdGUocHJvdG8sIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBKU0M6Ok92
ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCB8
IEpTQzo6T3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwgSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5h
bWVzKSk7IAorICAgICAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUocHJvdG8s
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKICAgICAg
ICAgfQogCiAgICAgICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87CisgICAg
cHJvdGVjdGVkOgorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6TWFzcXVlcmFkZXNBc1Vu
ZGVmaW5lZCB8IEpTQzo6T3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwgSlNDOjpPdmVycmlkZXNHZXRQ
cm9wZXJ0eU5hbWVzIHwgSlNIVE1MQ29sbGVjdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKICAgICBw
cml2YXRlOgogICAgICAgICB2aXJ0dWFsIGJvb2wgdG9Cb29sZWFuKEpTQzo6RXhlY1N0YXRlKikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNRdWFyYW50aW5lZE9iamVjdFdyYXBwZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNRdWFy
YW50aW5lZE9iamVjdFdyYXBwZXIuaAppbmRleCAwYTJmNTdiLi45ZjYyNDk1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUXVhcmFudGluZWRPYmplY3RXcmFwcGVyLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1F1YXJhbnRpbmVkT2JqZWN0V3JhcHBlci5oCkBAIC00Nywx
MCArNDcsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEpTQzo6U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU1ZhbHVlIHByb3RvKSAK
ICAgICAgICAgeyAKLSAgICAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHBy
b3RvLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgSlNDOjpPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3QgfCBKU0M6OkltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEpTQzo6T3ZlcnJpZGVz
SGFzSW5zdGFuY2UgfCBKU0M6Ok92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IEpTQzo6T3ZlcnJpZGVz
R2V0UHJvcGVydHlOYW1lcykpOyAKKyAgICAgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6
Y3JlYXRlKHByb3RvLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpKTsgCiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNs
b3QgfCBKU0M6OkltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEpTQzo6T3ZlcnJpZGVzSGFzSW5zdGFu
Y2UgfCBKU0M6Ok92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IEpTQzo6T3ZlcnJpZGVzR2V0UHJvcGVy
dHlOYW1lcyB8IEpTQzo6SlNPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOworCiAgICAgICAgIEpTUXVh
cmFudGluZWRPYmplY3RXcmFwcGVyKEpTQzo6RXhlY1N0YXRlKiB1bndyYXBwZWRFeGVjLCBKU0M6
OkpTT2JqZWN0KiB1bndyYXBwZWRPYmplY3QsIE5vbk51bGxQYXNzUmVmUHRyPEpTQzo6U3RydWN0
dXJlPik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG1hcmtDaGlsZHJlbihKU0M6Ok1hcmtTdGFj
ayYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXgg
YjczZDJjZS4uYWZhMTJhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCkBAIC00NjMsNiArNDYzLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgbXkg
JGNsYXNzTmFtZSA9ICJKUyRpbnRlcmZhY2VOYW1lIjsKICAgICBteSAkaW1wbENsYXNzTmFtZSA9
ICRpbnRlcmZhY2VOYW1lOwogICAgIG15IEBhbmNlc3RvckludGVyZmFjZU5hbWVzID0gKCk7Cisg
ICAgbXkgJXN0cnVjdHVyZUZsYWdzID0gKCk7CiAKICAgICAjIFdlIG9ubHkgc3VwcG9ydCBtdWx0
aXBsZSBwYXJlbnRzIHdpdGggU1ZHIChmb3Igbm93KS4KICAgICBpZiAoQHskZGF0YU5vZGUtPnBh
cmVudHN9ID4gMSkgewpAQCAtNTc0LDYgKzU3NSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAg
ICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3QoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVy
dHlTbG90Jik7XG4iKSBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzSW5k
ZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21J
bmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc051bWVy
aWNJbmRleEdldHRlciJ9KSAmJiAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFz
T3ZlcnJpZGluZ05hbWVHZXR0ZXIifTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAg
ICBib29sIGdldE93blByb3BlcnR5U2xvdERlbGVnYXRlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiwgSlNDOjpQcm9wZXJ0eVNsb3QmKTtcbiIpIGlmICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRlbGVnYXRpbmdHZXRPd25Qcm9wZXJ0eVNsb3QifTsKICAg
ICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBib29sIGdldE93blByb3BlcnR5RGVzY3Jp
cHRvckRlbGVnYXRlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgSlND
OjpQcm9wZXJ0eURlc2NyaXB0b3ImKTtcbiIpIGlmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkRlbGVnYXRpbmdHZXRPd25Qcm9wZXJ0eVNsb3QifTsKKyAgICAgICAgJHN0cnVjdHVy
ZUZsYWdzeyJKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCJ9ID0gMTsKICAgICB9CiAK
ICAgICAjIENoZWNrIGlmIHdlIGhhdmUgYW55IHdyaXRhYmxlIHByb3BlcnRpZXMKQEAgLTYwMiwy
MSArNjA0LDIwIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiAgICAgIyBTdHJ1Y3R1cmUgSUQKICAg
ICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKLSAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwKLSAgICAgICAgICAgICIgICAgc3RhdGljIFBhc3NSZWZQdHI8SlNDOjpTdHJ1
Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU0M6OkpTVmFsdWUgcHJvdG90eXBlKVxuIiAuCi0gICAg
ICAgICAgICAiICAgIHtcbiIgLgotICAgICAgICAgICAgIiAgICAgICAgcmV0dXJuIEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwg
SlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6OkltcGxlbWVudHNIYXNJbnN0
YW5jZSB8IEpTQzo6TmVlZHNUaGlzQ29udmVyc2lvbiB8IEpTQzo6T3ZlcnJpZGVzTWFya0NoaWxk
cmVuIHwgSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7XG4iIC4KLSAgICAgICAgICAg
ICIgICAgfVxuXG4iKTsKLSAgICB9IGVsc2lmICgkaGFzR2V0dGVyKSB7Ci0gICAgICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsCi0gICAgICAgICAgICAiICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTQzo6
U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSlcbiIgLgot
ICAgICAgICAgICAgIiAgICB7XG4iIC4KLSAgICAgICAgICAgICIgICAgICAgIHJldHVybiBKU0M6
OlN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5
cGUsIEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlNDOjpPdmVycmlkZXNNYXJr
Q2hpbGRyZW4gfCBKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTtcbiIgLgotICAgICAg
ICAgICAgIiAgICB9XG5cbiIpOworICAgICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6SW1wbGVt
ZW50c0hhc0luc3RhbmNlIn0gPSAxOworICAgICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6TmVl
ZHNUaGlzQ29udmVyc2lvbiJ9ID0gMTsKICAgICB9CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwK
KyAgICAgICAgIiAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU0M6OlN0cnVjdHVyZT4gY3JlYXRlU3Ry
dWN0dXJlKEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpXG4iIC4KKyAgICAgICAgIiAgICB7XG4iIC4K
KyAgICAgICAgIiAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBl
LCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTtcbiIgLgor
ICAgICAgICAiICAgIH1cblxuIik7CiAKICAgICAjIG1hcmtDaGlsZHJlbiBmdW5jdGlvbgotICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCB2b2lkIG1hcmtDaGlsZHJlbihKU0M6
Ok1hcmtTdGFjayYpO1xuXG4iKSBpZiAkbmVlZHNNYXJrQ2hpbGRyZW47CisgICAgaWYgKCRuZWVk
c01hcmtDaGlsZHJlbikgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1
YWwgdm9pZCBtYXJrQ2hpbGRyZW4oSlNDOjpNYXJrU3RhY2smKTtcblxuIik7CisgICAgICAgICRz
dHJ1Y3R1cmVGbGFnc3siSlNDOjpPdmVycmlkZXNNYXJrQ2hpbGRyZW4ifSA9IDE7CisgICAgfQog
CiAgICAgIyBDdXN0b20gcHVzaEV2ZW50SGFuZGxlclNjb3BlIGZ1bmN0aW9uCiAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIHZvaWQgcHVzaEV2ZW50SGFuZGxlclNjb3BlKEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpTY29wZUNoYWluJikgY29uc3Q7XG5cbiIpIGlmICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVB1c2hFdmVudEhhbmRsZXJTY29wZSJ9OwpA
QCAtNjI4LDEzICs2MjksMTkgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgIiAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUq
LCBjb25zdCBKU0M6OklkZW50aWZpZXImKTtcbiIpIGlmICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkN1c3RvbURlbGV0ZVByb3BlcnR5In07CiAKICAgICAjIEN1c3RvbSBnZXRQcm9w
ZXJ0eU5hbWVzIGZ1bmN0aW9uIGV4aXN0cyBvbiBET01XaW5kb3cKLSAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCAiICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYpO1xuIikgaWYgJGludGVyZmFjZU5hbWUgZXEgIkRP
TVdpbmRvdyI7CisgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7CisgICAg
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCB2b2lkIGdldFByb3BlcnR5TmFt
ZXMoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZUFycmF5Jik7XG4iKTsKKyAgICAg
ICAgJHN0cnVjdHVyZUZsYWdzeyJKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMifSA9IDE7
CisgICAgfQogCiAgICAgIyBDdXN0b20gZGVmaW5lUHJvcGVydHkgZnVuY3Rpb24gZXhpc3RzIG9u
IERPTVdpbmRvdwogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBib29sIGRl
ZmluZU93blByb3BlcnR5KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7
XG4iKSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IjsKIAogICAgICMgQ3VzdG9tIGdl
dE93blByb3BlcnR5TmFtZXMgZnVuY3Rpb24KLSAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAg
IHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQ
cm9wZXJ0eU5hbWVBcnJheSYpO1xuIikgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkN1c3RvbUdldFByb3BlcnR5TmFtZXMifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJIYXNJbmRleEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57Ikhhc0N1c3RvbUluZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiSGFzTnVtZXJpY0luZGV4R2V0dGVyIn0pOyAgICAKKyAgICBpZiAoJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tR2V0UHJvcGVydHlOYW1lcyJ9IHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNOdW1lcmljSW5kZXhHZXR0ZXIifSkgeworICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5h
bWVzKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYpO1xuIik7CisgICAg
ICAgICRzdHJ1Y3R1cmVGbGFnc3siSlNDOjpPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIn0gPSAx
OyAgICAgICAKKyAgICB9CiAKICAgICAjIEN1c3RvbSBnZXRQcm9wZXJ0eUF0dHJpYnV0ZXMgZnVu
Y3Rpb24KICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgYm9vbCBnZXRQcm9w
ZXJ0eUF0dHJpYnV0ZXMoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImLCB1
bnNpZ25lZCYgYXR0cmlidXRlcykgY29uc3Q7XG4iKSBpZiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJDdXN0b21HZXRQcm9wZXJ0eUF0dHJpYnV0ZXMifTsKQEAgLTcxMiw2ICs3MTks
MTQgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KEJhc2U6OmltcGwoKSk7
XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB9XG4iKTsKICAgICB9Cisg
ICAgCisgICAgIyBzdHJ1Y3R1cmUgZmxhZ3MKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHJv
dGVjdGVkOlxuIik7CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSAiKTsKKyAgICBmb3JlYWNoIG15ICRzdHJ1Y3R1cmVG
bGFnIChrZXlzICVzdHJ1Y3R1cmVGbGFncykgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAkc3RydWN0dXJlRmxhZyAuICIgfCAiKTsKKyAgICB9CisgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgIkJhc2U6OlN0cnVjdHVyZUZsYWdzO1xuIik7CiAKICAgICAjIEluZGV4IGdldHRlcgogICAg
IGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRlciJ9KSB7
CkBAIC03MTksNiArNzM0LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogICAgIGlmICgk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNDdXN0b21JbmRleEdldHRlciJ9IHx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc051bWVyaWNJbmRleEdldHRlciJ9
KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgSlNDOjpKU1ZhbHVlIGdldEJ5
SW5kZXgoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBpbmRleCk7XG4iKTsKKyAgICAgICAgCiAg
ICAgfQogICAgIAogICAgICMgSW5kZXggc2V0dGVyCkBAIC03NzAsNiArNzg2LDcgQEAgc3ViIEdl
bmVyYXRlSGVhZGVyCiAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxuIik7CiAKICAgICAjIEFk
ZCBwcm90b3R5cGUgZGVjbGFyYXRpb24uCisgICAgJXN0cnVjdHVyZUZsYWdzID0gKCk7CiAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzICR7Y2xhc3NOYW1lfVByb3RvdHlwZSA6IHB1Ymxp
YyBKU0M6OkpTT2JqZWN0IHtcbiIpOwogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdHlw
ZWRlZiBKU0M6OkpTT2JqZWN0IEJhc2U7XG4iKTsKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
cHVibGljOlxuIik7CkBAIC03ODcsMTkgKzgwNCwxNiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAg
ICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiwgSlND
OjpQcm9wZXJ0eURlc2NyaXB0b3ImKTtcbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAiICAgIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90RGVsZWdhdGUoSlNDOjpFeGVjU3RhdGUqLCBj
b25zdCBKU0M6OklkZW50aWZpZXImLCBKU0M6OlByb3BlcnR5U2xvdCYpO1xuIikgaWYgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRGVsZWdhdGluZ1Byb3RvdHlwZUdldE93blByb3Bl
cnR5U2xvdCJ9OwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIGJvb2wgZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yRGVsZWdhdGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6Oklk
ZW50aWZpZXImLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYpO1xuIikgaWYgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiRGVsZWdhdGluZ1Byb3RvdHlwZUdldE93blByb3BlcnR5U2xv
dCJ9OwotCi0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsCi0gICAgICAgICAgICAiICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU1Zh
bHVlIHByb3RvdHlwZSlcbiIgLgotICAgICAgICAgICAgIiAgICB7XG4iIC4KLSAgICAgICAgICAg
ICIgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgSlNDOjpU
eXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
IiAuICgkbmVlZHNNYXJrQ2hpbGRyZW4gPyAiIHwgSlNDOjpPdmVycmlkZXNNYXJrQ2hpbGRyZW4i
IDogIiIpIC4gIiB8IEpTQzo6T3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcykpO1xuIiAuCi0gICAg
ICAgICAgICAiICAgIH1cbiIpOwotICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkN1c3RvbU1hcmtGdW5jdGlvbiJ9KSB7Ci0gICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsCi0gICAgICAgICAgICAiICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJl
PiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSlcbiIgLgotICAgICAgICAg
ICAgIiAgICB7XG4iIC4KLSAgICAgICAgICAgICIgICAgICAgIHJldHVybiBKU0M6OlN0cnVjdHVy
ZTo6Y3JlYXRlKHByb3RvdHlwZSwgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUsIEpTQzo6
T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSlNDOjpPdmVycmlkZXNNYXJrQ2hpbGRyZW4g
fCBKU0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTtcbiIgLgotICAgICAgICAgICAgIiAg
ICB9XG4iKTsKKyAgICAgICAgJHN0cnVjdHVyZUZsYWdzeyJKU0M6Ok92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdCJ9ID0gMTsKKyAgICB9CisgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkN1c3RvbU1hcmtGdW5jdGlvbiJ9IG9yICRuZWVkc01hcmtDaGlsZHJlbikgewor
ICAgICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6T3ZlcnJpZGVzTWFya0NoaWxkcmVuIn0gPSAx
OwogICAgIH0KKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LAorICAgICAgICAiICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpKU1ZhbHVlIHBy
b3RvdHlwZSlcbiIgLgorICAgICAgICAiICAgIHtcbiIgLgorICAgICAgICAiICAgICAgICByZXR1
cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpP
YmplY3RUeXBlLCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCIgLiAoJG5lZWRzTWFy
a0NoaWxkcmVuID8gIiB8IEpTQzo6T3ZlcnJpZGVzTWFya0NoaWxkcmVuIiA6ICIiKSAuICIgfCBK
U0M6Ok92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTtcbiIgLgorICAgICAgICAiICAgIH1cbiIp
OwogICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEZWxlZ2F0aW5nUHJv
dG90eXBlUHV0RnVuY3Rpb24ifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAg
IHZpcnR1YWwgdm9pZCBwdXQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3BlcnR5U2xvdCYpO1xuIik7
CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgYm9vbCBwdXREZWxlZ2F0ZShKU0M6
OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQ
dXRQcm9wZXJ0eVNsb3QmKTtcbiIpOwpAQCAtODEwLDYgKzgyNCwxNCBAQCBzdWIgR2VuZXJhdGVI
ZWFkZXIKIAogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9UHJvdG90
eXBlKE5vbk51bGxQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPiBzdHJ1Y3R1cmUpIDogSlNDOjpK
U09iamVjdChzdHJ1Y3R1cmUpIHsgfVxuIik7CiAKKyAgICAjIHN0cnVjdHVyZSBmbGFncworICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICJwcm90ZWN0ZWQ6XG4iKTsKKyAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCAiICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9ICIpOwor
ICAgIGZvcmVhY2ggbXkgJHN0cnVjdHVyZUZsYWcgKGtleXMgJXN0cnVjdHVyZUZsYWdzKSB7Cisg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICRzdHJ1Y3R1cmVGbGFnIC4gIiB8ICIpOworICAg
IH0KKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiQmFzZTo6U3RydWN0dXJlRmxhZ3M7XG4iKTsK
KwogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJ9O1xuXG4iKTsKIAogICAgIGlmICgkbnVtRnVu
Y3Rpb25zID4gMCkgewpAQCAtMjI1Myw4ICsyMjc1LDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG8pIAog
ICAgIHsgCi0gICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90bywgVHlwZUluZm8o
T2JqZWN0VHlwZSwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW1wbGVtZW50c0hhc0lu
c3RhbmNlIHwgT3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1l
cykpOyAKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvLCBUeXBlSW5mbyhP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKICAgICB9CisgICAgCitwcm90ZWN0ZWQ6Cisg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlTbG90IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgRE9NQ29uc3RydWN0b3JPYmpl
Y3Q6OlN0cnVjdHVyZUZsYWdzOwogRU9GCiAKICAgICBpZiAoJGNhbkNvbnN0cnVjdCkgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1dlYkNvcmUvYnJp
ZGdlL29iamMvb2JqY19ydW50aW1lLmgKaW5kZXggMGFiNWMyMi4uNjNmMzI1NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaAorKysgYi9XZWJDb3JlL2JyaWRn
ZS9vYmpjL29iamNfcnVudGltZS5oCkBAIC0xMDQsMTAgKzEwNCwxMSBAQCBwdWJsaWM6CiAKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU1ZhbHVlIHBy
b3RvdHlwZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCkpOwor
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOwogICAgIH0KIAogcHJpdmF0ZToKKyAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNs
b3QgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAgdmlydHVhbCBib29sIGdldE93blBy
b3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7
CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgdmlydHVhbCB2b2lk
IHB1dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9h
cnJheS5oIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5oCmluZGV4IDljM2U2NzYuLjEy
MThiOGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaAorKysgYi9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKQEAgLTU5LDEwICs1OSwxMSBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU1Zh
bHVlIHByb3RvdHlwZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShw
cm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVy
ZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3Mp
KTsKICAgICB9CiAKIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVy
dHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKICAgICBzdGF0aWMgSlNWYWx1ZSBs
ZW5ndGhHZXR0ZXIoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5
U2xvdCYpOwogICAgIHN0YXRpYyBKU1ZhbHVlIGluZGV4R2V0dGVyKEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9tZXRob2QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9k
LmgKaW5kZXggZDRlZDBkOC4uOTY3NjA0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9tZXRob2QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5oCkBAIC00
NywxMCArNDcsMTEgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJl
PiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewotICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBPdmVy
cmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBPdmVycmlk
ZXNNYXJrQ2hpbGRyZW4pKTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3Rv
dHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsKICAgICB9CiAKIHBy
aXZhdGU6CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVz
TWFya0NoaWxkcmVuIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAgICAgc3Rh
dGljIEpTVmFsdWUgbGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBj
b25zdCBQcm9wZXJ0eVNsb3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90
KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKICAgICB2aXJ0
dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfb2JqZWN0LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCmluZGV4
IDNiMDY1MWQuLjM5MWUwNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2Jq
ZWN0LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuaApAQCAtNjIsMTAgKzYy
LDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRl
U3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgT3ZlcnJpZGVzR2V0
T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcykpOworICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncykpOwogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92
ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAgICAg
UnVudGltZU9iamVjdEltcChFeGVjU3RhdGUqLCBOb25OdWxsUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+
LCBQYXNzUmVmUHRyPEJpbmRpbmdzOjpJbnN0YW5jZT4pOwogCiBwcml2YXRlOg==
</data>

          </attachment>
      

    </bug>

</bugzilla>