<?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>129457</bug_id>
          
          <creation_ts>2014-02-27 15:53:42 -0800</creation_ts>
          <short_desc>Move GCActivityCallback to heap</short_desc>
          <delta_ts>2014-03-07 13:23:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>985389</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-27 15:53:42 -0800</bug_when>
    <thetext>All the other GC timer related stuff is there already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985394</commentid>
    <comment_count>1</comment_count>
      <attachid>225422</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-27 15:55:42 -0800</bug_when>
    <thetext>Created attachment 225422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988250</commentid>
    <comment_count>2</comment_count>
      <attachid>226146</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-03-07 12:10:44 -0800</bug_when>
    <thetext>Created attachment 226146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988251</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-03-07 12:11:11 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=226146) [details]
&gt; Patch

No changes other than build fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988255</commentid>
    <comment_count>4</comment_count>
      <attachid>226146</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-03-07 12:14:49 -0800</bug_when>
    <thetext>Comment on attachment 226146
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988299</commentid>
    <comment_count>5</comment_count>
      <attachid>226146</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-07 13:22:58 -0800</bug_when>
    <thetext>Comment on attachment 226146
Patch

Clearing flags on attachment: 226146

Committed r165282: &lt;http://trac.webkit.org/changeset/165282&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>988300</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-07 13:23:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225422</attachid>
            <date>2014-02-27 15:55:42 -0800</date>
            <delta_ts>2014-03-07 12:10:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129457-20140227155534.patch</filename>
            <type>text/plain</type>
            <size>38021</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0ODM5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE0LTAyLTI3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgTW92ZSBHQ0FjdGl2aXR5Q2FsbGJhY2sgdG8gaGVhcAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NDU3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsIHRoZSBvdGhlciBHQyB0aW1lciBy
