<?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>45724</bug_id>
          
          <creation_ts>2010-09-13 18:18:12 -0700</creation_ts>
          <short_desc>Add custom binding code for DirectoryEntry to allow JSON parameters for Flags</short_desc>
          <delta_ts>2010-09-30 13:39:33 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>42903</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dumi</cc>
    
    <cc>ericu</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278618</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-13 18:18:12 -0700</bug_when>
    <thetext>Add custom binding code for DirectoryEntry to allow JSON parameters for Flags.

DirectoryEntry.getFile() and getDirectory() need to be able to take Flags parameters in JSON format as in the example code:

http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#examples-1
4.2 Flags interface, 4.2.2 Examples:
&gt; lockFile = dataDir.getFile(&quot;lockfile.txt&quot;, {create: true, exclusive: true});

Until we add some generic code in the generator (bug 45237) we need a short-term solution to make it work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278622</commentid>
    <comment_count>1</comment_count>
      <attachid>67501</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-13 18:20:50 -0700</bug_when>
    <thetext>Created attachment 67501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279197</commentid>
    <comment_count>2</comment_count>
      <attachid>67501</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-09-14 14:59:04 -0700</bug_when>
    <thetext>Comment on attachment 67501
Patch

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

r=me, sorry it took so long to take a look at this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279407</commentid>
    <comment_count>3</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-09-14 23:41:59 -0700</bug_when>
    <thetext>Committed r67538: &lt;http://trac.webkit.org/changeset/67538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279423</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-15 00:09:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67538 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67501</attachid>
            <date>2010-09-13 18:20:50 -0700</date>
            <delta_ts>2010-09-14 14:59:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45724-20100913182049.patch</filename>
            <type>text/plain</type>
            <size>23214</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGUyODhkOTNiYjc1YWRkNmQzMGFiMzdmNGRhZGY5MWJiYjcwNTA1YTguLjNiOWE1
