<?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>92940</bug_id>
          
          <creation_ts>2012-08-01 22:03:05 -0700</creation_ts>
          <short_desc>StringImpl created from literal should be BufferInternal</short_desc>
          <delta_ts>2015-05-18 02:28:39 -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>Web Template Framework</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>
          <dependson>145120</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>andersca</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>684971</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-01 22:03:05 -0700</bug_when>
    <thetext>I made a last minute change that caused createFromLiteral() to use BufferOwned instead of BufferInternal.

On destruction, such strings are trying to delete the read only char* string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684984</commentid>
    <comment_count>1</comment_count>
      <attachid>155975</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-01 22:39:10 -0700</bug_when>
    <thetext>Created attachment 155975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684986</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-01 22:40:43 -0700</bug_when>
    <thetext>Attachment 155975 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/te...&quot; exit_code: 1
Tools/TestWebKitAPI/Tests/WTF/AtomicString.cpp:36:  Consider using ASSERT_EQ instead of ASSERT_TRUE(a == b)  [readability/check] [2]
Total errors found: 1 in 7 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>684987</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-01 22:42:24 -0700</bug_when>
    <thetext>&gt; Tools/TestWebKitAPI/Tests/WTF/AtomicString.cpp:36:  Consider using ASSERT_EQ instead of ASSERT_TRUE(a == b)  [readability/check] [2]

This is expected.
I did not change that because ASSERT_EQ does not use our operator==.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685030</commentid>
    <comment_count>4</comment_count>
      <attachid>155975</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-01 23:57:57 -0700</bug_when>
    <thetext>Comment on attachment 155975
Patch

Attachment 155975 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13411769</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685865</commentid>
    <comment_count>5</comment_count>
      <attachid>156176</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-02 14:57:23 -0700</bug_when>
    <thetext>Created attachment 156176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685870</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-02 15:00:43 -0700</bug_when>
    <thetext>Attachment 156176 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/te...&quot; exit_code: 1
Tools/TestWebKitAPI/Tests/WTF/AtomicString.cpp:36:  Consider using ASSERT_EQ instead of ASSERT_TRUE(a == b)  [readability/check] [2]
Total errors found: 1 in 10 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>685926</commentid>
    <comment_count>7</comment_count>
      <attachid>156176</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-02 15:50:37 -0700</bug_when>
    <thetext>Comment on attachment 156176
Patch

Attachment 156176 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13404972</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685948</commentid>
    <comment_count>8</comment_count>
      <attachid>156191</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-02 16:06:40 -0700</bug_when>
    <thetext>Created attachment 156191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685951</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-02 16:10:05 -0700</bug_when>
    <thetext>Attachment 156191 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/te...&quot; exit_code: 1
Tools/TestWebKitAPI/Tests/WTF/AtomicString.cpp:36:  Consider using ASSERT_EQ instead of ASSERT_TRUE(a == b)  [readability/check] [2]
Total errors found: 1 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>686732</commentid>
    <comment_count>10</comment_count>
      <attachid>156191</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-03 07:37:42 -0700</bug_when>
    <thetext>Comment on attachment 156191
Patch

Clearing flags on attachment: 156191

Committed r124611: &lt;http://trac.webkit.org/changeset/124611&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686733</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-03 07:37:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155975</attachid>
            <date>2012-08-01 22:39:10 -0700</date>
            <delta_ts>2012-08-02 14:57:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92940-20120801223852.patch</filename>
            <type>text/plain</type>
            <size>19031</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdiMThiZWZkNDcwMTJiNWJmYjNiZTI2