ZWxhdGVkIHN0dWZmIGlzIHRoZXJlIGFscmVhZHkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhlYXAv
R0NBY3Rpdml0eUNhbGxiYWNrLmNwcDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcC4KKyAgICAgICAgKiBoZWFwL0dDQWN0aXZp
dHlDYWxsYmFjay5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2suaC4KKyAgICAgICAgKiBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFj
ay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaDog
UmVtb3ZlZC4KKwogMjAxNC0wMi0yNyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdIFdhcm5pbmc6IE11bHRpcGxlIGJ1aWxkIGNvbW1hbmRzIGZv
ciBvdXRwdXQgZmlsZSBHQ1NlZ21lbnRlZEFycmF5IGFuZCBJbnNwZWN0b3JBZ2VudApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTY0ODMxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMTUs
NiArMjE1LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBoZWFwL0NvcGllZFNw
YWNlLmNwcAogICAgIGhlYXAvQ29weVZpc2l0b3IuY3BwCiAgICAgaGVhcC9EZWZlckdDLmNwcAor
ICAgIGhlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAogICAgIGhlYXAvR0NUaHJlYWQuY3BwCiAg
ICAgaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwCiAgICAgaGVhcC9IYW5kbGVTZXQuY3BwCkBA
IC0zNzAsNyArMzcxLDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGVE
dW1wLmNwcAogICAgIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCi0gICAgcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2suY3BwCiAgICAgcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwCiAgICAg
cnVudGltZS9JZGVudGlmaWVyLmNwcAogICAgIHJ1bnRpbWUvSW5kZXhpbmdUeXBlLmNwcApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDE2
NDgzMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NDEsNiArNTQxLDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBc
CiAgICAgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvRGVmZXJHQy5jcHAgXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0RlZmVyR0MuaCBcCiAgICAgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvRGVsYXllZFJlbGVhc2VTY29wZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9H
Q0FjdGl2aXR5Q2FsbGJhY2suaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NTZWdt
ZW50ZWRBcnJheS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1NlZ21lbnRlZEFy
cmF5SW5saW5lcy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ0Fzc2VydGlvbnMu
aCBcCkBAIC05NzYsOCArOTc4LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5oIFwKIAlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAgXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmggXAotCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAgXAotCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HZW5lcmljVHlwZWRBcnJheVZpZXcuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwIFwKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagkocmV2aXNpb24gMTY0ODMxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDYzLDYgKzQ2Myw3IEBACiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXENvcGllZFNwYWNlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGhlYXBcQ29weVZpc2l0b3IuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caGVhcFxEZWZlckdDLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGhlYXBcR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGhlYXBcR0NUaHJlYWQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aGVhcFxHQ1RocmVhZFNoYXJlZERhdGEuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caGVhcFxIYW5kbGVTZXQuY3BwIiAvPgpAQCAtNjE3LDcgKzYxOCw2IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRnVuY3Rpb25Qcm90b3R5
cGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxHZXR0
ZXJTZXR0ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxJZGVu
dGlmaWVyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSW5kZXhp
bmdUeXBlLmNwcCIgLz4KQEAgLTEwNDAsNiArMTA0MCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxoZWFwXENvcHlXcml0ZUJhcnJpZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGhlYXBcRGVmZXJHQy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caGVh
cFxEZWxheWVkUmVsZWFzZVNjb3BlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
ZWFwXEdDQWN0aXZpdHlDYWxsYmFjay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aGVhcFxHQ1NlZ21lbnRlZEFycmF5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
ZWFwXEdDU2VnbWVudGVkQXJyYXlJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxoZWFwXEdDQXNzZXJ0aW9ucy5oIiAvPgpAQCAtMTI2Miw3ICsxMjYzLDYgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxGdW5jdGlvbkV4ZWN1dGFibGVEdW1w
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEZ1bmN0aW9uUHJvdG90
eXBlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEdDQWN0aXZpdHlD
YWxsYmFjay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxHZW5lcmlj
VHlwZWRBcnJheVZpZXcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
R2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxHZXR0ZXJTZXR0ZXIuaCIgLz4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE2NDgzMSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtMjI4LDYgKzIyOCw5IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXENvcHlWaXNpdG9yLmNwcCI+CiAgICAgICA8
RmlsdGVyPmhlYXA8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGhlYXBcR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCI+CisgICAgICA8RmlsdGVyPmhl
YXA8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGhlYXBcR0NUaHJlYWQuY3BwIj4KICAgICAgIDxGaWx0ZXI+aGVhcDwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgpAQCAtNTY0LDkgKzU2Nyw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEZ1bmN0aW9uUHJvdG90eXBlLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8
L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCI+Ci0gICAgICA8RmlsdGVyPnJ1bnRpbWU8L0Zp
bHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcR2V0dGVyU2V0dGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAg
ICA8L0NsQ29tcGlsZT4KQEAgLTE2NzYsNiArMTY3Niw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxoZWFwXERlZmVyR0MuaCI+CiAgICAgICA8RmlsdGVyPmhlYXA8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBcR0NBY3Rpdml0
eUNhbGxiYWNrLmgiPgorICAgICAgPEZpbHRlcj5oZWFwPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1
ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFwXEdDU2VnbWVudGVkQXJyYXkuaCI+
CiAgICAgICA8RmlsdGVyPmhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTIxODAs
OSArMjE4Myw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEZ1bmN0aW9u
UHJvdG90eXBlLmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEdDQWN0aXZpdHlDYWxs
YmFjay5oIj4KLSAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxHZXR0ZXJTZXR0ZXIuaCI+CiAg
ICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjQ4MzEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNzg0LDYgKzc4NCw4IEBACiAJCTJBNEVDOTBDMTg2MEQ2QzIwMDk0Rjc4
MiAvKiBXcml0ZUJhcnJpZXJCdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJBNEVDOTBBMTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJpZXJC
dWZmZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyQTY4Mjk1QjE4NzVGODA1MDBCNkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkE2ODI5NUExODc1RjgwNTAw
QjZDM0UyIC8qIENvcHlXcml0ZUJhcnJpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkyQTZGNDYyNjE3RTk1OUNFMDBDNDVDOTggLyogSGVhcE9w
ZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkE2RjQ2MjUxN0U5NTlDRTAwQzQ1Qzk4IC8qIEhlYXBPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyQTcwMEY1MDE4QkZGQjM5MDAw
QkY2RDMgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBNzAwRjRFMThCRkZCMzkwMDBCRjZEMyAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2suY3BwICovOyB9OworCQkyQTcwMEY1MTE4QkZGQjM5MDAwQkY2RDMgLyogR0NB
Y3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyQTcwMEY0RjE4QkZGQjM5MDAwQkY2RDMgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmgg
Ki87IH07CiAJCTJBN0E1OEVGMTgwOEE0QzQwMDIwQkRGNyAvKiBEZWZlckdDLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBN0E1OEVFMTgwOEE0QzQw
MDIwQkRGNyAvKiBEZWZlckdDLmNwcCAqLzsgfTsKIAkJMkFBQUEzMTIxOEJENDlEMTAwMzk0Q0M4
IC8qIFN0cnVjdHVyZUlEQmxvYi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkFBQUEzMTAxOEJENDlEMTAwMzk0Q0M4IC8qIFN0cnVjdHVyZUlEQmxvYi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJBQUQ5
NjRBMTg1Njk0MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQUQ5NjQ5MTg1Njk0MTcw
MDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCAqLzsgfTsKQEAgLTE0MTIsNyAr
MTQxNCw2IEBACiAJCUMyQzhEMDMxMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJGMTRBM0NF
RkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDMkNGMzlDMTE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFw
cGVyT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzJDRjM5QkYxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5tbSAqLzsg
fTsKIAkJQzJDRjM5QzIxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDRjM5QzAxNkUx
NUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5oICovOyB9OwotCQlDMkQ1OEMzNDE1
OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAv
KiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovOyB9OwogCQlDMkRGNDQyRjE3MDdBQzAxMDBBNUNB
OTYgLyogU3VwZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzJERjQ0MkQxNzA3QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmNwcCAq
LzsgfTsKIAkJQzJERjQ0MzAxNzA3QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkRGNDQyRTE3MDdBQzAx
MDBBNUNBOTYgLyogU3VwZXJSZWdpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUy
NkJCMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuY3BwICovOyB9OwpAQCAtMTQyNiw3ICsx
NDI3LDYgQEAKIAkJQzJGQ0FFMTIxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NB
bmFseXNpcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMkZDQUUwRTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmNw
cCAqLzsgfTsKIAkJQzJGQ0FFMTMxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NB
bmFseXNpcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzJGQ0FFMEYxN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyRkUxOEE0
MTZCQUVDNDAwMEFGMzA2MSAvKiBTdHJ1Y3R1cmVSYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJGRTE4QTMxNkJBRUM0MDAwQUYzMDYxIC8q
IFN0cnVjdHVyZVJhcmVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJRERGN0FCRDQxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERG
N0FCRDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUxMjRBOEY3MEU1NTU3NzUw
MDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3Ry
aW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTEyNEE4RjgwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY2MEU1NTU3NzUwMDMw
OTFGMSAvKiBPcGFxdWVKU1N0cmluZy5jcHAgKi87IH07CiAJCUUxNzg2MzZEMEQ5QkVFQzMwMEQ3
NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzg2MzZDMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFs
aXplVGhyZWFkaW5nLmNwcCAqLzsgfTsKQEAgLTIyNTAsNiArMjI1MCw4IEBACiAJCTJBNEVDOTBB
MTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJpZXJCdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV3JpdGVCYXJyaWVyQnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJBNjgyOTVBMTg3NUY4MDUwMEI2QzNFMiAvKiBDb3B5V3JpdGVCYXJyaWVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcHlXcml0ZUJhcnJpZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkE2RjQ2MjUxN0U5NTlDRTAwQzQ1Qzk4IC8q
IEhlYXBPcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcE9w
ZXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQTcwMEY0RTE4QkZGQjM5
MDAwQkY2RDMgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTJBNzAwRjRGMThCRkZCMzkwMDBCRjZEMyAvKiBHQ0FjdGl2aXR5Q2FsbGJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBN0E1OEVFMTgwOEE0QzQwMDIwQkRG
NyAvKiBEZWZlckdDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERl
ZmVyR0MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQUFBQTMxMDE4QkQ0OUQx
MDAzOTRDQzggLyogU3RydWN0dXJlSURCbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0cnVjdHVyZUlEQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
QUFEOTY0OTE4NTY5NDE3MDAxRjkzQkUgLyogUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlY3Vyc2l2ZUFsbG9jYXRpb25TY29wZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkzNCw3ICsyOTM2LDYgQEAKIAkJQzJD
OEQwMkYxNEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIZWFwQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzJDRjM5QkYxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEpTQVBJV3JhcHBlck9iamVjdC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJDRjM5QzAxNkUxNUE4MTAwREQ2OUJFIC8q
IEpTQVBJV3JhcHBlck9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0FQSVdyYXBwZXJPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQzJENThD
MzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDMkRGNDQyRDE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJS
ZWdpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3VwZXJSZWdp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkRGNDQyRTE3MDdBQzAxMDBB
NUNBOTYgLyogU3VwZXJSZWdpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3VwZXJSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJFNTI2QkIxNTkw
RUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBIZWFwVGltZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
Mjk1MCw3ICsyOTUxLDYgQEAKIAkJQzJGRTE4QTMxNkJBRUM0MDAwQUYzMDYxIC8qIFN0cnVjdHVy
ZVJhcmVEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZVJh
cmVEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMw
MEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCURERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0eUNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMjRBOEY1MEU1NTU3NzUw
MDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBPcGFxdWVKU1N0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTI0
QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3BhcXVlSlNTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTc4NjMzRjBEOUJFQzAwMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRo
cmVhZGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbml0aWFsaXplVGhy
ZWFkaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDc1LDYgKzM0NzUsOCBA
QAogCQkxNDJFMzEyQTEzNEZGMEE2MDBBRkFEQjUgLyogaGVhcCAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMkE3MDBGNEUxOEJGRkIzOTAwMEJGNkQzIC8q
IEdDQWN0aXZpdHlDYWxsYmFjay5jcHAgKi8sCisJCQkJMkE3MDBGNEYxOEJGRkIzOTAwMEJGNkQz
IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovLAogCQkJCTE0ODE2RTE5MTU0Q0M1NkMwMEI4MDU0
QyAvKiBCbG9ja0FsbG9jYXRvci5jcHAgKi8sCiAJCQkJMTQ4MTZFMUExNTRDQzU2QzAwQjgwNTRD
IC8qIEJsb2NrQWxsb2NhdG9yLmggKi8sCiAJCQkJMEZEOEEzMTExN0Q0MzI2QzAwQ0EyQzQwIC8q
IENvZGVCbG9ja1NldC5jcHAgKi8sCkBAIC0zODk3LDggKzM4OTksNiBAQAogCQkJCTBGQjRCNTIy
MTZCNjI3OEQwMDNGNjk2QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmggKi8sCiAJCQkJRjY5
MkE4NUMwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCAqLywKIAkJCQlG
NjkyQTg1RDAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCAqLywKLQkJCQlD
MkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLywKLQkJ
CQlEREY3QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi8sCiAJ
CQkJMEYyQjY2QjIxN0I2QjVBQjAwQTdBRTNGIC8qIEdlbmVyaWNUeXBlZEFycmF5Vmlldy5oICov
LAogCQkJCTBGMkI2NkIzMTdCNkI1QUIwMEE3QUUzRiAvKiBHZW5lcmljVHlwZWRBcnJheVZpZXdJ
bmxpbmVzLmggKi8sCiAJCQkJQkMwMkU5QjgwRTE4NDU0NTAwMEY5Mjk3IC8qIEdldHRlclNldHRl
ci5jcHAgKi8sCkBAIC01MTk1LDcgKzUxOTUsNiBAQAogCQkJCUJDMThDNDA0MEUxNkY1Q0QwMEIz
NDQ2MCAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkYwRjFB
MDE2QjcyQTFBMDA1REY5NUIgLyogRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMxOEM0MDUwRTE2RjVDRDAwQjM0NDYwIC8qIEZ1bmN0aW9uUHJvdG90eXBlLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlEREY3QUJENDExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0
eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JFMkNBRTE0RTk4NUFBMDAwNTkzQUQg
LyogR0NBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjc2NkQzMDE1QThEQ0UyMDA4
RjM2M0UgLyogR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjJC
NjZBQzE3QjZCNTNGMDBBN0FFM0YgLyogR0NJbmNvbWluZ1JlZkNvdW50ZWQuaCBpbiBIZWFkZXJz
ICovLApAQCAtNTM5MCw2ICs1Mzg5LDcgQEAKIAkJCQkxQTI4RDRBODE3N0I3MUM4MDAwN0ZBM0Mg
LyogSlNTdHJpbmdSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjkxOUQwRDE1N0VF
MEEyMDA0QTRFN0QgLyogSlNTeW1ib2xUYWJsZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxOEM0MkEwRTE2RjVDRDAwQjM0NDYwIC8qIEpTVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MkE3MDBGNTExOEJGRkIzOTAwMEJGNkQzIC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYyQjY2RkIxN0I2QjVBQjAwQTdBRTNGIC8qIEpTVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyQjY2RkQxN0I2QjVBQjAwQTdBRTNGIC8q
IEpTVHlwZWRBcnJheVByb3RvdHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkZGMTdC
NkI1QUIwMEE3QUUzRiAvKiBKU1R5cGVkQXJyYXlzLmggaW4gSGVhZGVycyAqLywKQEAgLTYzNDMs
NyArNjM0Myw2IEBACiAJCQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uQ29u
c3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGMEYxOUYxNkI3MkExNzAwNURGOTVC
IC8qIEZ1bmN0aW9uRXhlY3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5
Q0MxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3NjZEMkYxNUE4RENFMDAwOEYzNjNFIC8qIEdDQXdhcmVK
SVRTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjIzOUQxQTE2MjYyQkREMDA1
QUM1RkQgLyogR0NUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzIxMTIyRTExNUREOUFC
MzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTY1
MTIsNiArNjUxMSw3IEBACiAJCQkJQTcwMDg3M0QxN0NCRThEMzAwQzNFNjQzIC8qIE1hcFByb3Rv
dHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMkI5MTZDNTE0REEwNDBDMDBDQkFDODYgLyog
TWFya2VkQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkQ2RjA4MTM1MzlBMjgw
MEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQTcwMEY1MDE4
QkZGQjM5MDAwQkY2RDMgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTE0RDJGM0RBMTM5RjRCRTIwMDQ5MTAzMSAvKiBNYXJrZWRTcGFjZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxNDJENkYxMTEzNTM5QTQxMDBCMDJFODYgLyogTWFya1N0YWNrLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTE0NDY5RERGMTA3RUM3RTcwMDY1MDQ0NiAvKiBNYXRoT2JqZWN0LmNw
cCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rp
dml0eUNhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCShyZXZpc2lvbiAxNjQ4MzEpCShmcm9tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHA6MTY0ODMxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhl
IG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgorCisjaW5jbHVkZSAiQVBJU2hpbXMuaCIKKyNpbmNs
dWRlICJIZWFwLmgiCisjaW5jbHVkZSAiVk0uaCIKKyNpbmNsdWRlICJKU0xvY2suaCIKKyNpbmNs
dWRlICJKU09iamVjdC5oIgorCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9XVEZUaHJlYWREYXRhLmg+CisKKyNpZiBQTEFURk9STShFRkwpCisjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgSlNDIHsKKworYm9vbCBHQ0FjdGl2
aXR5Q2FsbGJhY2s6OnNfc2hvdWxkQ3JlYXRlR0NUaW1lciA9IHRydWU7CisKKyNpZiBVU0UoQ0Yp
IHx8IFBMQVRGT1JNKEVGTCkKKworY29uc3QgZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAx
OyAvLyBQZXJjZW50YWdlIG9mIENQVSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1C
Citjb25zdCBkb3VibGUgbWF4R0NUaW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91
bnQgb2YgQ1BVIHRpbWUgd2Ugd2FudCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJp
Z2dlcmVkIGNvbGxlY3Rpb25zLgorY29uc3QgZG91YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8gRnVk
Z2UgZmFjdG9yIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVyLgor
CisjaWYgIVBMQVRGT1JNKElPUykKK2NvbnN0IGRvdWJsZSBwYWdpbmdUaW1lT3V0ID0gMC4xOyAv
LyBUaW1lIGluIHNlY29uZHMgdG8gYWxsb3cgb3Bwb3J0dW5pc3RpYyB0aW1lciB0byBpdGVyYXRl
IG92ZXIgYWxsIGJsb2NrcyB0byBzZWUgaWYgdGhlIEhlYXAgaXMgcGFnZWQgb3V0LgorI2VuZGlm
CisKKyNpZiAhVVNFKENGKQorY29uc3QgZG91YmxlIGhvdXIgPSA2MCAqIDYwOworI2VuZGlmCisK
KyNpZiBVU0UoQ0YpCitEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0
eUNhbGxiYWNrKEhlYXAqIGhlYXApCisgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+dm0o
KSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpKQorICAgICwgbV9kZWxheShzX2RlY2FkZSkKK3sKK30K
KworRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhI
ZWFwKiBoZWFwLCBDRlJ1bkxvb3BSZWYgcnVuTG9vcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFj
ayhoZWFwLT52bSgpLCBydW5Mb29wKQorICAgICwgbV9kZWxheShzX2RlY2FkZSkKK3sKK30KKyNl
bGlmIFBMQVRGT1JNKEVGTCkKK0RlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2soSGVhcCogaGVhcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFw
LT52bSgpLCBXVEY6OmlzTWFpblRocmVhZCgpKQorICAgICwgbV9kZWxheShob3VyKQoreworfQor
I2VuZGlmCisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKCkKK3sKKyAg
ICBIZWFwKiBoZWFwID0gJm1fdm0tPmhlYXA7CisgICAgaWYgKCFpc0VuYWJsZWQoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIAorICAgIEFQSUVudHJ5U2hpbSBzaGltKG1fdm0pOworICAgIGlmICho
ZWFwLT5pc0RlZmVycmVkKCkpIHsKKyAgICAgICAgc2NoZWR1bGVUaW1lcigwKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworI2lmICFQTEFURk9STShJT1MpCisgICAgZG91YmxlIHN0YXJ0VGlt
ZSA9IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgaWYgKGhlYXAtPmlz
UGFnZWRPdXQoc3RhcnRUaW1lICsgcGFnaW5nVGltZU91dCkpIHsKKyAgICAgICAgaGVhcC0+YWN0
aXZpdHlDYWxsYmFjaygpLT5jYW5jZWwoKTsKKyAgICAgICAgaGVhcC0+aW5jcmVhc2VMYXN0R0NM
ZW5ndGgocGFnaW5nVGltZU91dCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKyAg
ICBoZWFwLT5nY1RpbWVyRGlkRmlyZSgpOworICAgIGhlYXAtPmNvbGxlY3QoKTsKK30KKyAgICAK
KyNpZiBVU0UoQ0YpCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNjaGVkdWxlVGlt
ZXIoZG91YmxlIG5ld0RlbGF5KQoreworICAgIGlmIChuZXdEZWxheSAqIHRpbWVyU2xvcCA+IG1f
ZGVsYXkpCisgICAgICAgIHJldHVybjsKKyAgICBkb3VibGUgZGVsdGEgPSBtX2RlbGF5IC0gbmV3
RGVsYXk7CisgICAgbV9kZWxheSA9IG5ld0RlbGF5OworICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4
dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRpbWVyR2V0TmV4dEZpcmVEYXRlKG1f
dGltZXIuZ2V0KCkpIC0gZGVsdGEpOworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJh
Y2s6OmNhbmNlbFRpbWVyKCkKK3sKKyAgICBtX2RlbGF5ID0gc19kZWNhZGU7CisgICAgQ0ZSdW5M
b29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBzX2RlY2FkZSk7Cit9CisjZWxpZiBQTEFURk9STShFRkwpCit2b2lkIERlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNjaGVkdWxlVGltZXIoZG91YmxlIG5ld0RlbGF5KQorewor
ICAgIGlmIChuZXdEZWxheSAqIHRpbWVyU2xvcCA+IG1fZGVsYXkpCisgICAgICAgIHJldHVybjsK
KworICAgIHN0b3AoKTsKKyAgICBtX2RlbGF5ID0gbmV3RGVsYXk7CisgICAgCisgICAgQVNTRVJU
KCFtX3RpbWVyKTsKKyAgICBtX3RpbWVyID0gYWRkKG5ld0RlbGF5LCB0aGlzKTsKK30KKwordm9p
ZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWxUaW1lcigpCit7CisgICAgbV9kZWxh
eSA9IGhvdXI7CisgICAgc3RvcCgpOworfQorI2VuZGlmCisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQoreworI2lmIFBMQVRGT1JNKEVG
TCkKKyAgICBpZiAoIWlzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQo
V1RGOjppc01haW5UaHJlYWQoKSk7CisjZW5kaWYKKworICAgIC8vIFRoZSBmaXJzdCBieXRlIGFs
bG9jYXRlZCBpbiBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwgcmVwb3J0IDAgYnl0ZXMgdG8gZGlk
QWxsb2NhdGUuIAorICAgIC8vIFdlIHByZXRlbmQgaXQncyBvbmUgYnl0ZSBzbyB0aGF0IHdlIGRv
bid0IGlnbm9yZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHkuCisgICAgaWYgKCFieXRlcykKKyAg
ICAgICAgYnl0ZXMgPSAxOworICAgIEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4oJm1f
dm0tPmhlYXApOworICAgIGRvdWJsZSBnY1RpbWVTbGljZSA9IHN0ZDo6bWluKChzdGF0aWNfY2Fz
dDxkb3VibGU+KGJ5dGVzKSAvIE1CKSAqIGdjVGltZVNsaWNlUGVyTUIsIG1heEdDVGltZVNsaWNl
KTsKKyAgICBkb3VibGUgbmV3RGVsYXkgPSBoZWFwLT5sYXN0R0NMZW5ndGgoKSAvIGdjVGltZVNs
aWNlOworICAgIHNjaGVkdWxlVGltZXIobmV3RGVsYXkpOworfQorCit2b2lkIERlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2s6OndpbGxDb2xsZWN0KCkKK3sKKyAgICBjYW5jZWxUaW1lcigpOworfQor
Cit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCgpCit7CisgICAgY2FuY2Vs
VGltZXIoKTsKK30KKworI2Vsc2UKKworRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNr
KGhlYXAtPnZtKCkpCit7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9X
b3JrKCkKK3sKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0
ZShzaXplX3QpCit7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6d2lsbENv
bGxlY3QoKQoreworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCgp
Cit7Cit9CisKKyNlbmRpZgorCit9CisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0dDQWN0aXZpdHlDYWxsYmFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAkod29ya2luZyBjb3B5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzEsOSArMzEsOSBAQAogCiAjaW5jbHVkZSAiQVBJU2hpbXMuaCIKICNpbmNsdWRlICJI
ZWFwLmgiCi0jaW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJKU0xvY2suaCIKICNpbmNsdWRlICJK
U09iamVjdC5oIgorI2luY2x1ZGUgIlZNLmgiCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1dURlRocmVhZERhdGEuaD4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0dDQWN0aXZpdHlDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0dDQWN0aXZpdHlDYWxsYmFjay5oCShyZXZpc2lvbiAxNjQ4MzEpCShm
cm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oOjE2
NDgzMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDQWN0aXZpdHlDYWxsYmFjay5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAor
ICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIp
IG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEdDQWN0aXZpdHlD
YWxsYmFja19oCisjZGVmaW5lIEdDQWN0aXZpdHlDYWxsYmFja19oCisKKyNpbmNsdWRlICJIZWFw
VGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KKworI2lmIFVTRShDRikKKyNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRh
dGlvbi5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBIZWFwOworCitjbGFz
cyBHQ0FjdGl2aXR5Q2FsbGJhY2sgOiBwdWJsaWMgSGVhcFRpbWVyIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWxsb2NhdGUoc2l6
ZV90KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgd2lsbENvbGxlY3QoKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgY2FuY2VsKCkgeyB9CisgICAgYm9vbCBpc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2VuYWJsZWQ7IH0KKyAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZW5hYmxl
ZCA9IGVuYWJsZWQ7IH0KKworICAgIHN0YXRpYyBib29sIHNfc2hvdWxkQ3JlYXRlR0NUaW1lcjsK
KworcHJvdGVjdGVkOgorI2lmIFVTRShDRikKKyAgICBHQ0FjdGl2aXR5Q2FsbGJhY2soVk0qIHZt
LCBDRlJ1bkxvb3BSZWYgcnVuTG9vcCkKKyAgICAgICAgOiBIZWFwVGltZXIodm0sIHJ1bkxvb3Ap
CisgICAgICAgICwgbV9lbmFibGVkKHRydWUpCisgICAgeworICAgIH0KKyNlbGlmIFBMQVRGT1JN
KEVGTCkKKyAgICBHQ0FjdGl2aXR5Q2FsbGJhY2soVk0qIHZtLCBib29sIGZsYWcpCisgICAgICAg
IDogSGVhcFRpbWVyKHZtKQorICAgICAgICAsIG1fZW5hYmxlZChmbGFnKQorICAgIHsKKyAgICB9
CisjZWxzZQorICAgIEdDQWN0aXZpdHlDYWxsYmFjayhWTSogdm0pCisgICAgICAgIDogSGVhcFRp
bWVyKHZtKQorICAgICAgICAsIG1fZW5hYmxlZCh0cnVlKQorICAgIHsKKyAgICB9CisjZW5kaWYK
KworICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworY2xhc3MgRGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjayA6IHB1YmxpYyBHQ0FjdGl2aXR5Q2FsbGJhY2sgeworcHVibGljOgorICAgIHN0YXRpYyBQ
YXNzT3duUHRyPERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s+IGNyZWF0ZShIZWFwKik7CisKKyAg
ICBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqKTsKKworICAgIEpTX0VYUE9SVF9QUklW
QVRFIHZpcnR1YWwgdm9pZCBkaWRBbGxvY2F0ZShzaXplX3QpIG92ZXJyaWRlOworICAgIEpTX0VY
UE9SVF9QUklWQVRFIHZpcnR1YWwgdm9pZCB3aWxsQ29sbGVjdCgpIG92ZXJyaWRlOworICAgIEpT
X0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSBvdmVycmlkZTsKKworICAgIEpT
X0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgdm9pZCBkb1dvcmsoKSBvdmVycmlkZTsKKworI2lmIFVT
RShDRikKK3Byb3RlY3RlZDoKKyAgICBKU19FWFBPUlRfUFJJVkFURSBEZWZhdWx0R0NBY3Rpdml0
eUNhbGxiYWNrKEhlYXAqLCBDRlJ1bkxvb3BSZWYpOworI2VuZGlmCisjaWYgVVNFKENGKSB8fCBQ
TEFURk9STShFRkwpCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBjYW5jZWxUaW1lcigpOworICAgIHZv
aWQgc2NoZWR1bGVUaW1lcihkb3VibGUpOworCitwcml2YXRlOgorICAgIGRvdWJsZSBtX2RlbGF5
OworI2VuZGlmCit9OworCitpbmxpbmUgUGFzc093blB0cjxEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrPiBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjcmVhdGUoSGVhcCogaGVhcCkKK3sKKyAg
ICByZXR1cm4gR0NBY3Rpdml0eUNhbGxiYWNrOjpzX3Nob3VsZENyZWF0ZUdDVGltZXIgPyBhZG9w
dFB0cihuZXcgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwKSkgOiBudWxscHRyOworfQor
Cit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rp
dml0eUNhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCShyZXZpc2lvbiAxNjQ4MzEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE5NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
R0NBY3Rpdml0eUNhbGxiYWNrLmgiCi0KLSNpbmNsdWRlICJBUElTaGltcy5oIgotI2luY2x1ZGUg
IkhlYXAuaCIKLSNpbmNsdWRlICJWTS5oIgotI2luY2x1ZGUgIkpTTG9jay5oIgotI2luY2x1ZGUg
IkpTT2JqZWN0LmgiCi0KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3Rm
L1dURlRocmVhZERhdGEuaD4KLQotI2lmIFBMQVRGT1JNKEVGTCkKLSNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBKU0MgewotCi1ib29sIEdDQWN0aXZpdHlD
YWxsYmFjazo6c19zaG91bGRDcmVhdGVHQ1RpbWVyID0gdHJ1ZTsKLQotI2lmIFVTRShDRikgfHwg
UExBVEZPUk0oRUZMKQotCi1jb25zdCBkb3VibGUgZ2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7IC8v
IFBlcmNlbnRhZ2Ugb2YgQ1BVIHRpbWUgd2Ugd2lsbCBzcGVuZCB0byByZWNsYWltIDEgTUIKLWNv
bnN0IGRvdWJsZSBtYXhHQ1RpbWVTbGljZSA9IDAuMDU7IC8vIFRoZSBtYXhpbXVtIGFtb3VudCBv
ZiBDUFUgdGltZSB3ZSB3YW50IHRvIHVzZSBmb3Igb3Bwb3J0dW5pc3RpYyB0aW1lci10cmlnZ2Vy
ZWQgY29sbGVjdGlvbnMuCi1jb25zdCBkb3VibGUgdGltZXJTbG9wID0gMi4wOyAvLyBGdWRnZSBm
YWN0b3IgdG8gYXZvaWQgcGVyZm9ybWFuY2UgY29zdCBvZiByZXNldHRpbmcgdGltZXIuCi0KLSNp
ZiAhUExBVEZPUk0oSU9TKQotY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8vIFRp
bWUgaW4gc2Vjb25kcyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUgb3Zl
ciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQuCi0jZW5kaWYKLQot
I2lmICFVU0UoQ0YpCi1jb25zdCBkb3VibGUgaG91ciA9IDYwICogNjA7Ci0jZW5kaWYKLQotI2lm
IFVTRShDRikKLURlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2soSGVhcCogaGVhcCkKLSAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT52bSgpLCBD
RlJ1bkxvb3BHZXRDdXJyZW50KCkpCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewotfQotCi1E
ZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAq
IGhlYXAsIENGUnVuTG9vcFJlZiBydW5Mb29wKQotICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhl
YXAtPnZtKCksIHJ1bkxvb3ApCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewotfQotI2VsaWYg
UExBVEZPUk0oRUZMKQotRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjayhIZWFwKiBoZWFwKQotICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPnZt
KCksIFdURjo6aXNNYWluVGhyZWFkKCkpCi0gICAgLCBtX2RlbGF5KGhvdXIpCi17Ci19Ci0jZW5k
aWYKLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmsoKQotewotICAgIEhl
YXAqIGhlYXAgPSAmbV92bS0+aGVhcDsKLSAgICBpZiAoIWlzRW5hYmxlZCgpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgCi0gICAgQVBJRW50cnlTaGltIHNoaW0obV92bSk7Ci0gICAgaWYgKGhlYXAt
PmlzRGVmZXJyZWQoKSkgewotICAgICAgICBzY2hlZHVsZVRpbWVyKDApOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0jaWYgIVBMQVRGT1JNKElPUykKLSAgICBkb3VibGUgc3RhcnRUaW1lID0g
V1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBpZiAoaGVhcC0+aXNQYWdl
ZE91dChzdGFydFRpbWUgKyBwYWdpbmdUaW1lT3V0KSkgewotICAgICAgICBoZWFwLT5hY3Rpdml0
eUNhbGxiYWNrKCktPmNhbmNlbCgpOwotICAgICAgICBoZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0
aChwYWdpbmdUaW1lT3V0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotICAgIGhl
YXAtPmdjVGltZXJEaWRGaXJlKCk7Ci0gICAgaGVhcC0+Y29sbGVjdCgpOwotfQotICAgIAotI2lm
IFVTRShDRikKLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1lcihk
b3VibGUgbmV3RGVsYXkpCi17Ci0gICAgaWYgKG5ld0RlbGF5ICogdGltZXJTbG9wID4gbV9kZWxh
eSkKLSAgICAgICAgcmV0dXJuOwotICAgIGRvdWJsZSBkZWx0YSA9IG1fZGVsYXkgLSBuZXdEZWxh
eTsKLSAgICBtX2RlbGF5ID0gbmV3RGVsYXk7Ci0gICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0Rmly
ZURhdGUobV90aW1lci5nZXQoKSwgQ0ZSdW5Mb29wVGltZXJHZXROZXh0RmlyZURhdGUobV90aW1l
ci5nZXQoKSkgLSBkZWx0YSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
Y2FuY2VsVGltZXIoKQotewotICAgIG1fZGVsYXkgPSBzX2RlY2FkZTsKLSAgICBDRlJ1bkxvb3BU
aW1lclNldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRkFic29sdXRlVGltZUdldEN1cnJl
bnQoKSArIHNfZGVjYWRlKTsKLX0KLSNlbGlmIFBMQVRGT1JNKEVGTCkKLXZvaWQgRGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1lcihkb3VibGUgbmV3RGVsYXkpCi17Ci0gICAg
aWYgKG5ld0RlbGF5ICogdGltZXJTbG9wID4gbV9kZWxheSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgc3RvcCgpOwotICAgIG1fZGVsYXkgPSBuZXdEZWxheTsKLSAgICAKLSAgICBBU1NFUlQoIW1f
dGltZXIpOwotICAgIG1fdGltZXIgPSBhZGQobmV3RGVsYXksIHRoaXMpOwotfQotCi12b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKCkKLXsKLSAgICBtX2RlbGF5ID0g
aG91cjsKLSAgICBzdG9wKCk7Ci19Ci0jZW5kaWYKLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpkaWRBbGxvY2F0ZShzaXplX3QgYnl0ZXMpCi17Ci0jaWYgUExBVEZPUk0oRUZMKQot
ICAgIGlmICghaXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVChXVEY6
OmlzTWFpblRocmVhZCgpKTsKLSNlbmRpZgotCi0gICAgLy8gVGhlIGZpcnN0IGJ5dGUgYWxsb2Nh
dGVkIGluIGFuIGFsbG9jYXRpb24gY3ljbGUgd2lsbCByZXBvcnQgMCBieXRlcyB0byBkaWRBbGxv
Y2F0ZS4gCi0gICAgLy8gV2UgcHJldGVuZCBpdCdzIG9uZSBieXRlIHNvIHRoYXQgd2UgZG9uJ3Qg
aWdub3JlIHRoaXMgYWxsb2NhdGlvbiBlbnRpcmVseS4KLSAgICBpZiAoIWJ5dGVzKQotICAgICAg
ICBieXRlcyA9IDE7Ci0gICAgSGVhcCogaGVhcCA9IHN0YXRpY19jYXN0PEhlYXAqPigmbV92bS0+
aGVhcCk7Ci0gICAgZG91YmxlIGdjVGltZVNsaWNlID0gc3RkOjptaW4oKHN0YXRpY19jYXN0PGRv
dWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NUaW1lU2xpY2VQZXJNQiwgbWF4R0NUaW1lU2xpY2UpOwot
ICAgIGRvdWJsZSBuZXdEZWxheSA9IGhlYXAtPmxhc3RHQ0xlbmd0aCgpIC8gZ2NUaW1lU2xpY2U7
Ci0gICAgc2NoZWR1bGVUaW1lcihuZXdEZWxheSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjazo6d2lsbENvbGxlY3QoKQotewotICAgIGNhbmNlbFRpbWVyKCk7Ci19Ci0KLXZv
aWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKLXsKLSAgICBjYW5jZWxUaW1l
cigpOwotfQotCi0jZWxzZQotCi1EZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCi0gICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVh
cC0+dm0oKSkKLXsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmso
KQotewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlKHNp
emVfdCkKLXsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVj
dCgpCi17Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKLXsK
LX0KLQotI2VuZGlmCi0KLX0KLQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
R0NBY3Rpdml0eUNhbGxiYWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgJKHJldmlzaW9uIDE2NDgzMSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDExMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEdDQWN0aXZpdHlDYWxsYmFja19oCi0j
ZGVmaW5lIEdDQWN0aXZpdHlDYWxsYmFja19oCi0KLSNpbmNsdWRlICJIZWFwVGltZXIuaCIKLSNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLQotI2lm
IFVTRShDRikKLSNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgotI2Vu
ZGlmCi0KLW5hbWVzcGFjZSBKU0MgewotCi1jbGFzcyBIZWFwOwotCi1jbGFzcyBHQ0FjdGl2aXR5
Q2FsbGJhY2sgOiBwdWJsaWMgSGVhcFRpbWVyIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQWxsb2NhdGUoc2l6ZV90KSB7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgd2lsbENvbGxlY3QoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
KCkgeyB9Ci0gICAgYm9vbCBpc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuYWJsZWQ7IH0K
LSAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZW5hYmxlZCA9IGVuYWJsZWQ7
IH0KLQotICAgIHN0YXRpYyBib29sIHNfc2hvdWxkQ3JlYXRlR0NUaW1lcjsKLQotcHJvdGVjdGVk
OgotI2lmIFVTRShDRikKLSAgICBHQ0FjdGl2aXR5Q2FsbGJhY2soVk0qIHZtLCBDRlJ1bkxvb3BS
ZWYgcnVuTG9vcCkKLSAgICAgICAgOiBIZWFwVGltZXIodm0sIHJ1bkxvb3ApCi0gICAgICAgICwg
bV9lbmFibGVkKHRydWUpCi0gICAgewotICAgIH0KLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBH
Q0FjdGl2aXR5Q2FsbGJhY2soVk0qIHZtLCBib29sIGZsYWcpCi0gICAgICAgIDogSGVhcFRpbWVy
KHZtKQotICAgICAgICAsIG1fZW5hYmxlZChmbGFnKQotICAgIHsKLSAgICB9Ci0jZWxzZQotICAg
IEdDQWN0aXZpdHlDYWxsYmFjayhWTSogdm0pCi0gICAgICAgIDogSGVhcFRpbWVyKHZtKQotICAg
ICAgICAsIG1fZW5hYmxlZCh0cnVlKQotICAgIHsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGJvb2wg
bV9lbmFibGVkOwotfTsKLQotY2xhc3MgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayA6IHB1Ymxp
YyBHQ0FjdGl2aXR5Q2FsbGJhY2sgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s+IGNyZWF0ZShIZWFwKik7Ci0KLSAgICBEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrKEhlYXAqKTsKLQotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwg
dm9pZCBkaWRBbGxvY2F0ZShzaXplX3QpIG92ZXJyaWRlOwotICAgIEpTX0VYUE9SVF9QUklWQVRF
IHZpcnR1YWwgdm9pZCB3aWxsQ29sbGVjdCgpIG92ZXJyaWRlOwotICAgIEpTX0VYUE9SVF9QUklW
QVRFIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSBvdmVycmlkZTsKLQotICAgIEpTX0VYUE9SVF9QUklW
QVRFIHZpcnR1YWwgdm9pZCBkb1dvcmsoKSBvdmVycmlkZTsKLQotI2lmIFVTRShDRikKLXByb3Rl
Y3RlZDoKLSAgICBKU19FWFBPUlRfUFJJVkFURSBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhl
YXAqLCBDRlJ1bkxvb3BSZWYpOwotI2VuZGlmCi0jaWYgVVNFKENGKSB8fCBQTEFURk9STShFRkwp
Ci1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBjYW5jZWxUaW1lcigpOwotICAgIHZvaWQgc2NoZWR1bGVU
aW1lcihkb3VibGUpOwotCi1wcml2YXRlOgotICAgIGRvdWJsZSBtX2RlbGF5OwotI2VuZGlmCi19
OwotCi1pbmxpbmUgUGFzc093blB0cjxEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrPiBEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrOjpjcmVhdGUoSGVhcCogaGVhcCkKLXsKLSAgICByZXR1cm4gR0NB
Y3Rpdml0eUNhbGxiYWNrOjpzX3Nob3VsZENyZWF0ZUdDVGltZXIgPyBhZG9wdFB0cihuZXcgRGVm
YXVsdEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwKSkgOiBudWxscHRyOwotfQotCi19Ci0KLSNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226146</attachid>
            <date>2014-03-07 12:10:44 -0800</date>
            <delta_ts>2014-03-07 13:22:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129457-20140307120926.patch</filename>
            <type>text/plain</type>
            <size>38011</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1Mjc0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE0LTAzLTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgTW92ZSBHQ0FjdGl2aXR5Q2FsbGJhY2sgdG8gaGVhcAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NDU3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsIHRoZSBvdGhlciBHQyB0aW1lciBy