YmY2NzhlOTQ5NDEzY2E3OWI0OTIzY2ZiYjQzZmVkMzQ5OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTU2OSw2ICsx
NTY5LDcgQEAgRU5ESUYgKCkKIAogaWYgKEVOQUJMRV9GSUxFX1NZU1RFTSkKICAgICBMSVNUKEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRy
eUN1c3RvbS5jcHAKICAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5jcHAKICAgICAgICAg
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVBhdGgu
Y3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGRiMDc1NDM2YjdmNzFkOGMzZGI0NmIzMmE2YTEzYjA1NDIzZjNiMmEuLjBmYTVhODQyYzll
OWQ3Y2ZkM2QyY2NhMTEyNTExOGU5MmRlNTA1N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMDktMTMg
IEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjdXN0b20gYmluZGluZyBjb2RlIGZv
ciBEaXJlY3RvcnlFbnRyeSB0byBhbGxvdyBKU09OIHBhcmFtZXRlcnMgZm9yIEZsYWdzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTcyNAorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpKU0RpcmVjdG9yeUVudHJ5OjpnZXRGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTRGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4RGlyZWN0b3J5RW50cnk6OmdldEZpbGVDYWxsYmFjayk6CisgICAgICAgICogZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5oOgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnku
aWRsOgorCiAyMDEwLTA5LTEzICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMGI4MzZjMWZjZDExOWUzYjk4
YWNjNWQ5ZThhNjM2MTJiODQ1YTUwMC4uNjc4NzUxN2I3MWM1NTk2NjViYmYyOTc1ZjA1NmQzZmNj
NDNjMTA1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCkBAIC02NzgsNiArNjc4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAg
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBc
CisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCiAJV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3NzAzNTQ2YWEwOTAwOTk3M2E5NmZmZGU0Mzlj
MTYzODVlZTUyYmE1Li4xODM4MjczNDE3MmE0YmE3NWQ1NmMyMWZkYWRmODYwODRjOGU5ZGZiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtNTY0LDYgKzU2NCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZWJ1Z1dy
YXBwZXJTZXQuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVu
dEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRp
b25FdmVudEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5
RW50cnlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hl
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCcs
CkBAIC03NTksNiArNzYwLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
ZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCisg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExvY2F0aW9uQ3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdN
YXBDdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IGZmNDQ1NGQxZDc1YjRmODJkODFjZWUwNWRhNzZiM2RmNWU1ZTJi
ZWUuLjE2MzViZTQ5NTMyYTllYTllNmMzOGFlZjY1ZDNmZjdjMGEwODk0MzUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjkzOSw2
ICsyOTM5LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKICAg
ICAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKIAogICAgIFNPVVJDRVMg
Kz0gXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcCBcCiAg
ICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwIFwKICAgICAgICAgZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXIuY3BwIFwKICAgICAgICAgZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDgzYTE1MGJhYzA2NzE3NzAxYmU5
MWVmNDZlYWE0MzE0YmU5ZGFmYi4uN2E4N2RiZDA4NzAxYjFmZTliZWY1NWY1MDZlY2U5M2FkZjI4
YzZkOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00NjY4NCw2ICs0
NjY4NCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAiDQorCQkJ
CQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmlu
ZGluZ3NcanNcSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNDNiZTY5ODQ1N2RhZDI0OTI3NjgwNTBhMzkyMGEzM2RlOTljMWNhOC4uODQwZGU3YzFjOWIx
OTY1YzYzMmNlMGY4ZDM4MTlmNTZmYzczMjg2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTIzODUsNiArMjM4NSw3IEBACiAJCTg5M0M0N0I4MTIzOEEw
OTkwMDJCM0Q4NiAvKiBKU0ZpbGVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODkzQzQ3QjYxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNh
bGxiYWNrLmggKi87IH07CiAJCTg5M0M0N0JCMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0
ZXJDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OTNDNDdCOTEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3Bw
ICovOyB9OwogCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5M0M0
N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovOyB9OworCQk4
OTNDNDdERjEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTNDNDdERTEyM0VG
NEE5MDAyQjNEODYgLyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJCTg5ODc4
NTUyMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTg3ODUzOTEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5RW50cnkuY3BwICovOyB9OwogCQk4OTg3ODU1MzEyMkNBMDY0MDAzQUFCREEg
LyogRGlyZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5ODc4NTNBMTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5oICov
OyB9OwogCQk4OTg3ODU1NDEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5UmVhZGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5ODc4NTNCMTIy
Q0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovOyB9OwpAQCAtODI5MSw2ICs4
MjkyLDcgQEAKIAkJODkzQzQ3QjYxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZUNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0I5MTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0Zp
bGVXcml0ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0ZpbGVXcml0ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg5M0M0N0JBMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVXcml0ZXJDYWxsYmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTNDNDdERTEyM0VGNEE5MDAyQjNEODYgLyogSlNE
aXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODk4Nzg1MzkxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5LmNwcDsgcGF0
aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4OTg3ODUzQTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5RW50cnkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGlyZWN0b3J5RW50cnkuaDsgcGF0aCA9IGZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1
M0IxMjJDQTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeVJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXIuY3BwOyBwYXRoID0gZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYz
NzAsNiArMTYzNzIsNyBAQAogCQkJCTMzNTAzQ0JGMTAxNzlDMUEwMDNCNDdFMSAvKiBKU0Rlc2t0
b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCAqLywKIAkJCQkzMUZCMUE2QjEyMEE1RDY5MDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNTkwRTFCNEExMUU0
RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCisJ
CQkJODkzQzQ3REUxMjNFRjRBOTAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlDdXN0b20uY3Bw
ICovLAogCQkJCTQ5QzdCQThDMTA0MkY1QjEwMDA5RDQ0NyAvKiBKU0RvY3VtZW50Q3VzdG9tLmNw
cCAqLywKIAkJCQkxQUMyMjYxNjBEQjY5Rjc0MDA4OUI2NjkgLyogSlNET01BcHBsaWNhdGlvbkNh
Y2hlQ3VzdG9tLmNwcCAqLywKIAkJCQkyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUgLyogSlNET01G
b3JtRGF0YUN1c3RvbS5jcHAgKi8sCkBAIC0yMzAzOSw2ICsyMzA0Miw3IEBACiAJCQkJODkzQzQ3
QjcxMjM4QTA5OTAwMkIzRDg2IC8qIEpTRmlsZUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg5M0M0N0JCMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0UyQTMwNjEyM0U5REMwMDA5RkUxMkEgLyogSFRNTFBhcnNl
cklkaW9tcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTNDNDdERjEyM0VGNEE5MDAyQjNEODYg
LyogSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkZGE0
YzlmODg5Y2UyNWU5MzY5OGE0MTMzYzAxNjZiNWQ2NzYxMDcKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGlyZWN0b3J5RW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEs
MTQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRGlyZWN0b3J5RW50cnkuaCIK
KworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgor
I2luY2x1ZGUgIkpTRW50cnlDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTRXJyb3JDYWxsYmFjay5o
IgorI2luY2x1ZGUgIkpTRmxhZ3MuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorCit1
c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNE
aXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgRGlyZWN0b3J5
RW50cnkqIGltcCA9IHN0YXRpY19jYXN0PERpcmVjdG9yeUVudHJ5Kj4oaW1wbCgpKTsKKyAgICBj
b25zdCBTdHJpbmcmIHBhdGggPSB2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNr
KGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgaW50IGFyZ3NDb3VudCA9IGV4
ZWMtPmFyZ3VtZW50Q291bnQoKTsKKyAgICBpZiAoYXJnc0NvdW50IDw9IDEpIHsKKyAgICAgICAg
aW1wLT5nZXRGaWxlKHBhdGgpOworICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICB9
CisKKyAgICBSZWZQdHI8RmxhZ3M+IGZsYWdzOworICAgIGlmICghZXhlYy0+YXJndW1lbnQoMSku
aXNOdWxsKCkgJiYgIWV4ZWMtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgJiYgZXhlYy0+YXJn
dW1lbnQoMSkuaXNPYmplY3QoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaW5oZXJpdHMoJkpTRmxh
Z3M6OnNfaW5mbykpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGV4ZWMtPmFyZ3VtZW50
KDEpLmdldE9iamVjdCgpOworICAgICAgICBmbGFncyA9IEZsYWdzOjpjcmVhdGUoKTsKKyAgICAg
ICAgSlNWYWx1ZSBqc0NyZWF0ZSA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywg
ImNyZWF0ZSIpKTsKKyAgICAgICAgZmxhZ3MtPnNldENyZWF0ZShqc0NyZWF0ZS50b0Jvb2xlYW4o
ZXhlYykpOworICAgICAgICBKU1ZhbHVlIGpzRXhjbHVzaXZlID0gb2JqZWN0LT5nZXQoZXhlYywg
SWRlbnRpZmllcihleGVjLCAiZXhjbHVzaXZlIikpOworICAgICAgICBmbGFncy0+c2V0RXhjbHVz
aXZlKGpzRXhjbHVzaXZlLnRvQm9vbGVhbihleGVjKSk7CisgICAgfSBlbHNlCisgICAgICAgIGZs
YWdzID0gYWRvcHRSZWYodG9GbGFncyhleGVjLT5hcmd1bWVudCgxKSkpOworICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgUmVm
UHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjazsKKyAgICBpZiAoZXhlYy0+YXJndW1l
bnRDb3VudCgpID4gMiAmJiAhZXhlYy0+YXJndW1lbnQoMikuaXNOdWxsKCkgJiYgIWV4ZWMtPmFy
Z3VtZW50KDIpLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYgKCFleGVjLT5hcmd1bWVudCgy
KS5pc09iamVjdCgpKSB7CisgICAgICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9N
SVNNQVRDSF9FUlIpOworICAgICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgICAg
IH0KKyAgICAgICAgc3VjY2Vzc0NhbGxiYWNrID0gSlNFbnRyeUNhbGxiYWNrOjpjcmVhdGUoYXNP
YmplY3QoZXhlYy0+YXJndW1lbnQoMikpLCBnbG9iYWxPYmplY3QoKSk7CisgICAgfQorICAgIFJl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrOworICAgIGlmIChleGVjLT5hcmd1bWVu
dENvdW50KCkgPiAzICYmICFleGVjLT5hcmd1bWVudCgzKS5pc051bGwoKSAmJiAhZXhlYy0+YXJn
dW1lbnQoMykuaXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDMp
LmlzT2JqZWN0KCkpIHsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01J
U01BVENIX0VSUik7CisgICAgICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICAgICAg
fQorICAgICAgICBlcnJvckNhbGxiYWNrID0gSlNFcnJvckNhbGxiYWNrOjpjcmVhdGUoYXNPYmpl
Y3QoZXhlYy0+YXJndW1lbnQoMykpLCBnbG9iYWxPYmplY3QoKSk7CisgICAgfQorCisgICAgaW1w
LT5nZXRGaWxlKHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwor
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCitKU1ZhbHVlIEpTRGlyZWN0b3J5RW50cnk6
OmdldERpcmVjdG9yeShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgRGlyZWN0b3J5RW50cnkqIGlt
cCA9IHN0YXRpY19jYXN0PERpcmVjdG9yeUVudHJ5Kj4oaW1wbCgpKTsKKyAgICBjb25zdCBTdHJp
bmcmIHBhdGggPSB2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGV4ZWMsIGV4
ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgaW50IGFyZ3NDb3VudCA9IGV4ZWMtPmFyZ3Vt
ZW50Q291bnQoKTsKKyAgICBpZiAoYXJnc0NvdW50IDw9IDEpIHsKKyAgICAgICAgaW1wLT5nZXRE
aXJlY3RvcnkocGF0aCk7CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIH0KKwor
ICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFleGVjLT5hcmd1bWVudCgxKS5pc051
bGwoKSAmJiAhZXhlYy0+YXJndW1lbnQoMSkuaXNVbmRlZmluZWQoKSAmJiBleGVjLT5hcmd1bWVu
dCgxKS5pc09iamVjdCgpICYmICFleGVjLT5hcmd1bWVudCgxKS5pbmhlcml0cygmSlNGbGFnczo6
c19pbmZvKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZXhlYy0+YXJndW1lbnQoMSku
Z2V0T2JqZWN0KCk7CisgICAgICAgIGZsYWdzID0gRmxhZ3M6OmNyZWF0ZSgpOworICAgICAgICBK
U1ZhbHVlIGpzQ3JlYXRlID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY3Jl
YXRlIikpOworICAgICAgICBmbGFncy0+c2V0Q3JlYXRlKGpzQ3JlYXRlLnRvQm9vbGVhbihleGVj
KSk7CisgICAgICAgIEpTVmFsdWUganNFeGNsdXNpdmUgPSBvYmplY3QtPmdldChleGVjLCBJZGVu
dGlmaWVyKGV4ZWMsICJleGNsdXNpdmUiKSk7CisgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUo
anNFeGNsdXNpdmUudG9Cb29sZWFuKGV4ZWMpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgZmxhZ3Mg
PSBhZG9wdFJlZih0b0ZsYWdzKGV4ZWMtPmFyZ3VtZW50KDEpKSk7CisgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBSZWZQdHI8
RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrOworICAgIGlmIChleGVjLT5hcmd1bWVudENv
dW50KCkgPiAyICYmICFleGVjLT5hcmd1bWVudCgyKS5pc051bGwoKSAmJiAhZXhlYy0+YXJndW1l
bnQoMikuaXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50KDIpLmlz
T2JqZWN0KCkpIHsKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01B
VENIX0VSUik7CisgICAgICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICAgICAgfQor
ICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgPSBKU0VudHJ5Q2FsbGJhY2s6OmNyZWF0ZShhc09iamVj
dChleGVjLT5hcmd1bWVudCgyKSksIGdsb2JhbE9iamVjdCgpKTsKKyAgICB9CisgICAgUmVmUHRy
PEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2s7CisgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA+IDMgJiYgIWV4ZWMtPmFyZ3VtZW50KDMpLmlzTnVsbCgpICYmICFleGVjLT5hcmd1bWVu
dCgzKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGlmICghZXhlYy0+YXJndW1lbnQoMykuaXNP
YmplY3QoKSkgeworICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFU
Q0hfRVJSKTsKKyAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgICAgICB9Cisg
ICAgICAgIGVycm9yQ2FsbGJhY2sgPSBKU0Vycm9yQ2FsbGJhY2s6OmNyZWF0ZShhc09iamVjdChl
eGVjLT5hcmd1bWVudCgzKSksIGdsb2JhbE9iamVjdCgpKTsKKyAgICB9CisKKyAgICBpbXAtPmdl
dERpcmVjdG9yeShwYXRoLCBmbGFncywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsK
KyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERpcmVjdG9yeUVudHJ5Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODZi
MTU0MzhkMWRkNmJiNmEwYTEzNDg4OTFiMzVmODFiY2IyOTRjCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeUN1c3RvbS5jcHAKQEAg
LTAsMCArMSwxMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhEaXJlY3RvcnlF
bnRyeS5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5
RW50cnkuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5n
LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nTWFjcm9zLmgiCisjaW5jbHVkZSAiVjhFbnRyeUNhbGxi
YWNrLmgiCisjaW5jbHVkZSAiVjhFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhGbGFncy5o
IgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5Q2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EaXJlY3RvcnlFbnRy
eS5nZXREaXJlY3RvcnkiKTsKKyAgICBEaXJlY3RvcnlFbnRyeSogaW1wID0gVjhEaXJlY3RvcnlF
bnRyeTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgU1RSSU5HX1RPX1Y4UEFSQU1FVEVS
X0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjxXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2s+LCBw
YXRoLCBhcmdzWzBdKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CisgICAgICAgIGlt
cC0+Z2V0RGlyZWN0b3J5KHBhdGgpOworICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFs
dWU+KCk7CisgICAgfQorICAgIFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFpc1VuZGVm
aW5lZE9yTnVsbChhcmdzWzFdKSAmJiBhcmdzWzFdLT5Jc09iamVjdCgpICYmICFWOEZsYWdzOjpI
YXNJbnN0YW5jZShhcmdzWzFdKSkgeworICAgICAgICBFWENFUFRJT05fQkxPQ0sodjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Piwgb2JqZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3Nb
MV0pKTsKKyAgICAgICAgZmxhZ3MgPSBGbGFnczo6Y3JlYXRlKCk7CisgICAgICAgIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IHY4Q3JlYXRlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJjcmVh
dGUiKSk7CisgICAgICAgIGlmICghdjhDcmVhdGUuSXNFbXB0eSgpICYmICFpc1VuZGVmaW5lZE9y
TnVsbCh2OENyZWF0ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0Ny
ZWF0ZSwgdjhDcmVhdGUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGZsYWdzLT5zZXRD
cmVhdGUoaXNDcmVhdGUpOworICAgICAgICB9CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHY4RXhjbHVzaXZlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJleGNsdXNpdmUiKSk7
CisgICAgICAgIGlmICghdjhFeGNsdXNpdmUuSXNFbXB0eSgpICYmICFpc1VuZGVmaW5lZE9yTnVs
bCh2OEV4Y2x1c2l2ZSkpIHsKKyAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0V4
Y2x1c2l2ZSwgdjhFeGNsdXNpdmUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGZsYWdz
LT5zZXRFeGNsdXNpdmUoaXNFeGNsdXNpdmUpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAg
ICAgICBFWENFUFRJT05fQkxPQ0soRmxhZ3MqLCB0bXBfZmxhZ3MsIFY4RmxhZ3M6Okhhc0luc3Rh
bmNlKGFyZ3NbMV0pID8gVjhGbGFnczo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6
Q2FzdChhcmdzWzFdKSkgOiAwKTsKKyAgICAgICBmbGFncyA9IGFkb3B0UmVmKHRtcF9mbGFncyk7
CisgICAgfQorICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CisgICAg
aWYgKGFyZ3MuTGVuZ3RoKCkgPiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+
SXNVbmRlZmluZWQoKSkgeworICAgICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0KCkpCisgICAg
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHN1
Y2Nlc3NDYWxsYmFjayA9IFY4RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMl0sIGdldFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgfQorICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhYXJnc1szXS0+SXNO
dWxsKCkgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYgKCFhcmdzWzNd
LT5Jc09iamVjdCgpKQorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRD
SF9FUlIpOworICAgICAgICBlcnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNrOjpjcmVhdGUo
YXJnc1szXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgaW1wLT5n
ZXREaXJlY3RvcnkocGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7
CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCit2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uRGlyZWN0b3J5RW50cnkuZ2V0Rmls
ZSIpOworICAgIERpcmVjdG9yeUVudHJ5KiBpbXAgPSBWOERpcmVjdG9yeUVudHJ5Ojp0b05hdGl2
ZShhcmdzLkhvbGRlcigpKTsKKyAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JM
T0NLKFY4UGFyYW1ldGVyPFdpdGhVbmRlZmluZWRPck51bGxDaGVjaz4sIHBhdGgsIGFyZ3NbMF0p
OworICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDEpIHsKKyAgICAgICAgaW1wLT5nZXRGaWxlKHBh
dGgpOworICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CisgICAgfQorICAg
IFJlZlB0cjxGbGFncz4gZmxhZ3M7CisgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzFd
KSAmJiBhcmdzWzFdLT5Jc09iamVjdCgpICYmICFWOEZsYWdzOjpIYXNJbnN0YW5jZShhcmdzWzFd
KSkgeworICAgICAgICBFWENFUFRJT05fQkxPQ0sodjg6OkhhbmRsZTx2ODo6T2JqZWN0Piwgb2Jq
ZWN0LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKTsKKyAgICAgICAgZmxh
Z3MgPSBGbGFnczo6Y3JlYXRlKCk7CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4Q3Jl
YXRlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJjcmVhdGUiKSk7CisgICAgICAgIGlm
ICghdjhDcmVhdGUuSXNFbXB0eSgpICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OENyZWF0ZSkpIHsK
KyAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0NyZWF0ZSwgdjhDcmVhdGUtPkJv
b2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGZsYWdzLT5zZXRDcmVhdGUoaXNDcmVhdGUpOwor
ICAgICAgICB9CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4RXhjbHVzaXZlID0gb2Jq
ZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJleGNsdXNpdmUiKSk7CisgICAgICAgIGlmICghdjhF
eGNsdXNpdmUuSXNFbXB0eSgpICYmICFpc1VuZGVmaW5lZE9yTnVsbCh2OEV4Y2x1c2l2ZSkpIHsK
KyAgICAgICAgICAgIEVYQ0VQVElPTl9CTE9DSyhib29sLCBpc0V4Y2x1c2l2ZSwgdjhFeGNsdXNp
dmUtPkJvb2xlYW5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGZsYWdzLT5zZXRFeGNsdXNpdmUoaXNF
eGNsdXNpdmUpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICBFWENFUFRJT05fQkxP
Q0soRmxhZ3MqLCB0bXBfZmxhZ3MsIFY4RmxhZ3M6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhG
bGFnczo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAw
KTsKKyAgICAgICBmbGFncyA9IGFkb3B0UmVmKHRtcF9mbGFncyk7CisgICAgfQorICAgIFJlZlB0
cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2s7CisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkg
PiAyICYmICFhcmdzWzJdLT5Jc051bGwoKSAmJiAhYXJnc1syXS0+SXNVbmRlZmluZWQoKSkgewor
ICAgICAgICBpZiAoIWFyZ3NbMl0tPklzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gdGhy
b3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHN1Y2Nlc3NDYWxsYmFjayA9IFY4
RW50cnlDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMl0sIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7CisgICAgfQorICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrOworICAg
IGlmIChhcmdzLkxlbmd0aCgpID4gMyAmJiAhYXJnc1szXS0+SXNOdWxsKCkgJiYgIWFyZ3NbM10t
PklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgaWYgKCFhcmdzWzNdLT5Jc09iamVjdCgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICBl
cnJvckNhbGxiYWNrID0gVjhFcnJvckNhbGxiYWNrOjpjcmVhdGUoYXJnc1szXSwgZ2V0U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICB9CisgICAgaW1wLT5nZXRGaWxlKHBhdGgsIGZsYWdz
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOworICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4oKTsKK30KKworCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJl
Y3RvcnlFbnRyeS5oIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmgKaW5kZXggM2Nk
OGFiNWRjNzg3YzBhZWQ2MDE3MTQzZjU0MjczZjlmOWNmODllZC4uYzc2YjIwNDNhMzgxM2FmNWJj
MzEzYmM5ZDA0MTU0ZjM4MjkwNTNlZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeUVudHJ5LmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmgKQEAgLTU0
LDggKzU0LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVh
dGVSZWFkZXIoKTsKLSAgICB2b2lkIGdldEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVm
UHRyPEZsYWdzPiBvcHRpb25zID0gMCwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNz
Q2FsbGJhY2sgPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSAw
KTsKLSAgICB2b2lkIGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8
RmxhZ3M+IG9wdGlvbnMgPSAwLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjayA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IDApOwor
ICAgIHZvaWQgZ2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8RmxhZ3M+ID0g
MCwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiA9IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4gPSAwKTsKKyAgICB2b2lkIGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NS
ZWZQdHI8RmxhZ3M+ID0gMCwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiA9IDAsIFBhc3NSZWZQ
dHI8RXJyb3JDYWxsYmFjaz4gPSAwKTsKIAogcHJpdmF0ZToKICAgICBEaXJlY3RvcnlFbnRyeShE
T01GaWxlU3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwgYi9XZWJDb3JlL2ZpbGVh
cGkvRGlyZWN0b3J5RW50cnkuaWRsCmluZGV4IGFjMzBjN2Y4ODMzN2ViM2Q4NjJjNTVmODQ2ZDky
N2YwMGQ1ZmFhMjQuLjdhMGVmZGRkMzg5MWFjZjVmOWM2OTg2Y2E5ZWJlYzQ2ZTIzN2Q4ZWUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbApAQCAtMzUsNyArMzUsNyBAQCBtb2R1bGUgc3Rv
cmFnZSB7CiAgICAgICAgIEdlbmVyYXRlVG9KUwogICAgIF0gRGlyZWN0b3J5RW50cnkgOiBFbnRy
eSB7CiAgICAgICAgIERpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKLSAgICAgICAgdm9p
ZCBnZXRGaWxlKGluIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxdIEZsYWdzIG9wdGlvbnMs
IGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBp
biBbT3B0aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwotICAg
ICAgICB2b2lkIGdldERpcmVjdG9yeShpbiBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBG
bGFncyBvcHRpb25zLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNrIHN1Y2Nl
c3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNh
bGxiYWNrKTsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCBnZXRGaWxlKGluIFtDb252ZXJ0VW5kZWZp
bmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBGbGFn
cyBmbGFncywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7CisgICAgICAgIFtDdXN0b21dIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtDb252ZXJ0VW5kZWZp
bmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBGbGFn
cyBmbGFncywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2Fs
bGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFj
ayk7CiAgICAgfTsKIH0K
</data>
<flag name="review"
          id="56820"
          type_id="1"
          status="+"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>