M2ZhMzI2MTdlOTE4YWY4YWUuLjdhMGUxZDU3YzY4MDA3ODkxMTljMDgzN2U4MzY5MzE4MjIzMTYy
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDgtMDEgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIFN0cmluZ0ltcGwgY3JlYXRlZCBmcm9tIGxp
dGVyYWwgc2hvdWxkIGJlIEJ1ZmZlckludGVybmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjk0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvd25lcnNoaXAgb2Ygc3RyaW5nIGNyZWF0ZWQgZnJv
bSBsaXRlcmFsIHNob3VsZCBiZSBCdWZmZXJJbnRlcm5hbCBzbyB0aGF0CisgICAgICAgIFN0cmlu
Z0ltcGwgbmV2ZXIgdHJpZXMgdG8gZGVsZXRlIHRoZSBjaGFyYWN0ZXJzLgorCisgICAgICAgIFRo
ZSBvd25lcnNoaXAgd2FzIGFjY2lkZW50YWx5IHNldCB0byBCdWZmZXJPd25lZCBpbiByMTIzNjg5
LgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0
cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKTogVXBkYXRlIHRvIHVzZSB0aGUgbmV3IGNvbnN0
cnVjdG9yLgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKFdURjo6
U3RyaW5nSW1wbDo6U3RyaW5nSW1wbCk6CisgICAgICAgIEFkZCBhIG5ldyBjb25zdHJ1Y3RvciBt
YWtpbmcgdGhlIGNvbnN0cnVjdGlvbiBmcm9tIGxpdGVyYWwgZXhwbGljaXQuCisgICAgICAgIEFk
ZCB0aGUgZmxhZyBzX2hhc2hGbGFnSGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyIHNpbmNlIHRo
ZSBkYXRhIGhhcyB0aGUgdGVybWluYXRpbmcKKyAgICAgICAgbnVsbCBjaGFyYWN0ZXIuCisKIDIw
MTItMDgtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgRXhwb3J0IFN0cmluZ0ltcGw6OnNpemVJbkJ5dGVzKCkgd2l0aCBXVEZfRVhQT1JUX1NUUklO
R19BUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IDQyNWU3NzNlZWJhMmU2NmUw
ZTc1NTE0MTlhNzk0ZjQ3NzZjMDIyZjYuLmUxMDY0YjNiMzY5YzA4ZjM2YjRkNjQwMmFlMzBiYWI3
OWUzODIyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtODUsNyArODUsNyBA
QCBTdHJpbmdJbXBsOjp+U3RyaW5nSW1wbCgpCiBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IFN0cmlu
Z0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25l
ZCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGNoYXJhY3RlcnNBcmVBbGxBU0NJSTxMQ2hhcj4oY2hh
cmFjdGVycywgbGVuZ3RoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJpbmdJbXBsKGNo
YXJhY3RlcnMsIGxlbmd0aCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RyaW5nSW1wbChj
aGFyYWN0ZXJzLCBsZW5ndGgsIENvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiB9CiAKIFBhc3NSZWZQ
dHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBs
ZW5ndGgsIExDaGFyKiYgZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggZDdiZDUy
ZWNmMGM0YmNkZmRhODA1ZDgyMmViN2UxOTkwMjVkZGQyZC4uZTcwOTg2OTg2MGU0N2I1YWI0MjY1
ZDlkNmMxYzMxM2FlNjkxOTQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTE2NSw2
ICsxNjUsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgQVNTRVJUKG1fbGVuZ3RoKTsKICAgICB9CiAK
KyAgICBlbnVtIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnIHsgQ29uc3RydWN0RnJvbUxpdGVyYWwg
fTsKKyAgICBTdHJpbmdJbXBsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5n
dGgsIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnKQorICAgICAgICA6IG1fcmVmQ291bnQoc19yZWZD
b3VudEluY3JlbWVudCkKKyAgICAgICAgLCBtX2xlbmd0aChsZW5ndGgpCisgICAgICAgICwgbV9k
YXRhOChjaGFyYWN0ZXJzKQorICAgICAgICAsIG1fYnVmZmVyKDApCisgICAgICAgICwgbV9oYXNo
QW5kRmxhZ3Moc19oYXNoRmxhZzhCaXRCdWZmZXIgfCBCdWZmZXJJbnRlcm5hbCB8IHNfaGFzaEZs
YWdIYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIpCisgICAgeworICAgICAgICBBU1NFUlQobV9k
YXRhOCk7CisgICAgICAgIEFTU0VSVChtX2xlbmd0aCk7CisgICAgICAgIEFTU0VSVCghY2hhcmFj
dGVyc1tsZW5ndGhdKTsKKyAgICB9CisKICAgICAvLyBDcmVhdGUgYSBTdHJpbmdJbXBsIGFkb3B0
aW5nIG93bmVyc2hpcCBvZiB0aGUgcHJvdmlkZWQgYnVmZmVyIChCdWZmZXJPd25lZCkKICAgICBT
dHJpbmdJbXBsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAg
ICAgIDogbV9yZWZDb3VudChzX3JlZkNvdW50SW5jcmVtZW50KQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDEzMzg2NTNmMDcyMzdjZmY2MDMwYThl
YWRkYzQxZDk3YWViOTNkNDAuLmZlYWRmNTQ4YzQxMjZkMmIwNDU3NjU1NGM2NzVhZGYzM2UwMmFh
OTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxMi0wOC0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgU3RyaW5nSW1wbCBjcmVhdGVkIGZyb20gbGl0ZXJhbCBzaG91
bGQgYmUgQnVmZmVySW50ZXJuYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciB0aGUgY29udHJ1Y3Rpb24gb2Ygc3RyaW5ncyBmcm9t
IGxpdGVyYWwuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9B
dG9taWNTdHJpbmcuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvU3RyaW5nSW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSSk6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxMi0wOC0wMSAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjEyMzg2NS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDM2NjRhMTI5ZGQ1OWRk
MTVjZjJjOTU4Zjk5YzFjMTY4OTExYzJjMy4uMmQ3MmFmNGM1MDUzM2I4YjE5ZWY4ODI2YTMwMzM2
ZDliODg2MWZkMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI1LDYgKzI1LDggQEAKIAkJ
MjZCMkRGRjkxNUJERTU5OTAwNEY2OTFEIC8qIEhhc2hTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZCMkRGRjgxNUJERTU5OTAwNEY2OTFEIC8q
IEhhc2hTZXQuY3BwICovOyB9OwogCQkyNkRGNUE1RTE1QTI5QkFBMDAzNjg5QzIgLyogQ2FuY2Vs
TG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2REY1QTVEMTVBMjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxM
b2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tICovOyB9OwogCQkyNkRGNUE2MzE1QTJBMjdF
MDAzNjg5QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2REY1QTYx
MTVBMkEyMkIwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0
bWwgKi87IH07CisJCTI2RjFCNDQ0MTVDQTQzNEYwMEQxRTRCRiAvKiBBdG9taWNTdHJpbmcuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGMUI0NDIx
NUNBNDM0RjAwRDFFNEJGIC8qIEF0b21pY1N0cmluZy5jcHAgKi87IH07CisJCTI2RjFCNDQ1MTVD
QTQzNEYwMEQxRTRCRiAvKiBTdHJpbmdJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjFCNDQzMTVDQTQzNEYwMEQxRTRCRiAvKiBTdHJpbmdJ
bXBsLmNwcCAqLzsgfTsKIAkJMzMzQjlDRTIxMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0
eVVzZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMzNCOUNFMTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNw
cCAqLzsgfTsKIAkJMzNCRTVBRjUxMzdCNUE2QzAwNzA1ODEzIC8qIE1vdXNlTW92ZUFmdGVyQ3Jh
c2guY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNC
RTVBRjQxMzdCNUE2QzAwNzA1ODEzIC8qIE1vdXNlTW92ZUFmdGVyQ3Jhc2guY3BwICovOyB9Owog
CQkzM0JFNUFGOTEzN0I1QUFFMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFzaF9CdW5kbGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNCRTVB
RjgxMzdCNUFBRTAwNzA1ODEzIC8qIE1vdXNlTW92ZUFmdGVyQ3Jhc2hfQnVuZGxlLmNwcCAqLzsg
fTsKQEAgLTE1Niw5ICsxNTgsOSBAQAogCQlDNTA3RThBNzE0QzY1NDVCMDA1RDZCM0IgLyogSW5z
cGVjdG9yQmFyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzUwN0U4QTYxNEM2NTQ1QjAwNUQ2QjNCIC8qIEluc3BlY3RvckJhci5tbSAqLzsgfTsKIAkJ
QzU0MEY3NzYxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFya3VwLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU0MEY3NzUxNTJFNERBMDAwQTQw
QzhDIC8qIFNpbXBsaWZ5TWFya3VwLm1tICovOyB9OwogCQlDNTQwRjc4NDE1MkU1QTlBMDBBNDBD
OEMgLyogdmVyYm9zZU1hcmt1cC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NDBGNzgzMTUyRTVBNzgwMEE0MEM4QyAvKiB2ZXJib3Nl
TWFya3VwLmh0bWwgKi87IH07CisJCUNENTQ5N0I0MTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRp
bWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1
NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi87IH07CiAJCUUxMjIwREEw
MTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWRE
ZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxMjIwRDlGMTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNv
dXJjZUxvYWREZWxlZ2F0ZS5tbSAqLzsgfTsKIAkJRTEyMjBEQ0ExNTVCMjhBQTAwMTNFMkZDIC8q
IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyMjBEQzkx
NTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERl
bGVnYXRlLmh0bWwgKi87IH07Ci0JCUNENTQ5N0I0MTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRp
bWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1
NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi87IH07CiAJCUU0OTAyOTY4
MTRFMkUzQTQwMDJCRUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8q
IFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi87IH07CiAJCUYzRkMzRUUzMTM2NzhCNzMwMDEyNkE2NSAv
KiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi87IH07CiAJCUY2
NjBBQTBEMTVBNUYwNjEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9u
VXNlckRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjYwQUEwQzE1QTVGMDYxMDAzQTEyNDMgLyogR2V0SW5qZWN0ZWRCdW5kbGVJ
bml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2suY3BwICovOyB9OwpAQCAtMjUyLDYgKzI1NCw4
IEBACiAJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAvKiBIYXNoU2V0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhhc2hTZXQuY3BwOyBwYXRoID0gV1RGL0hhc2hT
ZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNkRGNUE1RDE1QTI5QkFBMDAz
Njg5QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2Fk
RGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2REY1QTYxMTVBMkEy
MkIwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVn
YXRlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2RjFCNDQyMTVDQTQzNEYw
MEQxRTRCRiAvKiBBdG9taWNTdHJpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gQXRvbWljU3RyaW5nLmNwcDsgcGF0aCA9IFdURi9BdG9taWNTdHJpbmcuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNkYxQjQ0MzE1Q0E0MzRGMDBEMUU0QkYgLyog
U3RyaW5nSW1wbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTdHJp
bmdJbXBsLmNwcDsgcGF0aCA9IFdURi9TdHJpbmdJbXBsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzMzQjlDRTExMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJB
Z2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmV2ZW50RW1w
dHlVc2VyQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0JFNUFGNDEz
N0I1QTZDMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFzaC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb3VzZU1vdmVBZnRlckNyYXNoLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzNCRTVBRjgxMzdCNUFBRTAwNzA1ODEzIC8qIE1vdXNlTW92
ZUFmdGVyQ3Jhc2hfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1vdXNlTW92ZUFmdGVyQ3Jhc2hfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTM5OSw5ICs0MDMsOSBAQAogCQlDNTA3RThBNjE0QzY1NDVCMDA1RDZCM0IgLyog
SW5zcGVjdG9yQmFyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
SW5zcGVjdG9yQmFyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTQwRjc3NTE1
MkU0REEwMDBBNDBDOEMgLyogU2ltcGxpZnlNYXJrdXAubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBTaW1wbGlmeU1hcmt1cC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzU0MEY3ODMxNTJFNUE3ODAwQTQwQzhDIC8qIHZlcmJvc2VNYXJrdXAuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IHZlcmJvc2VNYXJrdXAuaHRtbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlh
VGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVRpbWUu
Y3BwOyBwYXRoID0gV1RGL01lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxMjIwRDlGMTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5S
ZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyog
TWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9h
ZERlbGVnYXRlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNENTQ5N0IzMTU4
NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gTWVkaWFUaW1lLmNwcDsgcGF0aCA9IFdURi9NZWRpYVRpbWUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDkwMjk2NzE0RTJFM0E0MDAyQkVERDEgLyogVHlw
aW5nU3R5bGVDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFR5cGluZ1N0eWxlQ3Jhc2gubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRkMz
RUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgcGF0aCA9IGxpYmd0ZXN0LmE7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUY2NjBBQTBDMTVBNUYwNjEw
MDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFj
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZXRJbmplY3RlZEJ1
bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC02MjEsNiArNjI1LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUJDMDI5
QjFBMTQ4NkIyMzgwMDgxN0RBOSAvKiBucyAqLywKIAkJCQlDMDk5MUM0RjE0M0M3RDY4MDA3OTk4
RjIgLyogY2YgKi8sCisJCQkJMjZGMUI0NDIxNUNBNDM0RjAwRDFFNEJGIC8qIEF0b21pY1N0cmlu
Zy5jcHAgKi8sCiAJCQkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAg
Ki8sCiAJCQkJMEZDNkM0Q0UxNDEwMzRBRDAwNUI3RjBDIC8qIE1ldGFBbGxvY2F0b3IuY3BwICov
LAogCQkJCTBGQzZDNENCMTQxMDI3RTAwMDVCN0YwQyAvKiBSZWRCbGFja1RyZWUuY3BwICovLApA
QCAtNjI5LDYgKzYzNCw3IEBACiAJCQkJMEJDRDgzMzQxNDg1N0NFNDAwRUEyMDAzIC8qIEhhc2hN
YXAuY3BwICovLAogCQkJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAvKiBIYXNoU2V0LmNwcCAq
LywKIAkJCQk4MUI1MDE5MjE0MEYyMzIzMDBEOUVCNTggLyogU3RyaW5nQnVpbGRlci5jcHAgKi8s
CisJCQkJMjZGMUI0NDMxNUNBNDM0RjAwRDFFNEJGIC8qIFN0cmluZ0ltcGwuY3BwICovLAogCQkJ
CUMwMTM2M0M3MTNDMzk5NzMwMEVGMzk2NCAvKiBTdHJpbmdPcGVyYXRvcnMuY3BwICovLAogCQkJ
CTBCQ0Q4NTY5MTQ4NUM5OEIwMEVBMjAwMyAvKiBUZW1wb3JhcnlDaGFuZ2UuY3BwICovLAogCQkJ
CUJDNTVGNUY4MTRBRDc4RUUwMDQ4NEJFMSAvKiBWZWN0b3IuY3BwICovLApAQCAtODYxLDYgKzg2
Nyw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFz
ayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQkyNkYxQjQ0NDE1Q0E0MzRGMDBEMUU0
QkYgLyogQXRvbWljU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTMxODg1MTE3MTE0
QjYwMEI2OTcyNyAvKiBQbGF0Zm9ybVV0aWxpdGllc01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUJDMTMxQTlCMTE3MTMxNjkwMEI2OTcyNyAvKiBtYWluLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkMxMzFBQTkxMTcxMzFGQzAwQjY5NzI3IC8qIFRlc3RzQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTkwMSw2ICs5MDgsNyBAQAogCQkJCUMwODU4ODAwMTNGRUMzQTYwMDFFRjRFNSAv
KiBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdEQzY3OEQx
NDBEN0M1MDAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk4MUI1MDE5MzE0MEYyMzIzMDBEOUVCNTggLyogU3RyaW5nQnVpbGRlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkyNkYxQjQ0NTE1Q0E0MzRGMDBEMUU0QkYgLyogU3RyaW5nSW1wbC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRkM2QzRDQzE0MTAyN0UwMDA1QjdGMEMgLyogUmVkQmxhY2tUcmVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzZDNENGMTQxMDM0QUQwMDVCN0YwQyAvKiBNZXRh
QWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QTk2NkRCMTQwRUNDQzgwMDVFRjlC
NCAvKiBDaGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iZGRmMjJjMjNjMTg3MjAzNzk2ZDgxOWZjMThhM2ZkYWY3NjlmMmQ0Ci0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcApAQCAt
MCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVk
ZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
KworVEVTVChXVEYsIEF0b21pY1N0cmluZ0NyZWF0aW9uRnJvbUxpdGVyYWwpCit7CisgICAgQXRv
bWljU3RyaW5nIHN0cmluZ1dpdGhUZW1wbGF0ZSgiVGVtcGxhdGUgTGl0ZXJhbCIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIEFTU0VSVF9FUShzdHJsZW4oIlRlbXBs
YXRlIExpdGVyYWwiKSwgc3RyaW5nV2l0aFRlbXBsYXRlLmxlbmd0aCgpKTsKKyAgICBBU1NFUlRf
VFJVRShzdHJpbmdXaXRoVGVtcGxhdGUgPT0gIlRlbXBsYXRlIExpdGVyYWwiKTsKKyAgICBBU1NF
UlRfVFJVRShzdHJpbmdXaXRoVGVtcGxhdGUuc3RyaW5nKCkuaXM4Qml0KCkpOworICAgIEFTU0VS
VF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZS5pbXBsKCktPmhhc1Rlcm1pbmF0aW5nTnVsbENoYXJh
Y3RlcigpKTsKKworICAgIGNvbnN0IGNoYXIqIHByb2dyYW1tYXRpY1N0cmluZ0RhdGEgPSAiRXhw
bGljaXQgU2l6ZSBMaXRlcmFsIjsKKyAgICBBdG9taWNTdHJpbmcgcHJvZ3JhbW1hdGljU3RyaW5n
KHByb2dyYW1tYXRpY1N0cmluZ0RhdGEsIHN0cmxlbihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwg
QXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgQVNTRVJUX0VRKHN0cmxl
bihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwgcHJvZ3JhbW1hdGljU3RyaW5nLmxlbmd0aCgpKTsK
KyAgICBBU1NFUlRfVFJVRShwcm9ncmFtbWF0aWNTdHJpbmdEYXRhID09IHByb2dyYW1tYXRpY1N0
cmluZ0RhdGEpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZy5zdHJpbmcoKS5p
czhCaXQoKSk7CisgICAgQVNTRVJUX1RSVUUocHJvZ3JhbW1hdGljU3RyaW5nLmltcGwoKS0+aGFz
VGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpOworICAgIEFTU0VSVF9FUShwcm9ncmFtbWF0aWNT
dHJpbmdEYXRhLCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihwcm9ncmFtbWF0aWNTdHJp
bmcuc3RyaW5nKCkuY2hhcmFjdGVyczgoKSkpOworfQorCitURVNUKFdURiwgQXRvbWljU3RyaW5n
Q3JlYXRpb25Gcm9tTGl0ZXJhbFVuaXF1ZW5lc3MpCit7CisgICAgQXRvbWljU3RyaW5nIHN0cmlu
ZzEoIlRlbXBsYXRlIExpdGVyYWwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KTsKKyAgICBBdG9taWNTdHJpbmcgc3RyaW5nMigiVGVtcGxhdGUgTGl0ZXJhbCIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIEFTU0VSVF9FUShzdHJpbmcxLmltcGwo
KSwgc3RyaW5nMi5pbXBsKCkpOworCisgICAgQXRvbWljU3RyaW5nIHN0cmluZzMoIlRlbXBsYXRl
IExpdGVyYWwiKTsKKyAgICBBU1NFUlRfRVEoc3RyaW5nMS5pbXBsKCksIHN0cmluZzMuaW1wbCgp
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWJiMDZjYzQwZTU5NWFk
ZGNjMWI2OTY0OThkMzgxNGVjNjQyMzk2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdURiwgU3RyaW5nSW1w
bENyZWF0aW9uRnJvbUxpdGVyYWwpCit7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHN0cmluZ1dp
dGhUZW1wbGF0ZSA9IFN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKCJUZW1wbGF0ZSBMaXRl
cmFsIik7CisgICAgQVNTRVJUX0VRKHN0cmxlbigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdX
aXRoVGVtcGxhdGUtPmxlbmd0aCgpKTsKKyAgICBBU1NFUlRfVFJVRShlcXVhbChzdHJpbmdXaXRo
VGVtcGxhdGUuZ2V0KCksICJUZW1wbGF0ZSBMaXRlcmFsIikpOworICAgIEFTU0VSVF9UUlVFKHN0
cmluZ1dpdGhUZW1wbGF0ZS0+aXM4Qml0KCkpOworICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhU
ZW1wbGF0ZS0+aGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpOworCisgICAgY29uc3QgY2hh
ciogcHJvZ3JhbW1hdGljU3RyaW5nRGF0YSA9ICJFeHBsaWNpdCBTaXplIExpdGVyYWwiOworICAg
IFJlZlB0cjxTdHJpbmdJbXBsPiBwcm9ncmFtbWF0aWNTdHJpbmcgPSBTdHJpbmdJbXBsOjpjcmVh
dGVGcm9tTGl0ZXJhbChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocHJvZ3JhbW1hdGlj
U3RyaW5nRGF0YSksIHN0cmxlbihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSk7CisgICAgQVNTRVJU
X0VRKHN0cmxlbihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwgcHJvZ3JhbW1hdGljU3RyaW5nLT5s
ZW5ndGgoKSk7CisgICAgQVNTRVJUX1RSVUUoZXF1YWwocHJvZ3JhbW1hdGljU3RyaW5nLmdldCgp
LCBwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSk7CisgICAgQVNTRVJUX0VRKHByb2dyYW1tYXRpY1N0
cmluZ0RhdGEsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHByb2dyYW1tYXRpY1N0cmlu
Zy0+Y2hhcmFjdGVyczgoKSkpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZy0+
aXM4Qml0KCkpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZy0+aGFzVGVybWlu
YXRpbmdOdWxsQ2hhcmFjdGVyKCkpOworfQorCitURVNUKFdURiwgU3RyaW5nSW1wbEZyb21MaXRl
cmFsTG9vcDE2Qml0Q29udmVyc2lvbikKK3sKKyAgICBSZWZQdHI8U3RyaW5nSW1wbD4gY29udHJv
bFN0cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZSgiVGVtcGxhdGUgTGl0ZXJhbCIpOworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgMTA7ICsraSkgeworICAgICAgICBSZWZQdHI8U3RyaW5nSW1w
bD4gc3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwoIlRlbXBsYXRlIExpdGVy
YWwiKTsKKworICAgICAgICBBU1NFUlRfRVEoMCwgbWVtY21wKGNvbnRyb2xTdHJpbmctPmNoYXJh
Y3RlcnMoKSwgc3RyaW5nLT5jaGFyYWN0ZXJzKCksIGNvbnRyb2xTdHJpbmctPmxlbmd0aCgpICog
c2l6ZW9mKFVDaGFyKSkpOworICAgICAgICBBU1NFUlRfVFJVRShzdHJpbmctPmhhczE2Qml0U2hh
ZG93KCkpOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156176</attachid>
            <date>2012-08-02 14:57:23 -0700</date>
            <delta_ts>2012-08-02 16:06:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92940-20120802145704.patch</filename>
            <type>text/plain</type>
            <size>21730</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdiMThiZWZkNDcwMTJiNWJmYjNiZTI2
