<?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>40911</bug_id>
          
          <creation_ts>2010-06-21 05:48:05 -0700</creation_ts>
          <short_desc>[Qt] Performance of the QtScript API is not tested.</short_desc>
          <delta_ts>2010-06-25 12:57:20 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>31863</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jędrzej Nowacki">jedrzej.nowacki</reporter>
          <assigned_to name="Jędrzej Nowacki">jedrzej.nowacki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jedrzej.nowacki</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>240662</commentid>
    <comment_count>0</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-06-21 05:48:05 -0700</bug_when>
    <thetext>It would be nice to compare performance of two QtScript implementations; one which is in Qt with one that lives in Webkit. As both of them are based on JSC performance test should focus on API overhead.

I think that we should create microbenchmarks for all funciton in the API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241793</commentid>
    <comment_count>1</comment_count>
      <attachid>59500</attachid>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-06-23 04:05:44 -0700</bug_when>
    <thetext>Created attachment 59500
Fix v1

The patch introduces micro benchmarks for existing Api.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241794</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-23 04:07:47 -0700</bug_when>
    <thetext>Attachment 59500 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
Last 3072 characters of output:
ject_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:68:  isError_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:71:  toString_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:73:  toNumber_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:75:  toBool_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:77:  toInteger_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:79:  toInt32_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:81:  toUInt32_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:83:  toUInt16_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:85:  toObject_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:88:  equals_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:90:  strictlyEquals_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptvalue/tst_qscriptvalue.cpp:92:  instanceOf_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptengine/tst_qscriptengine.cpp:20:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
JavaScriptCore/qt/benchmarks/qscriptengine/tst_qscriptengine.cpp:28:  checkSyntax_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptengine/tst_qscriptengine.cpp:31:  evaluateString_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/qt/benchmarks/qscriptengine/tst_qscriptengine.cpp:33:  evaluateProgram_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 27 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241797</commentid>
    <comment_count>3</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-06-23 04:16:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.
Reopened 34574</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243152</commentid>
    <comment_count>4</comment_count>
      <attachid>59500</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-25 12:57:16 -0700</bug_when>
    <thetext>Comment on attachment 59500
Fix v1

Clearing flags on attachment: 59500

