<?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>78195</bug_id>
          
          <creation_ts>2012-02-08 18:56:19 -0800</creation_ts>
          <short_desc>[JSC] Cache the number of non-custom constructor arguments</short_desc>
          <delta_ts>2012-02-14 19:55:11 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>77393</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>552749</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-08 18:56:19 -0800</bug_when>
    <thetext>If [ConstructorParameters=] is specified, JSC caches the number of constructor arguments for performance. However, at present, [ConstructorParameters=] is specified on a small part of custom constructors (It appears that people have forgotten to add [ConstructorParameters=]). Thus, we can improve JSC by the two changes:

[1] For non-custom constructors, CodeGeneratorJS.pm should cache the number of constructor arguments automatically without [ConstructorParameters=] (CodeGeneratorJS.pm can know the number of arguments by the [Constructor=...] signature).

[2] For custom constructors, we should add [ConstructorParameters=] to their IDL files. (Or, maybe we can completely remove [ConstructorParameters=] if the caching is not so important for practical performance. I am afraid that people will forget to add [ConstructorParameters=] in the future. Anyway let&apos;s discuss the topic in another bug.)

In this bug, we make a change for [1].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552752</commentid>
    <comment_count>1</comment_count>
      <attachid>126221</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-08 18:59:52 -0800</bug_when>
    <thetext>Created attachment 126221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555712</commentid>
    <comment_count>2</comment_count>
      <attachid>126221</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-13 16:07:28 -0800</bug_when>
    <thetext>Comment on attachment 126221
Patch

Looks good. I’d like to see some test covering this, though. It’s not great to land a fix like this without a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556852</commentid>
    <comment_count>3</comment_count>
      <attachid>127096</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-14 18:26:20 -0800</bug_when>
    <thetext>Created attachment 127096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556853</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-14 18:26:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 126221 [details])
&gt; Looks good. I’d like to see some test covering this, though. It’s not great to land a fix like this without a test.

Darin: I added the tests. Would you take another look? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556855</commentid>
    <comment_count>5</comment_count>
      <attachid>127096</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-14 18:28:00 -0800</bug_when>
    <thetext>Comment on attachment 127096
Patch

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

&gt; LayoutTests/fast/js/constructor-length.html:8
&gt; +description(&quot;This tests the length property of constructors.&quot;);

Could we sort these alphabetically?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556861</commentid>
    <comment_count>6</comment_count>
      <attachid>127098</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-14 18:40:09 -0800</bug_when>
    <thetext>Created attachment 127098
patch for commit

sorted tests alphabetically</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556873</commentid>
    <comment_count>7</comment_count>
      <attachid>127098</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 19:22:31 -0800</bug_when>
    <thetext>Comment on attachment 127098
patch for commit

Clearing flags on attachment: 127098

Committed r107772: &lt;http://trac.webkit.org/changeset/107772&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126221</attachid>
            <date>2012-02-08 18:59:52 -0800</date>
            <delta_ts>2012-02-14 18:26:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78195-20120209115951.patch</filename>
            <type>text/plain</type>
            <size>3590</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzc3NTg3ZjRhODdhZTFk
ODk0NTEyMWE0Nzc2M2NkYzBjYTU2OGZlMC4uZTNiZjk5MTllNmMzNDJhNjExOGVlMTg1ZWYwYTkw
YmEzMjJmOGQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTA4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSlNDXSBDYWNoZSB0
aGUgbnVtYmVyIG9mIG5vbi1jdXN0b20gY29uc3RydWN0b3IgYXJndW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE5NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIFtDb25zdHJ1Y3RvclBhcmFt
ZXRlcnM9XSBpcyBzcGVjaWZpZWQsIEpTQyBjYWNoZXMgdGhlIG51bWJlciBvZiBjb25zdHJ1Y3Rv
cgorICAgICAgICBhcmd1bWVudHMgZm9yIHBlcmZvcm1hbmNlLiBIb3dldmVyLCBhdCBwcmVzZW50
LCBbQ29uc3RydWN0b3JQYXJhbWV0ZXJzPV0gaXMgc3BlY2lmaWVkCisgICAgICAgIG9uIGEgc21h
bGwgcGFydCBvZiBjb25zdHJ1Y3RvcnMgKEl0IGFwcGVhcnMgdGhhdCBwZW9wbGUgaGF2ZSBmb3Jn
b3R0ZW4gdG8KKyAgICAgICAgYWRkIFtDb25zdHJ1Y3RvclBhcmFtZXRlcnM9XSkuIFRodXMsIGZv
ciBub24tY3VzdG9tIGNvbnN0cnVjdG9ycywgdGhpcyBwYXRjaCBtb2RpZmllcworICAgICAgICBD
b2RlR2VuZXJhdG9ySlMucG0gc28gdGhhdCBpdCBjYWNoZXMgdGhlIG51bWJlciBvZiBjb25zdHJ1
Y3RvciBhcmd1bWVudHMgYXV0b21hdGljYWxseQorICAgICAgICB3aXRob3V0IFtDb25zdHJ1Y3Rv
clBhcmFtZXRlcnM9XSAoQ29kZUdlbmVyYXRvckpTLnBtIGNhbiBrbm93IHRoZSBudW1iZXIgb2Yg
YXJndW1lbnRzCisgICAgICAgIGJ5IHRoZSBbQ29uc3RydWN0b3I9Li4uXSBzaWduYXR1cmUpLgor
CisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlQ29u
c3RydWN0b3JEZWZpbml0aW9uKToKKwogMjAxMi0wMi0wOCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtq
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEZpeCBvcGFxdWUgdHJhY2tpbmcg
Zm9yIGJveCBzaGFkb3dzIGFuZCBub24tY29tcG9zaXRlZCBjaGlsZCBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRl
eCA1NDk5MjQ2OWUzMjkwMzY4ZWQzNTVlOWM0MTZlZDkyZjczMjVkYmMzLi43MTU5OTFmN2JiZmVk
ZjMzMjIzMDA3NmU4ZTkyYzVlOTBmNjMwZTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzM4MCw3ICszMzgwLDE0IEBA
IHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgIG15ICRnZW5lcmF0aW5nTmFt
ZWRDb25zdHJ1Y3RvciA9IHNoaWZ0OwogCiAgICAgbXkgJGNvbnN0cnVjdG9yQ2xhc3NOYW1lID0g
JGdlbmVyYXRpbmdOYW1lZENvbnN0cnVjdG9yID8gIiR7Y2xhc3NOYW1lfU5hbWVkQ29uc3RydWN0
b3IiIDogIiR7Y2xhc3NOYW1lfUNvbnN0cnVjdG9yIjsKLSAgICBteSAkbnVtYmVyT2Zjb25zdHJ1
Y3RQYXJhbWV0ZXJzID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0
b3JQYXJhbWV0ZXJzIn07CisgICAgbXkgJG51bWJlck9mQ29uc3RydWN0b3JQYXJhbWV0ZXJzID0g
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JQYXJhbWV0ZXJzIn07
CisgICAgaWYgKCFkZWZpbmVkICRudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVycykgeworICAg
ICAgICBpZiAoSXNDb25zdHJ1Y3RvclRlbXBsYXRlKCRkYXRhTm9kZSwgIkV2ZW50IikpIHsKKyAg
ICAgICAgICAgICRudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVycyA9IDI7CisgICAgICAgIH0g
ZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yIn0gYW5k
ICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Db25zdHJ1Y3RvciJ9IGFu
ZCAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Db25zdHJ1Y3RvciJ9
KSB7CisgICAgICAgICAgICAkbnVtYmVyT2ZDb25zdHJ1Y3RvclBhcmFtZXRlcnMgPSBAeyRkYXRh
Tm9kZS0+Y29uc3RydWN0b3ItPnBhcmFtZXRlcnN9OworICAgICAgICB9CisgICAgfQogCiAgICAg
aWYgKCRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3RvcikgewogICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICJjb25zdCBDbGFzc0luZm8gJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX06OnNfaW5mbyA9
IHsgXCIke3Zpc2libGVDbGFzc05hbWV9Q29uc3RydWN0b3JcIiwgJkJhc2U6OnNfaW5mbywgMCwg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRSgkY29uc3RydWN0b3JDbGFzc05hbWUpIH07XG5cbiIpOwpA
QCAtMzQxMyw3ICszNDIwLDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykp
O1xuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBwdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkucHJvdG90eXBlLCAke3Byb3RvQ2xh
c3NOYW1lfTo6c2VsZihleGVjLCBnbG9iYWxPYmplY3QpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
O1xuIik7CiAgICAgfQotICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBwdXREaXJlY3QoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigk
e251bWJlck9mY29uc3RydWN0UGFyYW1ldGVyc30pLCBSZWFkT25seSB8IERvbnREZWxldGUgfCBE
b250RW51bSk7XG4iKSBpZiAkbnVtYmVyT2Zjb25zdHJ1Y3RQYXJhbWV0ZXJzOworICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBwdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigke251bWJlck9mQ29uc3RydWN0b3JQYXJh
bWV0ZXJzfSksIFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERvbnRFbnVtKTtcbiIpIGlmIGRlZmlu
ZWQgJG51bWJlck9mQ29uc3RydWN0b3JQYXJhbWV0ZXJzOwogICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIn1cblxuIik7CiAKICAgICBpZiAoISRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3Rvcikgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127096</attachid>
            <date>2012-02-14 18:26:20 -0800</date>
            <delta_ts>2012-02-14 19:55:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78195-20120215112616.patch</filename>
            <type>text/plain</type>
            <size>12278</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBlZDQ0NDA2YmMwNWU5