M2ZhMzI2MTdlOTE4YWY4YWUuLjdhMGUxZDU3YzY4MDA3ODkxMTljMDgzN2U4MzY5MzE4MjIzMTYy
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDgtMDEgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIFN0cmluZ0ltcGwgY3JlYXRlZCBmcm9tIGxp
dGVyYWwgc2hvdWxkIGJlIEJ1ZmZlckludGVybmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjk0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvd25lcnNoaXAgb2Ygc3RyaW5nIGNyZWF0ZWQgZnJv
bSBsaXRlcmFsIHNob3VsZCBiZSBCdWZmZXJJbnRlcm5hbCBzbyB0aGF0CisgICAgICAgIFN0cmlu
Z0ltcGwgbmV2ZXIgdHJpZXMgdG8gZGVsZXRlIHRoZSBjaGFyYWN0ZXJzLgorCisgICAgICAgIFRo
ZSBvd25lcnNoaXAgd2FzIGFjY2lkZW50YWx5IHNldCB0byBCdWZmZXJPd25lZCBpbiByMTIzNjg5
LgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0
cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKTogVXBkYXRlIHRvIHVzZSB0aGUgbmV3IGNvbnN0
cnVjdG9yLgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKFdURjo6
U3RyaW5nSW1wbDo6U3RyaW5nSW1wbCk6CisgICAgICAgIEFkZCBhIG5ldyBjb25zdHJ1Y3RvciBt
YWtpbmcgdGhlIGNvbnN0cnVjdGlvbiBmcm9tIGxpdGVyYWwgZXhwbGljaXQuCisgICAgICAgIEFk
ZCB0aGUgZmxhZyBzX2hhc2hGbGFnSGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyIHNpbmNlIHRo
ZSBkYXRhIGhhcyB0aGUgdGVybWluYXRpbmcKKyAgICAgICAgbnVsbCBjaGFyYWN0ZXIuCisKIDIw
MTItMDgtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgRXhwb3J0IFN0cmluZ0ltcGw6OnNpemVJbkJ5dGVzKCkgd2l0aCBXVEZfRVhQT1JUX1NUUklO
R19BUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IDQyNWU3NzNlZWJhMmU2NmUw
ZTc1NTE0MTlhNzk0ZjQ3NzZjMDIyZjYuLmUxMDY0YjNiMzY5YzA4ZjM2YjRkNjQwMmFlMzBiYWI3
OWUzODIyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtODUsNyArODUsNyBA
QCBTdHJpbmdJbXBsOjp+U3RyaW5nSW1wbCgpCiBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IFN0cmlu
Z0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25l
ZCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGNoYXJhY3RlcnNBcmVBbGxBU0NJSTxMQ2hhcj4oY2hh
cmFjdGVycywgbGVuZ3RoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJpbmdJbXBsKGNo
YXJhY3RlcnMsIGxlbmd0aCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RyaW5nSW1wbChj
aGFyYWN0ZXJzLCBsZW5ndGgsIENvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiB9CiAKIFBhc3NSZWZQ
dHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBs
ZW5ndGgsIExDaGFyKiYgZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggZDdiZDUy
ZWNmMGM0YmNkZmRhODA1ZDgyMmViN2UxOTkwMjVkZGQyZC4uZTcwOTg2OTg2MGU0N2I1YWI0MjY1
ZDlkNmMxYzMxM2FlNjkxOTQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTE2NSw2
ICsxNjUsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgQVNTRVJUKG1fbGVuZ3RoKTsKICAgICB9CiAK
KyAgICBlbnVtIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnIHsgQ29uc3RydWN0RnJvbUxpdGVyYWwg
fTsKKyAgICBTdHJpbmdJbXBsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5n
dGgsIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnKQorICAgICAgICA6IG1fcmVmQ291bnQoc19yZWZD
b3VudEluY3JlbWVudCkKKyAgICAgICAgLCBtX2xlbmd0aChsZW5ndGgpCisgICAgICAgICwgbV9k
YXRhOChjaGFyYWN0ZXJzKQorICAgICAgICAsIG1fYnVmZmVyKDApCisgICAgICAgICwgbV9oYXNo
QW5kRmxhZ3Moc19oYXNoRmxhZzhCaXRCdWZmZXIgfCBCdWZmZXJJbnRlcm5hbCB8IHNfaGFzaEZs
YWdIYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIpCisgICAgeworICAgICAgICBBU1NFUlQobV9k
YXRhOCk7CisgICAgICAgIEFTU0VSVChtX2xlbmd0aCk7CisgICAgICAgIEFTU0VSVCghY2hhcmFj
dGVyc1tsZW5ndGhdKTsKKyAgICB9CisKICAgICAvLyBDcmVhdGUgYSBTdHJpbmdJbXBsIGFkb3B0
aW5nIG93bmVyc2hpcCBvZiB0aGUgcHJvdmlkZWQgYnVmZmVyIChCdWZmZXJPd25lZCkKICAgICBT
dHJpbmdJbXBsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAg
ICAgIDogbV9yZWZDb3VudChzX3JlZkNvdW50SW5jcmVtZW50KQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDEzMzg2NTNmMDcyMzdjZmY2MDMwYThl
YWRkYzQxZDk3YWViOTNkNDAuLmZlYWRmNTQ4YzQxMjZkMmIwNDU3NjU1NGM2NzVhZGYzM2UwMmFh
OTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxMi0wOC0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgU3RyaW5nSW1wbCBjcmVhdGVkIGZyb20gbGl0ZXJhbCBzaG91
bGQgYmUgQnVmZmVySW50ZXJuYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciB0aGUgY29udHJ1Y3Rpb24gb2Ygc3RyaW5ncyBmcm9t
IGxpdGVyYWwuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9B
dG9taWNTdHJpbmcuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvU3RyaW5nSW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSSk6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxMi0wOC0wMSAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjEyMzg2NS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0
cy50eHQgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IDAxZjRhNzQ0
NWNhMjExM2ZiMzZiNzRiZjZjOThmMmI3MWQ5ZDRiZWUuLmQxMTZiNWMwZWQ3M2Q0YjUyNDQ2OGI5
MDMxMDBlODFmNWM4N2Q1MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VM
aXN0cy50eHQKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dApAQCAtNjYs
MTIgKzY2LDE0IEBAIFNFVCh0ZXN0X3d0Zl9MSUJSQVJJRVMKIEFERF9FWEVDVVRBQkxFKHRlc3Rf
d3RmCiAgICAgJHt0ZXN0X21haW5fU09VUkNFU30KICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9U
ZXN0c0NvbnRyb2xsZXIuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL0F0
b21pY1N0cmluZy5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvQ2hlY2tl
ZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
L1dURi9GdW5jdGlvbmFsLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9I
YXNoTWFwLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9NZXRhQWxsb2Nh
dG9yLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9SZWRCbGFja1RyZWUu
Y3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmluZ0J1aWxkZXIuY3Bw
CisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwCiAgICAg
JHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmluZ09wZXJhdG9ycy5jcHAKICAgICAk
e1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvVGVtcG9yYXJ5Q2hhbmdlLmNwcAogICAgICR7
VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9WZWN0b3IuY3BwCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVt
YWtlZmlsZS5hbQppbmRleCA4MTVjNDNiYWZjYWRlOGI5ZGViMTE0ODc5M2JhMWQ0NGEwOTUxYzcz
Li4yNTVhODM4NTZkZmZlZThhY2Y4MTBhNDRlMGQ0ZmMxYWE1YWVjMjc4IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvR05VbWFrZWZpbGUuYW0KQEAgLTUwLDEyICs1MCwxNCBAQCBQcm9ncmFtc19UZXN0V2ViS2l0
QVBJX1Rlc3RXVEZfTERGTEFHUyA9IFwKIAktbm8tZmFzdC1pbnN0YWxsCiAKIFByb2dyYW1zX1Rl
c3RXZWJLaXRBUElfVGVzdFdURl9TT1VSQ0VTID0gXAorCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL0F0b21pY1N0cmluZy5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L0NoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL0Z1bmN0aW9uYWwuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9IYXNoTWFwLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWVkaWFUaW1l
LmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVkQmxhY2tUcmVlLmNwcCBc
CiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nQnVpbGRlci5jcHAgXAorCVRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwIFwKIAlUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdPcGVyYXRvcnMuY3BwIFwKIAlUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9UZW1wb3JhcnlDaGFuZ2UuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9WZWN0b3JCYXNpYy5jcHAgXApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBkMzY2NGExMjlkZDU5ZGQxNWNmMmM5NThmOTljMWMxNjg5MTFjMmMzLi4yZDcyYWY0YzUwNTMz
YjhiMTllZjg4MjZhMzAzMzZkOWI4ODYxZmQwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MjUsNiArMjUsOCBAQAogCQkyNkIyREZGOTE1QkRFNTk5MDA0RjY5MUQgLyogSGFzaFNldC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkIyREZGODE1
QkRFNTk5MDA0RjY5MUQgLyogSGFzaFNldC5jcHAgKi87IH07CiAJCTI2REY1QTVFMTVBMjlCQUEw
MDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZERjVBNUQxNUEyOUJBQTAw
MzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gKi87IH07CiAJ
CTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERl
bGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjZERjVBNjExNUEyQTIyQjAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKKwkJMjZGMUI0NDQxNUNBNDM0RjAwRDFFNEJGIC8q
IEF0b21pY1N0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNkYxQjQ0MjE1Q0E0MzRGMDBEMUU0QkYgLyogQXRvbWljU3RyaW5nLmNwcCAqLzsg
fTsKKwkJMjZGMUI0NDUxNUNBNDM0RjAwRDFFNEJGIC8qIFN0cmluZ0ltcGwuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGMUI0NDMxNUNBNDM0RjAw
RDFFNEJGIC8qIFN0cmluZ0ltcGwuY3BwICovOyB9OwogCQkzMzNCOUNFMjEyNzdGMjMxMDBGRUZD
RTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzM0I5Q0UxMTI3N0YyMzEwMEZFRkNFMyAvKiBQcmV2ZW50
RW1wdHlVc2VyQWdlbnQuY3BwICovOyB9OwogCQkzM0JFNUFGNTEzN0I1QTZDMDA3MDU4MTMgLyog
TW91c2VNb3ZlQWZ0ZXJDcmFzaC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzM0JFNUFGNDEzN0I1QTZDMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJD
cmFzaC5jcHAgKi87IH07CiAJCTMzQkU1QUY5MTM3QjVBQUUwMDcwNTgxMyAvKiBNb3VzZU1vdmVB
ZnRlckNyYXNoX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzM0JFNUFGODEzN0I1QUFFMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFz
aF9CdW5kbGUuY3BwICovOyB9OwpAQCAtMTU2LDkgKzE1OCw5IEBACiAJCUM1MDdFOEE3MTRDNjU0
NUIwMDVENkIzQiAvKiBJbnNwZWN0b3JCYXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNTA3RThBNjE0QzY1NDVCMDA1RDZCM0IgLyogSW5zcGVjdG9y
QmFyLm1tICovOyB9OwogCQlDNTQwRjc3NjE1MkU0REEwMDBBNDBDOEMgLyogU2ltcGxpZnlNYXJr
dXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQw
Rjc3NTE1MkU0REEwMDBBNDBDOEMgLyogU2ltcGxpZnlNYXJrdXAubW0gKi87IH07CiAJCUM1NDBG
Nzg0MTUyRTVBOUEwMEE0MEM4QyAvKiB2ZXJib3NlTWFya3VwLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU0MEY3ODMxNTJFNUE3ODAw
QTQwQzhDIC8qIHZlcmJvc2VNYXJrdXAuaHRtbCAqLzsgfTsKKwkJQ0Q1NDk3QjQxNTg1N0YwQzAw
QjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAq
LzsgfTsKIAkJRTEyMjBEQTAxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdp
dGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTEyMjBEOUYxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNhY2hl
RGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tICovOyB9OwogCQlFMTIyMERDQTE1
NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVs
ZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0
aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKLQkJQ0Q1NDk3QjQxNTg1N0YwQzAw
QjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAq
LzsgfTsKIAkJRTQ5MDI5NjgxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDkwMjk2NzE0
RTJFM0E0MDAyQkVERDEgLyogVHlwaW5nU3R5bGVDcmFzaC5tbSAqLzsgfTsKIAkJRjNGQzNFRTMx
MzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rl
c3QuYSAqLzsgfTsKIAkJRjY2MEFBMEQxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVu
ZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2NjBBQTBDMTVBNUYwNjEwMDNBMTI0MyAvKiBH
ZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHAgKi87IH07
CkBAIC0yNTIsNiArMjU0LDggQEAKIAkJMjZCMkRGRjgxNUJERTU5OTAwNEY2OTFEIC8qIEhhc2hT
ZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSGFzaFNldC5jcHA7
IHBhdGggPSBXVEYvSGFzaFNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2
REY1QTVEMTVBMjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVn
YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2FuY2VsTG9h
ZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMjZERjVBNjExNUEyQTIyQjAwMzY4OUMyIC8qIENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2Fk
RGVsZWdhdGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IENhbmNlbExvYWRGcm9t
UmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MjZGMUI0NDIxNUNBNDM0RjAwRDFFNEJGIC8qIEF0b21pY1N0cmluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBdG9taWNTdHJpbmcuY3BwOyBwYXRoID0gV1RGL0F0
b21pY1N0cmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2RjFCNDQzMTVD
QTQzNEYwMEQxRTRCRiAvKiBTdHJpbmdJbXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFN0cmluZ0ltcGwuY3BwOyBwYXRoID0gV1RGL1N0cmluZ0ltcGwuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzNCOUNFMTEyNzdGMjMxMDBGRUZDRTMgLyog
UHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMzQkU1QUY0MTM3QjVBNkMwMDcwNTgxMyAvKiBNb3VzZU1vdmVBZnRlckNyYXNoLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vdXNlTW92ZUFmdGVyQ3Jh
c2guY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0JFNUFGODEzN0I1QUFFMDA3
MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFzaF9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTW91c2VNb3ZlQWZ0ZXJDcmFzaF9CdW5kbGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzk5LDkgKzQwMyw5IEBACiAJCUM1MDdFOEE2MTRD
NjU0NUIwMDVENkIzQiAvKiBJbnNwZWN0b3JCYXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBJbnNwZWN0b3JCYXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUM1NDBGNzc1MTUyRTREQTAwMEE0MEM4QyAvKiBTaW1wbGlmeU1hcmt1cC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNpbXBsaWZ5TWFya3VwLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTQwRjc4MzE1MkU1QTc4MDBBNDBDOEMgLyog
dmVyYm9zZU1hcmt1cC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gdmVyYm9zZU1h
cmt1cC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDU0OTdCMzE1ODU3RjBD
MDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IE1lZGlhVGltZS5jcHA7IHBhdGggPSBXVEYvTWVkaWFUaW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEyMjBEOUYxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNh
Y2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMjIwREM5MTU1
QjI4N0QwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gTWVtb3J5Q2FjaGVEaXNhYmxl
V2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVRpbWUuY3BwOyBwYXRoID0gV1RGL01l
ZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OTAyOTY3MTRFMkUz
QTQwMDJCRUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVHlwaW5nU3R5bGVDcmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBw
YXRoID0gbGliZ3Rlc3QuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
RjY2MEFBMEMxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRp
b25Vc2VyRGF0YUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYyMSw2ICs2MjUsNyBAQAogCQkJY2hpbGRy
ZW4gPSAoCiAJCQkJQkMwMjlCMUExNDg2QjIzODAwODE3REE5IC8qIG5zICovLAogCQkJCUMwOTkx
QzRGMTQzQzdENjgwMDc5OThGMiAvKiBjZiAqLywKKwkJCQkyNkYxQjQ0MjE1Q0E0MzRGMDBEMUU0
QkYgLyogQXRvbWljU3RyaW5nLmNwcCAqLywKIAkJCQlDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAg
LyogTWVkaWFUaW1lLmNwcCAqLywKIAkJCQkwRkM2QzRDRTE0MTAzNEFEMDA1QjdGMEMgLyogTWV0
YUFsbG9jYXRvci5jcHAgKi8sCiAJCQkJMEZDNkM0Q0IxNDEwMjdFMDAwNUI3RjBDIC8qIFJlZEJs
YWNrVHJlZS5jcHAgKi8sCkBAIC02MjksNiArNjM0LDcgQEAKIAkJCQkwQkNEODMzNDE0ODU3Q0U0
MDBFQTIwMDMgLyogSGFzaE1hcC5jcHAgKi8sCiAJCQkJMjZCMkRGRjgxNUJERTU5OTAwNEY2OTFE
IC8qIEhhc2hTZXQuY3BwICovLAogCQkJCTgxQjUwMTkyMTQwRjIzMjMwMEQ5RUI1OCAvKiBTdHJp
bmdCdWlsZGVyLmNwcCAqLywKKwkJCQkyNkYxQjQ0MzE1Q0E0MzRGMDBEMUU0QkYgLyogU3RyaW5n
SW1wbC5jcHAgKi8sCiAJCQkJQzAxMzYzQzcxM0MzOTk3MzAwRUYzOTY0IC8qIFN0cmluZ09wZXJh
dG9ycy5jcHAgKi8sCiAJCQkJMEJDRDg1NjkxNDg1Qzk4QjAwRUEyMDAzIC8qIFRlbXBvcmFyeUNo
YW5nZS5jcHAgKi8sCiAJCQkJQkM1NUY1RjgxNEFENzhFRTAwNDg0QkUxIC8qIFZlY3Rvci5jcHAg
Ki8sCkBAIC04NjEsNiArODY3LDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwog
CQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTI2RjFC
NDQ0MTVDQTQzNEYwMEQxRTRCRiAvKiBBdG9taWNTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkMxMzE4ODUxMTcxMTRCNjAwQjY5NzI3IC8qIFBsYXRmb3JtVXRpbGl0aWVzTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkMxMzFBOUIxMTcxMzE2OTAwQjY5NzI3IC8qIG1haW4ubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQzEzMUFBOTExNzEzMUZDMDBCNjk3MjcgLyogVGVzdHNDb250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTAxLDYgKzkwOCw3IEBACiAJCQkJQzA4NTg4MDAx
M0ZFQzNBNjAwMUVGNEU1IC8qIEluc3RhbmNlTWV0aG9kU3dpenpsZXIubW0gaW4gU291cmNlcyAq
LywKIAkJCQkzN0RDNjc4RDE0MEQ3QzUwMDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTgxQjUwMTkzMTQwRjIzMjMwMEQ5RUI1OCAvKiBTdHJpbmdCdWls
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTI2RjFCNDQ1MTVDQTQzNEYwMEQxRTRCRiAvKiBT
dHJpbmdJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzZDNENDMTQxMDI3RTAwMDVCN0Yw
QyAvKiBSZWRCbGFja1RyZWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDNkM0Q0YxNDEwMzRB
RDAwNUI3RjBDIC8qIE1ldGFBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdBOTY2
REIxNDBFQ0NDODAwNUVGOUI0IC8qIENoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0F0
b21pY1N0cmluZy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJp
bmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJkZGYyMmMyM2MxODcyMDM3OTZkODE5ZmMxOGEzZmRhZjc2OWYy
ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9t
aWNTdHJpbmcuY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdURiwgQXRvbWljU3RyaW5nQ3JlYXRpb25Gcm9tTGl0
ZXJhbCkKK3sKKyAgICBBdG9taWNTdHJpbmcgc3RyaW5nV2l0aFRlbXBsYXRlKCJUZW1wbGF0ZSBM
aXRlcmFsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgQVNTRVJU
X0VRKHN0cmxlbigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdXaXRoVGVtcGxhdGUubGVuZ3Ro
KCkpOworICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZSA9PSAiVGVtcGxhdGUgTGl0
ZXJhbCIpOworICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1wbGF0ZS5zdHJpbmcoKS5pczhC
aXQoKSk7CisgICAgQVNTRVJUX1RSVUUoc3RyaW5nV2l0aFRlbXBsYXRlLmltcGwoKS0+aGFzVGVy
bWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpOworCisgICAgY29uc3QgY2hhciogcHJvZ3JhbW1hdGlj
U3RyaW5nRGF0YSA9ICJFeHBsaWNpdCBTaXplIExpdGVyYWwiOworICAgIEF0b21pY1N0cmluZyBw
cm9ncmFtbWF0aWNTdHJpbmcocHJvZ3JhbW1hdGljU3RyaW5nRGF0YSwgc3RybGVuKHByb2dyYW1t
YXRpY1N0cmluZ0RhdGEpLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAg
ICBBU1NFUlRfRVEoc3RybGVuKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEpLCBwcm9ncmFtbWF0aWNT
dHJpbmcubGVuZ3RoKCkpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEg
PT0gcHJvZ3JhbW1hdGljU3RyaW5nRGF0YSk7CisgICAgQVNTRVJUX1RSVUUocHJvZ3JhbW1hdGlj
U3RyaW5nLnN0cmluZygpLmlzOEJpdCgpKTsKKyAgICBBU1NFUlRfVFJVRShwcm9ncmFtbWF0aWNT
dHJpbmcuaW1wbCgpLT5oYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSk7CisgICAgQVNTRVJU
X0VRKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+
KHByb2dyYW1tYXRpY1N0cmluZy5zdHJpbmcoKS5jaGFyYWN0ZXJzOCgpKSk7Cit9CisKK1RFU1Qo
V1RGLCBBdG9taWNTdHJpbmdDcmVhdGlvbkZyb21MaXRlcmFsVW5pcXVlbmVzcykKK3sKKyAgICBB
dG9taWNTdHJpbmcgc3RyaW5nMSgiVGVtcGxhdGUgTGl0ZXJhbCIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpOworICAgIEF0b21pY1N0cmluZyBzdHJpbmcyKCJUZW1wbGF0ZSBM
aXRlcmFsIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgQVNTRVJU
X0VRKHN0cmluZzEuaW1wbCgpLCBzdHJpbmcyLmltcGwoKSk7CisKKyAgICBBdG9taWNTdHJpbmcg
c3RyaW5nMygiVGVtcGxhdGUgTGl0ZXJhbCIpOworICAgIEFTU0VSVF9FUShzdHJpbmcxLmltcGwo
KSwgc3RyaW5nMy5pbXBsKCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYxYmIwNmNjNDBlNTk1YWRkY2MxYjY5NjQ5OGQzODE0ZWM2NDIzOTYKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcApAQCAtMCww
ICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSW1wbC5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RF
U1QoV1RGLCBTdHJpbmdJbXBsQ3JlYXRpb25Gcm9tTGl0ZXJhbCkKK3sKKyAgICBSZWZQdHI8U3Ry
aW5nSW1wbD4gc3RyaW5nV2l0aFRlbXBsYXRlID0gU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVy
YWwoIlRlbXBsYXRlIExpdGVyYWwiKTsKKyAgICBBU1NFUlRfRVEoc3RybGVuKCJUZW1wbGF0ZSBM
aXRlcmFsIiksIHN0cmluZ1dpdGhUZW1wbGF0ZS0+bGVuZ3RoKCkpOworICAgIEFTU0VSVF9UUlVF
KGVxdWFsKHN0cmluZ1dpdGhUZW1wbGF0ZS5nZXQoKSwgIlRlbXBsYXRlIExpdGVyYWwiKSk7Cisg
ICAgQVNTRVJUX1RSVUUoc3RyaW5nV2l0aFRlbXBsYXRlLT5pczhCaXQoKSk7CisgICAgQVNTRVJU
X1RSVUUoc3RyaW5nV2l0aFRlbXBsYXRlLT5oYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSk7
CisKKyAgICBjb25zdCBjaGFyKiBwcm9ncmFtbWF0aWNTdHJpbmdEYXRhID0gIkV4cGxpY2l0IFNp
emUgTGl0ZXJhbCI7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHByb2dyYW1tYXRpY1N0cmluZyA9
IFN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENo
YXIqPihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwgc3RybGVuKHByb2dyYW1tYXRpY1N0cmluZ0Rh
dGEpKTsKKyAgICBBU1NFUlRfRVEoc3RybGVuKHByb2dyYW1tYXRpY1N0cmluZ0RhdGEpLCBwcm9n
cmFtbWF0aWNTdHJpbmctPmxlbmd0aCgpKTsKKyAgICBBU1NFUlRfVFJVRShlcXVhbChwcm9ncmFt
bWF0aWNTdHJpbmcuZ2V0KCksIHByb2dyYW1tYXRpY1N0cmluZ0RhdGEpKTsKKyAgICBBU1NFUlRf
RVEocHJvZ3JhbW1hdGljU3RyaW5nRGF0YSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4o
cHJvZ3JhbW1hdGljU3RyaW5nLT5jaGFyYWN0ZXJzOCgpKSk7CisgICAgQVNTRVJUX1RSVUUocHJv
Z3JhbW1hdGljU3RyaW5nLT5pczhCaXQoKSk7CisgICAgQVNTRVJUX1RSVUUocHJvZ3JhbW1hdGlj
U3RyaW5nLT5oYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSk7Cit9CisKK1RFU1QoV1RGLCBT
dHJpbmdJbXBsRnJvbUxpdGVyYWxMb29wMTZCaXRDb252ZXJzaW9uKQoreworICAgIFJlZlB0cjxT
dHJpbmdJbXBsPiBjb250cm9sU3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlKCJUZW1wbGF0ZSBM
aXRlcmFsIik7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCAxMDsgKytpKSB7CisgICAgICAg
IFJlZlB0cjxTdHJpbmdJbXBsPiBzdHJpbmcgPSBTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJh
bCgiVGVtcGxhdGUgTGl0ZXJhbCIpOworCisgICAgICAgIEFTU0VSVF9FUSgwLCBtZW1jbXAoY29u
dHJvbFN0cmluZy0+Y2hhcmFjdGVycygpLCBzdHJpbmctPmNoYXJhY3RlcnMoKSwgY29udHJvbFN0
cmluZy0+bGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpKSk7CisgICAgICAgIEFTU0VSVF9UUlVFKHN0
cmluZy0+aGFzMTZCaXRTaGFkb3coKSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL3dpbi9UZXN0V2ViS2l0
QVBJLnZjcHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9q
CmluZGV4IGE5NDFjZDY4NjhiNGYwNTYzMjQwNzYxYTUyNjY5NjJmZjg1MzQ2ZDIuLmMzZDFhZjcx
NjkxYTk5M2IxOTUxMWMxNWExYmI1NjBkYjdjMjI3MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCkBAIC02NDAsNiArNjQwLDEwIEBACiAJCQkJCQk8
L0ZpbGU+CiAJCQkJPC9GaWx0ZXI+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxU
ZXN0c1xXVEZcQXRvbWljU3RyaW5nLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8Rmls
ZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdURlxDaGVja2VkQXJpdGhtZXRpY09wZXJh
dGlvbnMuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtNjU2LDYgKzY2MCwxMCBAQAogCQkJ
CQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVGVzdHNc
V1RGXFN0cmluZ0ltcGwuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cVGVzdHNcV1RGXFN0cmluZ09wZXJhdG9ycy5jcHAiCiAJCQkJCT4K
IAkJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156191</attachid>
            <date>2012-08-02 16:06:40 -0700</date>
            <delta_ts>2012-08-03 07:37:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92940-20120802160620.patch</filename>
            <type>text/plain</type>
            <size>21023</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDUzM2Y4MTlhNWZiMmY2OTA3YzljZDA1
