<?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>93239</bug_id>
          
          <creation_ts>2012-08-06 02:27:49 -0700</creation_ts>
          <short_desc>[V8] Factor out V8Binding methods about configuring DOM attributes and methods</short_desc>
          <delta_ts>2012-08-07 16:38:47 -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>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>93095</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>687899</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-06 02:27:49 -0700</bug_when>
    <thetext>V8Binding is messy. We can factor out V8Binding methods about configuring DOM attributes and methods into another file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687909</commentid>
    <comment_count>1</comment_count>
      <attachid>156635</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-06 02:31:08 -0700</bug_when>
    <thetext>Created attachment 156635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689476</commentid>
    <comment_count>2</comment_count>
      <attachid>156635</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-07 15:22:49 -0700</bug_when>
    <thetext>Comment on attachment 156635
Patch

I would take this opportunity to change these files into WebKit style (e.g., not 80 column).

Consider turning these functions into static functions in a class:

V8DOMConfiguration::batchConfigureAttributes(...)

You don&apos;t have to do these things, but it&apos;s nice to clean up this stuff as we touch it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689478</commentid>
    <comment_count>3</comment_count>
      <attachid>156635</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-07 15:23:45 -0700</bug_when>
    <thetext>Comment on attachment 156635
Patch

Sounds nice. I&apos;ll fix it in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689596</commentid>
    <comment_count>4</comment_count>
      <attachid>156635</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 16:38:41 -0700</bug_when>
    <thetext>Comment on attachment 156635
Patch

Clearing flags on attachment: 156635

Committed r124940: &lt;http://trac.webkit.org/changeset/124940&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689597</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 16:38:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156635</attachid>
            <date>2012-08-06 02:31:08 -0700</date>
            <delta_ts>2012-08-07 16:38:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93239-20120806183044.patch</filename>
            <type>text/plain</type>
            <size>20701</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY3NGQ1N2U1YjE0NjY2