Committed r61882: &lt;http://trac.webkit.org/changeset/61882&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243153</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-25 12:57:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59500</attachid>
            <date>2010-06-23 04:05:44 -0700</date>
            <delta_ts>2010-06-25 12:57:15 -0700</delta_ts>
            <desc>Fix v1</desc>
            <filename>bench.diff</filename>
            <type>text/plain</type>
            <size>19403</size>
            <attacher name="Jędrzej Nowacki">jedrzej.nowacki</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmNmRhN2IwLi40ZWI1NGU0
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDYtMjMgIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9k
dWNlIHRvIFF0U2NyaXB0IGJlbmNobWFya3MuCisKKyAgICAgICAgVGhlIFF0U2NyaXB0IHBlcmZv
cm1hbmNlIHNob3VsZCBiZSB0ZXN0ZWQgcmVndWxhcmx5LiBUaGUgcGF0Y2ggaW50cm9kdWNlcwor
ICAgICAgICBtaWNybyBiZW5jaG1hcmtzIGZvciBleGlzdGluZyBBUEkuCisKKyAgICAgICAgW1F0
XSBQZXJmb3JtYW5jZSBvZiB0aGUgUXRTY3JpcHQgQVBJIGlzIG5vdCB0ZXN0ZWQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDkxMQorCisgICAgICAg
ICogV2ViS2l0LnBybzoKKwogMjAxMC0wNi0yMSAgUHJhc2FkIFRhbW1hbmEgIDxwcmFzYWR0QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpp
bmRleCA0OTFhMjljLi40NjI2OTg3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODQgQEAKKzIwMTAt
MDYtMjMgIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIFF0
U2NyaXB0IGJlbmNobWFya3MuCisKKyAgICAgICAgVGhlIFF0U2NyaXB0IHBlcmZvcm1hbmNlIHNo
b3VsZCBiZSB0ZXN0ZWQgcmVndWxhcmx5LiBUaGUgcGF0Y2ggaW50cm9kdWNlcworICAgICAgICBt
aWNybyBiZW5jaG1hcmtzIGZvciBleGlzdGluZyBBUEkuCisKKyAgICAgICAgW1F0XSBQZXJmb3Jt
YW5jZSBvZiB0aGUgUXRTY3JpcHQgQVBJIGlzIG5vdCB0ZXN0ZWQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDkxMQorCisgICAgICAgICogcXQvYmVu
Y2htYXJrcy9iZW5jaG1hcmtzLnByaTogQ29waWVkIGZyb20gSmF2YVNjcmlwdENvcmUvcXQvdGVz
dHMvdGVzdHMucHJpLgorICAgICAgICAqIHF0L2JlbmNobWFya3MvYmVuY2htYXJrcy5wcm86IEFk
ZGVkLgorICAgICAgICAqIHF0L2JlbmNobWFya3MvcXNjcmlwdGVuZ2luZS9xc2NyaXB0ZW5naW5l
LnBybzogQWRkZWQuCisgICAgICAgICogcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3RzdF9x
c2NyaXB0ZW5naW5lLmNwcDogQWRkZWQuCisgICAgICAgICh0c3RfUVNjcmlwdEVuZ2luZTo6Y2hl
Y2tTeW50YXhfZGF0YSk6CisgICAgICAgICh0c3RfUVNjcmlwdEVuZ2luZTo6Y2hlY2tTeW50YXgp
OgorICAgICAgICAodHN0X1FTY3JpcHRFbmdpbmU6OmNvbnN0cnVjdG9yKToKKyAgICAgICAgKHRz
dF9RU2NyaXB0RW5naW5lOjpldmFsdWF0ZVN0cmluZ19kYXRhKToKKyAgICAgICAgKHRzdF9RU2Ny
aXB0RW5naW5lOjpldmFsdWF0ZVN0cmluZyk6CisgICAgICAgICh0c3RfUVNjcmlwdEVuZ2luZTo6
ZXZhbHVhdGVQcm9ncmFtX2RhdGEpOgorICAgICAgICAodHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1
YXRlUHJvZ3JhbSk6CisgICAgICAgICh0c3RfUVNjcmlwdEVuZ2luZTo6bmV3T2JqZWN0KToKKyAg
ICAgICAgKHRzdF9RU2NyaXB0RW5naW5lOjpudWxsVmFsdWUpOgorICAgICAgICAodHN0X1FTY3Jp
cHRFbmdpbmU6OnVuZGVmaW5lZFZhbHVlKToKKyAgICAgICAgKHRzdF9RU2NyaXB0RW5naW5lOjpn
bG9iYWxPYmplY3QpOgorICAgICAgICAodHN0X1FTY3JpcHRFbmdpbmU6OnRvU3RyaW5nSGFuZGxl
KToKKyAgICAgICAgKiBxdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFsdWUucHJv
OiBBZGRlZC4KKyAgICAgICAgKiBxdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlw
dHZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0c3RfUVNjcmlw
dFZhbHVlKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6On50c3RfUVNjcmlwdFZhbHVlKToK
KyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnZhbHVlc19kYXRhKToKKyAgICAgICAgKHRzdF9R
U2NyaXB0VmFsdWU6OmN0b3JCb29sKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JS
ZWFsKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JOdW1iZXIpOgorICAgICAgICAo
dHN0X1FTY3JpcHRWYWx1ZTo6Y3RvclFTdHJpbmcpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1
ZTo6Y3RvckNTdHJpbmcpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6Y3RvclNwZWNpYWwp
OgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6Y3RvclFTY3JpcHRWYWx1ZSk6CisgICAgICAg
ICh0c3RfUVNjcmlwdFZhbHVlOjppc1ZhbGlkX2RhdGEpOgorICAgICAgICAodHN0X1FTY3JpcHRW
YWx1ZTo6aXNWYWxpZCk6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0Jvb2xfZGF0YSk6
CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0Jvb2wpOgorICAgICAgICAodHN0X1FTY3Jp
cHRWYWx1ZTo6aXNOdW1iZXJfZGF0YSk6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc051
bWJlcik6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0Z1bmN0aW9uX2RhdGEpOgorICAg
ICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNGdW5jdGlvbik6CisgICAgICAgICh0c3RfUVNjcmlw
dFZhbHVlOjppc051bGxfZGF0YSk6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc051bGwp
OgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNTdHJpbmdfZGF0YSk6CisgICAgICAgICh0
c3RfUVNjcmlwdFZhbHVlOjppc1N0cmluZyk6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpp
c1VuZGVmaW5lZF9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzVW5kZWZpbmVk
KToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzT2JqZWN0X2RhdGEpOgorICAgICAgICAo
dHN0X1FTY3JpcHRWYWx1ZTo6aXNPYmplY3QpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6
aXNFcnJvcl9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzRXJyb3IpOgorICAg
ICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9TdHJpbmdfZGF0YSk6CisgICAgICAgICh0c3RfUVNj
cmlwdFZhbHVlOjp0b1N0cmluZyk6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b051bWJl
cl9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvTnVtYmVyKToKKyAgICAgICAg
KHRzdF9RU2NyaXB0VmFsdWU6OnRvQm9vbF9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFs
dWU6OnRvQm9vbCk6CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVnZXJfZGF0YSk6
CisgICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVnZXIpOgorICAgICAgICAodHN0X1FT
Y3JpcHRWYWx1ZTo6dG9JbnQzMl9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRv
SW50MzIpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MzJfZGF0YSk6CisgICAg
ICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQzMik6CisgICAgICAgICh0c3RfUVNjcmlwdFZh
bHVlOjp0b1VJbnQxNl9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDE2
KToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvT2JqZWN0X2RhdGEpOgorICAgICAgICAo
dHN0X1FTY3JpcHRWYWx1ZTo6dG9PYmplY3QpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6
ZXF1YWxzX2RhdGEpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzKToKKyAgICAg
ICAgKHRzdF9RU2NyaXB0VmFsdWU6OnN0cmljdGx5RXF1YWxzX2RhdGEpOgorICAgICAgICAodHN0
X1FTY3JpcHRWYWx1ZTo6c3RyaWN0bHlFcXVhbHMpOgorICAgICAgICAodHN0X1FTY3JpcHRWYWx1
ZTo6aW5zdGFuY2VPZl9kYXRhKToKKyAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6Omluc3RhbmNl
T2YpOgorCiAyMDEwLTA2LTIyICBHYWJvciBMb2tpICA8bG9raUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvcXQvYmVuY2htYXJrcy9iZW5jaG1hcmtzLnByaSBiL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNo
bWFya3MvYmVuY2htYXJrcy5wcmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NWFmMzM4MwotLS0gL2Rldi9udWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3Mv
YmVuY2htYXJrcy5wcmkKQEAgLTAsMCArMSwxOSBAQAorUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBV
VF9ESVIvbGliICQkUU1BS0VfUlBBVEhESVIKK1FNQUtFX0xJQkRJUiA9ICQkT1VUUFVUX0RJUi9s
aWIgJCRRTUFLRV9MSUJESVIKK21hYzohc3RhdGljOmNvbnRhaW5zKFFUX0NPTkZJRywgcXRfZnJh
bWV3b3JrKTohQ09ORklHKHdlYmtpdF9ub19mcmFtZXdvcmspIHsKKyAgICBMSUJTICs9IC1mcmFt
ZXdvcmsgUXRTY3JpcHQKKyAgICBRTUFLRV9GUkFNRVdPUktQQVRIID0gJCRPVVRQVVRfRElSL2xp
YiAkJFFNQUtFX0ZSQU1FV09SS1BBVEgKK30gZWxzZSB7CisgICAgd2luMzItKnx3aW5jZSogewor
ICAgICAgICBMSUJTICs9IC1sUXRTY3JpcHQkJHtRVF9NQUpPUl9WRVJTSU9OfQorICAgIH0gZWxz
ZSB7CisgICAgICAgIExJQlMgKz0gLWxRdFNjcmlwdAorICAgIH0KK30KKworQ09ORklHKHJlbGVh
c2UsIGRlYnVnfHJlbGVhc2UpIHsKKyAgICBERUZJTkVTICs9IE5ERUJVRworfQorCitJTkNMVURF
UEFUSCArPSAkJFBXRC8uLi9hcGkKKwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcXQvYmVu
Y2htYXJrcy9iZW5jaG1hcmtzLnBybyBiL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvYmVu
Y2htYXJrcy5wcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVmYTgyYwot
LS0gL2Rldi9udWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvYmVuY2htYXJr
cy5wcm8KQEAgLTAsMCArMSw0IEBACitURU1QTEFURSA9IHN1YmRpcnMKK1NVQkRJUlMgPSAgIHFz
Y3JpcHRlbmdpbmUgXAorICAgICAgICAgICAgcXNjcmlwdHZhbHVlIFwKKwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3FzY3JpcHRlbmdpbmUu
cHJvIGIvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3FzY3JpcHRl
bmdpbmUucHJvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5NDhjZTQKLS0t
IC9kZXYvbnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHRlbmdp
bmUvcXNjcmlwdGVuZ2luZS5wcm8KQEAgLTAsMCArMSwxMSBAQAorVEVNUExBVEUgPSBhcHAKK1RB
UkdFVCA9IHRzdF9iZW5jaF9xc2NyaXB0ZW5naW5lCisKK1NPVVJDRVMgKz0gdHN0X3FzY3JpcHRl
bmdpbmUuY3BwCisKK1FUICs9IHRlc3RsaWIKKworc3ltYmlhbiogeworICAgIFRBUkdFVC5FUE9D
SEVBUFNJWkUgID0gMHgyMDAwMCAweDIwMDAwMDAgLy8gTWluIDEyOGtCLCBNYXggMzJNQgorICAg
IFRBUkdFVC5FUE9DU1RBQ0tTSVpFID0gMHgxNDAwMAorfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcCBi
L0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdGVuZ2luZS90c3RfcXNjcmlwdGVu
Z2luZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0NDdjNgotLS0g
L2Rldi9udWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdGVuZ2lu
ZS90c3RfcXNjcmlwdGVuZ2luZS5jcHAKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgICAgQ29weXJp
Z2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyovCisKKyNpbmNsdWRlICJxc2NyaXB0ZW5naW5lLmgiCisjaW5jbHVkZSAicXNjcmlwdHZhbHVl
LmgiCisjaW5jbHVkZSA8cXRlc3QuaD4KKworY2xhc3MgdHN0X1FTY3JpcHRFbmdpbmUgOiBwdWJs
aWMgUU9iamVjdCB7CisgICAgUV9PQkpFQ1QKKworcHJpdmF0ZSBzbG90czoKKyAgICB2b2lkIGNo
ZWNrU3ludGF4X2RhdGEoKTsKKyAgICB2b2lkIGNoZWNrU3ludGF4KCk7CisgICAgdm9pZCBjb25z
dHJ1Y3RvcigpOworICAgIHZvaWQgZXZhbHVhdGVTdHJpbmdfZGF0YSgpOworICAgIHZvaWQgZXZh
bHVhdGVTdHJpbmcoKTsKKyAgICB2b2lkIGV2YWx1YXRlUHJvZ3JhbV9kYXRhKCk7CisgICAgdm9p
ZCBldmFsdWF0ZVByb2dyYW0oKTsKKyAgICB2b2lkIG5ld09iamVjdCgpOworICAgIHZvaWQgbnVs
bFZhbHVlKCk7CisgICAgdm9pZCB1bmRlZmluZWRWYWx1ZSgpOworICAgIHZvaWQgZ2xvYmFsT2Jq
ZWN0KCk7CisgICAgdm9pZCB0b1N0cmluZ0hhbmRsZSgpOworfTsKKwordm9pZCB0c3RfUVNjcmlw
dEVuZ2luZTo6Y2hlY2tTeW50YXhfZGF0YSgpCit7CisgICAgZXZhbHVhdGVTdHJpbmdfZGF0YSgp
OworfQorCit2b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpjaGVja1N5bnRheCgpCit7CisgICAgUUZF
VENIKFFTdHJpbmcsIGNvZGUpOworICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOworICAgIFFCRU5D
SE1BUksgeworICAgICAgICBlbmdpbmUuY2hlY2tTeW50YXgoY29kZSk7CisgICAgfQorfQorCit2
b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpjb25zdHJ1Y3RvcigpCit7CisgICAgUUJFTkNITUFSSyB7
CisgICAgICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOworICAgIH0KK30KKwordm9pZCB0c3RfUVNj
cmlwdEVuZ2luZTo6ZXZhbHVhdGVTdHJpbmdfZGF0YSgpCit7CisgICAgUVRlc3Q6OmFkZENvbHVt
bjxRU3RyaW5nPigiY29kZSIpOworICAgIFFUZXN0OjpuZXdSb3coImVtcHR5IHNjcmlwdCIpIDw8
IFFTdHJpbmc6OmZyb21MYXRpbjEoIiIpOworICAgIFFUZXN0OjpuZXdSb3coIm51bWJlciBsaXRl
cmFsIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMTIzIik7CisgICAgUVRlc3Q6Om5ld1Jvdygi
c3RyaW5nIGxpdGVyYWwiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCInY2lhbyciKTsKKyAgICBR
VGVzdDo6bmV3Um93KCJyZWdleHAgbGl0ZXJhbCIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIi9m
b28vZ2ltIik7CisgICAgUVRlc3Q6Om5ld1JvdygibnVsbCBsaXRlcmFsIikgPDwgUVN0cmluZzo6
ZnJvbUxhdGluMSgibnVsbCIpOworICAgIFFUZXN0OjpuZXdSb3coInVuZGVmaW5lZCBsaXRlcmFs
IikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgidW5kZWZpbmVkIik7CisgICAgUVRlc3Q6Om5ld1Jv
dygiZW1wdHkgb2JqZWN0IGxpdGVyYWwiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ7fSIpOwor
ICAgIFFUZXN0OjpuZXdSb3coInRoaXMiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ0aGlzIik7
Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1YXRlU3RyaW5nKCkKK3sKKyAgICBR
RkVUQ0goUVN0cmluZywgY29kZSk7CisgICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7CisgICAgUUJF
TkNITUFSSyB7CisgICAgICAgIGVuZ2luZS5ldmFsdWF0ZShjb2RlKTsKKyAgICB9Cit9CisKK3Zv
aWQgdHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1YXRlUHJvZ3JhbV9kYXRhKCkKK3sKKyAgICBldmFs
dWF0ZVN0cmluZ19kYXRhKCk7Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1YXRl
UHJvZ3JhbSgpCit7CisgICAgUUZFVENIKFFTdHJpbmcsIGNvZGUpOworICAgIFFTY3JpcHRFbmdp
bmUgZW5naW5lOworICAgIFFTY3JpcHRQcm9ncmFtIHByb2dyYW0oY29kZSk7CisgICAgUUJFTkNI
TUFSSyB7CisgICAgICAgIGVuZ2luZS5ldmFsdWF0ZShwcm9ncmFtKTsKKyAgICB9Cit9CisKK3Zv
aWQgdHN0X1FTY3JpcHRFbmdpbmU6Om5ld09iamVjdCgpCit7CisgICAgUVNjcmlwdEVuZ2luZSBl
bmdpbmU7CisgICAgUUJFTkNITUFSSyB7CisgICAgICAgIGVuZ2luZS5uZXdPYmplY3QoKTsKKyAg
ICB9Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6Om51bGxWYWx1ZSgpCit7CisgICAgUVNj
cmlwdEVuZ2luZSBlbmdpbmU7CisgICAgUUJFTkNITUFSSyB7CisgICAgICAgIGVuZ2luZS5udWxs
VmFsdWUoKTsKKyAgICB9Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OnVuZGVmaW5lZFZh
bHVlKCkKK3sKKyAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAg
ICAgICAgZW5naW5lLnVuZGVmaW5lZFZhbHVlKCk7CisgICAgfQorfQorCit2b2lkIHRzdF9RU2Ny
aXB0RW5naW5lOjpnbG9iYWxPYmplY3QoKQoreworICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwor
ICAgIFFCRU5DSE1BUksgeworICAgICAgICBlbmdpbmUuZ2xvYmFsT2JqZWN0KCk7CisgICAgfQor
fQorCit2b2lkIHRzdF9RU2NyaXB0RW5naW5lOjp0b1N0cmluZ0hhbmRsZSgpCit7CisgICAgUVNj
cmlwdEVuZ2luZSBlbmdpbmU7CisgICAgUVN0cmluZyBzdHIgPSBRU3RyaW5nOjpmcm9tTGF0aW4x
KCJmb29iYXJiYXoiKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgZW5naW5lLnRvU3RyaW5n
SGFuZGxlKHN0cik7CisgICAgfQorfQorCitRVEVTVF9NQUlOKHRzdF9RU2NyaXB0RW5naW5lKQor
I2luY2x1ZGUgInRzdF9xc2NyaXB0ZW5naW5lLm1vYyIKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5wcm8gYi9KYXZhU2Ny
aXB0Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFsdWUucHJvCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3M2ZlNjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFsdWUu
cHJvCkBAIC0wLDAgKzEsOSBAQAorVEVNUExBVEUgPSBhcHAKK1RBUkdFVCA9IHRzdF9iZW5jaF9x
c2NyaXB0dmFsdWUKK1FUICs9IHRlc3RsaWIKKworaXNFbXB0eShPVVRQVVRfRElSKTogT1VUUFVU
X0RJUiA9IC4uLy4uLy4uLy4uCitpbmNsdWRlKC4uL2JlbmNobWFya3MucHJpKQorCitTT1VSQ0VT
ICs9IHRzdF9xc2NyaXB0dmFsdWUuY3BwCisKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3F0
L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3BwIGIvSmF2YVNjcmlw
dENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MzOWI4ZQotLS0gL2Rldi9udWxsCisr
KyBiL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0
dmFsdWUuY3BwCkBAIC0wLDAgKzEsNDQyIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVk
ZSAicXNjcmlwdGVuZ2luZS5oIgorI2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKKyNpbmNsdWRl
ICJxc2NyaXB0dmFsdWUuaCIKKyNpbmNsdWRlIDxxdGVzdC5oPgorCitRX0RFQ0xBUkVfTUVUQVRZ
UEUoUVNjcmlwdFZhbHVlKTsKKworY2xhc3MgdHN0X1FTY3JpcHRWYWx1ZSA6IHB1YmxpYyBRT2Jq
ZWN0IHsKKyAgICBRX09CSkVDVAorCitwdWJsaWM6CisgICAgdHN0X1FTY3JpcHRWYWx1ZSgpCisg
ICAgICAgIDogbV9lbmdpbmUoMCkKKyAgICB7fQorCisgICAgfnRzdF9RU2NyaXB0VmFsdWUoKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fZW5naW5lKQorICAgICAgICAgICAgZGVsZXRlIG1fZW5naW5l
OworICAgIH0KKworcHJpdmF0ZSBzbG90czoKKyAgICB2b2lkIHZhbHVlc19kYXRhKCk7CisKKyAg
ICB2b2lkIGN0b3JCb29sKCk7CisgICAgdm9pZCBjdG9yUmVhbCgpOworICAgIHZvaWQgY3Rvck51
bWJlcigpOworICAgIHZvaWQgY3RvclFTdHJpbmcoKTsKKyAgICB2b2lkIGN0b3JDU3RyaW5nKCk7
CisgICAgdm9pZCBjdG9yU3BlY2lhbCgpOworICAgIHZvaWQgY3RvclFTY3JpcHRWYWx1ZSgpOwor
CisgICAgdm9pZCBpc1ZhbGlkX2RhdGEoKTsKKyAgICB2b2lkIGlzVmFsaWQoKTsKKyAgICB2b2lk
IGlzQm9vbF9kYXRhKCk7CisgICAgdm9pZCBpc0Jvb2woKTsKKyAgICB2b2lkIGlzTnVtYmVyX2Rh
dGEoKTsKKyAgICB2b2lkIGlzTnVtYmVyKCk7CisgICAgdm9pZCBpc0Z1bmN0aW9uX2RhdGEoKTsK
KyAgICB2b2lkIGlzRnVuY3Rpb24oKTsKKyAgICB2b2lkIGlzTnVsbF9kYXRhKCk7CisgICAgdm9p
ZCBpc051bGwoKTsKKyAgICB2b2lkIGlzU3RyaW5nX2RhdGEoKTsKKyAgICB2b2lkIGlzU3RyaW5n
KCk7CisgICAgdm9pZCBpc1VuZGVmaW5lZF9kYXRhKCk7CisgICAgdm9pZCBpc1VuZGVmaW5lZCgp
OworICAgIHZvaWQgaXNPYmplY3RfZGF0YSgpOworICAgIHZvaWQgaXNPYmplY3QoKTsKKyAgICB2
b2lkIGlzRXJyb3JfZGF0YSgpOworICAgIHZvaWQgaXNFcnJvcigpOworCisgICAgdm9pZCB0b1N0
cmluZ19kYXRhKCk7CisgICAgdm9pZCB0b1N0cmluZygpOworICAgIHZvaWQgdG9OdW1iZXJfZGF0
YSgpOworICAgIHZvaWQgdG9OdW1iZXIoKTsKKyAgICB2b2lkIHRvQm9vbF9kYXRhKCk7CisgICAg
dm9pZCB0b0Jvb2woKTsKKyAgICB2b2lkIHRvSW50ZWdlcl9kYXRhKCk7CisgICAgdm9pZCB0b0lu
dGVnZXIoKTsKKyAgICB2b2lkIHRvSW50MzJfZGF0YSgpOworICAgIHZvaWQgdG9JbnQzMigpOwor
ICAgIHZvaWQgdG9VSW50MzJfZGF0YSgpOworICAgIHZvaWQgdG9VSW50MzIoKTsKKyAgICB2b2lk
IHRvVUludDE2X2RhdGEoKTsKKyAgICB2b2lkIHRvVUludDE2KCk7CisgICAgdm9pZCB0b09iamVj
dF9kYXRhKCk7CisgICAgdm9pZCB0b09iamVjdCgpOworCisgICAgdm9pZCBlcXVhbHNfZGF0YSgp
OworICAgIHZvaWQgZXF1YWxzKCk7CisgICAgdm9pZCBzdHJpY3RseUVxdWFsc19kYXRhKCk7Cisg
ICAgdm9pZCBzdHJpY3RseUVxdWFscygpOworICAgIHZvaWQgaW5zdGFuY2VPZl9kYXRhKCk7Cisg
ICAgdm9pZCBpbnN0YW5jZU9mKCk7CisKK3ByaXZhdGU6CisgICAgUVNjcmlwdEVuZ2luZSogbV9l
bmdpbmU7Cit9OworCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnZhbHVlc19kYXRhKCkKK3sKKyAg
ICBpZiAobV9lbmdpbmUpCisgICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKKyAgICBtX2VuZ2luZSA9
IG5ldyBRU2NyaXB0RW5naW5lOworCisgICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+
KCJ2YWx1ZSIpOworCisgICAgUVRlc3Q6Om5ld1JvdygiaW52YWxpZCIpIDw8IFFTY3JpcHRWYWx1
ZSgpOworCisgICAgUVRlc3Q6Om5ld1JvdygiY2Jvb2wiKSA8PCBRU2NyaXB0VmFsdWUodHJ1ZSk7
CisgICAgUVRlc3Q6Om5ld1JvdygiY251bWJlciIpIDw8IFFTY3JpcHRWYWx1ZSgxMjM0KTsKKyAg
ICBRVGVzdDo6bmV3Um93KCJjc3RyaW5nIikgPDwgUVNjcmlwdFZhbHVlKCJhYmMiKTsKKyAgICBR
VGVzdDo6bmV3Um93KCJjbnVsbCIpIDw8IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSk7CisgICAgUVRlc3Q6Om5ld1JvdygiY3VuZGVmaW5lZCIpIDw8IFFTY3JpcHRWYWx1ZShR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKTsKKworICAgIFFUZXN0OjpuZXdSb3coImpzYm9v
bCIpIDw8IG1fZW5naW5lLT5ldmFsdWF0ZSgidHJ1ZSIpOworICAgIFFUZXN0OjpuZXdSb3coImpz
bnVtYmVyIikgPDwgbV9lbmdpbmUtPmV2YWx1YXRlKCIxMjM0NSIpOworICAgIFFUZXN0OjpuZXdS
b3coImpzc3RyaW5nIikgPDwgbV9lbmdpbmUtPmV2YWx1YXRlKCInZ28nIik7CisgICAgUVRlc3Q6
Om5ld1JvdygianNmdW5jdGlvbiIpIDw8IG1fZW5naW5lLT5ldmFsdWF0ZSgiKGZ1bmN0aW9uIHt9
KSIpOworICAgIFFUZXN0OjpuZXdSb3coImpzbnVsbCIpIDw8IG1fZW5naW5lLT5udWxsVmFsdWUo
KTsKKyAgICBRVGVzdDo6bmV3Um93KCJqc3VuZGVmaW5lZCIpIDw8IG1fZW5naW5lLT51bmRlZmlu
ZWRWYWx1ZSgpOworICAgIFFUZXN0OjpuZXdSb3coImpzb2JqZWN0IikgPDwgbV9lbmdpbmUtPm5l
d09iamVjdCgpOworICAgIFFUZXN0OjpuZXdSb3coImpzZXJyb3IiKSA8PCBtX2VuZ2luZS0+ZXZh
bHVhdGUoIm5ldyBFcnJvcigpIik7Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6Y3RvckJv
b2woKQoreworICAgIFFCRU5DSE1BUksgeworICAgICAgICBRU2NyaXB0VmFsdWUodHJ1ZSk7Cisg
ICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JSZWFsKCkKK3sKKyAgICBRQkVO
Q0hNQVJLIHsKKyAgICAgICAgUVNjcmlwdFZhbHVlKDEyLjMpOworICAgIH0KK30KKwordm9pZCB0
c3RfUVNjcmlwdFZhbHVlOjpjdG9yTnVtYmVyKCkKK3sKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAg
ICAgUVNjcmlwdFZhbHVlKDEyMyk7CisgICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6
OmN0b3JRU3RyaW5nKCkKK3sKKyAgICBRU3RyaW5nIHN0ciA9IFFTdHJpbmc6OmZyb21MYXRpbjEo
ImNpYW8iKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgUVNjcmlwdFZhbHVlKHN0cik7Cisg
ICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JDU3RyaW5nKCkKK3sKKyAgICBR
QkVOQ0hNQVJLIHsKKyAgICAgICAgUVNjcmlwdFZhbHVlKCJQb25nISIpOworICAgIH0KK30KKwor
dm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpjdG9yU3BlY2lhbCgpCit7CisgICAgUUJFTkNITUFSSyB7
CisgICAgICAgICh2b2lkKVFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSk7Cisg
ICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JRU2NyaXB0VmFsdWUoKQorewor
ICAgIFFTY3JpcHRWYWx1ZSB0bXAoMTIzNCk7CisgICAgUUJFTkNITUFSSyB7CisgICAgICAgIFFT
Y3JpcHRWYWx1ZSh0bXApOworICAgIH0KK30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1Zh
bGlkX2RhdGEoKQoreworICAgIHZhbHVlc19kYXRhKCk7Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6aXNWYWxpZCgpCit7CisgICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOworICAg
IFFCRU5DSE1BUksgeworICAgICAgICB2YWx1ZS5pc1ZhbGlkKCk7CisgICAgfQorfQorCit2b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OmlzQm9vbF9kYXRhKCkKK3sKKyAgICB2YWx1ZXNfZGF0YSgpOwor
fQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzQm9vbCgpCit7CisgICAgUUZFVENIKFFTY3Jp
cHRWYWx1ZSwgdmFsdWUpOworICAgIFFCRU5DSE1BUksgeworICAgICAgICB2YWx1ZS5pc0Jvb2wo
KTsKKyAgICB9Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNOdW1iZXJfZGF0YSgpCit7
CisgICAgdmFsdWVzX2RhdGEoKTsKK30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc051bWJl
cigpCit7CisgICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOworICAgIFFCRU5DSE1BUksg
eworICAgICAgICB2YWx1ZS5pc051bWJlcigpOworICAgIH0KK30KKwordm9pZCB0c3RfUVNjcmlw
dFZhbHVlOjppc0Z1bmN0aW9uX2RhdGEoKQoreworICAgIHZhbHVlc19kYXRhKCk7Cit9CisKK3Zv
aWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNGdW5jdGlvbigpCit7CisgICAgUUZFVENIKFFTY3JpcHRW
YWx1ZSwgdmFsdWUpOworICAgIFFCRU5DSE1BUksgeworICAgICAgICB2YWx1ZS5pc0Z1bmN0aW9u
KCk7CisgICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVsbF9kYXRhKCkKK3sK
KyAgICB2YWx1ZXNfZGF0YSgpOworfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVsbCgp
Cit7CisgICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOworICAgIFFCRU5DSE1BUksgewor
ICAgICAgICB2YWx1ZS5pc051bGwoKTsKKyAgICB9Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6aXNTdHJpbmdfZGF0YSgpCit7CisgICAgdmFsdWVzX2RhdGEoKTsKK30KKwordm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjppc1N0cmluZygpCit7CisgICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFs
dWUpOworICAgIFFCRU5DSE1BUksgeworICAgICAgICB2YWx1ZS5pc1N0cmluZygpOworICAgIH0K
K30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1VuZGVmaW5lZF9kYXRhKCkKK3sKKyAgICB2
YWx1ZXNfZGF0YSgpOworfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzVW5kZWZpbmVkKCkK
K3sKKyAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7CisgICAgUUJFTkNITUFSSyB7Cisg
ICAgICAgIHZhbHVlLmlzVW5kZWZpbmVkKCk7CisgICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OmlzT2JqZWN0X2RhdGEoKQoreworICAgIHZhbHVlc19kYXRhKCk7Cit9CisKK3ZvaWQg
dHN0X1FTY3JpcHRWYWx1ZTo6aXNPYmplY3QoKQoreworICAgIFFGRVRDSChRU2NyaXB0VmFsdWUs
IHZhbHVlKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgdmFsdWUuaXNPYmplY3QoKTsKKyAg
ICB9Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNFcnJvcl9kYXRhKCkKK3sKKyAgICB2
YWx1ZXNfZGF0YSgpOworfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzRXJyb3IoKQorewor
ICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAg
ICAgdmFsdWUuaXNFcnJvcigpOworICAgIH0KK30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0
b1N0cmluZ19kYXRhKCkKK3sKKyAgICB2YWx1ZXNfZGF0YSgpOworfQorCit2b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OnRvU3RyaW5nKCkKK3sKKyAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7
CisgICAgUUJFTkNITUFSSyB7CisgICAgICAgIHZhbHVlLnRvU3RyaW5nKCk7CisgICAgfQorfQor
Cit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvTnVtYmVyX2RhdGEoKQoreworICAgIHZhbHVlc19k
YXRhKCk7Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9OdW1iZXIoKQoreworICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgdmFs
dWUudG9OdW1iZXIoKTsKKyAgICB9Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29s
X2RhdGEoKQoreworICAgIHZhbHVlc19kYXRhKCk7Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6dG9Cb29sKCkKK3sKKyAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7CisgICAgUUJF
TkNITUFSSyB7CisgICAgICAgIHZhbHVlLnRvQm9vbCgpOworICAgIH0KK30KKwordm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjp0b0ludGVnZXJfZGF0YSgpCit7CisgICAgdmFsdWVzX2RhdGEoKTsKK30K
Kwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVnZXIoKQoreworICAgIFFGRVRDSChRU2Ny
aXB0VmFsdWUsIHZhbHVlKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgdmFsdWUudG9JbnRl
Z2VyKCk7CisgICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvSW50MzJfZGF0YSgp
Cit7CisgICAgdmFsdWVzX2RhdGEoKTsKK30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0lu
dDMyKCkKK3sKKyAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7CisgICAgUUJFTkNITUFS
SyB7CisgICAgICAgIHZhbHVlLnRvSW50MzIoKTsKKyAgICB9Cit9CisKK3ZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6dG9VSW50MzJfZGF0YSgpCit7CisgICAgdmFsdWVzX2RhdGEoKTsKK30KKwordm9p
ZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQzMigpCit7CisgICAgUUZFVENIKFFTY3JpcHRWYWx1
ZSwgdmFsdWUpOworICAgIFFCRU5DSE1BUksgeworICAgICAgICB2YWx1ZS50b1VJbnQzMigpOwor
ICAgIH0KK30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQxNl9kYXRhKCkKK3sKKyAg
ICB2YWx1ZXNfZGF0YSgpOworfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDE2KCkK
K3sKKyAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7CisgICAgUUJFTkNITUFSSyB7Cisg
ICAgICAgIHZhbHVlLnRvVUludDE2KCk7CisgICAgfQorfQorCit2b2lkIHRzdF9RU2NyaXB0VmFs
dWU6OnRvT2JqZWN0X2RhdGEoKQoreworICAgIHZhbHVlc19kYXRhKCk7Cit9CisKK3ZvaWQgdHN0
X1FTY3JpcHRWYWx1ZTo6dG9PYmplY3QoKQoreworICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZh
bHVlKTsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgdmFsdWUudG9PYmplY3QoKTsKKyAgICB9
Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzX2RhdGEoKQoreworICAgIHZhbHVl
c19kYXRhKCk7Cit9CisKK3ZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzKCkKK3sKKyAgICBR
RkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7CisgICAgc3RhdGljIFFTY3JpcHRWYWx1ZSBwcmV2
aW91czsKKyAgICBRQkVOQ0hNQVJLIHsKKyAgICAgICAgdmFsdWUuZXF1YWxzKHByZXZpb3VzKTsK
KyAgICB9CisgICAgcHJldmlvdXMgPSB2YWx1ZTsKK30KKwordm9pZCB0c3RfUVNjcmlwdFZhbHVl
OjpzdHJpY3RseUVxdWFsc19kYXRhKCkKK3sKKyAgICB2YWx1ZXNfZGF0YSgpOworfQorCit2b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OnN0cmljdGx5RXF1YWxzKCkKK3sKKyAgICBRRkVUQ0goUVNjcmlw
dFZhbHVlLCB2YWx1ZSk7CisgICAgc3RhdGljIFFTY3JpcHRWYWx1ZSBwcmV2aW91czsKKyAgICBR
QkVOQ0hNQVJLIHsKKyAgICAgICAgdmFsdWUuc3RyaWN0bHlFcXVhbHMocHJldmlvdXMpOworICAg
IH0KKyAgICBwcmV2aW91cyA9IHZhbHVlOworfQorCit2b2lkIHRzdF9RU2NyaXB0VmFsdWU6Omlu
c3RhbmNlT2ZfZGF0YSgpCit7CisgICAgdmFsdWVzX2RhdGEoKTsKK30KKwordm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjppbnN0YW5jZU9mKCkKK3sKKyAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1
ZSk7CisgICAgc3RhdGljIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBtX2VuZ2luZS0+bmV3T2JqZWN0
KCk7CisgICAgUUJFTkNITUFSSyB7CisgICAgICAgIHZhbHVlLmluc3RhbmNlT2Yob2JqZWN0KTsK
KyAgICB9Cit9CisKK1FURVNUX01BSU4odHN0X1FTY3JpcHRWYWx1ZSkKKyNpbmNsdWRlICJ0c3Rf
cXNjcmlwdHZhbHVlLm1vYyIKZGlmZiAtLWdpdCBhL1dlYktpdC5wcm8gYi9XZWJLaXQucHJvCmlu
ZGV4IDYyMTVlNzguLmQ4YzFiYzUgMTAwNjQ0Ci0tLSBhL1dlYktpdC5wcm8KKysrIGIvV2ViS2l0
LnBybwpAQCAtMjQsNyArMjQsOCBAQCBleGlzdHMoJCRQV0QvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvSW1hZ2VEaWZmLnBybyk6IFNVQkRJUlMgKz0gV2ViS2l0VG9vbAogYnVpbGQtcXRz
Y3JpcHQgewogICAgIFNVQkRJUlMgKz0gXAogICAgICAgICBKYXZhU2NyaXB0Q29yZS9xdC9hcGkv
UXRTY3JpcHQucHJvIFwKLSAgICAgICAgSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMKKyAgICAgICAg
SmF2YVNjcmlwdENvcmUvcXQvdGVzdHMgXAorICAgICAgICBKYXZhU2NyaXB0Q29yZS9xdC9iZW5j
aG1hcmtzCiB9CiAKIHN5bWJpYW4gewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>