NGU2NDc5Yjc4NjhhYzA5MWUuLmM2ZGQyZmNiNWYwOThiYzBiZTNmMjFjOWRlYzRiYjFkYTE2ZWZh
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDgtMDIgIEJlbmphbWluIFBvdWxhaW4gIDxi
ZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIFN0cmluZ0ltcGwgY3JlYXRlZCBmcm9tIGxp
dGVyYWwgc2hvdWxkIGJlIEJ1ZmZlckludGVybmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjk0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvd25lcnNoaXAgb2Ygc3RyaW5nIGNyZWF0ZWQgZnJv
bSBsaXRlcmFsIHNob3VsZCBiZSBCdWZmZXJJbnRlcm5hbCBzbyB0aGF0CisgICAgICAgIFN0cmlu
Z0ltcGwgbmV2ZXIgdHJpZXMgdG8gZGVsZXRlIHRoZSBjaGFyYWN0ZXJzLgorCisgICAgICAgIFRo
ZSBvd25lcnNoaXAgd2FzIGFjY2lkZW50YWx5IHNldCB0byBCdWZmZXJPd25lZCBpbiByMTIzNjg5
LgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXVEY6OlN0
cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKTogVXBkYXRlIHRvIHVzZSB0aGUgbmV3IGNvbnN0
cnVjdG9yLgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKFdURjo6
U3RyaW5nSW1wbDo6U3RyaW5nSW1wbCk6CisgICAgICAgIEFkZCBhIG5ldyBjb25zdHJ1Y3RvciBt
YWtpbmcgdGhlIGNvbnN0cnVjdGlvbiBmcm9tIGxpdGVyYWwgZXhwbGljaXQuCisgICAgICAgIEFk
ZCB0aGUgZmxhZyBzX2hhc2hGbGFnSGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyIHNpbmNlIHRo
ZSBkYXRhIGhhcyB0aGUgdGVybWluYXRpbmcKKyAgICAgICAgbnVsbCBjaGFyYWN0ZXIuCisKIDIw
MTItMDgtMDIgIEFybmF1ZCBSZW5ldmllciAgPGEucmVuZXZpZXJAc2lzYS5zYW1zdW5nLmNvbT4K
IAogICAgICAgICBUeXBlZEFycmF5IHNldCBtZXRob2QgaXMgc2xvdyB3aGVuIGNhbGxlZCB3aXRo
IGFub3RoZXIgdHlwZWQgYXJyYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IDQy
NWU3NzNlZWJhMmU2NmUwZTc1NTE0MTlhNzk0ZjQ3NzZjMDIyZjYuLmUxMDY0YjNiMzY5YzA4ZjM2
YjRkNjQwMmFlMzBiYWI3OWUzODIyOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
U3RyaW5nSW1wbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApA
QCAtODUsNyArODUsNyBAQCBTdHJpbmdJbXBsOjp+U3RyaW5nSW1wbCgpCiBQYXNzUmVmUHRyPFN0
cmluZ0ltcGw+IFN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGNvbnN0IExDaGFyKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGNoYXJhY3RlcnNBcmVBbGxB
U0NJSTxMQ2hhcj4oY2hhcmFjdGVycywgbGVuZ3RoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTdHJpbmdJbXBsKGNoYXJhY3RlcnMsIGxlbmd0aCkpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU3RyaW5nSW1wbChjaGFyYWN0ZXJzLCBsZW5ndGgsIENvbnN0cnVjdEZyb21MaXRlcmFsKSk7
CiB9CiAKIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlVW5pbml0aWFs
aXplZCh1bnNpZ25lZCBsZW5ndGgsIExDaGFyKiYgZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBs
LmgKaW5kZXggZDdiZDUyZWNmMGM0YmNkZmRhODA1ZDgyMmViN2UxOTkwMjVkZGQyZC4uZTcwOTg2
OTg2MGU0N2I1YWI0MjY1ZDlkNmMxYzMxM2FlNjkxOTQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmgKQEAgLTE2NSw2ICsxNjUsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgQVNTRVJUKG1fbGVu
Z3RoKTsKICAgICB9CiAKKyAgICBlbnVtIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnIHsgQ29uc3Ry
dWN0RnJvbUxpdGVyYWwgfTsKKyAgICBTdHJpbmdJbXBsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJz
LCB1bnNpZ25lZCBsZW5ndGgsIENvbnN0cnVjdEZyb21MaXRlcmFsVGFnKQorICAgICAgICA6IG1f
cmVmQ291bnQoc19yZWZDb3VudEluY3JlbWVudCkKKyAgICAgICAgLCBtX2xlbmd0aChsZW5ndGgp
CisgICAgICAgICwgbV9kYXRhOChjaGFyYWN0ZXJzKQorICAgICAgICAsIG1fYnVmZmVyKDApCisg
ICAgICAgICwgbV9oYXNoQW5kRmxhZ3Moc19oYXNoRmxhZzhCaXRCdWZmZXIgfCBCdWZmZXJJbnRl
cm5hbCB8IHNfaGFzaEZsYWdIYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIpCisgICAgeworICAg
ICAgICBBU1NFUlQobV9kYXRhOCk7CisgICAgICAgIEFTU0VSVChtX2xlbmd0aCk7CisgICAgICAg
IEFTU0VSVCghY2hhcmFjdGVyc1tsZW5ndGhdKTsKKyAgICB9CisKICAgICAvLyBDcmVhdGUgYSBT
dHJpbmdJbXBsIGFkb3B0aW5nIG93bmVyc2hpcCBvZiB0aGUgcHJvdmlkZWQgYnVmZmVyIChCdWZm
ZXJPd25lZCkKICAgICBTdHJpbmdJbXBsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25l
ZCBsZW5ndGgpCiAgICAgICAgIDogbV9yZWZDb3VudChzX3JlZkNvdW50SW5jcmVtZW50KQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU5MzMwYzg2
YTM4M2Y4ZWU2YzU4NGNkNWJlNWI0OTkzYTY0MmQyNTAuLjRmYjNlYWQ0MGZhMjAwZTlhMDkyZWY5
NDc1NzBiNTdjMjc4Zjg0ZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wOC0wMiAgQmVuamFtaW4gUG91bGFp
biAgPGJlbmphbWluQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3RyaW5nSW1wbCBjcmVhdGVkIGZy
b20gbGl0ZXJhbCBzaG91bGQgYmUgQnVmZmVySW50ZXJuYWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciB0aGUgY29udHJ1Y3Rpb24g
b2Ygc3RyaW5ncyBmcm9tIGxpdGVyYWwuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJL
aXRBUEkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdl
YktpdEFQSSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxMi0wNi0xNSAg
RGF2aWQgQmFydG9uICA8ZGJhcnRvbkBtYXRoc2NyaWJlLmNvbT4KIAogICAgICAgICBNYXRoTUw6
IG5lc3RlZCBzcXVhcmUgcm9vdCBzeW1ib2xzIGhhdmUgdmFyeWluZyBkZXNjZW5kZXJzCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCAwMWY0YTc0NDVjYTIxMTNmYjM2Yjc0YmY2Yzk4
ZjJiNzFkOWQ0YmVlLi5kMTE2YjVjMGVkNzNkNGI1MjQ0NjhiOTAzMTAwZTgxZjVjODdkNTA1IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKQEAgLTY2LDEyICs2NiwxNCBAQCBTRVQodGVz
dF93dGZfTElCUkFSSUVTCiBBRERfRVhFQ1VUQUJMRSh0ZXN0X3d0ZgogICAgICR7dGVzdF9tYWlu
X1NPVVJDRVN9CiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHNDb250cm9sbGVyLmNwcAor
ICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwCiAgICAg
JHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9u
cy5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvRnVuY3Rpb25hbC5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvSGFzaE1hcC5jcHAKICAgICAke1RF
U1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvTWV0YUFsbG9jYXRvci5jcHAKICAgICAke1RFU1RX
RUJLSVRBUElfRElSfS9UZXN0cy9XVEYvUmVkQmxhY2tUcmVlLmNwcAogICAgICR7VEVTVFdFQktJ
VEFQSV9ESVJ9L1Rlc3RzL1dURi9TdHJpbmdCdWlsZGVyLmNwcAorICAgICR7VEVTVFdFQktJVEFQ
SV9ESVJ9L1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9
L1Rlc3RzL1dURi9TdHJpbmdPcGVyYXRvcnMuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0v
VGVzdHMvV1RGL1RlbXBvcmFyeUNoYW5nZS5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9U
ZXN0cy9XVEYvVmVjdG9yLmNwcApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVt
YWtlZmlsZS5hbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW0KaW5kZXggODE1
YzQzYmFmY2FkZThiOWRlYjExNDg3OTNiYTFkNDRhMDk1MWM3My4uMjU1YTgzODU2ZGZmZWU4YWNm
ODEwYTQ0ZTBkNGZjMWFhNWFlYzI3OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9H
TlVtYWtlZmlsZS5hbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCkBA
IC01MCwxMiArNTAsMTQgQEAgUHJvZ3JhbXNfVGVzdFdlYktpdEFQSV9UZXN0V1RGX0xERkxBR1Mg
PSBcCiAJLW5vLWZhc3QtaW5zdGFsbAogCiBQcm9ncmFtc19UZXN0V2ViS2l0QVBJX1Rlc3RXVEZf
U09VUkNFUyA9IFwKKwlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcu
Y3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2VkQXJpdGhtZXRpY09w
ZXJhdGlvbnMuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9GdW5jdGlvbmFs
LmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaE1hcC5jcHAgXAogCVRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lZGlhVGltZS5jcHAgXAogCVRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL1JlZEJsYWNrVHJlZS5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1N0cmluZ0J1aWxkZXIuY3BwIFwKKwlUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9TdHJpbmdJbXBsLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
U3RyaW5nT3BlcmF0b3JzLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVGVt
cG9yYXJ5Q2hhbmdlLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9y
QmFzaWMuY3BwIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDM2NjRhMTI5ZGQ1OWRkMTVj
ZjJjOTU4Zjk5YzFjMTY4OTExYzJjMy4uMmQ3MmFmNGM1MDUzM2I4YjE5ZWY4ODI2YTMwMzM2ZDli
ODg2MWZkMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI1LDYgKzI1LDggQEAKIAkJMjZC
MkRGRjkxNUJERTU5OTAwNEY2OTFEIC8qIEhhc2hTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZCMkRGRjgxNUJERTU5OTAwNEY2OTFEIC8qIEhh
c2hTZXQuY3BwICovOyB9OwogCQkyNkRGNUE1RTE1QTI5QkFBMDAzNjg5QzIgLyogQ2FuY2VsTG9h
ZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI2REY1QTVEMTVBMjlCQUEwMDM2ODlDMiAvKiBDYW5jZWxMb2Fk
RnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tICovOyB9OwogCQkyNkRGNUE2MzE1QTJBMjdFMDAz
Njg5QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2REY1QTYxMTVB
MkEyMkIwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwg
Ki87IH07CisJCTI2RjFCNDQ0MTVDQTQzNEYwMEQxRTRCRiAvKiBBdG9taWNTdHJpbmcuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjZGMUI0NDIxNUNB
NDM0RjAwRDFFNEJGIC8qIEF0b21pY1N0cmluZy5jcHAgKi87IH07CisJCTI2RjFCNDQ1MTVDQTQz
NEYwMEQxRTRCRiAvKiBTdHJpbmdJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDI2RjFCNDQzMTVDQTQzNEYwMEQxRTRCRiAvKiBTdHJpbmdJbXBs
LmNwcCAqLzsgfTsKIAkJMzMzQjlDRTIxMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVz
ZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMzNCOUNFMTEyNzdGMjMxMDBGRUZDRTMgLyogUHJldmVudEVtcHR5VXNlckFnZW50LmNwcCAq
LzsgfTsKIAkJMzNCRTVBRjUxMzdCNUE2QzAwNzA1ODEzIC8qIE1vdXNlTW92ZUFmdGVyQ3Jhc2gu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNCRTVB
RjQxMzdCNUE2QzAwNzA1ODEzIC8qIE1vdXNlTW92ZUFmdGVyQ3Jhc2guY3BwICovOyB9OwogCQkz
M0JFNUFGOTEzN0I1QUFFMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFzaF9CdW5kbGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNCRTVBRjgx
MzdCNUFBRTAwNzA1ODEzIC8qIE1vdXNlTW92ZUFmdGVyQ3Jhc2hfQnVuZGxlLmNwcCAqLzsgfTsK
QEAgLTE1Niw5ICsxNTgsOSBAQAogCQlDNTA3RThBNzE0QzY1NDVCMDA1RDZCM0IgLyogSW5zcGVj
dG9yQmFyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzUwN0U4QTYxNEM2NTQ1QjAwNUQ2QjNCIC8qIEluc3BlY3RvckJhci5tbSAqLzsgfTsKIAkJQzU0
MEY3NzYxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFya3VwLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhD
IC8qIFNpbXBsaWZ5TWFya3VwLm1tICovOyB9OwogCQlDNTQwRjc4NDE1MkU1QTlBMDBBNDBDOEMg
LyogdmVyYm9zZU1hcmt1cC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM1NDBGNzgzMTUyRTVBNzgwMEE0MEM4QyAvKiB2ZXJib3NlTWFy
a3VwLmh0bWwgKi87IH07CisJCUNENTQ5N0I0MTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1NDk3
QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi87IH07CiAJCUUxMjIwREEwMTU1
QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
MjIwRDlGMTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJj
ZUxvYWREZWxlZ2F0ZS5tbSAqLzsgfTsKIAkJRTEyMjBEQ0ExNTVCMjhBQTAwMTNFMkZDIC8qIE1l
bW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyMjBEQzkxNTVC
Mjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVn
YXRlLmh0bWwgKi87IH07Ci0JCUNENTQ5N0I0MTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1NDk3
QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi87IH07CiAJCUU0OTAyOTY4MTRF
MkUzQTQwMDJCRUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8qIFR5
cGluZ1N0eWxlQ3Jhc2gubW0gKi87IH07CiAJCUYzRkMzRUUzMTM2NzhCNzMwMDEyNkE2NSAvKiBs
aWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgKi87IH07CiAJCUY2NjBB
QTBEMTVBNUYwNjEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNl
ckRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNjYwQUEwQzE1QTVGMDYxMDAzQTEyNDMgLyogR2V0SW5qZWN0ZWRCdW5kbGVJbml0
aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2suY3BwICovOyB9OwpAQCAtMjUyLDYgKzI1NCw4IEBA
CiAJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAvKiBIYXNoU2V0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhhc2hTZXQuY3BwOyBwYXRoID0gV1RGL0hhc2hTZXQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNkRGNUE1RDE1QTI5QkFBMDAzNjg5
QzIgLyogQ2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENhbmNlbExvYWRGcm9tUmVzb3VyY2VMb2FkRGVs
ZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2REY1QTYxMTVBMkEyMkIw
MDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRl
Lmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2RjFCNDQyMTVDQTQzNEYwMEQx
RTRCRiAvKiBBdG9taWNTdHJpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gQXRvbWljU3RyaW5nLmNwcDsgcGF0aCA9IFdURi9BdG9taWNTdHJpbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNkYxQjQ0MzE1Q0E0MzRGMDBEMUU0QkYgLyogU3Ry
aW5nSW1wbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTdHJpbmdJ
bXBsLmNwcDsgcGF0aCA9IFdURi9TdHJpbmdJbXBsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzMzQjlDRTExMjc3RjIzMTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJBZ2Vu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmV2ZW50RW1wdHlV
c2VyQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0JFNUFGNDEzN0I1
QTZDMDA3MDU4MTMgLyogTW91c2VNb3ZlQWZ0ZXJDcmFzaC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNb3VzZU1vdmVBZnRlckNyYXNoLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzNCRTVBRjgxMzdCNUFBRTAwNzA1ODEzIC8qIE1vdXNlTW92ZUFm
dGVyQ3Jhc2hfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1vdXNlTW92ZUFmdGVyQ3Jhc2hfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTM5OSw5ICs0MDMsOSBAQAogCQlDNTA3RThBNjE0QzY1NDVCMDA1RDZCM0IgLyogSW5z
cGVjdG9yQmFyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSW5z
cGVjdG9yQmFyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTQwRjc3NTE1MkU0
REEwMDBBNDBDOEMgLyogU2ltcGxpZnlNYXJrdXAubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTaW1wbGlmeU1hcmt1cC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzU0MEY3ODMxNTJFNUE3ODAwQTQwQzhDIC8qIHZlcmJvc2VNYXJrdXAuaHRtbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IHZlcmJvc2VNYXJrdXAuaHRtbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGlt
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVRpbWUuY3Bw
OyBwYXRoID0gV1RGL01lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUxMjIwRDlGMTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNv
dXJjZUxvYWREZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVt
b3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERl
bGVnYXRlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNENTQ5N0IzMTU4NTdG
MEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gTWVkaWFUaW1lLmNwcDsgcGF0aCA9IFdURi9NZWRpYVRpbWUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFNDkwMjk2NzE0RTJFM0E0MDAyQkVERDEgLyogVHlwaW5n
U3R5bGVDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFR5
cGluZ1N0eWxlQ3Jhc2gubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRkMzRUUy
MTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgcGF0aCA9IGxpYmd0ZXN0LmE7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUY2NjBBQTBDMTVBNUYwNjEwMDNB
MTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZXRJbmplY3RlZEJ1bmRs
ZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC02MjEsNiArNjI1LDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUJDMDI5QjFB
MTQ4NkIyMzgwMDgxN0RBOSAvKiBucyAqLywKIAkJCQlDMDk5MUM0RjE0M0M3RDY4MDA3OTk4RjIg
LyogY2YgKi8sCisJCQkJMjZGMUI0NDIxNUNBNDM0RjAwRDFFNEJGIC8qIEF0b21pY1N0cmluZy5j
cHAgKi8sCiAJCQkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi8s
CiAJCQkJMEZDNkM0Q0UxNDEwMzRBRDAwNUI3RjBDIC8qIE1ldGFBbGxvY2F0b3IuY3BwICovLAog
CQkJCTBGQzZDNENCMTQxMDI3RTAwMDVCN0YwQyAvKiBSZWRCbGFja1RyZWUuY3BwICovLApAQCAt
NjI5LDYgKzYzNCw3IEBACiAJCQkJMEJDRDgzMzQxNDg1N0NFNDAwRUEyMDAzIC8qIEhhc2hNYXAu
Y3BwICovLAogCQkJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAvKiBIYXNoU2V0LmNwcCAqLywK
IAkJCQk4MUI1MDE5MjE0MEYyMzIzMDBEOUVCNTggLyogU3RyaW5nQnVpbGRlci5jcHAgKi8sCisJ
CQkJMjZGMUI0NDMxNUNBNDM0RjAwRDFFNEJGIC8qIFN0cmluZ0ltcGwuY3BwICovLAogCQkJCUMw
MTM2M0M3MTNDMzk5NzMwMEVGMzk2NCAvKiBTdHJpbmdPcGVyYXRvcnMuY3BwICovLAogCQkJCTBC
Q0Q4NTY5MTQ4NUM5OEIwMEVBMjAwMyAvKiBUZW1wb3JhcnlDaGFuZ2UuY3BwICovLAogCQkJCUJD
NTVGNUY4MTRBRDc4RUUwMDQ4NEJFMSAvKiBWZWN0b3IuY3BwICovLApAQCAtODYxLDYgKzg2Nyw3
IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQkyNkYxQjQ0NDE1Q0E0MzRGMDBEMUU0QkYg
LyogQXRvbWljU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTMxODg1MTE3MTE0QjYw
MEI2OTcyNyAvKiBQbGF0Zm9ybVV0aWxpdGllc01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJD
MTMxQTlCMTE3MTMxNjkwMEI2OTcyNyAvKiBtYWluLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMx
MzFBQTkxMTcxMzFGQzAwQjY5NzI3IC8qIFRlc3RzQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTkwMSw2ICs5MDgsNyBAQAogCQkJCUMwODU4ODAwMTNGRUMzQTYwMDFFRjRFNSAvKiBJ
bnN0YW5jZU1ldGhvZFN3aXp6bGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdEQzY3OEQxNDBE
N0M1MDAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQk4
MUI1MDE5MzE0MEYyMzIzMDBEOUVCNTggLyogU3RyaW5nQnVpbGRlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkyNkYxQjQ0NTE1Q0E0MzRGMDBEMUU0QkYgLyogU3RyaW5nSW1wbC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkM2QzRDQzE0MTAyN0UwMDA1QjdGMEMgLyogUmVkQmxhY2tUcmVlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzZDNENGMTQxMDM0QUQwMDVCN0YwQyAvKiBNZXRhQWxs
b2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3QTk2NkRCMTQwRUNDQzgwMDVFRjlCNCAv
KiBDaGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9BdG9taWNTdHJpbmcuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZGRmMjJjMjNjMTg3MjAzNzk2ZDgxOWZjMThhM2ZkYWY3NjlmMmQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQXRvbWljU3RyaW5nLmNwcApAQCAtMCww
ICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8
d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKwor
VEVTVChXVEYsIEF0b21pY1N0cmluZ0NyZWF0aW9uRnJvbUxpdGVyYWwpCit7CisgICAgQXRvbWlj
U3RyaW5nIHN0cmluZ1dpdGhUZW1wbGF0ZSgiVGVtcGxhdGUgTGl0ZXJhbCIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIEFTU0VSVF9FUShzdHJsZW4oIlRlbXBsYXRl
IExpdGVyYWwiKSwgc3RyaW5nV2l0aFRlbXBsYXRlLmxlbmd0aCgpKTsKKyAgICBBU1NFUlRfVFJV
RShzdHJpbmdXaXRoVGVtcGxhdGUgPT0gIlRlbXBsYXRlIExpdGVyYWwiKTsKKyAgICBBU1NFUlRf
VFJVRShzdHJpbmdXaXRoVGVtcGxhdGUuc3RyaW5nKCkuaXM4Qml0KCkpOworICAgIEFTU0VSVF9U
UlVFKHN0cmluZ1dpdGhUZW1wbGF0ZS5pbXBsKCktPmhhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3Rl
cigpKTsKKworICAgIGNvbnN0IGNoYXIqIHByb2dyYW1tYXRpY1N0cmluZ0RhdGEgPSAiRXhwbGlj
aXQgU2l6ZSBMaXRlcmFsIjsKKyAgICBBdG9taWNTdHJpbmcgcHJvZ3JhbW1hdGljU3RyaW5nKHBy
b2dyYW1tYXRpY1N0cmluZ0RhdGEsIHN0cmxlbihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgQVNTRVJUX0VRKHN0cmxlbihw
cm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwgcHJvZ3JhbW1hdGljU3RyaW5nLmxlbmd0aCgpKTsKKyAg
ICBBU1NFUlRfVFJVRShwcm9ncmFtbWF0aWNTdHJpbmdEYXRhID09IHByb2dyYW1tYXRpY1N0cmlu
Z0RhdGEpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZy5zdHJpbmcoKS5pczhC
aXQoKSk7CisgICAgQVNTRVJUX1RSVUUocHJvZ3JhbW1hdGljU3RyaW5nLmltcGwoKS0+aGFzVGVy
bWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpOworICAgIEFTU0VSVF9FUShwcm9ncmFtbWF0aWNTdHJp
bmdEYXRhLCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihwcm9ncmFtbWF0aWNTdHJpbmcu
c3RyaW5nKCkuY2hhcmFjdGVyczgoKSkpOworfQorCitURVNUKFdURiwgQXRvbWljU3RyaW5nQ3Jl
YXRpb25Gcm9tTGl0ZXJhbFVuaXF1ZW5lc3MpCit7CisgICAgQXRvbWljU3RyaW5nIHN0cmluZzEo
IlRlbXBsYXRlIExpdGVyYWwiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsK
KyAgICBBdG9taWNTdHJpbmcgc3RyaW5nMigiVGVtcGxhdGUgTGl0ZXJhbCIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIEFTU0VSVF9FUShzdHJpbmcxLmltcGwoKSwg
c3RyaW5nMi5pbXBsKCkpOworCisgICAgQXRvbWljU3RyaW5nIHN0cmluZzMoIlRlbXBsYXRlIExp
dGVyYWwiKTsKKyAgICBBU1NFUlRfRVEoc3RyaW5nMS5pbXBsKCksIHN0cmluZzMuaW1wbCgpKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWJiMDZjYzQwZTU5NWFkZGNj
MWI2OTY0OThkMzgxNGVjNjQyMzk2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvU3RyaW5nSW1wbC5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwu
aD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdURiwgU3RyaW5nSW1wbENy
ZWF0aW9uRnJvbUxpdGVyYWwpCit7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHN0cmluZ1dpdGhU
ZW1wbGF0ZSA9IFN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKCJUZW1wbGF0ZSBMaXRlcmFs
Iik7CisgICAgQVNTRVJUX0VRKHN0cmxlbigiVGVtcGxhdGUgTGl0ZXJhbCIpLCBzdHJpbmdXaXRo
VGVtcGxhdGUtPmxlbmd0aCgpKTsKKyAgICBBU1NFUlRfVFJVRShlcXVhbChzdHJpbmdXaXRoVGVt
cGxhdGUuZ2V0KCksICJUZW1wbGF0ZSBMaXRlcmFsIikpOworICAgIEFTU0VSVF9UUlVFKHN0cmlu
Z1dpdGhUZW1wbGF0ZS0+aXM4Qml0KCkpOworICAgIEFTU0VSVF9UUlVFKHN0cmluZ1dpdGhUZW1w
bGF0ZS0+aGFzVGVybWluYXRpbmdOdWxsQ2hhcmFjdGVyKCkpOworCisgICAgY29uc3QgY2hhciog
cHJvZ3JhbW1hdGljU3RyaW5nRGF0YSA9ICJFeHBsaWNpdCBTaXplIExpdGVyYWwiOworICAgIFJl
ZlB0cjxTdHJpbmdJbXBsPiBwcm9ncmFtbWF0aWNTdHJpbmcgPSBTdHJpbmdJbXBsOjpjcmVhdGVG
cm9tTGl0ZXJhbChyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocHJvZ3JhbW1hdGljU3Ry
aW5nRGF0YSksIHN0cmxlbihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSk7CisgICAgQVNTRVJUX0VR
KHN0cmxlbihwcm9ncmFtbWF0aWNTdHJpbmdEYXRhKSwgcHJvZ3JhbW1hdGljU3RyaW5nLT5sZW5n
dGgoKSk7CisgICAgQVNTRVJUX1RSVUUoZXF1YWwocHJvZ3JhbW1hdGljU3RyaW5nLmdldCgpLCBw
cm9ncmFtbWF0aWNTdHJpbmdEYXRhKSk7CisgICAgQVNTRVJUX0VRKHByb2dyYW1tYXRpY1N0cmlu
Z0RhdGEsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHByb2dyYW1tYXRpY1N0cmluZy0+
Y2hhcmFjdGVyczgoKSkpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZy0+aXM4
Qml0KCkpOworICAgIEFTU0VSVF9UUlVFKHByb2dyYW1tYXRpY1N0cmluZy0+aGFzVGVybWluYXRp
bmdOdWxsQ2hhcmFjdGVyKCkpOworfQorCitURVNUKFdURiwgU3RyaW5nSW1wbEZyb21MaXRlcmFs
TG9vcDE2Qml0Q29udmVyc2lvbikKK3sKKyAgICBSZWZQdHI8U3RyaW5nSW1wbD4gY29udHJvbFN0
cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZSgiVGVtcGxhdGUgTGl0ZXJhbCIpOworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgMTA7ICsraSkgeworICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4g
c3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwoIlRlbXBsYXRlIExpdGVyYWwi
KTsKKworICAgICAgICBBU1NFUlRfRVEoMCwgbWVtY21wKGNvbnRyb2xTdHJpbmctPmNoYXJhY3Rl
cnMoKSwgc3RyaW5nLT5jaGFyYWN0ZXJzKCksIGNvbnRyb2xTdHJpbmctPmxlbmd0aCgpICogc2l6
ZW9mKFVDaGFyKSkpOworICAgICAgICBBU1NFUlRfVFJVRShzdHJpbmctPmhhczE2Qml0U2hhZG93
KCkpOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>