MmEwMzU2ZTVlN2RlNmZlZTFmZjVmNGNiNy4uN2U1ZWI1N2U4NmUzMzViZmM2NjYwYWQzYzc0ZmE4
YjJjNjhlYjQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTE0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSlNDXSBDYWNoZSB0
aGUgbnVtYmVyIG9mIG5vbi1jdXN0b20gY29uc3RydWN0b3IgYXJndW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE5NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIFtDb25zdHJ1Y3RvclBhcmFt
ZXRlcnM9XSBpcyBzcGVjaWZpZWQsIEpTQyBjYWNoZXMgdGhlIG51bWJlciBvZiBjb25zdHJ1Y3Rv
cgorICAgICAgICBhcmd1bWVudHMgZm9yIHBlcmZvcm1hbmNlLiBIb3dldmVyLCBhdCBwcmVzZW50
LCBbQ29uc3RydWN0b3JQYXJhbWV0ZXJzPV0gaXMgc3BlY2lmaWVkCisgICAgICAgIG9uIGEgc21h
bGwgcGFydCBvZiBjb25zdHJ1Y3RvcnMgKEl0IGFwcGVhcnMgdGhhdCBwZW9wbGUgaGF2ZSBmb3Jn
b3R0ZW4gdG8KKyAgICAgICAgYWRkIFtDb25zdHJ1Y3RvclBhcmFtZXRlcnM9XSkuIFRodXMsIGZv
ciBub24tY3VzdG9tIGNvbnN0cnVjdG9ycywgdGhpcyBwYXRjaCBtb2RpZmllcworICAgICAgICBD
b2RlR2VuZXJhdG9ySlMucG0gc28gdGhhdCBpdCBjYWNoZXMgdGhlIG51bWJlciBvZiBjb25zdHJ1
Y3RvciBhcmd1bWVudHMgYXV0b21hdGljYWxseQorICAgICAgICB3aXRob3V0IFtDb25zdHJ1Y3Rv
clBhcmFtZXRlcnM9XSAoQ29kZUdlbmVyYXRvckpTLnBtIGNhbiBrbm93IHRoZSBudW1iZXIgb2Yg
YXJndW1lbnRzCisgICAgICAgIGJ5IHRoZSBbQ29uc3RydWN0b3I9Li4uXSBzaWduYXR1cmUpLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKKworICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJh
dGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorCiAyMDEyLTAyLTE0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIFdlYkNvcmU6OlNWR0VsZW1lbnQ6
OnJlbW92ZWRGcm9tRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMzc4NmI5ZTc1ZjNjOGM1NWQxN2Q0YTE4MGEy
ZjBlYWU1ZTZjMjc4NC4uZGRkOTljYzk3ZmJkMTBmNWE3NDAwNGVjNTg0YjZiOGQ4YTQ1OWUyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTMzNjYsNyArMzM2NiwxNCBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmlu
aXRpb24KICAgICBteSAkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IgPSBzaGlmdDsKIAogICAg
IG15ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSA9ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3RvciA/
ICIke2NsYXNzTmFtZX1OYW1lZENvbnN0cnVjdG9yIiA6ICIke2NsYXNzTmFtZX1Db25zdHJ1Y3Rv
ciI7Ci0gICAgbXkgJG51bWJlck9mY29uc3RydWN0UGFyYW1ldGVycyA9ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yUGFyYW1ldGVycyJ9OworICAgIG15ICRudW1i
ZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVycyA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNvbnN0cnVjdG9yUGFyYW1ldGVycyJ9OworICAgIGlmICghZGVmaW5lZCAkbnVtYmVyT2ZD
b25zdHJ1Y3RvclBhcmFtZXRlcnMpIHsKKyAgICAgICAgaWYgKElzQ29uc3RydWN0b3JUZW1wbGF0
ZSgkZGF0YU5vZGUsICJFdmVudCIpKSB7CisgICAgICAgICAgICAkbnVtYmVyT2ZDb25zdHJ1Y3Rv
clBhcmFtZXRlcnMgPSAyOworICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJDb25zdHJ1Y3RvciJ9IGFuZCAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tQ29uc3RydWN0b3IifSBhbmQgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTQ3VzdG9tQ29uc3RydWN0b3IifSkgeworICAgICAgICAgICAgJG51bWJlck9mQ29u
c3RydWN0b3JQYXJhbWV0ZXJzID0gQHskZGF0YU5vZGUtPmNvbnN0cnVjdG9yLT5wYXJhbWV0ZXJz
fTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGlmICgkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0
b3IpIHsKICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiY29uc3QgQ2xhc3NJbmZvICR7Y29u
c3RydWN0b3JDbGFzc05hbWV9OjpzX2luZm8gPSB7IFwiJHt2aXNpYmxlQ2xhc3NOYW1lfUNvbnN0
cnVjdG9yXCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoJGNvbnN0
cnVjdG9yQ2xhc3NOYW1lKSB9O1xuXG4iKTsKQEAgLTMzOTcsNyArMzQwNCw3IEBAIHN1YiBHZW5l
cmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTtcbiIpOwogICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlO
YW1lcygpLnByb3RvdHlwZSwgJHtwcm90b0NsYXNzTmFtZX06OnNlbGYoZXhlYywgZ2xvYmFsT2Jq
ZWN0KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTtcbiIpOwogICAgIH0KLSAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIoJHtudW1iZXJPZmNvbnN0cnVjdFBhcmFtZXRlcnN9
KSwgUmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0pO1xuIikgaWYgJG51bWJlck9mY29u
c3RydWN0UGFyYW1ldGVyczsKKyAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcHV0RGlyZWN0
KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1i
ZXIoJHtudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVyc30pLCBSZWFkT25seSB8IERvbnREZWxl
dGUgfCBEb250RW51bSk7XG4iKSBpZiBkZWZpbmVkICRudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1l
dGVyczsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogCiAgICAgaWYgKCEkZ2Vu
ZXJhdGluZ05hbWVkQ29uc3RydWN0b3IpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYWIyZTZkMmYyMjZhNmRmM2U4ODY3
NDQ4YmRkMjAwZGU1MzQ3NGZlLi5lMThjMTY4MmYzMWU1NmZkYTEzZWViYzY1OWQxMzBmYmVkM2Qw
Y2Y3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDItMTQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtKU0NdIENhY2hlIHRoZSBudW1iZXIgb2Yg
bm9uLWN1c3RvbSBjb25zdHJ1Y3RvciBhcmd1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFkZGVkIHRlc3RzIGNoZWNrIHRoZSBsZW5ndGgg
cHJvcGVydHkgb2YgY29uc3RydWN0b3JzLgorICAgICAgICBUaGUgdGVzdCBmYWlscyBmb3IgImZs
YWctZGlzYWJsZWQiIGNvbnN0cnVjdG9ycy4KKworICAgICAgICAqIGZhc3QvanMvY29uc3RydWN0
b3ItbGVuZ3RoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2pzL2Nv
bnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Vm
bC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBs
YXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAg
ICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTItMDItMTQgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gV2ViQ29yZTo6U1ZHRWxlbWVu
dDo6cmVtb3ZlZEZyb21Eb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI1NTczNTIzNjY1MDlmNGZjMWJiZjg1YmVkZGI5ODk4
YWI4YjRjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0
b3ItbGVuZ3RoLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
bGVuZ3RoIHByb3BlcnR5IG9mIGNvbnN0cnVjdG9ycy4iKTsKKworc2hvdWxkQmUoJ1dlYktpdEJs
b2JCdWlsZGVyLmxlbmd0aCcsICcwJyk7CitzaG91bGRCZSgnRmlsZVJlYWRlci5sZW5ndGgnLCAn
MCcpOworc2hvdWxkQmUoJ0ZpbGVSZWFkZXJTeW5jLmxlbmd0aCcsICcwJyk7CitzaG91bGRCZSgn
RXZlbnRTb3VyY2UubGVuZ3RoJywgJzEnKTsKK3Nob3VsZEJlKCdUZXh0VHJhY2tDdWUubGVuZ3Ro
JywgJzYnKTsKK3Nob3VsZEJlKCdET01VUkwubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJlKCdNZWRp
YUNvbnRyb2xsZXIubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJlKCdNZWRpYVN0cmVhbS5sZW5ndGgn
LCAnMicpOworc2hvdWxkQmUoJ1BlZXJDb25uZWN0aW9uLmxlbmd0aCcsICcyJyk7CitzaG91bGRC
ZSgnV2ViS2l0Q1NTTWF0cml4Lmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnSW50ZW50Lmxlbmd0
aCcsICczJyk7CitzaG91bGRCZSgnWE1MSHR0cFJlcXVlc3QubGVuZ3RoJywgJzAnKTsKK3Nob3Vs
ZEJlKCdTaGFyZWRXb3JrZXIubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdXb3JrZXIubGVuZ3Ro
JywgJzEnKTsKK3Nob3VsZEJlKCdTaGFkb3dSb290Lmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgn
TWVzc2FnZUNoYW5uZWwubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJlKCdET01QYXJzZXIubGVuZ3Ro
JywgJzAnKTsKK3Nob3VsZEJlKCdYUGF0aEV2YWx1YXRvci5sZW5ndGgnLCAnMCcpOworc2hvdWxk
QmUoJ1hTTFRQcm9jZXNzb3IubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJlKCdYTUxTZXJpYWxpemVy
Lmxlbmd0aCcsICcwJyk7CitzaG91bGRCZSgnVHJhY2tFdmVudC5sZW5ndGgnLCAnMicpOworc2hv
dWxkQmUoJ1dlYkdMQ29udGV4dEV2ZW50Lmxlbmd0aCcsICcyJyk7CitzaG91bGRCZSgnQ2xvc2VF
dmVudC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUoJ0hhc2hDaGFuZ2VFdmVudC5sZW5ndGgnLCAn
MicpOworc2hvdWxkQmUoJ092ZXJmbG93RXZlbnQubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdC
ZWZvcmVMb2FkRXZlbnQubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdQcm9ncmVzc0V2ZW50Lmxl
bmd0aCcsICcyJyk7CitzaG91bGRCZSgnQ3VzdG9tRXZlbnQubGVuZ3RoJywgJzInKTsKK3Nob3Vs
ZEJlKCdQYWdlVHJhbnNpdGlvbkV2ZW50Lmxlbmd0aCcsICcyJyk7CitzaG91bGRCZSgnTWVzc2Fn
ZUV2ZW50Lmxlbmd0aCcsICcyJyk7CitzaG91bGRCZSgnV2ViS2l0QW5pbWF0aW9uRXZlbnQubGVu
Z3RoJywgJzInKTsKK3Nob3VsZEJlKCdFdmVudC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUoJ1dl
YktpdFRyYW5zaXRpb25FdmVudC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUoJ1BvcFN0YXRlRXZl
bnQubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdFcnJvckV2ZW50Lmxlbmd0aCcsICcyJyk7Citz
aG91bGRCZSgnU3RvcmFnZUV2ZW50Lmxlbmd0aCcsICcyJyk7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CmluZGV4IDAyMWQ3NTFlNDg5YjQ2ZGE4N2Y0MzNhODk5N2Y3OWUzZDQ3NWVhMzgu
LjY2Y2ZlNDM5NmRhZGEyYjQ2ZTdlYmQxNjYzZDM0ODQ5NWM4MDI2YjEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTEy
NjAsNiArMTI2MCw5IEBAIEJVR0NSMTAzNDQgTElOVVggOiBmYXN0L3RleHQvc2hvdWxkLXVzZS1h
dHN1aS5odG1sID0gRkFJTAogLy8gc2hvdWxkIGRpc2FibGUgdGhpcyBpbiBsaWJ4bWwuCiBCVUdD
UjEwMzQ3IE1BQyA6IGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLnhodG1sID0gRkFJTAogCisv
LyBWOCBzaG91bGQgaW1wbGVtZW50IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgY29uc3RydWN0b3Jz
CitCVUdXSzc4NjU3IDogZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbCA9IEZBSUwKKwog
Ly8gTGludXggcGl4ZWx0ZXN0IGZhaWx1cmU6IEZhaWxpbmcgdG8gYXBwbHkgc3R5bGUKIEJVR0NS
MTAzNDkgTElOVVggOiBmYXN0L2Zvcm1zL3NlbGVjdC1zdHlsZS5odG1sID0gRkFJTAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDc1OTI3ZjZmZmViYmNlNTRiZTI0NzVkYWRkZjFjZTkw
ZmFhODg0MGIuLjhhY2FmNTY1N2JkNDNhOTc0NWU2MmFkNjgxYzQyZWUyZTFmNjM1YTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC0yMDE1LDYgKzIwMTUsNyBAQCBmYXN0L3RhYmxlLzAy
Ny5odG1sCiBmYXN0L3RhYmxlLzAyNy12ZXJ0aWNhbC5odG1sCiB0YWJsZXMvbW96aWxsYS9idWdz
L2J1ZzE0OTI5Lmh0bWwKIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMjk0Ny5odG1sCitmYXN0L2pz
L2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sCiAKICMgVGhlIHRlc3QgaGl0cyBhbiBBU1NFUlQgaW4g
RGVidWcuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg1OQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCA2NjA5N2JjZDRmYWYyNjUxMDc1YTlmMDJhYjQx
ZWE2OGZlMWNmNmE1Li4wMzMwYTM1YzhmMWEwZGExMmVlNTA1NjkxYzU2ODc4MWZjZDc5ZTEyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTQ5MCw2ICsxNDkwLDcgQEAgZmFzdC90YWJs
ZS8wMjcuaHRtbAogZmFzdC90YWJsZS8wMjctdmVydGljYWwuaHRtbAogdGFibGVzL21vemlsbGEv
YnVncy9idWcxNDkyOS5odG1sCiB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzI5NDcuaHRtbAorZmFz
dC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NDI3NgogZmFzdC9ldmVudHMvZG9udC1sb29zZS1sYXN0LWV2ZW50
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkYzA3MjI5
OThhZmE5ZWI2MjQwODZhYmI5Zjk5Mjc5OTFmMDIxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNDUgQEAKK1RoaXMgdGVzdHMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBj
b25zdHJ1Y3RvcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFdlYktp
dEJsb2JCdWlsZGVyLmxlbmd0aCBpcyAwCitQQVNTIEZpbGVSZWFkZXIubGVuZ3RoIGlzIDAKK0ZB
SUwgRmlsZVJlYWRlclN5bmMubGVuZ3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGVSZWFkZXJTeW5jCitQQVNTIEV2
ZW50U291cmNlLmxlbmd0aCBpcyAxCitQQVNTIFRleHRUcmFja0N1ZS5sZW5ndGggaXMgNgorRkFJ
TCBET01VUkwubGVuZ3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IERPTVVSTAorUEFTUyBNZWRpYUNvbnRyb2xsZXIubGVu
Z3RoIGlzIDAKK0ZBSUwgTWVkaWFTdHJlYW0ubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJldyBleGNl
cHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhU3RyZWFtCitG
QUlMIFBlZXJDb25uZWN0aW9uLmxlbmd0aCBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0aW9uIFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBQZWVyQ29ubmVjdGlvbgorUEFTUyBX
ZWJLaXRDU1NNYXRyaXgubGVuZ3RoIGlzIDEKK0ZBSUwgSW50ZW50Lmxlbmd0aCBzaG91bGQgYmUg
My4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBJ
bnRlbnQKK1BBU1MgWE1MSHR0cFJlcXVlc3QubGVuZ3RoIGlzIDAKK1BBU1MgU2hhcmVkV29ya2Vy
Lmxlbmd0aCBpcyAyCitQQVNTIFdvcmtlci5sZW5ndGggaXMgMQorRkFJTCBTaGFkb3dSb290Lmxl
bmd0aCBzaG91bGQgYmUgMS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFkb3dSb290CitQQVNTIE1lc3NhZ2VDaGFubmVsLmxlbmd0aCBpcyAw
CitQQVNTIERPTVBhcnNlci5sZW5ndGggaXMgMAorUEFTUyBYUGF0aEV2YWx1YXRvci5sZW5ndGgg
aXMgMAorUEFTUyBYU0xUUHJvY2Vzc29yLmxlbmd0aCBpcyAwCitQQVNTIFhNTFNlcmlhbGl6ZXIu
bGVuZ3RoIGlzIDAKK1BBU1MgVHJhY2tFdmVudC5sZW5ndGggaXMgMgorUEFTUyBXZWJHTENvbnRl
eHRFdmVudC5sZW5ndGggaXMgMgorUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIEhh
c2hDaGFuZ2VFdmVudC5sZW5ndGggaXMgMgorUEFTUyBPdmVyZmxvd0V2ZW50Lmxlbmd0aCBpcyAy
CitQQVNTIEJlZm9yZUxvYWRFdmVudC5sZW5ndGggaXMgMgorUEFTUyBQcm9ncmVzc0V2ZW50Lmxl
bmd0aCBpcyAyCitQQVNTIEN1c3RvbUV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIFBhZ2VUcmFuc2l0
aW9uRXZlbnQubGVuZ3RoIGlzIDIKK1BBU1MgTWVzc2FnZUV2ZW50Lmxlbmd0aCBpcyAyCitQQVNT
IFdlYktpdEFuaW1hdGlvbkV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIEV2ZW50Lmxlbmd0aCBpcyAy
CitQQVNTIFdlYktpdFRyYW5zaXRpb25FdmVudC5sZW5ndGggaXMgMgorUEFTUyBQb3BTdGF0ZUV2
ZW50Lmxlbmd0aCBpcyAyCitQQVNTIEVycm9yRXZlbnQubGVuZ3RoIGlzIDIKK1BBU1MgU3RvcmFn
ZUV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOTAzOTg0YmU0ZGQ4NWY3
YzRiMzRkZTgxNTEzNmRlMzM0YmViMjQ1Ny4uYTk1OGRkNGE0NmY5ZDdiNjQ3MjA4ZTA2ZmIwOWMy
Mjc3NTU2YjAxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yMjEsNiArMjIxLDkgQEAg
aHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWcuaHRtbAog
IyBOZWVkcyByZWJhc2VsaW5lCiBmYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmsuaHRtbAog
CisjIE5lZWRzIHJlYmFzZWxpbmUKK2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKKwog
IyBNaWNyb2RhdGEgRE9NIEFQSSBpcyBub3QgeWV0IGVuYWJsZWQuCiAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxMAogZmFzdC9kb20vTWljcm9EYXRhCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDk5YzhiOGFlYWUyNTJmN2YyYzgyMmRjN2JhN2ZiMDk5
MTVlMjFhM2UuLmJkZGUyNGMwNWVhMzQxODYzYWQzMTE1ZjMzZjc2NTcwYjQxNDI3MWQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC04NzgsNiArODc4LDkgQEAgcGxhdGZvcm0vd2luL2Vk
aXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5l
cy5odG1sCiAjIE5lZWQgcmViYXNlbGluZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI2ODMwCiBmYXN0L211bHRpY29sL3NpbmdsZS1saW5lLmh0bWwKIAorIyBOZWVk
cyByZWJhc2VsaW5lCitmYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sCisKICMgTmVlZCB0
byBhZGQgZnVuY3Rpb25hbGl0eSB0byBEdW1wUmVuZGVyVHJlZSB0byBoYW5kbGUgZXJyb3IgcGFn
ZXMKIGZhc3QvaGlzdG9yeS9iYWNrLWZvcndhcmQtcmVzZXQtYWZ0ZXItZXJyb3ItaGFuZGxpbmcu
aHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCmluZGV4IDZlOTdjOTI5NDczNTYxNzJlNmZi
ODIwYmYzY2E4YjJkM2VjMTJjY2MuLmVhOWFkMGU5NjZhMzFjYzAzODIzMGQ2NjcwM2M2ODEwZGY3
OTlmNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCkBAIC03MSw2ICs3MSw5IEBAIGZhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAog
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1oZWFkZXJzLmh0bWwKIGh0dHAvdGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1sCiAKKyMgTmVlZHMgcmVi
YXNlbGluZQorZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbAorCiAjIENPTlNPTEUgTUVT
U0FHRTogbGluZSAwOiBTVkcgYW5pbWF0aW9uIHBhdXNlIEFQSSBtaXNzaW5nIQogIyBbV0syXSBT
VkcgYW5pbWF0aW9uIHBhdXNlIEFQSSBtaXNzaW5nCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MzM5Ngo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127098</attachid>
            <date>2012-02-14 18:40:09 -0800</date>
            <delta_ts>2012-02-14 19:22:31 -0800</delta_ts>
            <desc>patch for commit</desc>
            <filename>bug-78195-20120215114007.patch</filename>
            <type>text/plain</type>
            <size>12272</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBlZDQ0NDA2YmMwNWU5