ZWxhdGVkIHN0dWZmIGlzIHRoZXJlIGFscmVhZHkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhlYXAv
R0NBY3Rpdml0eUNhbGxiYWNrLmNwcDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcC4KKyAgICAgICAgKiBoZWFwL0dDQWN0aXZp
dHlDYWxsYmFjay5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2suaC4KKyAgICAgICAgKiBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFj
ay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaDog
UmVtb3ZlZC4KKwogMjAxNC0wMy0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBw
bGUuY29tPgogCiAgICAgICAgIFVzZSBPd25QdHIgaW4gU3RydWN0dXJlSURUYWJsZQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTY1Mjc0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMTUs
NiArMjE1LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBoZWFwL0NvcGllZFNw
YWNlLmNwcAogICAgIGhlYXAvQ29weVZpc2l0b3IuY3BwCiAgICAgaGVhcC9EZWZlckdDLmNwcAor
ICAgIGhlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAogICAgIGhlYXAvR0NUaHJlYWQuY3BwCiAg
ICAgaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwCiAgICAgaGVhcC9IYW5kbGVTZXQuY3BwCkBA
IC0zNzIsNyArMzczLDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGVE
dW1wLmNwcAogICAgIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCi0gICAgcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2suY3BwCiAgICAgcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwCiAgICAg
cnVudGltZS9JZGVudGlmaWVyLmNwcAogICAgIHJ1bnRpbWUvSW5kZXhpbmdUeXBlLmNwcApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDE2
NTI3NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTcsNiArNTU3LDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBc
CiAgICAgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvRGVmZXJHQy5jcHAgXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0RlZmVyR0MuaCBcCiAgICAgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvRGVsYXllZFJlbGVhc2VTY29wZS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9H
Q0FjdGl2aXR5Q2FsbGJhY2suaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NTZWdt
ZW50ZWRBcnJheS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1NlZ21lbnRlZEFy
cmF5SW5saW5lcy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ0Fzc2VydGlvbnMu
aCBcCkBAIC05OTUsOCArOTk3LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlRHVtcC5oIFwKIAlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5jcHAgXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmggXAotCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAgXAotCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HZW5lcmljVHlwZWRBcnJheVZpZXcuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwIFwKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagkocmV2aXNpb24gMTY1Mjc0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDYzLDYgKzQ2Myw3IEBACiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXENvcGllZFNwYWNlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGhlYXBcQ29weVZpc2l0b3IuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caGVhcFxEZWZlckdDLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGhlYXBcR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGhlYXBcR0NUaHJlYWQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aGVhcFxHQ1RocmVhZFNoYXJlZERhdGEuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caGVhcFxIYW5kbGVTZXQuY3BwIiAvPgpAQCAtNjE5LDcgKzYyMCw2IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRnVuY3Rpb25Qcm90b3R5
cGUuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxHZXR0
ZXJTZXR0ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxJZGVu
dGlmaWVyLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSW5kZXhp
bmdUeXBlLmNwcCIgLz4KQEAgLTEwNDMsNiArMTA0Myw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxoZWFwXENvcHlXcml0ZUJhcnJpZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGhlYXBcRGVmZXJHQy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caGVh
cFxEZWxheWVkUmVsZWFzZVNjb3BlLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
ZWFwXEdDQWN0aXZpdHlDYWxsYmFjay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aGVhcFxHQ1NlZ21lbnRlZEFycmF5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxo
ZWFwXEdDU2VnbWVudGVkQXJyYXlJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxoZWFwXEdDQXNzZXJ0aW9ucy5oIiAvPgpAQCAtMTI2Nyw3ICsxMjY4LDYgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRnVuY3Rpb25Db25zdHJ1Y3Rvci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxGdW5jdGlvbkV4ZWN1dGFibGVEdW1w
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEZ1bmN0aW9uUHJvdG90
eXBlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEdDQWN0aXZpdHlD
YWxsYmFjay5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxHZW5lcmlj
VHlwZWRBcnJheVZpZXcuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
R2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxHZXR0ZXJTZXR0ZXIuaCIgLz4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE2NTI3NCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtMjI4LDYgKzIyOCw5IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxoZWFwXENvcHlWaXNpdG9yLmNwcCI+CiAgICAgICA8
RmlsdGVyPmhlYXA8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGhlYXBcR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCI+CisgICAgICA8RmlsdGVyPmhl
YXA8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGhlYXBcR0NUaHJlYWQuY3BwIj4KICAgICAgIDxGaWx0ZXI+aGVhcDwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgpAQCAtNTcwLDkgKzU3Myw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEZ1bmN0aW9uUHJvdG90eXBlLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8
L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCI+Ci0gICAgICA8RmlsdGVyPnJ1bnRpbWU8L0Zp
bHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcR2V0dGVyU2V0dGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAg
ICA8L0NsQ29tcGlsZT4KQEAgLTE2ODUsNiArMTY4NSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxoZWFwXERlZmVyR0MuaCI+CiAgICAgICA8RmlsdGVyPmhlYXA8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGhlYXBcR0NBY3Rpdml0
eUNhbGxiYWNrLmgiPgorICAgICAgPEZpbHRlcj5oZWFwPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1
ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxoZWFwXEdDU2VnbWVudGVkQXJyYXkuaCI+
CiAgICAgICA8RmlsdGVyPmhlYXA8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTIxOTgs
OSArMjIwMSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEZ1bmN0aW9u
UHJvdG90eXBlLmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEdDQWN0aXZpdHlDYWxs
YmFjay5oIj4KLSAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxHZXR0ZXJTZXR0ZXIuaCI+CiAg
ICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjUyNzQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNzg0LDYgKzc4NCw4IEBACiAJCTJBNkY0NjI2MTdFOTU5Q0UwMEM0NUM5
OCAvKiBIZWFwT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQTZGNDYyNTE3RTk1OUNFMDBDNDVDOTggLyogSGVhcE9wZXJhdGlvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJBN0E1OEVG
MTgwOEE0QzQwMDIwQkRGNyAvKiBEZWZlckdDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBN0E1OEVFMTgwOEE0QzQwMDIwQkRGNyAvKiBEZWZlckdD
LmNwcCAqLzsgfTsKIAkJMkFBQUEzMTIxOEJENDlEMTAwMzk0Q0M4IC8qIFN0cnVjdHVyZUlEQmxv
Yi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFBQUEz
MTAxOEJENDlEMTAwMzk0Q0M4IC8qIFN0cnVjdHVyZUlEQmxvYi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJBQUNFNjNDMThDQTVBMDMwMEVEMDE5
MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkFBQ0U2M0ExOENBNUEwMzAwRUQwMTkxIC8qIEdDQWN0aXZpdHlD
YWxsYmFjay5jcHAgKi87IH07CisJCTJBQUNFNjNEMThDQTVBMDMwMEVEMDE5MSAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJBQUNFNjNCMThDQTVBMDMwMEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyQUFEOTY0QTE4
NTY5NDE3MDAxRjkzQkUgLyogUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUFEOTY0OTE4NTY5NDE3MDAxRjkz
QkUgLyogUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmggKi87IH07CiAJCTJBQzkyMkJCMThBMTYx
ODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFDOTIyQjkxOEExNjE4MjAwM0NFMEZCIC8q
IEZUTERXQVJGRGVidWdMaW5lSW5mby5jcHAgKi87IH07CiAJCTJBQzkyMkJDMThBMTYxODIwMDND
RTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQzkyMkJBMThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FS
RkRlYnVnTGluZUluZm8uaCAqLzsgfTsKQEAgLTE0MjMsNyArMTQyNSw2IEBACiAJCUMyQzhEMDMx
MTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJGMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxv
Y2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
MkNGMzlDMTE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFwcGVyT2JqZWN0Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDRjM5QkYxNkUxNUE4MTAw
REQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5tbSAqLzsgfTsKIAkJQzJDRjM5QzIxNkUxNUE4
MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDRjM5QzAxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJ
V3JhcHBlck9iamVjdC5oICovOyB9OwotCQlDMkQ1OEMzNDE1OTEyRkVFMDAyMUE4NDQgLyogR0NB
Y3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwICovOyB9OwogCQlDMkRGNDQyRjE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJSZWdpb24uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJERjQ0MkQx
NzA3QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmNwcCAqLzsgfTsKIAkJQzJERjQ0MzAxNzA3
QUMwMTAwQTVDQTk2IC8qIFN1cGVyUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMkRGNDQyRTE3MDdBQzAxMDBBNUNBOTYgLyogU3VwZXJSZWdp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
MkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAv
KiBIZWFwVGltZXIuY3BwICovOyB9OwpAQCAtMTQzNyw3ICsxNDM4LDYgQEAKIAkJQzJGQ0FFMTIx
N0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkZDQUUwRTE3QTlDMjRFMDAz
NEM3MzUgLyogQnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmNwcCAqLzsgfTsKIAkJQzJGQ0FFMTMx
N0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJGQ0FFMEYxN0E5QzI0RTAwMzRD
NzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyRkUxOEE0MTZCQUVDNDAwMEFGMzA2MSAvKiBT
dHJ1Y3R1cmVSYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJGRTE4QTMxNkJBRUM0MDAwQUYzMDYxIC8qIFN0cnVjdHVyZVJhcmVEYXRhLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRERGN0FC
RDQxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERGN0FCRDIxMUY2MEVEMjAwMTA4RTM2
IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUUxMjRBOEY3MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0
cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEy
NEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTEyNEE4RjgwRTU1NTc3NTAwMzA5
MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmlu
Zy5jcHAgKi87IH07CiAJCUUxNzg2MzZEMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhy
ZWFkaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxNzg2MzZDMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLzsg
fTsKQEAgLTIyNjMsNiArMjI2Myw4IEBACiAJCTJBNkY0NjI1MTdFOTU5Q0UwMEM0NUM5OCAvKiBI
ZWFwT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBPcGVy
YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkE3QTU4RUUxODA4QTRDNDAw
MjBCREY3IC8qIERlZmVyR0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGVmZXJHQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBQUFBMzEwMThC
RDQ5RDEwMDM5NENDOCAvKiBTdHJ1Y3R1cmVJREJsb2IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RydWN0dXJlSURCbG9iLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJBQUNFNjNBMThDQTVBMDMwMEVEMDE5MSAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkFBQ0U2M0IxOENBNUEwMzAwRUQwMTkx
IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBHQ0FjdGl2aXR5Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFB
RDk2NDkxODU2OTQxNzAwMUY5M0JFIC8qIFJlY3Vyc2l2ZUFsbG9jYXRpb25TY29wZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFDOTIyQjkxOEExNjE4MjAwM0NFMEZCIC8q
IEZUTERXQVJGRGVidWdMaW5lSW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBGVExEV0FSRkRlYnVnTGluZUluZm8uY3BwOyBwYXRoID0gZnRsL0ZUTERXQVJGRGVi
dWdMaW5lSW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJBQzkyMkJBMThB
MTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmg7IHBhdGggPSBmdGwvRlRM
RFdBUkZEZWJ1Z0xpbmVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTU1
LDcgKzI5NTcsNiBAQAogCQlDMkM4RDAyRjE0QTNDRUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBCbG9jay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMkNGMzlCRjE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFw
cGVyT2JqZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSlNB
UElXcmFwcGVyT2JqZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkNGMzlD
MDE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFwcGVyT2JqZWN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQVBJV3JhcHBlck9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlDMkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlD
YWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyREY0NDJEMTcwN0FD
MDEwMEE1Q0E5NiAvKiBTdXBlclJlZ2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTdXBlclJlZ2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMyREY0NDJFMTcwN0FDMDEwMEE1Q0E5NiAvKiBTdXBlclJlZ2lvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTdXBlclJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMkU1MjZCQjE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXBUaW1lci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yOTcxLDcgKzI5NzIsNiBAQAogCQlDMkZFMThBMzE2QkFFQzQw
MDBBRjMwNjEgLyogU3RydWN0dXJlUmFyZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3RydWN0dXJlUmFyZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDIxMjAyMjgwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRlQ29udmVyc2lvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI5MEFENDMxMEMwMEVENzlCNiAvKiBEYXRl
Q29udmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNvbnZl
cnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRERGN0FCRDIxMUY2MEVEMjAw
MTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9wYXF1ZUpTU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmlu
Zy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcGFxdWVKU1N0cmlu
Zy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNzg2MzNGMEQ5QkVDMDAwMEQ3
NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEluaXRpYWxpemVUaHJlYWRpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTM0OTcsNiArMzQ5Nyw4IEBACiAJCTE0MkUzMTJBMTM0RkYwQTYwMEFGQURCNSAvKiBoZWFw
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyQUFDRTYz
QTE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLywKKwkJCQkyQUFD
RTYzQjE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi8sCiAJCQkJMTQ4
MTZFMTkxNTRDQzU2QzAwQjgwNTRDIC8qIEJsb2NrQWxsb2NhdG9yLmNwcCAqLywKIAkJCQkxNDgx
NkUxQTE1NENDNTZDMDBCODA1NEMgLyogQmxvY2tBbGxvY2F0b3IuaCAqLywKIAkJCQkwRkQ4QTMx
MTE3RDQzMjZDMDBDQTJDNDAgLyogQ29kZUJsb2NrU2V0LmNwcCAqLywKQEAgLTM5MjMsOCArMzky
NSw2IEBACiAJCQkJMEZCNEI1MjIxNkI2Mjc4RDAwM0Y2OTZCIC8qIEZ1bmN0aW9uRXhlY3V0YWJs
ZUR1bXAuaCAqLywKIAkJCQlGNjkyQTg1QzAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90
b3R5cGUuY3BwICovLAogCQkJCUY2OTJBODVEMDI1NTU5N0QwMUZGNjBGNyAvKiBGdW5jdGlvblBy
b3RvdHlwZS5oICovLAotCQkJCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwICovLAotCQkJCURERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2suaCAqLywKIAkJCQkwRjJCNjZCMjE3QjZCNUFCMDBBN0FFM0YgLyogR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3LmggKi8sCiAJCQkJMEYyQjY2QjMxN0I2QjVBQjAwQTdBRTNGIC8qIEdl
bmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaCAqLywKIAkJCQlCQzAyRTlCODBFMTg0NTQ1MDAw
RjkyOTcgLyogR2V0dGVyU2V0dGVyLmNwcCAqLywKQEAgLTQ5MTIsNiArNDkxMiw3IEBACiAJCQkJ
QTFBMDA5QzExODMxQTI2RTAwQ0Y4NzExIC8qIEFSTTY0QXNzZW1ibGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk4NkQzQjJDNDEwMTU2QkRFMDAyODY1RTcgLyogQVJNQXNzZW1ibGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBNTg0MDMyMDE4QkZGQkUxMDA1QTA4MTEgLyogSW5zcGVjdG9yQWdlbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTJBQUNFNjNEMThDQTVBMDMwMEVEMDE5MSAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTJBQUFBMzEyMThCRDQ5RDEwMDM5NEND
OCAvKiBTdHJ1Y3R1cmVJREJsb2IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEU4RUIxMThCRkZC
QkUwMDU1NkQyOCAvKiBHQ1NlZ21lbnRlZEFycmF5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODZBREQxNDUwRkRERUE5ODAwMDZFRUMyIC8qIEFSTXY3QXNzZW1ibGVyLmggaW4gSGVhZGVy
cyAqLywKQEAgLTUyMjksNyArNTIzMCw2IEBACiAJCQkJQkMxOEM0MDQwRTE2RjVDRDAwQjM0NDYw
IC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRjBGMUEwMTZC
NzJBMUEwMDVERjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzE4QzQwNTBFMTZGNUNEMDBCMzQ0NjAgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCBpbiBI
ZWFkZXJzICovLAotCQkJCURERjdBQkQ0MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkUyQ0FFMTRFOTg1QUEwMDA1OTNBRCAvKiBH
Q0Fzc2VydGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNzY2RDMwMTVBOERDRTIwMDhGMzYz
RSAvKiBHQ0F3YXJlSklUU3R1YlJvdXRpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkFD
MTdCNkI1M0YwMEE3QUUzRiAvKiBHQ0luY29taW5nUmVmQ291bnRlZC5oIGluIEhlYWRlcnMgKi8s
CkBAIC02MjE3LDYgKzYyMTcsNyBAQAogCQkJCTE0MjgwODJFMTA3RUMwNTcwMDEzRTdCMiAvKiBD
b25zdHJ1Y3REYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1N0QyM0YxMTg5MUI1QjQwMDMx
QzdGQSAvKiBDb250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMy
NDAzMDU1MTRCNDA0RTYwMDc5RUI2NCAvKiBDb3BpZWRTcGFjZS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkyQUFDRTYzQzE4Q0E1QTAzMDBFRDAxOTEgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUMyMjM5RDE3MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRv
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjJCNjZERTE3QjZCNUFCMDBBN0FFM0YgLyogRGF0
YVZpZXcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5QzMxMDdFQzM3NjAwNDI3QTQ4IC8q
IERhdGVDb25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYzOTEsNyArNjM5Miw2IEBA
CiAJCQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGMEYxOUYxNkI3MkExNzAwNURGOTVCIC8qIEZ1bmN0aW9u
RXhlY3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0MxMDdFQzM3NjAw
NDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUMyRDU4
QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY3NjZEMkYxNUE4RENFMDAwOEYzNjNFIC8qIEdDQXdhcmVKSVRTdHViUm91dGlu
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjIzOUQxQTE2MjYyQkREMDA1QUM1RkQgLyogR0NU
aHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzIxMTIyRTExNUREOUFCMzAwNzkwRTNBIC8q
IEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAkocmV2aXNpb24g
MTY1Mjc0KQkoZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2Fs
bGJhY2suY3BwOjE2NTI3NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDQWN0aXZp
dHlDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOTYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwg
SW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uIAorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJHQ0FjdGl2aXR5Q2FsbGJhY2suaCIKKworI2luY2x1
ZGUgIkhlYXAuaCIKKyNpbmNsdWRlICJWTS5oIgorI2luY2x1ZGUgIkpTTG9jay5oIgorI2luY2x1
ZGUgIkpTT2JqZWN0LmgiCisKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1dURlRocmVhZERhdGEuaD4KKworI2lmIFBMQVRGT1JNKEVGTCkKKyNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBKU0MgeworCitib29sIEdDQWN0aXZp
dHlDYWxsYmFjazo6c19zaG91bGRDcmVhdGVHQ1RpbWVyID0gdHJ1ZTsKKworI2lmIFVTRShDRikg
fHwgUExBVEZPUk0oRUZMKQorCitjb25zdCBkb3VibGUgZ2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7
IC8vIFBlcmNlbnRhZ2Ugb2YgQ1BVIHRpbWUgd2Ugd2lsbCBzcGVuZCB0byByZWNsYWltIDEgTUIK
K2NvbnN0IGRvdWJsZSBtYXhHQ1RpbWVTbGljZSA9IDAuMDU7IC8vIFRoZSBtYXhpbXVtIGFtb3Vu
dCBvZiBDUFUgdGltZSB3ZSB3YW50IHRvIHVzZSBmb3Igb3Bwb3J0dW5pc3RpYyB0aW1lci10cmln
Z2VyZWQgY29sbGVjdGlvbnMuCitjb25zdCBkb3VibGUgdGltZXJTbG9wID0gMi4wOyAvLyBGdWRn
ZSBmYWN0b3IgdG8gYXZvaWQgcGVyZm9ybWFuY2UgY29zdCBvZiByZXNldHRpbmcgdGltZXIuCisK
KyNpZiAhUExBVEZPUk0oSU9TKQorY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8v
IFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUg
b3ZlciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQuCisjZW5kaWYK
KworI2lmICFVU0UoQ0YpCitjb25zdCBkb3VibGUgaG91ciA9IDYwICogNjA7CisjZW5kaWYKKwor
I2lmIFVTRShDRikKK0RlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5
Q2FsbGJhY2soSGVhcCogaGVhcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT52bSgp
LCBDRlJ1bkxvb3BHZXRDdXJyZW50KCkpCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQoreworfQor
CitEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhl
YXAqIGhlYXAsIENGUnVuTG9vcFJlZiBydW5Mb29wKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNr
KGhlYXAtPnZtKCksIHJ1bkxvb3ApCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQoreworfQorI2Vs
aWYgUExBVEZPUk0oRUZMKQorRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAt
PnZtKCksIFdURjo6aXNNYWluVGhyZWFkKCkpCisgICAgLCBtX2RlbGF5KGhvdXIpCit7Cit9Cisj
ZW5kaWYKKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmsoKQoreworICAg
IEhlYXAqIGhlYXAgPSAmbV92bS0+aGVhcDsKKyAgICBpZiAoIWlzRW5hYmxlZCgpKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgSlNMb2NrSG9sZGVyIGxvY2tlcihtX3ZtKTsKKyAgICBpZiAo
aGVhcC0+aXNEZWZlcnJlZCgpKSB7CisgICAgICAgIHNjaGVkdWxlVGltZXIoMCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyNpZiAhUExBVEZPUk0oSU9TKQorICAgIGRvdWJsZSBzdGFydFRp
bWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIGlmIChoZWFwLT5p
c1BhZ2VkT3V0KHN0YXJ0VGltZSArIHBhZ2luZ1RpbWVPdXQpKSB7CisgICAgICAgIGhlYXAtPmFj
dGl2aXR5Q2FsbGJhY2soKS0+Y2FuY2VsKCk7CisgICAgICAgIGhlYXAtPmluY3JlYXNlTGFzdEdD
TGVuZ3RoKHBhZ2luZ1RpbWVPdXQpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisg
ICAgaGVhcC0+Z2NUaW1lckRpZEZpcmUoKTsKKyAgICBoZWFwLT5jb2xsZWN0KCk7Cit9CisgICAg
CisjaWYgVVNFKENGKQordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpzY2hlZHVsZVRp
bWVyKGRvdWJsZSBuZXdEZWxheSkKK3sKKyAgICBpZiAobmV3RGVsYXkgKiB0aW1lclNsb3AgPiBt
X2RlbGF5KQorICAgICAgICByZXR1cm47CisgICAgZG91YmxlIGRlbHRhID0gbV9kZWxheSAtIG5l
d0RlbGF5OworICAgIG1fZGVsYXkgPSBuZXdEZWxheTsKKyAgICBDRlJ1bkxvb3BUaW1lclNldE5l
eHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRlJ1bkxvb3BUaW1lckdldE5leHRGaXJlRGF0ZSht
X3RpbWVyLmdldCgpKSAtIGRlbHRhKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpjYW5jZWxUaW1lcigpCit7CisgICAgbV9kZWxheSA9IHNfZGVjYWRlOworICAgIENGUnVu
TG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGQWJzb2x1dGVUaW1lR2V0
Q3VycmVudCgpICsgc19kZWNhZGUpOworfQorI2VsaWYgUExBVEZPUk0oRUZMKQordm9pZCBEZWZh
dWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpzY2hlZHVsZVRpbWVyKGRvdWJsZSBuZXdEZWxheSkKK3sK
KyAgICBpZiAobmV3RGVsYXkgKiB0aW1lclNsb3AgPiBtX2RlbGF5KQorICAgICAgICByZXR1cm47
CisKKyAgICBzdG9wKCk7CisgICAgbV9kZWxheSA9IG5ld0RlbGF5OworICAgIAorICAgIEFTU0VS
VCghbV90aW1lcik7CisgICAgbV90aW1lciA9IGFkZChuZXdEZWxheSwgdGhpcyk7Cit9CisKK3Zv
aWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIoKQoreworICAgIG1fZGVs
YXkgPSBob3VyOworICAgIHN0b3AoKTsKK30KKyNlbmRpZgorCit2b2lkIERlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlKHNpemVfdCBieXRlcykKK3sKKyNpZiBQTEFURk9STShF
RkwpCisgICAgaWYgKCFpc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJU
KFdURjo6aXNNYWluVGhyZWFkKCkpOworI2VuZGlmCisKKyAgICAvLyBUaGUgZmlyc3QgYnl0ZSBh
bGxvY2F0ZWQgaW4gYW4gYWxsb2NhdGlvbiBjeWNsZSB3aWxsIHJlcG9ydCAwIGJ5dGVzIHRvIGRp
ZEFsbG9jYXRlLiAKKyAgICAvLyBXZSBwcmV0ZW5kIGl0J3Mgb25lIGJ5dGUgc28gdGhhdCB3ZSBk
b24ndCBpZ25vcmUgdGhpcyBhbGxvY2F0aW9uIGVudGlyZWx5LgorICAgIGlmICghYnl0ZXMpCisg
ICAgICAgIGJ5dGVzID0gMTsKKyAgICBIZWFwKiBoZWFwID0gc3RhdGljX2Nhc3Q8SGVhcCo+KCZt
X3ZtLT5oZWFwKTsKKyAgICBkb3VibGUgZ2NUaW1lU2xpY2UgPSBzdGQ6Om1pbigoc3RhdGljX2Nh
c3Q8ZG91YmxlPihieXRlcykgLyBNQikgKiBnY1RpbWVTbGljZVBlck1CLCBtYXhHQ1RpbWVTbGlj
ZSk7CisgICAgZG91YmxlIG5ld0RlbGF5ID0gaGVhcC0+bGFzdEdDTGVuZ3RoKCkgLyBnY1RpbWVT
bGljZTsKKyAgICBzY2hlZHVsZVRpbWVyKG5ld0RlbGF5KTsKK30KKwordm9pZCBEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCgpCit7CisgICAgY2FuY2VsVGltZXIoKTsKK30K
Kwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQoreworICAgIGNhbmNl
bFRpbWVyKCk7Cit9CisKKyNlbHNlCisKK0RlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCogaGVhcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFj
ayhoZWFwLT52bSgpKQoreworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRv
V29yaygpCit7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2Nh
dGUoc2l6ZV90KQoreworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OndpbGxD
b2xsZWN0KCkKK3sKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwo
KQoreworfQorCisjZW5kaWYKKworfQorCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDkgKzMwLDkgQEAKICNpbmNsdWRlICJHQ0FjdGl2aXR5Q2FsbGJhY2suaCIKIAog
I2luY2x1ZGUgIkhlYXAuaCIKLSNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgIkpTTG9jay5oIgog
I2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiVk0uaCIKIAogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rpdml0eUNhbGxiYWNrLmgJKHJldmlzaW9u
IDE2NTI3NCkJKGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNh
bGxiYWNrLmg6MTY1Mjc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NBY3Rpdml0
eUNhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uIAorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
R0NBY3Rpdml0eUNhbGxiYWNrX2gKKyNkZWZpbmUgR0NBY3Rpdml0eUNhbGxiYWNrX2gKKworI2lu
Y2x1ZGUgIkhlYXBUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorCisjaWYgVVNFKENGKQorI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9u
L0NvcmVGb3VuZGF0aW9uLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEhl
YXA7CisKK2NsYXNzIEdDQWN0aXZpdHlDYWxsYmFjayA6IHB1YmxpYyBIZWFwVGltZXIgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBkaWRB
bGxvY2F0ZShzaXplX3QpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aWxsQ29sbGVjdCgpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSB7IH0KKyAgICBib29sIGlzRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorICAgIHZvaWQgc2V0RW5hYmxlZChib29sIGVuYWJsZWQp
IHsgbV9lbmFibGVkID0gZW5hYmxlZDsgfQorCisgICAgc3RhdGljIGJvb2wgc19zaG91bGRDcmVh
dGVHQ1RpbWVyOworCitwcm90ZWN0ZWQ6CisjaWYgVVNFKENGKQorICAgIEdDQWN0aXZpdHlDYWxs
YmFjayhWTSogdm0sIENGUnVuTG9vcFJlZiBydW5Mb29wKQorICAgICAgICA6IEhlYXBUaW1lcih2
bSwgcnVuTG9vcCkKKyAgICAgICAgLCBtX2VuYWJsZWQodHJ1ZSkKKyAgICB7CisgICAgfQorI2Vs
aWYgUExBVEZPUk0oRUZMKQorICAgIEdDQWN0aXZpdHlDYWxsYmFjayhWTSogdm0sIGJvb2wgZmxh
ZykKKyAgICAgICAgOiBIZWFwVGltZXIodm0pCisgICAgICAgICwgbV9lbmFibGVkKGZsYWcpCisg
ICAgeworICAgIH0KKyNlbHNlCisgICAgR0NBY3Rpdml0eUNhbGxiYWNrKFZNKiB2bSkKKyAgICAg
ICAgOiBIZWFwVGltZXIodm0pCisgICAgICAgICwgbV9lbmFibGVkKHRydWUpCisgICAgeworICAg
IH0KKyNlbmRpZgorCisgICAgYm9vbCBtX2VuYWJsZWQ7Cit9OworCitjbGFzcyBEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrIDogcHVibGljIEdDQWN0aXZpdHlDYWxsYmFjayB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NPd25QdHI8RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjaz4gY3JlYXRlKEhl
YXAqKTsKKworICAgIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCopOworCisgICAgSlNf
RVhQT1JUX1BSSVZBVEUgdmlydHVhbCB2b2lkIGRpZEFsbG9jYXRlKHNpemVfdCkgb3ZlcnJpZGU7
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB2b2lkIHdpbGxDb2xsZWN0KCkgb3ZlcnJp
ZGU7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB2b2lkIGNhbmNlbCgpIG92ZXJyaWRl
OworCisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB2b2lkIGRvV29yaygpIG92ZXJyaWRl
OworCisjaWYgVVNFKENGKQorcHJvdGVjdGVkOgorICAgIEpTX0VYUE9SVF9QUklWQVRFIERlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCosIENGUnVuTG9vcFJlZik7CisjZW5kaWYKKyNpZiBV
U0UoQ0YpIHx8IFBMQVRGT1JNKEVGTCkKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNhbmNlbFRpbWVy
KCk7CisgICAgdm9pZCBzY2hlZHVsZVRpbWVyKGRvdWJsZSk7CisKK3ByaXZhdGU6CisgICAgZG91
YmxlIG1fZGVsYXk7CisjZW5kaWYKK307CisKK2lubGluZSBQYXNzT3duUHRyPERlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2s+IERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNyZWF0ZShIZWFwKiBo
ZWFwKQoreworICAgIHJldHVybiBHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNfc2hvdWxkQ3JlYXRlR0NU
aW1lciA/IGFkb3B0UHRyKG5ldyBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKGhlYXApKSA6IG51
bGxwdHI7Cit9CisKK30KKworI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAJKHJldmlzaW9uIDE2NTI3NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTk2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0g
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0g
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJHQ0FjdGl2aXR5Q2FsbGJhY2suaCIKLQotI2luY2x1ZGUgIkhlYXAuaCIKLSNp
bmNsdWRlICJWTS5oIgotI2luY2x1ZGUgIkpTTG9jay5oIgotI2luY2x1ZGUgIkpTT2JqZWN0Lmgi
Ci0KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1dURlRocmVhZERh
dGEuaD4KLQotI2lmIFBMQVRGT1JNKEVGTCkKLSNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgot
I2VuZGlmCi0KLW5hbWVzcGFjZSBKU0MgewotCi1ib29sIEdDQWN0aXZpdHlDYWxsYmFjazo6c19z
aG91bGRDcmVhdGVHQ1RpbWVyID0gdHJ1ZTsKLQotI2lmIFVTRShDRikgfHwgUExBVEZPUk0oRUZM
KQotCi1jb25zdCBkb3VibGUgZ2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7IC8vIFBlcmNlbnRhZ2Ug
b2YgQ1BVIHRpbWUgd2Ugd2lsbCBzcGVuZCB0byByZWNsYWltIDEgTUIKLWNvbnN0IGRvdWJsZSBt
YXhHQ1RpbWVTbGljZSA9IDAuMDU7IC8vIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSB3
ZSB3YW50IHRvIHVzZSBmb3Igb3Bwb3J0dW5pc3RpYyB0aW1lci10cmlnZ2VyZWQgY29sbGVjdGlv
bnMuCi1jb25zdCBkb3VibGUgdGltZXJTbG9wID0gMi4wOyAvLyBGdWRnZSBmYWN0b3IgdG8gYXZv
aWQgcGVyZm9ybWFuY2UgY29zdCBvZiByZXNldHRpbmcgdGltZXIuCi0KLSNpZiAhUExBVEZPUk0o
SU9TKQotY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8vIFRpbWUgaW4gc2Vjb25k
cyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUgb3ZlciBhbGwgYmxvY2tz
IHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQuCi0jZW5kaWYKLQotI2lmICFVU0UoQ0Yp
Ci1jb25zdCBkb3VibGUgaG91ciA9IDYwICogNjA7Ci0jZW5kaWYKLQotI2lmIFVTRShDRikKLURl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCog
aGVhcCkKLSAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT52bSgpLCBDRlJ1bkxvb3BHZXRD
dXJyZW50KCkpCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewotfQotCi1EZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXAsIENGUnVu
TG9vcFJlZiBydW5Mb29wKQotICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPnZtKCksIHJ1
bkxvb3ApCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewotfQotI2VsaWYgUExBVEZPUk0oRUZM
KQotRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhI
ZWFwKiBoZWFwKQotICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPnZtKCksIFdURjo6aXNN
YWluVGhyZWFkKCkpCi0gICAgLCBtX2RlbGF5KGhvdXIpCi17Ci19Ci0jZW5kaWYKLQotdm9pZCBE
ZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmsoKQotewotICAgIEhlYXAqIGhlYXAgPSAm
bV92bS0+aGVhcDsKLSAgICBpZiAoIWlzRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAg
Ci0gICAgSlNMb2NrSG9sZGVyIGxvY2tlcihtX3ZtKTsKLSAgICBpZiAoaGVhcC0+aXNEZWZlcnJl
ZCgpKSB7Ci0gICAgICAgIHNjaGVkdWxlVGltZXIoMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIGRvdWJsZSBzdGFydFRpbWUgPSBXVEY6Om1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIGlmIChoZWFwLT5pc1BhZ2VkT3V0KHN0YXJ0
VGltZSArIHBhZ2luZ1RpbWVPdXQpKSB7Ci0gICAgICAgIGhlYXAtPmFjdGl2aXR5Q2FsbGJhY2so
KS0+Y2FuY2VsKCk7Ci0gICAgICAgIGhlYXAtPmluY3JlYXNlTGFzdEdDTGVuZ3RoKHBhZ2luZ1Rp
bWVPdXQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0gICAgaGVhcC0+Z2NUaW1l
ckRpZEZpcmUoKTsKLSAgICBoZWFwLT5jb2xsZWN0KCk7Ci19Ci0gICAgCi0jaWYgVVNFKENGKQot
dm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpzY2hlZHVsZVRpbWVyKGRvdWJsZSBuZXdE
ZWxheSkKLXsKLSAgICBpZiAobmV3RGVsYXkgKiB0aW1lclNsb3AgPiBtX2RlbGF5KQotICAgICAg
ICByZXR1cm47Ci0gICAgZG91YmxlIGRlbHRhID0gbV9kZWxheSAtIG5ld0RlbGF5OwotICAgIG1f
ZGVsYXkgPSBuZXdEZWxheTsKLSAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRGaXJlRGF0ZShtX3Rp
bWVyLmdldCgpLCBDRlJ1bkxvb3BUaW1lckdldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpKSAt
IGRlbHRhKTsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWxUaW1l
cigpCi17Ci0gICAgbV9kZWxheSA9IHNfZGVjYWRlOwotICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4
dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgc19k
ZWNhZGUpOwotfQotI2VsaWYgUExBVEZPUk0oRUZMKQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpzY2hlZHVsZVRpbWVyKGRvdWJsZSBuZXdEZWxheSkKLXsKLSAgICBpZiAobmV3RGVs
YXkgKiB0aW1lclNsb3AgPiBtX2RlbGF5KQotICAgICAgICByZXR1cm47Ci0KLSAgICBzdG9wKCk7
Ci0gICAgbV9kZWxheSA9IG5ld0RlbGF5OwotICAgIAotICAgIEFTU0VSVCghbV90aW1lcik7Ci0g
ICAgbV90aW1lciA9IGFkZChuZXdEZWxheSwgdGhpcyk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIoKQotewotICAgIG1fZGVsYXkgPSBob3VyOwotICAg
IHN0b3AoKTsKLX0KLSNlbmRpZgotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRp
ZEFsbG9jYXRlKHNpemVfdCBieXRlcykKLXsKLSNpZiBQTEFURk9STShFRkwpCi0gICAgaWYgKCFp
c0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKFdURjo6aXNNYWluVGhy
ZWFkKCkpOwotI2VuZGlmCi0KLSAgICAvLyBUaGUgZmlyc3QgYnl0ZSBhbGxvY2F0ZWQgaW4gYW4g
YWxsb2NhdGlvbiBjeWNsZSB3aWxsIHJlcG9ydCAwIGJ5dGVzIHRvIGRpZEFsbG9jYXRlLiAKLSAg
ICAvLyBXZSBwcmV0ZW5kIGl0J3Mgb25lIGJ5dGUgc28gdGhhdCB3ZSBkb24ndCBpZ25vcmUgdGhp
cyBhbGxvY2F0aW9uIGVudGlyZWx5LgotICAgIGlmICghYnl0ZXMpCi0gICAgICAgIGJ5dGVzID0g
MTsKLSAgICBIZWFwKiBoZWFwID0gc3RhdGljX2Nhc3Q8SGVhcCo+KCZtX3ZtLT5oZWFwKTsKLSAg
ICBkb3VibGUgZ2NUaW1lU2xpY2UgPSBzdGQ6Om1pbigoc3RhdGljX2Nhc3Q8ZG91YmxlPihieXRl
cykgLyBNQikgKiBnY1RpbWVTbGljZVBlck1CLCBtYXhHQ1RpbWVTbGljZSk7Ci0gICAgZG91Ymxl
IG5ld0RlbGF5ID0gaGVhcC0+bGFzdEdDTGVuZ3RoKCkgLyBnY1RpbWVTbGljZTsKLSAgICBzY2hl
ZHVsZVRpbWVyKG5ld0RlbGF5KTsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
Ojp3aWxsQ29sbGVjdCgpCi17Ci0gICAgY2FuY2VsVGltZXIoKTsKLX0KLQotdm9pZCBEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQotewotICAgIGNhbmNlbFRpbWVyKCk7Ci19Ci0K
LSNlbHNlCi0KLURlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2soSGVhcCogaGVhcCkKLSAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT52bSgpKQot
ewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCi17Ci19Ci0K
LXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90KQotewot
fQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OndpbGxDb2xsZWN0KCkKLXsKLX0K
LQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQotewotfQotCi0jZW5k
aWYKLQotfQotCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5
Q2FsbGJhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2suaAkocmV2aXNpb24gMTY1Mjc0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTEyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0gKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0g
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgR0NBY3Rpdml0eUNhbGxiYWNrX2gKLSNkZWZpbmUgR0NB
Y3Rpdml0eUNhbGxiYWNrX2gKLQotI2luY2x1ZGUgIkhlYXBUaW1lci5oIgotI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi0jaWYgVVNFKENGKQot
I2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Ci0jZW5kaWYKLQotbmFt
ZXNwYWNlIEpTQyB7Ci0KLWNsYXNzIEhlYXA7Ci0KLWNsYXNzIEdDQWN0aXZpdHlDYWxsYmFjayA6
IHB1YmxpYyBIZWFwVGltZXIgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGlj
OgotICAgIHZpcnR1YWwgdm9pZCBkaWRBbGxvY2F0ZShzaXplX3QpIHsgfQotICAgIHZpcnR1YWwg
dm9pZCB3aWxsQ29sbGVjdCgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSB7IH0KLSAg
ICBib29sIGlzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlZDsgfQotICAgIHZvaWQg
c2V0RW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9lbmFibGVkID0gZW5hYmxlZDsgfQotCi0gICAg
c3RhdGljIGJvb2wgc19zaG91bGRDcmVhdGVHQ1RpbWVyOwotCi1wcm90ZWN0ZWQ6Ci0jaWYgVVNF
KENGKQotICAgIEdDQWN0aXZpdHlDYWxsYmFjayhWTSogdm0sIENGUnVuTG9vcFJlZiBydW5Mb29w
KQotICAgICAgICA6IEhlYXBUaW1lcih2bSwgcnVuTG9vcCkKLSAgICAgICAgLCBtX2VuYWJsZWQo
dHJ1ZSkKLSAgICB7Ci0gICAgfQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIEdDQWN0aXZpdHlD
YWxsYmFjayhWTSogdm0sIGJvb2wgZmxhZykKLSAgICAgICAgOiBIZWFwVGltZXIodm0pCi0gICAg
ICAgICwgbV9lbmFibGVkKGZsYWcpCi0gICAgewotICAgIH0KLSNlbHNlCi0gICAgR0NBY3Rpdml0
eUNhbGxiYWNrKFZNKiB2bSkKLSAgICAgICAgOiBIZWFwVGltZXIodm0pCi0gICAgICAgICwgbV9l
bmFibGVkKHRydWUpCi0gICAgewotICAgIH0KLSNlbmRpZgotCi0gICAgYm9vbCBtX2VuYWJsZWQ7
Ci19OwotCi1jbGFzcyBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrIDogcHVibGljIEdDQWN0aXZp
dHlDYWxsYmFjayB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjaz4gY3JlYXRlKEhlYXAqKTsKLQotICAgIERlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2soSGVhcCopOwotCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB2b2lkIGRpZEFs
bG9jYXRlKHNpemVfdCkgb3ZlcnJpZGU7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB2
b2lkIHdpbGxDb2xsZWN0KCkgb3ZlcnJpZGU7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVh
bCB2b2lkIGNhbmNlbCgpIG92ZXJyaWRlOwotCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdmlydHVh
bCB2b2lkIGRvV29yaygpIG92ZXJyaWRlOwotCi0jaWYgVVNFKENGKQotcHJvdGVjdGVkOgotICAg
IEpTX0VYUE9SVF9QUklWQVRFIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCosIENGUnVu
TG9vcFJlZik7Ci0jZW5kaWYKLSNpZiBVU0UoQ0YpIHx8IFBMQVRGT1JNKEVGTCkKLXByb3RlY3Rl
ZDoKLSAgICB2b2lkIGNhbmNlbFRpbWVyKCk7Ci0gICAgdm9pZCBzY2hlZHVsZVRpbWVyKGRvdWJs
ZSk7Ci0KLXByaXZhdGU6Ci0gICAgZG91YmxlIG1fZGVsYXk7Ci0jZW5kaWYKLX07Ci0KLWlubGlu
ZSBQYXNzT3duUHRyPERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s+IERlZmF1bHRHQ0FjdGl2aXR5
Q2FsbGJhY2s6OmNyZWF0ZShIZWFwKiBoZWFwKQotewotICAgIHJldHVybiBHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OnNfc2hvdWxkQ3JlYXRlR0NUaW1lciA/IGFkb3B0UHRyKG5ldyBEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrKGhlYXApKSA6IG51bGxwdHI7Ci19Ci0KLX0KLQotI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>