NWQyMGZlNjFjNTIzZmJhZGE2OWVkOTRhMS4uZDk5NDc5NTMyZTExZjJhZmFmNWU4N2Q5NGE4OThk
NjIwN2JhMjk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDEyLTA4LTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIEZhY3RvciBv
dXQgVjhCaW5kaW5nIG1ldGhvZHMgdGhhdCBjb25maWd1cmVzIERPTSBhdHRyaWJ1dGVzIGFuZCBt
ZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MzIzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFY4
QmluZGluZyBpcyBtZXNzeS4gVGhpcyBwYXRjaCBmYWN0b3JzIG91dCBWOEJpbmRpbmcgbWV0aG9k
cyB0aGF0IGNvbmZpZ3VyZXMKKyAgICAgICAgRE9NIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMgaW50
byBhbm90aGVyIGZpbGUuIFRoaXMgcGF0Y2gganVzdCBtb3ZlcyB0aGUgbWV0aG9kcworICAgICAg
ICBmcm9tIFY4QmluZGluZy57aCxjcHB9IHRvIFY4Q29uZmlndXJlRE9NQXR0cmlidXRlc0FuZE1l
dGhvZHMue2gsY3BwfS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9y
LgorCisgICAgICAgICogVXNlVjguY21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHA6CisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhCaW5kaW5nLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9W
OENvbmZpZ3VyZURPTUF0dHJpYnV0ZXNBbmRNZXRob2RzLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmJhdGNoQ29uZmlndXJlQXR0cmlidXRlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpiYXRjaENvbmZpZ3VyZUNvbnN0YW50cyk6CisgICAgICAgIChXZWJD
b3JlOjpiYXRjaENvbmZpZ3VyZUNhbGxiYWNrcyk6CisgICAgICAgIChXZWJDb3JlOjpjb25maWd1
cmVUZW1wbGF0ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhDb25maWd1cmVET01BdHRyaWJ1
dGVzQW5kTWV0aG9kcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQmF0
Y2hlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpjb25maWd1cmVBdHRyaWJ1dGUpOgor
ICAgICAgICAoQmF0Y2hlZENvbnN0YW50KToKKyAgICAgICAgKEJhdGNoZWRDYWxsYmFjayk6CisK
KzIwMTItMDgtMDYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCiAgICAg
ICAgIFtWOF0gUmVwbGFjZSB2ODo6VW5kZWZpbmVkKCkgaW4gYmluZGluZ3MvdjgvKiB3aXRoIHY4
VW5kZWZpbmVkKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkzMjE4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggYjFhNzQ4YzRjZmUwYzE5NWJhZGQ0M2QyMDky
NTU5MjM0OTkyZjZjYi4uNzZlNTU0ZDA2MGUwYTI5NjI4OWNlODY3ZGE3ZjBkMWZlOTA4Njg5NCAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvVXNlVjguY21ha2UKQEAgLTQ2LDYgKzQ2LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmNwcAogICAgIGJpbmRpbmdz
L3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4QmluZGlu
Zy5jcHAKKyAgICBiaW5kaW5ncy92OC9WOENvbmZpZ3VyZURPTUF0dHJpYnV0ZXNBbmRNZXRob2Rz
LmNwcCwKICAgICBiaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uY3BwCiAgICAgYmluZGluZ3Mvdjgv
VjhET01NYXAuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAxYmZmY2ZhOTkzOTA5NDFkZmY4MWI2MTllNzA2NzBiZDhiNGQ5ZjdkLi5l
ODZhZGU2MmFiMjVjYzMzMmMyMDA0MDUyZTdhZGFlZjAzZDQ0MDRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0yMjQ0LDYgKzIyNDQsOCBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4QmluZGlu
Zy5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOEJpbmRpbmdQZXJDb250ZXh0RGF0YS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4QmluZGluZ1BlckNvbnRleHREYXRhLmgn
LAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4Q29uZmlndXJlRE9NQXR0cmlidXRlc0FuZE1l
dGhvZHMuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOENvbmZpZ3VyZURPTUF0dHJp
YnV0ZXNBbmRNZXRob2RzLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4Q29sbGVjdGlv
bi5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4Q29sbGVjdGlvbi5oJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9WOERPTU1hcC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAKaW5kZXggNDJlYTY0NWViNWMzOTFkMzQ1NTY2NzIwYWM5MzZjMzhj
ZTAxMzM2ZS4uMjkxOWMxNWFmMmUxOTllNTYzYTcyYjY4MWU5MTE1Zjc2NTQ3ZDU1YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCkBAIC01MzUsMzIgKzUzNSw2IEBA
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjcmVhdGVSYXdUZW1wbGF0ZSgp
CiAgICAgcmV0dXJuIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPjo6TmV3KHJl
c3VsdCk7CiB9ICAgICAgICAKIAotdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGNvbmZpZ3VyZVRl
bXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBkZXNjLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmludGVyZmFj
ZU5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHBhcmVudENsYXNzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmaWVsZENvdW50LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJhdGNoZWRBdHRyaWJ1dGUq
IGF0dHJpYnV0ZXMsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVfdCBhdHRyaWJ1dGVDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqIGNhbGxiYWNrcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2FsbGJhY2tDb3VudCkKLXsK
LSAgICBkZXNjLT5TZXRDbGFzc05hbWUodjg6OlN0cmluZzo6TmV3KGludGVyZmFjZU5hbWUpKTsK
LSAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IGRlc2MtPkluc3Rh
bmNlVGVtcGxhdGUoKTsKLSAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KGZpZWxk
Q291bnQpOwotICAgIGlmICghcGFyZW50Q2xhc3MuSXNFbXB0eSgpKQotICAgICAgICBkZXNjLT5J
bmhlcml0KHBhcmVudENsYXNzKTsKLSAgICBpZiAoYXR0cmlidXRlQ291bnQpCi0gICAgICAgIGJh
dGNoQ29uZmlndXJlQXR0cmlidXRlcyhpbnN0YW5jZSwgZGVzYy0+UHJvdG90eXBlVGVtcGxhdGUo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsIGF0dHJpYnV0
ZUNvdW50KTsKLSAgICB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4gZGVmYXVsdFNpZ25hdHVyZSA9
IHY4OjpTaWduYXR1cmU6Ok5ldyhkZXNjKTsKLSAgICBpZiAoY2FsbGJhY2tDb3VudCkKLSAgICAg
ICAgYmF0Y2hDb25maWd1cmVDYWxsYmFja3MoZGVzYy0+UHJvdG90eXBlVGVtcGxhdGUoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFNpZ25hdHVyZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6RG9udERlbGV0ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxi
YWNrcywgY2FsbGJhY2tDb3VudCk7Ci0gICAgcmV0dXJuIGRlZmF1bHRTaWduYXR1cmU7Ci19Ci0K
IHY4OjpQZXJzaXN0ZW50PHY4OjpTdHJpbmc+IGdldFRvU3RyaW5nTmFtZSgpCiB7CiAgICAgdjg6
OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4mIHRvU3RyaW5nTmFtZSA9IFY4QmluZGluZ1Blcklzb2xh
dGVEYXRhOjpjdXJyZW50KCktPnRvU3RyaW5nTmFtZSgpOwpAQCAtNjIxLDQwICs1OTUsNCBAQCBQ
YXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHY4VmFsdWVUb1dlYkNvcmVET01TdHJpbmdMaXN0KHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB2YQogICAgIHJldHVybiByZXQucmVsZWFzZSgpOwogfQogCi12
b2lkIGJhdGNoQ29uZmlndXJlQXR0cmlidXRlcyh2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0
ZT4gaW5zdGFuY2UsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0VGVtcGxhdGU+IHByb3RvLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEJhdGNoZWRBdHRyaWJ1dGUqIGF0dHJpYnV0ZXMsIAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2l6ZV90IGF0dHJpYnV0ZUNvdW50KQotewotICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXR0cmlidXRlQ291bnQ7ICsraSkKLSAgICAgICAgY29uZmlndXJlQXR0cmlidXRl
KGluc3RhbmNlLCBwcm90bywgYXR0cmlidXRlc1tpXSk7Ci19Ci0KLXZvaWQgYmF0Y2hDb25maWd1
cmVDYWxsYmFja3Modjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+IHByb3RvLCAKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBzaWduYXR1
cmUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6UHJvcGVydHlBdHRyaWJ1dGUg
YXR0cmlidXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQmF0Y2hlZENh
bGxiYWNrKiBjYWxsYmFja3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBj
YWxsYmFja0NvdW50KQotewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2FsbGJhY2tDb3Vu
dDsgKytpKSB7Ci0gICAgICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3KGNhbGxiYWNrc1tp
XS5uYW1lKSwKLSAgICAgICAgICAgICAgICAgICB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KGNh
bGxiYWNrc1tpXS5jYWxsYmFjaywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZSksCi0gICAgICAgICAgICAgICAgICAg
YXR0cmlidXRlcyk7Ci0gICAgfQotfQotCi12b2lkIGJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKHY4
OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uRGVzY3JpcHRvciwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+IHBy
b3RvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ29uc3RhbnQq
IGNvbnN0YW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNvbnN0YW50
Q291bnQpCi17Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb25zdGFudENvdW50OyArK2kp
IHsKLSAgICAgICAgY29uc3QgQmF0Y2hlZENvbnN0YW50KiBjb25zdGFudCA9ICZjb25zdGFudHNb
aV07Ci0gICAgICAgIGZ1bmN0aW9uRGVzY3JpcHRvci0+U2V0KHY4OjpTdHJpbmc6Ok5ldyhjb25z
dGFudC0+bmFtZSksIHY4SW50ZWdlcihjb25zdGFudC0+dmFsdWUpLCB2ODo6UmVhZE9ubHkpOwot
ICAgICAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ldyhjb25zdGFudC0+bmFtZSksIHY4SW50
ZWdlcihjb25zdGFudC0+dmFsdWUpLCB2ODo6UmVhZE9ubHkpOwotICAgIH0KLX0KLQogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAppbmRl
eCBiNDQ3ZjJmMjM2ZGMxNDBjN2I2YzY4YjhiZjUyZWJjYThlYWEwODM4Li43NzllNGI0MTNhYzRj
Yzk5ZDU4ZGQwZDE1OTExMDIyNTNlZWRkOWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJWOEJpbmRpbmdNYWNyb3MuaCIKKyNpbmNs
dWRlICJWOENvbmZpZ3VyZURPTUF0dHJpYnV0ZXNBbmRNZXRob2RzLmgiCiAjaW5jbHVkZSAiVjhE
T01XcmFwcGVyLmgiCiAjaW5jbHVkZSAiVjhHQ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJWOEhp
ZGRlblByb3BlcnR5TmFtZS5oIgpAQCAtNjAzLDE4ICs2MDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY3JlYXRlUmF3
VGVtcGxhdGUoKTsKIAotICAgIHN0cnVjdCBCYXRjaGVkQXR0cmlidXRlOwotICAgIHN0cnVjdCBC
YXRjaGVkQ2FsbGJhY2s7Ci0KLSAgICB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4gY29uZmlndXJl
VGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBpbnRlcmZh
Y2VOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gcGFyZW50Q2xhc3MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmaWVsZENvdW50LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRj
aGVkQXR0cmlidXRlKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZV90IGF0dHJpYnV0ZUNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2FsbGJhY2tDb3VudCk7
Ci0KICAgICB2ODo6UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBnZXRUb1N0cmluZ05hbWUoKTsKICAg
ICB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZ2V0VG9TdHJpbmdUZW1wbGF0
ZSgpOwogCkBAIC03MjMsNTcgKzcxMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
RGVmYXVsdElzTnVsbFN0cmluZwogICAgIH07CiAKLSAgICAvLyBUaGUgZm9sbG93aW5nIEJhdGNo
IHN0cnVjdHMgYW5kIG1ldGhvZHMgYXJlIHVzZWQgZm9yIHNldHRpbmcgbXVsdGlwbGUKLSAgICAv
LyBwcm9wZXJ0aWVzIG9uIGFuIE9iamVjdFRlbXBsYXRlLCB1c2VkIGZyb20gdGhlIGdlbmVyYXRl
ZCBiaW5kaW5ncwotICAgIC8vIGluaXRpYWxpemF0aW9uIChDb25maWd1cmVYWFhUZW1wbGF0ZSku
IFRoaXMgZ3JlYXRseSByZWR1Y2VzIHRoZSBiaW5hcnkKLSAgICAvLyBzaXplIGJ5IG1vdmluZyBm
cm9tIGNvZGUgZHJpdmVuIHNldHVwIHRvIGRhdGEgdGFibGUgZHJpdmVuIHNldHVwLgotCi0gICAg
Ly8gQmF0Y2hlZEF0dHJpYnV0ZSB0cmFuc2xhdGVzIGludG8gY2FsbHMgdG8gU2V0QWNjZXNzb3Io
KSBvbiBlaXRoZXIgdGhlCi0gICAgLy8gaW5zdGFuY2Ugb3IgdGhlIHByb3RvdHlwZSBPYmplY3RU
ZW1wbGF0ZSwgYmFzZWQgb24gfG9uUHJvdG98LgotICAgIHN0cnVjdCBCYXRjaGVkQXR0cmlidXRl
IHsKLSAgICAgICAgY29uc3QgY2hhciogY29uc3QgbmFtZTsKLSAgICAgICAgdjg6OkFjY2Vzc29y
R2V0dGVyIGdldHRlcjsKLSAgICAgICAgdjg6OkFjY2Vzc29yU2V0dGVyIHNldHRlcjsKLSAgICAg
ICAgV3JhcHBlclR5cGVJbmZvKiBkYXRhOwotICAgICAgICB2ODo6QWNjZXNzQ29udHJvbCBzZXR0
aW5nczsKLSAgICAgICAgdjg6OlByb3BlcnR5QXR0cmlidXRlIGF0dHJpYnV0ZTsKLSAgICAgICAg
Ym9vbCBvblByb3RvOwotICAgIH07Ci0KLSAgICB2b2lkIGJhdGNoQ29uZmlndXJlQXR0cmlidXRl
cyh2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0ZT4sIHY4OjpIYW5kbGU8djg6Ok9iamVjdFRl
bXBsYXRlPiwgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSosIHNpemVfdCBhdHRyaWJ1dGVDb3VudCk7
Ci0KLSAgICB0ZW1wbGF0ZTxjbGFzcyBPYmplY3RPclRlbXBsYXRlPgotICAgIGlubGluZSB2b2lk
IGNvbmZpZ3VyZUF0dHJpYnV0ZSh2ODo6SGFuZGxlPE9iamVjdE9yVGVtcGxhdGU+IGluc3RhbmNl
LCB2ODo6SGFuZGxlPE9iamVjdE9yVGVtcGxhdGU+IHByb3RvLCBjb25zdCBCYXRjaGVkQXR0cmli
dXRlJiBhdHRyaWJ1dGUpCi0gICAgewotICAgICAgICAoYXR0cmlidXRlLm9uUHJvdG8gPyBwcm90
byA6IGluc3RhbmNlKS0+U2V0QWNjZXNzb3Iodjg6OlN0cmluZzo6TmV3KGF0dHJpYnV0ZS5uYW1l
KSwKLSAgICAgICAgICAgIGF0dHJpYnV0ZS5nZXR0ZXIsCi0gICAgICAgICAgICBhdHRyaWJ1dGUu
c2V0dGVyLAotICAgICAgICAgICAgdjg6OkV4dGVybmFsOjpXcmFwKGF0dHJpYnV0ZS5kYXRhKSwK
LSAgICAgICAgICAgIGF0dHJpYnV0ZS5zZXR0aW5ncywKLSAgICAgICAgICAgIGF0dHJpYnV0ZS5h
dHRyaWJ1dGUpOwotICAgIH0KLQotICAgIC8vIEJhdGNoZWRDb25zdGFudCB0cmFuc2xhdGVzIGlu
dG8gY2FsbHMgdG8gU2V0KCkgZm9yIHNldHRpbmcgdXAgYW4gb2JqZWN0J3MKLSAgICAvLyBjb25z
dGFudHMuIEl0IHNldHMgdGhlIGNvbnN0YW50IG9uIGJvdGggdGhlIEZ1bmN0aW9uVGVtcGxhdGUg
YW5kIHRoZQotICAgIC8vIE9iamVjdFRlbXBsYXRlLiBQcm9wZXJ0eUF0dHJpYnV0ZXMgaXMgYWx3
YXlzIFJlYWRPbmx5LgotICAgIHN0cnVjdCBCYXRjaGVkQ29uc3RhbnQgewotICAgICAgICBjb25z
dCBjaGFyKiBjb25zdCBuYW1lOwotICAgICAgICBpbnQgdmFsdWU7Ci0gICAgfTsKLQotICAgIHZv
aWQgYmF0Y2hDb25maWd1cmVDb25zdGFudHModjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4sIHY4OjpIYW5kbGU8djg6Ok9iamVjdFRlbXBsYXRlPiwgY29uc3QgQmF0Y2hlZENvbnN0YW50
Kiwgc2l6ZV90IGNvbnN0YW50Q291bnQpOwotCi0gICAgc3RydWN0IEJhdGNoZWRDYWxsYmFjayB7
Ci0gICAgICAgIGNvbnN0IGNoYXIqIGNvbnN0IG5hbWU7Ci0gICAgICAgIHY4OjpJbnZvY2F0aW9u
Q2FsbGJhY2sgY2FsbGJhY2s7Ci0gICAgfTsKLQotICAgIHZvaWQgYmF0Y2hDb25maWd1cmVDYWxs
YmFja3Modjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+LCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6OlNpZ25hdHVyZT4sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2ODo6UHJvcGVydHlBdHRyaWJ1dGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBjYWxsYmFja0NvdW50KTsKLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVjhCaW5kaW5nX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29uZmlndXJlRE9NQXR0cmlidXRlc0FuZE1ldGhvZHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb25maWd1cmVET01BdHRyaWJ1dGVz
QW5kTWV0aG9kcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNlYzkyYzJkOTdkMTY2MGRiZDc1MGI4YjM5NzM5
NTY4NmE3YzRhNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4Q29uZmlndXJlRE9NQXR0cmlidXRlc0FuZE1ldGhvZHMuY3BwCkBAIC0wLDAgKzEsODkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENv
bXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhDb25maWd1cmVET01BdHRyaWJ1dGVz
QW5kTWV0aG9kcy5oIgorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordm9pZCBiYXRjaENvbmZpZ3VyZUF0dHJpYnV0ZXModjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0VGVtcGxhdGU+IGluc3RhbmNlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdFRlbXBsYXRlPiBwcm90bywgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBCYXRjaGVkQXR0cmlidXRlKiBhdHRyaWJ1dGVzLCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhdHRyaWJ1dGVDb3VudCkKK3sKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGF0dHJpYnV0ZUNvdW50OyArK2kpCisgICAgICAgIGNvbmZpZ3Vy
ZUF0dHJpYnV0ZShpbnN0YW5jZSwgcHJvdG8sIGF0dHJpYnV0ZXNbaV0pOworfQorCit2b2lkIGJh
dGNoQ29uZmlndXJlQ29uc3RhbnRzKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1
bmN0aW9uRGVzY3JpcHRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0VGVtcGxhdGU+IHByb3RvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBCYXRjaGVkQ29uc3RhbnQqIGNvbnN0YW50cywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZV90IGNvbnN0YW50Q291bnQpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBjb25zdGFudENvdW50OyArK2kpIHsKKyAgICAgICAgY29uc3QgQmF0Y2hlZENvbnN0YW50
KiBjb25zdGFudCA9ICZjb25zdGFudHNbaV07CisgICAgICAgIGZ1bmN0aW9uRGVzY3JpcHRvci0+
U2V0KHY4OjpTdHJpbmc6Ok5ldyhjb25zdGFudC0+bmFtZSksIHY4SW50ZWdlcihjb25zdGFudC0+
dmFsdWUpLCB2ODo6UmVhZE9ubHkpOworICAgICAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5l
dyhjb25zdGFudC0+bmFtZSksIHY4SW50ZWdlcihjb25zdGFudC0+dmFsdWUpLCB2ODo6UmVhZE9u
bHkpOworICAgIH0KK30KKwordm9pZCBiYXRjaENvbmZpZ3VyZUNhbGxiYWNrcyh2ODo6SGFuZGxl
PHY4OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG8sIAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IHNpZ25hdHVyZSwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZSBhdHRyaWJ1dGVzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqIGNhbGxiYWNrcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGNhbGxiYWNrQ291bnQpCit7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsYmFja0NvdW50OyArK2kpCisgICAgICAgIHByb3Rv
LT5TZXQodjg6OlN0cmluZzo6TmV3KGNhbGxiYWNrc1tpXS5uYW1lKSwgdjg6OkZ1bmN0aW9uVGVt
cGxhdGU6Ok5ldyhjYWxsYmFja3NbaV0uY2FsbGJhY2ssIHY4OjpIYW5kbGU8djg6OlZhbHVlPigp
LCBzaWduYXR1cmUpLCBhdHRyaWJ1dGVzKTsKK30KKwordjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+
IGNvbmZpZ3VyZVRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBk
ZXNjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmludGVyZmFjZU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHBhcmVudENsYXNzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmaWVsZENvdW50
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJhdGNo
ZWRBdHRyaWJ1dGUqIGF0dHJpYnV0ZXMsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNpemVfdCBhdHRyaWJ1dGVDb3VudCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqIGNhbGxiYWNrcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgY2FsbGJh
Y2tDb3VudCkKK3sKKyAgICBkZXNjLT5TZXRDbGFzc05hbWUodjg6OlN0cmluZzo6TmV3KGludGVy
ZmFjZU5hbWUpKTsKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9
IGRlc2MtPkluc3RhbmNlVGVtcGxhdGUoKTsKKyAgICBpbnN0YW5jZS0+U2V0SW50ZXJuYWxGaWVs
ZENvdW50KGZpZWxkQ291bnQpOworICAgIGlmICghcGFyZW50Q2xhc3MuSXNFbXB0eSgpKQorICAg
ICAgICBkZXNjLT5Jbmhlcml0KHBhcmVudENsYXNzKTsKKyAgICBpZiAoYXR0cmlidXRlQ291bnQp
CisgICAgICAgIGJhdGNoQ29uZmlndXJlQXR0cmlidXRlcyhpbnN0YW5jZSwgZGVzYy0+UHJvdG90
eXBlVGVtcGxhdGUoKSwgYXR0cmlidXRlcywgYXR0cmlidXRlQ291bnQpOworICAgIHY4OjpMb2Nh
bDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0dXJlID0gdjg6OlNpZ25hdHVyZTo6TmV3KGRl
c2MpOworICAgIGlmIChjYWxsYmFja0NvdW50KQorICAgICAgICBiYXRjaENvbmZpZ3VyZUNhbGxi
YWNrcyhkZXNjLT5Qcm90b3R5cGVUZW1wbGF0ZSgpLCBkZWZhdWx0U2lnbmF0dXJlLCBzdGF0aWNf
Y2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpEb250RGVsZXRlKSwgY2FsbGJhY2tzLCBj
YWxsYmFja0NvdW50KTsKKyAgICByZXR1cm4gZGVmYXVsdFNpZ25hdHVyZTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhDb25maWd1cmVET01BdHRyaWJ1dGVzQW5kTWV0aG9kcy5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhDb25maWd1cmVET01BdHRyaWJ1dGVzQW5kTWV0aG9kcy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc0NmZlODI0NDA4ODRjM2YxNmZkZjZiOWY4M2U3ODA1NDQ5NjljZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbmZpZ3VyZURPTUF0dHJpYnV0ZXNB
bmRNZXRob2RzLmgKQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3Ig
dGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFY4Q29uZmlndXJlRE9NQXR0
cmlidXRlc0FuZE1ldGhvZHNfaAorI2RlZmluZSBWOENvbmZpZ3VyZURPTUF0dHJpYnV0ZXNBbmRN
ZXRob2RzX2gKKworI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgPHY4Lmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVGhlIGZvbGxvd2luZyBCYXRjaCBzdHJ1Y3RzIGFu
ZCBtZXRob2RzIGFyZSB1c2VkIGZvciBzZXR0aW5nIG11bHRpcGxlCisvLyBwcm9wZXJ0aWVzIG9u
IGFuIE9iamVjdFRlbXBsYXRlLCB1c2VkIGZyb20gdGhlIGdlbmVyYXRlZCBiaW5kaW5ncworLy8g
aW5pdGlhbGl6YXRpb24gKENvbmZpZ3VyZVhYWFRlbXBsYXRlKS4gVGhpcyBncmVhdGx5IHJlZHVj
ZXMgdGhlIGJpbmFyeQorLy8gc2l6ZSBieSBtb3ZpbmcgZnJvbSBjb2RlIGRyaXZlbiBzZXR1cCB0
byBkYXRhIHRhYmxlIGRyaXZlbiBzZXR1cC4KKworLy8gQmF0Y2hlZEF0dHJpYnV0ZSB0cmFuc2xh
dGVzIGludG8gY2FsbHMgdG8gU2V0QWNjZXNzb3IoKSBvbiBlaXRoZXIgdGhlCisvLyBpbnN0YW5j
ZSBvciB0aGUgcHJvdG90eXBlIE9iamVjdFRlbXBsYXRlLCBiYXNlZCBvbiB8b25Qcm90b3wuCitz
dHJ1Y3QgQmF0Y2hlZEF0dHJpYnV0ZSB7CisgICAgY29uc3QgY2hhciogY29uc3QgbmFtZTsKKyAg
ICB2ODo6QWNjZXNzb3JHZXR0ZXIgZ2V0dGVyOworICAgIHY4OjpBY2Nlc3NvclNldHRlciBzZXR0
ZXI7CisgICAgV3JhcHBlclR5cGVJbmZvKiBkYXRhOworICAgIHY4OjpBY2Nlc3NDb250cm9sIHNl
dHRpbmdzOworICAgIHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZSBhdHRyaWJ1dGU7CisgICAgYm9vbCBv
blByb3RvOworfTsKKwordm9pZCBiYXRjaENvbmZpZ3VyZUF0dHJpYnV0ZXModjg6OkhhbmRsZTx2
ODo6T2JqZWN0VGVtcGxhdGU+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplX3QgYXR0cmlidXRlQ291bnQpOworCit0ZW1wbGF0ZTxjbGFzcyBPYmplY3RPclRlbXBsYXRl
PgoraW5saW5lIHZvaWQgY29uZmlndXJlQXR0cmlidXRlKHY4OjpIYW5kbGU8T2JqZWN0T3JUZW1w
bGF0ZT4gaW5zdGFuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkhhbmRs
ZTxPYmplY3RPclRlbXBsYXRlPiBwcm90bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBCYXRjaGVkQXR0cmlidXRlJiBhdHRyaWJ1dGUpCit7CisgICAgKGF0dHJpYnV0ZS5v
blByb3RvID8gcHJvdG8gOiBpbnN0YW5jZSktPlNldEFjY2Vzc29yKHY4OjpTdHJpbmc6Ok5ldyhh
dHRyaWJ1dGUubmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZS5nZXR0ZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZS5zZXR0ZXIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpF
eHRlcm5hbDo6V3JhcChhdHRyaWJ1dGUuZGF0YSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZS5zZXR0aW5ncywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmli
dXRlLmF0dHJpYnV0ZSk7Cit9CisKKy8vIEJhdGNoZWRDb25zdGFudCB0cmFuc2xhdGVzIGludG8g
Y2FsbHMgdG8gU2V0KCkgZm9yIHNldHRpbmcgdXAgYW4gb2JqZWN0J3MKKy8vIGNvbnN0YW50cy4g
SXQgc2V0cyB0aGUgY29uc3RhbnQgb24gYm90aCB0aGUgRnVuY3Rpb25UZW1wbGF0ZSBhbmQgdGhl
CisvLyBPYmplY3RUZW1wbGF0ZS4gUHJvcGVydHlBdHRyaWJ1dGVzIGlzIGFsd2F5cyBSZWFkT25s
eS4KK3N0cnVjdCBCYXRjaGVkQ29uc3RhbnQgeworICAgIGNvbnN0IGNoYXIqIGNvbnN0IG5hbWU7
CisgICAgaW50IHZhbHVlOworfTsKKwordm9pZCBiYXRjaENvbmZpZ3VyZUNvbnN0YW50cyh2ODo6
SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBCYXRjaGVkQ29uc3RhbnQqLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaXplX3QgY29uc3RhbnRDb3VudCk7CisKKy8vIEJhdGNoZWRDYWxsYmFjayB0cmFuc2xh
dGVzIGludG8gY2FsbHMgdG8gU2V0KCkgb24gdGhlIHByb3RvdHlwZSBPYmplY3RUZW1wbGF0ZS4K
K3N0cnVjdCBCYXRjaGVkQ2FsbGJhY2sgeworICAgIGNvbnN0IGNoYXIqIGNvbnN0IG5hbWU7Cisg
ICAgdjg6Okludm9jYXRpb25DYWxsYmFjayBjYWxsYmFjazsKK307CisKK3ZvaWQgYmF0Y2hDb25m
aWd1cmVDYWxsYmFja3Modjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+LCAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdjg6OlByb3BlcnR5QXR0cmlidXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZV90IGNhbGxiYWNrQ291bnQpOworCit2ODo6TG9jYWw8djg6OlNp
Z25hdHVyZT4gY29uZmlndXJlVGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVt
cGxhdGU+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIGludGVyZmFjZU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHBhcmVudENsYXNz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmaWVsZENv
dW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJh
dGNoZWRBdHRyaWJ1dGUqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVfdCBhdHRyaWJ1dGVDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBCYXRjaGVkQ2FsbGJhY2sqLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBjYWxsYmFja0NvdW50KTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVjhDb25maWd1cmVET01BdHRyaWJ1dGVzQW5k
TWV0aG9kc19oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>