MmEwMzU2ZTVlN2RlNmZlZTFmZjVmNGNiNy4uMzQ0ZTQwNGI2OWJmZjJkZjQxMTM0NDVhNzJiM2Nm
MjZmZDEzNDE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAyLTE0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSlNDXSBDYWNoZSB0
aGUgbnVtYmVyIG9mIG5vbi1jdXN0b20gY29uc3RydWN0b3IgYXJndW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE5NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIElmIFtDb25zdHJ1Y3RvclBhcmFtZXRl
cnM9XSBpcyBzcGVjaWZpZWQsIEpTQyBjYWNoZXMgdGhlIG51bWJlciBvZiBjb25zdHJ1Y3Rvcgor
ICAgICAgICBhcmd1bWVudHMgZm9yIHBlcmZvcm1hbmNlLiBIb3dldmVyLCBhdCBwcmVzZW50LCBb
Q29uc3RydWN0b3JQYXJhbWV0ZXJzPV0gaXMgc3BlY2lmaWVkCisgICAgICAgIG9uIGEgc21hbGwg
cGFydCBvZiBjb25zdHJ1Y3RvcnMgKEl0IGFwcGVhcnMgdGhhdCBwZW9wbGUgaGF2ZSBmb3Jnb3R0
ZW4gdG8KKyAgICAgICAgYWRkIFtDb25zdHJ1Y3RvclBhcmFtZXRlcnM9XSkuIFRodXMsIGZvciBu
b24tY3VzdG9tIGNvbnN0cnVjdG9ycywgdGhpcyBwYXRjaCBtb2RpZmllcworICAgICAgICBDb2Rl
R2VuZXJhdG9ySlMucG0gc28gdGhhdCBpdCBjYWNoZXMgdGhlIG51bWJlciBvZiBjb25zdHJ1Y3Rv
ciBhcmd1bWVudHMgYXV0b21hdGljYWxseQorICAgICAgICB3aXRob3V0IFtDb25zdHJ1Y3RvclBh
cmFtZXRlcnM9XSAoQ29kZUdlbmVyYXRvckpTLnBtIGNhbiBrbm93IHRoZSBudW1iZXIgb2YgYXJn
dW1lbnRzCisgICAgICAgIGJ5IHRoZSBbQ29uc3RydWN0b3I9Li4uXSBzaWduYXR1cmUpLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKKworICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVD
b25zdHJ1Y3RvckRlZmluaXRpb24pOgorCiAyMDEyLTAyLTE0ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGluIFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnJl
bW92ZWRGcm9tRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMzc4NmI5ZTc1ZjNjOGM1NWQxN2Q0YTE4MGEyZjBl
YWU1ZTZjMjc4NC4uZGRkOTljYzk3ZmJkMTBmNWE3NDAwNGVjNTg0YjZiOGQ4YTQ1OWUyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KQEAgLTMzNjYsNyArMzM2NiwxNCBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRp
b24KICAgICBteSAkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IgPSBzaGlmdDsKIAogICAgIG15
ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSA9ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1Y3RvciA/ICIk
e2NsYXNzTmFtZX1OYW1lZENvbnN0cnVjdG9yIiA6ICIke2NsYXNzTmFtZX1Db25zdHJ1Y3RvciI7
Ci0gICAgbXkgJG51bWJlck9mY29uc3RydWN0UGFyYW1ldGVycyA9ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yUGFyYW1ldGVycyJ9OworICAgIG15ICRudW1iZXJP
ZkNvbnN0cnVjdG9yUGFyYW1ldGVycyA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkNvbnN0cnVjdG9yUGFyYW1ldGVycyJ9OworICAgIGlmICghZGVmaW5lZCAkbnVtYmVyT2ZDb25z
dHJ1Y3RvclBhcmFtZXRlcnMpIHsKKyAgICAgICAgaWYgKElzQ29uc3RydWN0b3JUZW1wbGF0ZSgk
ZGF0YU5vZGUsICJFdmVudCIpKSB7CisgICAgICAgICAgICAkbnVtYmVyT2ZDb25zdHJ1Y3RvclBh
cmFtZXRlcnMgPSAyOworICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDb25zdHJ1Y3RvciJ9IGFuZCAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ3VzdG9tQ29uc3RydWN0b3IifSBhbmQgISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTQ3VzdG9tQ29uc3RydWN0b3IifSkgeworICAgICAgICAgICAgJG51bWJlck9mQ29uc3Ry
dWN0b3JQYXJhbWV0ZXJzID0gQHskZGF0YU5vZGUtPmNvbnN0cnVjdG9yLT5wYXJhbWV0ZXJzfTsK
KyAgICAgICAgfQorICAgIH0KIAogICAgIGlmICgkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3Ip
IHsKICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiY29uc3QgQ2xhc3NJbmZvICR7Y29uc3Ry
dWN0b3JDbGFzc05hbWV9OjpzX2luZm8gPSB7IFwiJHt2aXNpYmxlQ2xhc3NOYW1lfUNvbnN0cnVj
dG9yXCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoJGNvbnN0cnVj
dG9yQ2xhc3NOYW1lKSB9O1xuXG4iKTsKQEAgLTMzOTcsNyArMzQwNCw3IEBAIHN1YiBHZW5lcmF0
ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
QVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTtcbiIpOwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLnByb3RvdHlwZSwgJHtwcm90b0NsYXNzTmFtZX06OnNlbGYoZXhlYywgZ2xvYmFsT2JqZWN0
KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTtcbiIpOwogICAgIH0KLSAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgcHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlO
YW1lcygpLmxlbmd0aCwganNOdW1iZXIoJHtudW1iZXJPZmNvbnN0cnVjdFBhcmFtZXRlcnN9KSwg
UmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0pO1xuIikgaWYgJG51bWJlck9mY29uc3Ry
dWN0UGFyYW1ldGVyczsKKyAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcHV0RGlyZWN0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCwganNOdW1iZXIo
JHtudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVyc30pLCBSZWFkT25seSB8IERvbnREZWxldGUg
fCBEb250RW51bSk7XG4iKSBpZiBkZWZpbmVkICRudW1iZXJPZkNvbnN0cnVjdG9yUGFyYW1ldGVy
czsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogCiAgICAgaWYgKCEkZ2VuZXJh
dGluZ05hbWVkQ29uc3RydWN0b3IpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYWIyZTZkMmYyMjZhNmRmM2U4ODY3NDQ4
YmRkMjAwZGU1MzQ3NGZlLi4yZmU0M2M5Njk5NjVmMGFiZTQ2NDc0NTQ4ZmIxMTE5MDNlYTA1MmQ3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDItMTQgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtKU0NdIENhY2hlIHRoZSBudW1iZXIgb2Ygbm9u
LWN1c3RvbSBjb25zdHJ1Y3RvciBhcmd1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgVGhlIGFkZGVkIHRlc3RzIGNoZWNrIHRoZSBsZW5ndGggcHJvcGVy
dHkgb2YgY29uc3RydWN0b3JzLgorICAgICAgICBUaGUgdGVzdCBmYWlscyBmb3IgImZsYWctZGlz
YWJsZWQiIGNvbnN0cnVjdG9ycy4KKworICAgICAgICAqIGZhc3QvanMvY29uc3RydWN0b3ItbGVu
Z3RoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVj
dG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lw
cGVkOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3Jt
L3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTItMDItMTQgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gV2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVt
b3ZlZEZyb21Eb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25zdHJ1
Y3Rvci1sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3Ro
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTY3ZTdjYTllMTRkMGEyNzczNGVlN2Y5MjJkMDkwZjhkYzBkNGYx
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3ItbGVu
Z3RoLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgbGVuZ3Ro
IHByb3BlcnR5IG9mIGNvbnN0cnVjdG9ycy4iKTsKKworc2hvdWxkQmUoJ0JlZm9yZUxvYWRFdmVu
dC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUoJ0Nsb3NlRXZlbnQubGVuZ3RoJywgJzInKTsKK3No
b3VsZEJlKCdDdXN0b21FdmVudC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUoJ0RPTVBhcnNlci5s
ZW5ndGgnLCAnMCcpOworc2hvdWxkQmUoJ0RPTVVSTC5sZW5ndGgnLCAnMCcpOworc2hvdWxkQmUo
J0Vycm9yRXZlbnQubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdFdmVudC5sZW5ndGgnLCAnMicp
Oworc2hvdWxkQmUoJ0V2ZW50U291cmNlLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnRmlsZVJl
YWRlci5sZW5ndGgnLCAnMCcpOworc2hvdWxkQmUoJ0ZpbGVSZWFkZXJTeW5jLmxlbmd0aCcsICcw
Jyk7CitzaG91bGRCZSgnSGFzaENoYW5nZUV2ZW50Lmxlbmd0aCcsICcyJyk7CitzaG91bGRCZSgn
SW50ZW50Lmxlbmd0aCcsICczJyk7CitzaG91bGRCZSgnTWVkaWFDb250cm9sbGVyLmxlbmd0aCcs
ICcwJyk7CitzaG91bGRCZSgnTWVkaWFTdHJlYW0ubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdN
ZXNzYWdlQ2hhbm5lbC5sZW5ndGgnLCAnMCcpOworc2hvdWxkQmUoJ01lc3NhZ2VFdmVudC5sZW5n
dGgnLCAnMicpOworc2hvdWxkQmUoJ092ZXJmbG93RXZlbnQubGVuZ3RoJywgJzInKTsKK3Nob3Vs
ZEJlKCdQYWdlVHJhbnNpdGlvbkV2ZW50Lmxlbmd0aCcsICcyJyk7CitzaG91bGRCZSgnUGVlckNv
bm5lY3Rpb24ubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdQb3BTdGF0ZUV2ZW50Lmxlbmd0aCcs
ICcyJyk7CitzaG91bGRCZSgnUHJvZ3Jlc3NFdmVudC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUo
J1NoYWRvd1Jvb3QubGVuZ3RoJywgJzEnKTsKK3Nob3VsZEJlKCdTaGFyZWRXb3JrZXIubGVuZ3Ro
JywgJzInKTsKK3Nob3VsZEJlKCdTdG9yYWdlRXZlbnQubGVuZ3RoJywgJzInKTsKK3Nob3VsZEJl
KCdUZXh0VHJhY2tDdWUubGVuZ3RoJywgJzYnKTsKK3Nob3VsZEJlKCdUcmFja0V2ZW50Lmxlbmd0
aCcsICcyJyk7CitzaG91bGRCZSgnV2ViR0xDb250ZXh0RXZlbnQubGVuZ3RoJywgJzInKTsKK3No
b3VsZEJlKCdXZWJLaXRBbmltYXRpb25FdmVudC5sZW5ndGgnLCAnMicpOworc2hvdWxkQmUoJ1dl
YktpdEJsb2JCdWlsZGVyLmxlbmd0aCcsICcwJyk7CitzaG91bGRCZSgnV2ViS2l0Q1NTTWF0cml4
Lmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmxlbmd0aCcs
ICcyJyk7CitzaG91bGRCZSgnV29ya2VyLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnWE1MSHR0
cFJlcXVlc3QubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJlKCdYTUxTZXJpYWxpemVyLmxlbmd0aCcs
ICcwJyk7CitzaG91bGRCZSgnWFBhdGhFdmFsdWF0b3IubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJl
KCdYU0xUUHJvY2Vzc29yLmxlbmd0aCcsICcwJyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CmluZGV4IDAyMWQ3NTFlNDg5YjQ2ZGE4N2Y0MzNhODk5N2Y3OWUzZDQ3NWVhMzguLjY2Y2Zl
NDM5NmRhZGEyYjQ2ZTdlYmQxNjYzZDM0ODQ5NWM4MDI2YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTEyNjAsNiAr
MTI2MCw5IEBAIEJVR0NSMTAzNDQgTElOVVggOiBmYXN0L3RleHQvc2hvdWxkLXVzZS1hdHN1aS5o
dG1sID0gRkFJTAogLy8gc2hvdWxkIGRpc2FibGUgdGhpcyBpbiBsaWJ4bWwuCiBCVUdDUjEwMzQ3
IE1BQyA6IGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLnhodG1sID0gRkFJTAogCisvLyBWOCBz
aG91bGQgaW1wbGVtZW50IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgY29uc3RydWN0b3JzCitCVUdX
Szc4NjU3IDogZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbCA9IEZBSUwKKwogLy8gTGlu
dXggcGl4ZWx0ZXN0IGZhaWx1cmU6IEZhaWxpbmcgdG8gYXBwbHkgc3R5bGUKIEJVR0NSMTAzNDkg
TElOVVggOiBmYXN0L2Zvcm1zL3NlbGVjdC1zdHlsZS5odG1sID0gRkFJTAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9Ta2lwcGVkCmluZGV4IDc1OTI3ZjZmZmViYmNlNTRiZTI0NzVkYWRkZjFjZTkwZmFhODg0
MGIuLjhhY2FmNTY1N2JkNDNhOTc0NWU2MmFkNjgxYzQyZWUyZTFmNjM1YTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkCkBAIC0yMDE1LDYgKzIwMTUsNyBAQCBmYXN0L3RhYmxlLzAyNy5odG1s
CiBmYXN0L3RhYmxlLzAyNy12ZXJ0aWNhbC5odG1sCiB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzE0
OTI5Lmh0bWwKIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMjk0Ny5odG1sCitmYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC5odG1sCiAKICMgVGhlIHRlc3QgaGl0cyBhbiBBU1NFUlQgaW4gRGVidWcu
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg1OQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAppbmRleCA2NjA5N2JjZDRmYWYyNjUxMDc1YTlmMDJhYjQxZWE2OGZl
MWNmNmE1Li4wMzMwYTM1YzhmMWEwZGExMmVlNTA1NjkxYzU2ODc4MWZjZDc5ZTEyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMTQ5MCw2ICsxNDkwLDcgQEAgZmFzdC90YWJsZS8wMjcu
aHRtbAogZmFzdC90YWJsZS8wMjctdmVydGljYWwuaHRtbAogdGFibGVzL21vemlsbGEvYnVncy9i
dWcxNDkyOS5odG1sCiB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzI5NDcuaHRtbAorZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGguaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NDI3NgogZmFzdC9ldmVudHMvZG9udC1sb29zZS1sYXN0LWV2ZW50Lmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVjdG9y
LWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4NzljNTdmNzZhMGI3
ZjI3ZDkzZTFiYjNkYmQ2MGUxMDkyZTY0Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNDUgQEAKK1RoaXMgdGVzdHMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBjb25zdHJ1
Y3RvcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEJlZm9yZUxvYWRF
dmVudC5sZW5ndGggaXMgMgorUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIEN1c3Rv
bUV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIERPTVBhcnNlci5sZW5ndGggaXMgMAorRkFJTCBET01V
UkwubGVuZ3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IERPTVVSTAorUEFTUyBFcnJvckV2ZW50Lmxlbmd0aCBpcyAyCitQ
QVNTIEV2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIEV2ZW50U291cmNlLmxlbmd0aCBpcyAxCitQQVNT
IEZpbGVSZWFkZXIubGVuZ3RoIGlzIDAKK0ZBSUwgRmlsZVJlYWRlclN5bmMubGVuZ3RoIHNob3Vs
ZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IEZpbGVSZWFkZXJTeW5jCitQQVNTIEhhc2hDaGFuZ2VFdmVudC5sZW5ndGggaXMgMgorRkFJ
TCBJbnRlbnQubGVuZ3RoIHNob3VsZCBiZSAzLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEludGVudAorUEFTUyBNZWRpYUNvbnRyb2xsZXIubGVu
Z3RoIGlzIDAKK0ZBSUwgTWVkaWFTdHJlYW0ubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJldyBleGNl
cHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhU3RyZWFtCitQ
QVNTIE1lc3NhZ2VDaGFubmVsLmxlbmd0aCBpcyAwCitQQVNTIE1lc3NhZ2VFdmVudC5sZW5ndGgg
aXMgMgorUEFTUyBPdmVyZmxvd0V2ZW50Lmxlbmd0aCBpcyAyCitQQVNTIFBhZ2VUcmFuc2l0aW9u
RXZlbnQubGVuZ3RoIGlzIDIKK0ZBSUwgUGVlckNvbm5lY3Rpb24ubGVuZ3RoIHNob3VsZCBiZSAy
LiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFBl
ZXJDb25uZWN0aW9uCitQQVNTIFBvcFN0YXRlRXZlbnQubGVuZ3RoIGlzIDIKK1BBU1MgUHJvZ3Jl
c3NFdmVudC5sZW5ndGggaXMgMgorRkFJTCBTaGFkb3dSb290Lmxlbmd0aCBzaG91bGQgYmUgMS4g
VGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFk
b3dSb290CitQQVNTIFNoYXJlZFdvcmtlci5sZW5ndGggaXMgMgorUEFTUyBTdG9yYWdlRXZlbnQu
bGVuZ3RoIGlzIDIKK1BBU1MgVGV4dFRyYWNrQ3VlLmxlbmd0aCBpcyA2CitQQVNTIFRyYWNrRXZl
bnQubGVuZ3RoIGlzIDIKK1BBU1MgV2ViR0xDb250ZXh0RXZlbnQubGVuZ3RoIGlzIDIKK1BBU1Mg
V2ViS2l0QW5pbWF0aW9uRXZlbnQubGVuZ3RoIGlzIDIKK1BBU1MgV2ViS2l0QmxvYkJ1aWxkZXIu
bGVuZ3RoIGlzIDAKK1BBU1MgV2ViS2l0Q1NTTWF0cml4Lmxlbmd0aCBpcyAxCitQQVNTIFdlYktp
dFRyYW5zaXRpb25FdmVudC5sZW5ndGggaXMgMgorUEFTUyBXb3JrZXIubGVuZ3RoIGlzIDEKK1BB
U1MgWE1MSHR0cFJlcXVlc3QubGVuZ3RoIGlzIDAKK1BBU1MgWE1MU2VyaWFsaXplci5sZW5ndGgg
aXMgMAorUEFTUyBYUGF0aEV2YWx1YXRvci5sZW5ndGggaXMgMAorUEFTUyBYU0xUUHJvY2Vzc29y
Lmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOTAzOTg0YmU0ZGQ4NWY3YzRiMzRk
ZTgxNTEzNmRlMzM0YmViMjQ1Ny4uYTk1OGRkNGE0NmY5ZDdiNjQ3MjA4ZTA2ZmIwOWMyMjc3NTU2
YjAxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yMjEsNiArMjIxLDkgQEAgaHR0cC90
ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc291cmNlLW1hcHBpbmctZGVidWcuaHRtbAogIyBOZWVk
cyByZWJhc2VsaW5lCiBmYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1zaHJpbmsuaHRtbAogCisjIE5l
ZWRzIHJlYmFzZWxpbmUKK2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKKwogIyBNaWNy
b2RhdGEgRE9NIEFQSSBpcyBub3QgeWV0IGVuYWJsZWQuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxMAogZmFzdC9kb20vTWljcm9EYXRhCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCmluZGV4IDk5YzhiOGFlYWUyNTJmN2YyYzgyMmRjN2JhN2ZiMDk5MTVlMjFh
M2UuLmJkZGUyNGMwNWVhMzQxODYzYWQzMTE1ZjMzZjc2NTcwYjQxNDI3MWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCkBAIC04NzgsNiArODc4LDkgQEAgcGxhdGZvcm0vd2luL2VkaXRpbmcv
c2VsZWN0aW9uL2RvdWJsZWNsaWNrLXNob3VsZC1ub3QtZXhwYW5kLWFjcm9zcy1saW5lcy5odG1s
CiAjIE5lZWQgcmViYXNlbGluZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI2ODMwCiBmYXN0L211bHRpY29sL3NpbmdsZS1saW5lLmh0bWwKIAorIyBOZWVkcyByZWJh
c2VsaW5lCitmYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sCisKICMgTmVlZCB0byBhZGQg
ZnVuY3Rpb25hbGl0eSB0byBEdW1wUmVuZGVyVHJlZSB0byBoYW5kbGUgZXJyb3IgcGFnZXMKIGZh
c3QvaGlzdG9yeS9iYWNrLWZvcndhcmQtcmVzZXQtYWZ0ZXItZXJyb3ItaGFuZGxpbmcuaHRtbAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCmluZGV4IDZlOTdjOTI5NDczNTYxNzJlNmZiODIwYmYz
Y2E4YjJkM2VjMTJjY2MuLmVhOWFkMGU5NjZhMzFjYzAzODIzMGQ2NjcwM2M2ODEwZGY3OTlmNGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCkBAIC03MSw2ICs3MSw5IEBAIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAogaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1oZWFkZXJzLmh0bWwKIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMtbmV0d29yay1yZWRpcmVjdC5odG1sCiAKKyMgTmVlZHMgcmViYXNlbGlu
ZQorZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbAorCiAjIENPTlNPTEUgTUVTU0FHRTog
bGluZSAwOiBTVkcgYW5pbWF0aW9uIHBhdXNlIEFQSSBtaXNzaW5nIQogIyBbV0syXSBTVkcgYW5p
bWF0aW9uIHBhdXNlIEFQSSBtaXNzaW5nCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MzM5Ngo=
</data>

          </attachment>
      

    </bug>

</bugzilla>