<?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>91948</bug_id>
          
          <creation_ts>2012-07-22 15:08:43 -0700</creation_ts>
          <short_desc>Move GregorianDateTime from JSC to WTF namespace</short_desc>
          <delta_ts>2012-07-23 22:21:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>675352</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-22 15:08:43 -0700</bug_when>
    <thetext>Move GregorianDateTime from JSC to WTF namespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675354</commentid>
    <comment_count>1</comment_count>
      <attachid>153707</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-22 15:17:05 -0700</bug_when>
    <thetext>Created attachment 153707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675355</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-22 15:20:48 -0700</bug_when>
    <thetext>Attachment 153707 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/runtime/JSDateMath.cpp:239:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675358</commentid>
    <comment_count>3</comment_count>
      <attachid>153707</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-22 15:29:23 -0700</bug_when>
    <thetext>Comment on attachment 153707
Patch

Attachment 153707 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13310877</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675360</commentid>
    <comment_count>4</comment_count>
      <attachid>153707</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-22 15:35:04 -0700</bug_when>
    <thetext>Comment on attachment 153707
Patch

Attachment 153707 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13318735</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675361</commentid>
    <comment_count>5</comment_count>
      <attachid>153709</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-22 15:41:24 -0700</bug_when>
    <thetext>Created attachment 153709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675362</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-22 15:43:35 -0700</bug_when>
    <thetext>Attachment 153709 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/runtime/JSDateMath.cpp:239:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675364</commentid>
    <comment_count>7</comment_count>
      <attachid>153709</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-22 15:57:44 -0700</bug_when>
    <thetext>Comment on attachment 153709
Patch

Attachment 153709 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13308916</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675465</commentid>
    <comment_count>8</comment_count>
      <attachid>153737</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-22 23:30:58 -0700</bug_when>
    <thetext>Created attachment 153737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675466</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-22 23:34:06 -0700</bug_when>
    <thetext>Attachment 153737 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/runtime/JSDateMath.cpp:239:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676166</commentid>
    <comment_count>10</comment_count>
      <attachid>153737</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-07-23 16:42:51 -0700</bug_when>
    <thetext>Comment on attachment 153737
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676185</commentid>
    <comment_count>11</comment_count>
      <attachid>153737</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 16:58:09 -0700</bug_when>
    <thetext>Comment on attachment 153737
Patch

Rejecting attachment 153737 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ist.am
patching file Source/WTF/WTF.gypi
patching file Source/WTF/WTF.pro
patching file Source/WTF/WTF.xcodeproj/project.pbxproj
patching file Source/WTF/wtf/CMakeLists.txt
patching file Source/WTF/wtf/GregorianDateTime.h
patching file Source/WebCore/bridge/qt/qt_runtime.cpp
patching file Source/WebCore/bridge/qt/qt_runtime_qt4.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Geoffrey G...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13332164</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676389</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-23 22:21:20 -0700</bug_when>
    <thetext>Committed r123425: &lt;http://trac.webkit.org/changeset/123425&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153707</attachid>
            <date>2012-07-22 15:17:05 -0700</date>
            <delta_ts>2012-07-22 15:41:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91948-20120723001657.patch</filename>
            <type>text/plain</type>
            <size>61067</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NjM0YTFiZmQ4YjhkYmIxZjQ3MjU4Y2NjZWNmZDY3YzEzMzdkMWU3Li5lM2NiZDM1NDdmNWU5NjNi
NGE2N2NjZDJhZjBlNDQxNjllZjAzZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0wNy0yMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBNb3ZlIEdyZWdvcmlhbkRhdGVUaW1lIGZyb20gSlNDIHRvIFdURiBu
YW1lc3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkxOTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW92aW5nIEdyZWdvcmlhbkRhdGVUaW1lIGludG8gdGhlIFdURiBuYW1lc3BhY2UgYWxsb3dzIHVz
IHRvIHVzIHRvCisgICAgICAgIHVzZSBpdCBpbiBXZWJDb3JlIHRvby4gVGhlIG5ldyBjbGFzcyBo
YXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHRoZQorICAgICAgICBvbGQgc3RydWN0LiBPbmx5IHRo
ZSB1bnVzZWQgdGltZVpvbmUgbWVtYmVyIGhhcyBiZWVuIHJlbW92ZWQuCisKKyAgICAgICAgKiBy
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29udmVy
c2lvbi5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29udmVyc2lvbi5oOgorICAgICAgICAq
IHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguY3BwOgorICAgICAgICAqIHJ1bnRp
bWUvSlNEYXRlTWF0aC5oOgorCiAyMDEyLTA3LTIyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgRU5BQkxFX0RFVEFJTFMgdG8gRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCBiNjFkNzhjMzVlNDk2ODhhM2ZhYTkxNmE3YWQ1MDMxNmFjMDBmYjEz
Li5kNGJkMDYwM2JlOGIwYzE3NDVhNjRkOGYzYmNmMmExYmMxMzMyNDJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTA3LTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3Jn
PgorCisgICAgICAgIE1vdmUgR3JlZ29yaWFuRGF0ZVRpbWUgZnJvbSBKU0MgdG8gV1RGIG5hbWVz
cGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE5
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zp
bmcgR3JlZ29yaWFuRGF0ZVRpbWUgaW50byB0aGUgV1RGIG5hbWVzcGFjZSBhbGxvd3MgdXMgdG8g
dXMgdG8KKyAgICAgICAgdXNlIGl0IGluIFdlYkNvcmUgdG9vLiBUaGUgbmV3IGNsYXNzIGhhcyB0
aGUgc2FtZSBiZWhhdmlvdXIgYXMgdGhlCisgICAgICAgIG9sZCBzdHJ1Y3QuIE9ubHkgdGhlIHVu
dXNlZCB0aW1lWm9uZSBtZW1iZXIgaGFzIGJlZW4gcmVtb3ZlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0dyZWdvcmlhbkRhdGVUaW1lLmg6IEFkZGVk
LgorICAgICAgICAoR3JlZ29yaWFuRGF0ZVRpbWUpOgorCiAyMDEyLTA3LTIwICBIYW4gU2hlbiAg
PHNoZW5oYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIENvbXBpbGF0aW9uIGZh
aWxzIHVuZGVyIGdjYyA0LjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuY3BwCmluZGV4IDA4YjgxNTAzNTE0OWY2NDlhZTRhZjMyMWJlYWVjNTc3
NGVlNGYyMjAuLjAzMjUwODBmNmQ4OWI1MTU1Y2VmNjJkNDUzOGUyN2E1ZGIzNWY5MDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApA
QCAtMTM2LDEzICsxMzYsMTMgQEAgSlNPYmplY3QqIGNvbnN0cnVjdERhdGUoRXhlY1N0YXRlKiBl
eGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBBcmcKICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICBHcmVnb3JpYW5EYXRlVGltZSB0OwogICAgICAgICAgICAgaW50IHll
YXIgPSBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzBdKTsKLSAgICAgICAgICAgIHQueWVh
ciA9ICh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyB5ZWFyIDogeWVhciAtIDE5MDA7Ci0gICAg
ICAgICAgICB0Lm1vbnRoID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1sxXSk7Ci0gICAg
ICAgICAgICB0Lm1vbnRoRGF5ID0gKG51bUFyZ3MgPj0gMykgPyBKU0M6OnRvSW50MzIoZG91Ymxl
QXJndW1lbnRzWzJdKSA6IDE7Ci0gICAgICAgICAgICB0LmhvdXIgPSBKU0M6OnRvSW50MzIoZG91
YmxlQXJndW1lbnRzWzNdKTsKLSAgICAgICAgICAgIHQubWludXRlID0gSlNDOjp0b0ludDMyKGRv
dWJsZUFyZ3VtZW50c1s0XSk7Ci0gICAgICAgICAgICB0LnNlY29uZCA9IEpTQzo6dG9JbnQzMihk
b3VibGVBcmd1bWVudHNbNV0pOwotICAgICAgICAgICAgdC5pc0RTVCA9IC0xOworICAgICAgICAg
ICAgdC5zZXRZZWFyKCh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyB5ZWFyIDogeWVhciAtIDE5
MDApOworICAgICAgICAgICAgdC5zZXRNb250aChKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRz
WzFdKSk7CisgICAgICAgICAgICB0LnNldE1vbnRoRGF5KChudW1BcmdzID49IDMpID8gSlNDOjp0
b0ludDMyKGRvdWJsZUFyZ3VtZW50c1syXSkgOiAxKTsKKyAgICAgICAgICAgIHQuc2V0SG91cihK
U0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNdKSk7CisgICAgICAgICAgICB0LnNldE1pbnV0
ZShKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzRdKSk7CisgICAgICAgICAgICB0LnNldFNl
Y29uZChKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzVdKSk7CisgICAgICAgICAgICB0LnNl
dElzRFNUKC0xKTsKICAgICAgICAgICAgIGRvdWJsZSBtcyA9IChudW1BcmdzID49IDcpID8gZG91
YmxlQXJndW1lbnRzWzZdIDogMDsKICAgICAgICAgICAgIHZhbHVlID0gZ3JlZ29yaWFuRGF0ZVRp
bWVUb01TKGV4ZWMsIHQsIG1zLCBmYWxzZSk7CiAgICAgICAgIH0KQEAgLTIxNCwxMiArMjE0LDEy
IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVVVEMoRXhlY1N0YXRl
KiBleGVjKQogCiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUgdDsKICAgICBpbnQgeWVhciA9IEpTQzo6
dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMF0pOwotICAgIHQueWVhciA9ICh5ZWFyID49IDAgJiYg
eWVhciA8PSA5OSkgPyB5ZWFyIDogeWVhciAtIDE5MDA7Ci0gICAgdC5tb250aCA9IEpTQzo6dG9J
bnQzMihkb3VibGVBcmd1bWVudHNbMV0pOwotICAgIHQubW9udGhEYXkgPSAobiA+PSAzKSA/IEpT
Qzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMl0pIDogMTsKLSAgICB0LmhvdXIgPSBKU0M6OnRv
SW50MzIoZG91YmxlQXJndW1lbnRzWzNdKTsKLSAgICB0Lm1pbnV0ZSA9IEpTQzo6dG9JbnQzMihk
b3VibGVBcmd1bWVudHNbNF0pOwotICAgIHQuc2Vjb25kID0gSlNDOjp0b0ludDMyKGRvdWJsZUFy
Z3VtZW50c1s1XSk7CisgICAgdC5zZXRZZWFyKCh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyB5
ZWFyIDogeWVhciAtIDE5MDApOworICAgIHQuc2V0TW9udGgoSlNDOjp0b0ludDMyKGRvdWJsZUFy
Z3VtZW50c1sxXSkpOworICAgIHQuc2V0TW9udGhEYXkoKG4gPj0gMykgPyBKU0M6OnRvSW50MzIo
ZG91YmxlQXJndW1lbnRzWzJdKSA6IDEpOworICAgIHQuc2V0SG91cihKU0M6OnRvSW50MzIoZG91
YmxlQXJndW1lbnRzWzNdKSk7CisgICAgdC5zZXRNaW51dGUoSlNDOjp0b0ludDMyKGRvdWJsZUFy
Z3VtZW50c1s0XSkpOworICAgIHQuc2V0U2Vjb25kKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVu
dHNbNV0pKTsKICAgICBkb3VibGUgbXMgPSAobiA+PSA3KSA/IGRvdWJsZUFyZ3VtZW50c1s2XSA6
IDA7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcih0aW1lQ2xpcChncmVnb3Jp
YW5EYXRlVGltZVRvTVMoZXhlYywgdCwgbXMsIHRydWUpKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnZlcnNpb24uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnZlcnNpb24uY3BwCmluZGV4IDdiYzBjYmMwZmE1
OWNmNTUyOTA5ZTMwYmY3ZDNhYmE3ODBhODU4YjguLjU3ZDMwYTQyZThjY2QxY2MwY2UxZTE0M2Zk
OTQ5NDM3NWNkZjIwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0RhdGVDb252ZXJzaW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlQ29udmVyc2lvbi5jcHAKQEAgLTcwLDM4ICs3MCwzOCBAQCBkb3VibGUgcGFyc2VEYXRlKEV4
ZWNTdGF0ZSogZXhlYywgY29uc3QgVVN0cmluZyAmZGF0ZSkKIHZvaWQgZm9ybWF0RGF0ZShjb25z
dCBHcmVnb3JpYW5EYXRlVGltZSAmdCwgRGF0ZUNvbnZlcnNpb25CdWZmZXImIGJ1ZmZlcikKIHsK
ICAgICBzbnByaW50ZihidWZmZXIsIERhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiVzICVzICUw
MmQgJTA0ZCIsCi0gICAgICAgIHdlZWtkYXlOYW1lWyh0LndlZWtEYXkgKyA2KSAlIDddLAotICAg
ICAgICBtb250aE5hbWVbdC5tb250aF0sIHQubW9udGhEYXksIHQueWVhciArIDE5MDApOworICAg
ICAgICB3ZWVrZGF5TmFtZVsodC53ZWVrRGF5KCkgKyA2KSAlIDddLAorICAgICAgICBtb250aE5h
bWVbdC5tb250aCgpXSwgdC5tb250aERheSgpLCB0LnllYXIoKSArIDE5MDApOwogfQogCiB2b2lk
IGZvcm1hdERhdGVVVENWYXJpYW50KGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lICZ0LCBEYXRlQ29u
dmVyc2lvbkJ1ZmZlciYgYnVmZmVyKQogewogICAgIHNucHJpbnRmKGJ1ZmZlciwgRGF0ZUNvbnZl
cnNpb25CdWZmZXJTaXplLCAiJXMsICUwMmQgJXMgJTA0ZCIsCi0gICAgICAgIHdlZWtkYXlOYW1l
Wyh0LndlZWtEYXkgKyA2KSAlIDddLAotICAgICAgICB0Lm1vbnRoRGF5LCBtb250aE5hbWVbdC5t
b250aF0sIHQueWVhciArIDE5MDApOworICAgICAgICB3ZWVrZGF5TmFtZVsodC53ZWVrRGF5KCkg
KyA2KSAlIDddLAorICAgICAgICB0Lm1vbnRoRGF5KCksIG1vbnRoTmFtZVt0Lm1vbnRoKCldLCB0
LnllYXIoKSArIDE5MDApOwogfQogCiB2b2lkIGZvcm1hdFRpbWUoY29uc3QgR3JlZ29yaWFuRGF0
ZVRpbWUgJnQsIERhdGVDb252ZXJzaW9uQnVmZmVyJiBidWZmZXIpCiB7Ci0gICAgaW50IG9mZnNl
dCA9IGFicyhnbXRvZmZzZXQodCkpOworICAgIGludCBvZmZzZXQgPSBhYnModC51dGNPZmZzZXQo
KSk7CiAgICAgY2hhciB0aW1lWm9uZU5hbWVbNzBdOwogICAgIHN0cnVjdCB0bSBndG0gPSB0Owog
ICAgIHN0cmZ0aW1lKHRpbWVab25lTmFtZSwgc2l6ZW9mKHRpbWVab25lTmFtZSksICIlWiIsICZn
dG0pOwogCiAgICAgaWYgKHRpbWVab25lTmFtZVswXSkgewogICAgICAgICBzbnByaW50ZihidWZm
ZXIsIERhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiUwMmQ6JTAyZDolMDJkIEdNVCVjJTAyZCUw
MmQgKCVzKSIsCi0gICAgICAgICAgICB0LmhvdXIsIHQubWludXRlLCB0LnNlY29uZCwKLSAgICAg
ICAgICAgIGdtdG9mZnNldCh0KSA8IDAgPyAnLScgOiAnKycsIG9mZnNldCAvICg2MCo2MCksIChv
ZmZzZXQgLyA2MCkgJSA2MCwgdGltZVpvbmVOYW1lKTsKKyAgICAgICAgICAgIHQuaG91cigpLCB0
Lm1pbnV0ZSgpLCB0LnNlY29uZCgpLAorICAgICAgICAgICAgdC51dGNPZmZzZXQoKSA8IDAgPyAn
LScgOiAnKycsIG9mZnNldCAvICg2MCo2MCksIChvZmZzZXQgLyA2MCkgJSA2MCwgdGltZVpvbmVO
YW1lKTsKICAgICB9IGVsc2UgewogICAgICAgICBzbnByaW50ZihidWZmZXIsIERhdGVDb252ZXJz
aW9uQnVmZmVyU2l6ZSwgIiUwMmQ6JTAyZDolMDJkIEdNVCVjJTAyZCUwMmQiLAotICAgICAgICAg
ICAgdC5ob3VyLCB0Lm1pbnV0ZSwgdC5zZWNvbmQsCi0gICAgICAgICAgICBnbXRvZmZzZXQodCkg
PCAwID8gJy0nIDogJysnLCBvZmZzZXQgLyAoNjAqNjApLCAob2Zmc2V0IC8gNjApICUgNjApOwor
ICAgICAgICAgICAgdC5ob3VyKCksIHQubWludXRlKCksIHQuc2Vjb25kKCksCisgICAgICAgICAg
ICB0LnV0Y09mZnNldCgpIDwgMCA/ICctJyA6ICcrJywgb2Zmc2V0IC8gKDYwKjYwKSwgKG9mZnNl
dCAvIDYwKSAlIDYwKTsKICAgICB9CiB9CiAKIHZvaWQgZm9ybWF0VGltZVVUQyhjb25zdCBHcmVn
b3JpYW5EYXRlVGltZSAmdCwgRGF0ZUNvbnZlcnNpb25CdWZmZXImIGJ1ZmZlcikKIHsKLSAgICBz
bnByaW50ZihidWZmZXIsIERhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiUwMmQ6JTAyZDolMDJk
IEdNVCIsIHQuaG91ciwgdC5taW51dGUsIHQuc2Vjb25kKTsKKyAgICBzbnByaW50ZihidWZmZXIs
IERhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiUwMmQ6JTAyZDolMDJkIEdNVCIsIHQuaG91cigp
LCB0Lm1pbnV0ZSgpLCB0LnNlY29uZCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnZlcnNpb24uaAppbmRleCBmZjMy
YjUwM2Q4NTJkODE0YWE0YmJlZWRiYzEyMGY2MjVmMmZkYmQ4Li41MjY5YjUxOGU3NzMyNDBkZTk2
OWFhYTYxZjcyMTQzNTI3OGU5OGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlQ29udmVyc2lvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0RhdGVDb252ZXJzaW9uLmgKQEAgLTQzLDExICs0MywxMSBAQAogI2RlZmluZSBEYXRlQ29u
dmVyc2lvbl9oCiAKICNpbmNsdWRlICJVU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL0dyZWdvcmlh
bkRhdGVUaW1lLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBFeGVjU3RhdGU7Ci1zdHJ1
Y3QgR3JlZ29yaWFuRGF0ZVRpbWU7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBEYXRlQ29udmVy
c2lvbkJ1ZmZlclNpemUgPSAxMDA7CiB0eXBlZGVmIGNoYXIgRGF0ZUNvbnZlcnNpb25CdWZmZXJb
RGF0ZUNvbnZlcnNpb25CdWZmZXJTaXplXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRGF0ZUluc3RhbmNlLmgKaW5kZXggN2M5NzZhNTE0YTZkM2E5M2U2NDJjZDFhNTgwNWU0MTI5
ODYxMzZjNS4uOTc0MmU2ODg5ZDIyMTIxOTdjZmIwZTgxYTA5NmUyZjNiZTVmNWY0MCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKQEAgLTIzLDEwICsy
Myw2IEBACiAKICNpbmNsdWRlICJKU1dyYXBwZXJPYmplY3QuaCIKIAotbmFtZXNwYWNlIFdURiB7
Ci0gICAgc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lOwotfQotCiBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIERhdGVJbnN0YW5jZSA6IHB1YmxpYyBKU1dyYXBwZXJPYmplY3QgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAppbmRleCBkM2Qw
ZmU1NzQxMjNkZmNiMTk0ODBlYThjNTUxNTU0YjI2M2VkMDc4Li5hYTY1YWNkMDViZmI0MTVmY2Zi
YjEwMjhlNzViMWFkZDNkNDUyZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlUHJvdG90eXBlLmNwcApAQCAtMjIyLDEzICsyMjIsMTMgQEAgc3RhdGljIEpTQ2Vs
bCogZm9ybWF0TG9jYWxlRGF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEdyZWdvcmlhbkRhdGVU
aW1lJiBnZHQsIEwKICNpZiBPUyhXSU5ET1dTKQogICAgIFNZU1RFTVRJTUUgc3lzdGVtVGltZTsK
ICAgICBtZW1zZXQoJnN5c3RlbVRpbWUsIDAsIHNpemVvZihzeXN0ZW1UaW1lKSk7Ci0gICAgc3lz
dGVtVGltZS53WWVhciA9IGdkdC55ZWFyICsgMTkwMDsKLSAgICBzeXN0ZW1UaW1lLndNb250aCA9
IGdkdC5tb250aCArIDE7Ci0gICAgc3lzdGVtVGltZS53RGF5ID0gZ2R0Lm1vbnRoRGF5OwotICAg
IHN5c3RlbVRpbWUud0RheU9mV2VlayA9IGdkdC53ZWVrRGF5OwotICAgIHN5c3RlbVRpbWUud0hv
dXIgPSBnZHQuaG91cjsKLSAgICBzeXN0ZW1UaW1lLndNaW51dGUgPSBnZHQubWludXRlOwotICAg
IHN5c3RlbVRpbWUud1NlY29uZCA9IGdkdC5zZWNvbmQ7CisgICAgc3lzdGVtVGltZS53WWVhciA9
IGdkdC55ZWFyKCkgKyAxOTAwOworICAgIHN5c3RlbVRpbWUud01vbnRoID0gZ2R0Lm1vbnRoKCkg
KyAxOworICAgIHN5c3RlbVRpbWUud0RheSA9IGdkdC5tb250aERheSgpOworICAgIHN5c3RlbVRp
bWUud0RheU9mV2VlayA9IGdkdC53ZWVrRGF5KCk7CisgICAgc3lzdGVtVGltZS53SG91ciA9IGdk
dC5ob3VyKCk7CisgICAgc3lzdGVtVGltZS53TWludXRlID0gZ2R0Lm1pbnV0ZSgpOworICAgIHN5
c3RlbVRpbWUud1NlY29uZCA9IGdkdC5zZWNvbmQoKTsKIAogICAgIFZlY3RvcjxVQ2hhciwgMTI4
PiBidWZmZXI7CiAgICAgc2l6ZV90IGxlbmd0aCA9IDA7CkBAIC0yNjUsNyArMjY1LDcgQEAgc3Rh
dGljIEpTQ2VsbCogZm9ybWF0TG9jYWxlRGF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEdyZWdv
cmlhbkRhdGVUaW1lJiBnZHQsIEwKIAogICAgIC8vIE9mZnNldCB5ZWFyIGlmIG5lZWRlZAogICAg
IHN0cnVjdCB0bSBsb2NhbFRNID0gZ2R0OwotICAgIGludCB5ZWFyID0gZ2R0LnllYXIgKyAxOTAw
OworICAgIGludCB5ZWFyID0gZ2R0LnllYXIoKSArIDE5MDA7CiAgICAgYm9vbCB5ZWFyTmVlZHNP
ZmZzZXQgPSB5ZWFyIDwgMTkwMCB8fCB5ZWFyID4gMjAzODsKICAgICBpZiAoeWVhck5lZWRzT2Zm
c2V0KQogICAgICAgICBsb2NhbFRNLnRtX3llYXIgPSBlcXVpdmFsZW50WWVhckZvckRTVCh5ZWFy
KSAtIDE5MDA7CkBAIC0zNTcsNyArMzU3LDcgQEAgc3RhdGljIGJvb2wgZmlsbFN0cnVjdHVyZXNV
c2luZ1RpbWVBcmdzKEV4ZWNTdGF0ZSogZXhlYywgaW50IG1heEFyZ3MsIGRvdWJsZSogbXMKIAog
ICAgIC8vIGhvdXJzCiAgICAgaWYgKG1heEFyZ3MgPj0gNCAmJiBpZHggPCBudW1BcmdzKSB7Ci0g
ICAgICAgIHQtPmhvdXIgPSAwOworICAgICAgICB0LT5zZXRIb3VyKDApOwogICAgICAgICBkb3Vi
bGUgaG91cnMgPSBleGVjLT5hcmd1bWVudChpZHgrKykudG9JbnRlZ2VyUHJlc2VydmVOYU4oZXhl
Yyk7CiAgICAgICAgIG9rID0gaXNmaW5pdGUoaG91cnMpOwogICAgICAgICBtaWxsaXNlY29uZHMg
Kz0gaG91cnMgKiBtc1BlckhvdXI7CkBAIC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIGJvb2wgZmls
bFN0cnVjdHVyZXNVc2luZ1RpbWVBcmdzKEV4ZWNTdGF0ZSogZXhlYywgaW50IG1heEFyZ3MsIGRv
dWJsZSogbXMKIAogICAgIC8vIG1pbnV0ZXMKICAgICBpZiAobWF4QXJncyA+PSAzICYmIGlkeCA8
IG51bUFyZ3MgJiYgb2spIHsKLSAgICAgICAgdC0+bWludXRlID0gMDsKKyAgICAgICAgdC0+c2V0
TWludXRlKDApOwogICAgICAgICBkb3VibGUgbWludXRlcyA9IGV4ZWMtPmFyZ3VtZW50KGlkeCsr
KS50b0ludGVnZXJQcmVzZXJ2ZU5hTihleGVjKTsKICAgICAgICAgb2sgPSBpc2Zpbml0ZShtaW51
dGVzKTsKICAgICAgICAgbWlsbGlzZWNvbmRzICs9IG1pbnV0ZXMgKiBtc1Blck1pbnV0ZTsKQEAg
LTM3Myw3ICszNzMsNyBAQCBzdGF0aWMgYm9vbCBmaWxsU3RydWN0dXJlc1VzaW5nVGltZUFyZ3Mo
RXhlY1N0YXRlKiBleGVjLCBpbnQgbWF4QXJncywgZG91YmxlKiBtcwogICAgIAogICAgIC8vIHNl
Y29uZHMKICAgICBpZiAobWF4QXJncyA+PSAyICYmIGlkeCA8IG51bUFyZ3MgJiYgb2spIHsKLSAg
ICAgICAgdC0+c2Vjb25kID0gMDsKKyAgICAgICAgdC0+c2V0U2Vjb25kKDApOwogICAgICAgICBk
b3VibGUgc2Vjb25kcyA9IGV4ZWMtPmFyZ3VtZW50KGlkeCsrKS50b0ludGVnZXJQcmVzZXJ2ZU5h
TihleGVjKTsKICAgICAgICAgb2sgPSBpc2Zpbml0ZShzZWNvbmRzKTsKICAgICAgICAgbWlsbGlz
ZWNvbmRzICs9IHNlY29uZHMgKiBtc1BlclNlY29uZDsKQEAgLTQxMiwxOSArNDEyLDE5IEBAIHN0
YXRpYyBib29sIGZpbGxTdHJ1Y3R1cmVzVXNpbmdEYXRlQXJncyhFeGVjU3RhdGUgKmV4ZWMsIGlu
dCBtYXhBcmdzLCBkb3VibGUgKm1zCiAgICAgaWYgKG1heEFyZ3MgPj0gMyAmJiBpZHggPCBudW1B
cmdzKSB7CiAgICAgICAgIGRvdWJsZSB5ZWFycyA9IGV4ZWMtPmFyZ3VtZW50KGlkeCsrKS50b0lu
dGVnZXJQcmVzZXJ2ZU5hTihleGVjKTsKICAgICAgICAgb2sgPSBpc2Zpbml0ZSh5ZWFycyk7Ci0g
ICAgICAgIHQtPnllYXIgPSB0b0ludDMyKHllYXJzIC0gMTkwMCk7CisgICAgICAgIHQtPnNldFll
YXIodG9JbnQzMih5ZWFycyAtIDE5MDApKTsKICAgICB9CiAgICAgLy8gbW9udGhzCiAgICAgaWYg
KG1heEFyZ3MgPj0gMiAmJiBpZHggPCBudW1BcmdzICYmIG9rKSB7CiAgICAgICAgIGRvdWJsZSBt
b250aHMgPSBleGVjLT5hcmd1bWVudChpZHgrKykudG9JbnRlZ2VyUHJlc2VydmVOYU4oZXhlYyk7
CiAgICAgICAgIG9rID0gaXNmaW5pdGUobW9udGhzKTsKLSAgICAgICAgdC0+bW9udGggPSB0b0lu
dDMyKG1vbnRocyk7CisgICAgICAgIHQtPnNldE1vbnRoKHRvSW50MzIobW9udGhzKSk7CiAgICAg
fQogICAgIC8vIGRheXMKICAgICBpZiAoaWR4IDwgbnVtQXJncyAmJiBvaykgewogICAgICAgICBk
b3VibGUgZGF5cyA9IGV4ZWMtPmFyZ3VtZW50KGlkeCsrKS50b0ludGVnZXJQcmVzZXJ2ZU5hTihl
eGVjKTsKICAgICAgICAgb2sgPSBpc2Zpbml0ZShkYXlzKTsKLSAgICAgICAgdC0+bW9udGhEYXkg
PSAwOworICAgICAgICB0LT5zZXRNb250aERheSgwKTsKICAgICAgICAgKm1zICs9IGRheXMgKiBt
c1BlckRheTsKICAgICB9CiAgICAgCkBAIC01NjcsMTAgKzU2NywxMCBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNUb0lTT1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgaW50IG1zID0gc3RhdGljX2Nhc3Q8aW50PihmbW9kKHRoaXNEYXRlT2JqLT5pbnRlcm5h
bE51bWJlcigpLCBtc1BlclNlY29uZCkpOwogICAgIGlmIChtcyA8IDApCiAgICAgICAgIG1zICs9
IG1zUGVyU2Vjb25kOwotICAgIGlmIChncmVnb3JpYW5EYXRlVGltZS0+eWVhciA+IDgwOTkgfHwg
Z3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIgPCAtMTkwMCkKLSAgICAgICAgc25wcmludGYoYnVmZmVy
LCBzaXplb2YoYnVmZmVyKSAtIDEsICIlKzA3ZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAz
ZFoiLCAxOTAwICsgZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIsIGdyZWdvcmlhbkRhdGVUaW1lLT5t
b250aCArIDEsIGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aERheSwgZ3JlZ29yaWFuRGF0ZVRpbWUt
PmhvdXIsIGdyZWdvcmlhbkRhdGVUaW1lLT5taW51dGUsIGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNv
bmQsIG1zKTsKKyAgICBpZiAoZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIoKSA+IDgwOTkgfHwgZ3Jl
Z29yaWFuRGF0ZVRpbWUtPnllYXIoKSA8IC0xOTAwKQorICAgICAgICBzbnByaW50ZihidWZmZXIs
IHNpemVvZihidWZmZXIpIC0gMSwgIiUrMDdkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNk
WiIsIDE5MDAgKyBncmVnb3JpYW5EYXRlVGltZS0+eWVhcigpLCBncmVnb3JpYW5EYXRlVGltZS0+
bW9udGgoKSArIDEsIGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aERheSgpLCBncmVnb3JpYW5EYXRl
VGltZS0+aG91cigpLCBncmVnb3JpYW5EYXRlVGltZS0+bWludXRlKCksIGdyZWdvcmlhbkRhdGVU
aW1lLT5zZWNvbmQoKSwgbXMpOwogICAgIGVsc2UKLSAgICAgICAgc25wcmludGYoYnVmZmVyLCBz
aXplb2YoYnVmZmVyKSAtIDEsICIlMDRkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNkWiIs
IDE5MDAgKyBncmVnb3JpYW5EYXRlVGltZS0+eWVhciwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRo
ICsgMSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoRGF5LCBncmVnb3JpYW5EYXRlVGltZS0+aG91
ciwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1pbnV0ZSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCwg
bXMpOworICAgICAgICBzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpIC0gMSwgIiUwNGQt
JTAyZC0lMDJkVCUwMmQ6JTAyZDolMDJkLiUwM2RaIiwgMTkwMCArIGdyZWdvcmlhbkRhdGVUaW1l
LT55ZWFyKCksIGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aCgpICsgMSwgZ3JlZ29yaWFuRGF0ZVRp
bWUtPm1vbnRoRGF5KCksIGdyZWdvcmlhbkRhdGVUaW1lLT5ob3VyKCksIGdyZWdvcmlhbkRhdGVU
aW1lLT5taW51dGUoKSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCgpLCBtcyk7CiAgICAgYnVm
ZmVyW3NpemVvZihidWZmZXIpIC0gMV0gPSAwOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOb250cml2aWFsU3RyaW5nKGV4ZWMsIGJ1ZmZlcikpOwogfQpAQCAtNjU3LDcgKzY1Nyw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldEZ1bGxZZWFyKEV4
ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0
ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWUoZXhlYyk7CiAgICAgaWYgKCFn
cmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigp
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKDE5MDAgKyBncmVnb3JpYW5E
YXRlVGltZS0+eWVhcikpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoMTkw
MCArIGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0VVRDRnVsbFllYXIoRXhlY1N0YXRlKiBleGVjKQpA
QCAtNjcxLDcgKzY3MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3Rv
RnVuY0dldFVUQ0Z1bGxZZWFyKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5E
YXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRp
bWVVVEMoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKDE5MDAgKyBncmVnb3JpYW5EYXRlVGltZS0+eWVhcikpOworICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNOdW1iZXIoMTkwMCArIGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKCkpKTsK
IH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jVG9HTVRTdHJp
bmcoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzAzLDcgKzcwMyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldE1vbnRoKEV4ZWNTdGF0ZSogZXhlYykKICAgICBj
b25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+
Z3JlZ29yaWFuRGF0ZVRpbWUoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aCkpOworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoKCkpKTsK
IH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0VVRDTW9u
dGgoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzE3LDcgKzcxNyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ01vbnRoKEV4ZWNTdGF0ZSogZXhlYykKICAg
ICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9i
ai0+Z3JlZ29yaWFuRGF0ZVRpbWVVVEMoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGlt
ZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aCkpOworICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRo
KCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0
RGF0ZShFeGVjU3RhdGUqIGV4ZWMpCkBAIC03MzEsNyArNzMxLDcgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0RGF0ZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
Y29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmot
PmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMpOwogICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+bW9udGhEYXkpKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aERh
eSgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dl
dFVUQ0RhdGUoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzQ1LDcgKzc0NSw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ0RhdGUoRXhlY1N0YXRlKiBleGVj
KQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNE
YXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZVVUQyhleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRh
dGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoRGF5
KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGlt
ZS0+bW9udGhEYXkoKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQ
cm90b0Z1bmNHZXREYXkoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzU5LDcgKzc1OSw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldERheShFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0gdGhp
c0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMpOwogICAgIGlmICghZ3JlZ29yaWFuRGF0
ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+d2Vla0RheSkp
OworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUt
PndlZWtEYXkoKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90
b0Z1bmNHZXRVVENEYXkoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzczLDcgKzc3Myw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ0RheShFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0g
dGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lVVRDKGV4ZWMpOwogICAgIGlmICghZ3JlZ29y
aWFuRGF0ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0g
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+d2Vl
a0RheSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0
ZVRpbWUtPndlZWtEYXkoKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRh
dGVQcm90b0Z1bmNHZXRIb3VycyhFeGVjU3RhdGUqIGV4ZWMpCkBAIC03ODcsNyArNzg3LDcgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0SG91cnMoRXhlY1N0
YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGlt
ZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdyZWdv
cmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPmhv
dXIpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVU
aW1lLT5ob3VyKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJv
dG9GdW5jR2V0VVRDSG91cnMoRXhlY1N0YXRlKiBleGVjKQpAQCAtODAxLDcgKzgwMSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ0hvdXJzKEV4ZWNT
dGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRp
bWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWVVVEMoZXhlYyk7CiAgICAgaWYgKCFn
cmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigp
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1l
LT5ob3VyKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5E
YXRlVGltZS0+aG91cigpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0
ZVByb3RvRnVuY0dldE1pbnV0ZXMoRXhlY1N0YXRlKiBleGVjKQpAQCAtODE1LDcgKzgxNSw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldE1pbnV0ZXMoRXhl
Y1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRl
VGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdy
ZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkp
OwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUt
Pm1pbnV0ZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFu
RGF0ZVRpbWUtPm1pbnV0ZSgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZGF0ZVByb3RvRnVuY0dldFVUQ01pbnV0ZXMoRXhlY1N0YXRlKiBleGVjKQpAQCAtODI5LDcgKzgy
OSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ01p
bnV0ZXMoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVn
b3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZVVUQyhleGVjKTsK
ICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29y
aWFuRGF0ZVRpbWUtPm1pbnV0ZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1i
ZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1pbnV0ZSgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFNlY29uZHMoRXhlY1N0YXRlKiBleGVjKQpAQCAt
ODQzLDcgKzg0Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y0dldFNlY29uZHMoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1l
KiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVj
KTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3Jl
Z29yaWFuRGF0ZVRpbWUtPnNlY29uZCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNO
dW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ1NlY29uZHMoRXhlY1N0YXRlKiBleGVj
KQpAQCAtODU3LDcgKzg1Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVBy
b3RvRnVuY0dldFVUQ1NlY29uZHMoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlh
bkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRl
VGltZVVUQyhleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCkpOworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCgpKSk7CiB9CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldE1pbGxpU2Vjb25kcyhF
eGVjU3RhdGUqIGV4ZWMpCkBAIC05MDMsNyArOTAzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0VGltZXpvbmVPZmZzZXQoRXhlY1N0YXRlKiBleGVjKQog
ICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRl
T2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1l
KQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoLWdyZWdvcmlhbkRhdGVUaW1lLT51dGNPZmZzZXQgLyBt
aW51dGVzUGVySG91cikpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoLWdy
ZWdvcmlhbkRhdGVUaW1lLT51dGNPZmZzZXQoKSAvIG1pbnV0ZXNQZXJIb3VyKSk7CiB9CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY1NldFRpbWUoRXhlY1N0YXRl
KiBleGVjKQpAQCAtMTA4NywzNiArMTA4NywzNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGRhdGVQcm90b0Z1bmNTZXRZZWFyKEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoIXRoaXNW
YWx1ZS5pbmhlcml0cygmRGF0ZUluc3RhbmNlOjpzX2luZm8pKQogICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTsKIAotICAgIERhdGVJbnN0YW5jZSogdGhpc0RhdGVPYmogPSBh
c0RhdGVJbnN0YW5jZSh0aGlzVmFsdWUpOyAgICAgCisgICAgRGF0ZUluc3RhbmNlKiB0aGlzRGF0
ZU9iaiA9IGFzRGF0ZUluc3RhbmNlKHRoaXNWYWx1ZSk7CiAgICAgaWYgKCFleGVjLT5hcmd1bWVu
dENvdW50KCkpIHsgCiAgICAgICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOYU4oKTsKICAgICAgICAg
dGhpc0RhdGVPYmotPnNldEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCByZXN1bHQp
OwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgfQotICAgIAor
CiAgICAgZG91YmxlIG1pbGxpID0gdGhpc0RhdGVPYmotPmludGVybmFsTnVtYmVyKCk7CiAgICAg
ZG91YmxlIG1zID0gMDsKIAogICAgIEdyZWdvcmlhbkRhdGVUaW1lIGdyZWdvcmlhbkRhdGVUaW1l
OwogICAgIGlmIChpc25hbihtaWxsaSkpCiAgICAgICAgIC8vIEJhc2VkIG9uIEVDTUEgMjYyIEIu
Mi41IChzZXRZZWFyKQotICAgICAgICAvLyB0aGUgdGltZSBtdXN0IGJlIHJlc2V0IHRvICswIGlm
IGl0IGlzIE5hTi4gCisgICAgICAgIC8vIHRoZSB0aW1lIG11c3QgYmUgcmVzZXQgdG8gKzAgaWYg
aXQgaXMgTmFOLgogICAgICAgICBtc1RvR3JlZ29yaWFuRGF0ZVRpbWUoZXhlYywgMCwgdHJ1ZSwg
Z3JlZ29yaWFuRGF0ZVRpbWUpOwotICAgIGVsc2UgeyAgIAorICAgIGVsc2UgewogICAgICAgICBk
b3VibGUgc2VjcyA9IGZsb29yKG1pbGxpIC8gbXNQZXJTZWNvbmQpOwogICAgICAgICBtcyA9IG1p
bGxpIC0gc2VjcyAqIG1zUGVyU2Vjb25kOwogICAgICAgICBpZiAoY29uc3QgR3JlZ29yaWFuRGF0
ZVRpbWUqIG90aGVyID0gdGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMpKQogICAg
ICAgICAgICAgZ3JlZ29yaWFuRGF0ZVRpbWUuY29weUZyb20oKm90aGVyKTsKICAgICB9Ci0gICAg
CisKICAgICBkb3VibGUgeWVhciA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvSW50ZWdlclByZXNlcnZl
TmFOKGV4ZWMpOwogICAgIGlmICghaXNmaW5pdGUoeWVhcikpIHsKICAgICAgICAgSlNWYWx1ZSBy
ZXN1bHQgPSBqc05hTigpOwogICAgICAgICB0aGlzRGF0ZU9iai0+c2V0SW50ZXJuYWxWYWx1ZShl
eGVjLT5nbG9iYWxEYXRhKCksIHJlc3VsdCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUocmVzdWx0KTsKICAgICB9Ci0gICAgICAgICAgICAKLSAgICBncmVnb3JpYW5EYXRlVGltZS55
ZWFyID0gdG9JbnQzMigoeWVhciA+IDk5IHx8IHllYXIgPCAwKSA/IHllYXIgLSAxOTAwIDogeWVh
cik7CisKKyAgICBncmVnb3JpYW5EYXRlVGltZS5zZXRZZWFyKHRvSW50MzIoKHllYXIgPiA5OSB8
fCB5ZWFyIDwgMCkgPyB5ZWFyIC0gMTkwMCA6IHllYXIpKTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9
IGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhleGVjLCBncmVnb3JpYW5EYXRlVGltZSwg
bXMsIGZhbHNlKSk7CiAgICAgdGhpc0RhdGVPYmotPnNldEludGVybmFsVmFsdWUoZXhlYy0+Z2xv
YmFsRGF0YSgpLCByZXN1bHQpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsK
QEAgLTExMzUsNyArMTEzNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVBy
b3RvRnVuY0dldFllYXIoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzTmFOKCkpOwogCiAgICAgLy8gTk9URTogSUUgcmV0dXJucyB0aGUgZnVsbCB5ZWFy
IGV2ZW4gaW4gZ2V0WWVhci4KLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdy
ZWdvcmlhbkRhdGVUaW1lLT55ZWFyKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051
bWJlcihncmVnb3JpYW5EYXRlVGltZS0+eWVhcigpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY1RvSlNPTihFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCmluZGV4IGRiZTc0ODgzNWRl
M2VkMDQyMTJlYzhmMjM4YzgxN2Y0MDNmZmM2YWIuLjY5YjE0MDA1MzIxYWExYzM3MDhiNjJlMzA5
Yzc4YTQ5YTQ1YjAzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRGF0ZU1hdGguY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0
ZU1hdGguY3BwCkBAIC0yMDMsOCArMjAzLDggQEAgZG91YmxlIGdldFVUQ09mZnNldChFeGVjU3Rh
dGUqIGV4ZWMpCiAKIGRvdWJsZSBncmVnb3JpYW5EYXRlVGltZVRvTVMoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSYgdCwgZG91YmxlIG1pbGxpU2Vjb25kcywgYm9vbCBp
bnB1dElzVVRDKQogewotICAgIGRvdWJsZSBkYXkgPSBkYXRlVG9EYXlzRnJvbTE5NzAodC55ZWFy
ICsgMTkwMCwgdC5tb250aCwgdC5tb250aERheSk7Ci0gICAgZG91YmxlIG1zID0gdGltZVRvTVMo
dC5ob3VyLCB0Lm1pbnV0ZSwgdC5zZWNvbmQsIG1pbGxpU2Vjb25kcyk7CisgICAgZG91YmxlIGRh
eSA9IGRhdGVUb0RheXNGcm9tMTk3MCh0LnllYXIoKSArIDE5MDAsIHQubW9udGgoKSwgdC5tb250
aERheSgpKTsKKyAgICBkb3VibGUgbXMgPSB0aW1lVG9NUyh0LmhvdXIoKSwgdC5taW51dGUoKSwg
dC5zZWNvbmQoKSwgbWlsbGlTZWNvbmRzKTsKICAgICBkb3VibGUgcmVzdWx0ID0gKGRheSAqIFdU
Rjo6bXNQZXJEYXkpICsgbXM7CiAKICAgICBpZiAoIWlucHV0SXNVVEMpIHsgLy8gY29udmVydCB0
byBVVEMKQEAgLTIyOCwxNyArMjI4LDE2IEBAIHZvaWQgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKEV4
ZWNTdGF0ZSogZXhlYywgZG91YmxlIG1zLCBib29sIG91dHB1dElzVVRDLCBHcmVnb3JpCiAgICAg
fQogCiAgICAgY29uc3QgaW50IHllYXIgPSBtc1RvWWVhcihtcyk7Ci0gICAgdG0uc2Vjb25kICAg
PSAgbXNUb1NlY29uZHMobXMpOwotICAgIHRtLm1pbnV0ZSAgID0gIG1zVG9NaW51dGVzKG1zKTsK
LSAgICB0bS5ob3VyICAgICA9ICBtc1RvSG91cnMobXMpOwotICAgIHRtLndlZWtEYXkgID0gIG1z
VG9XZWVrRGF5KG1zKTsKLSAgICB0bS55ZWFyRGF5ICA9ICBkYXlJblllYXIobXMsIHllYXIpOwot
ICAgIHRtLm1vbnRoRGF5ID0gIGRheUluTW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXksIGlz
TGVhcFllYXIoeWVhcikpOwotICAgIHRtLm1vbnRoICAgID0gIG1vbnRoRnJvbURheUluWWVhcih0
bS55ZWFyRGF5LCBpc0xlYXBZZWFyKHllYXIpKTsKLSAgICB0bS55ZWFyICAgICA9ICB5ZWFyIC0g
MTkwMDsKLSAgICB0bS5pc0RTVCAgICA9ICBkc3RPZmYgIT0gMC4wOwotICAgIHRtLnV0Y09mZnNl
dCA9IHN0YXRpY19jYXN0PGxvbmc+KChkc3RPZmYgKyB1dGNPZmYpIC8gV1RGOjptc1BlclNlY29u
ZCk7Ci0gICAgdG0udGltZVpvbmUgPSBudWxscHRyOworICAgIHRtLnNldFNlY29uZChtc1RvU2Vj
b25kcyhtcykpOworICAgIHRtLnNldE1pbnV0ZShtc1RvTWludXRlcyhtcykpOworICAgIHRtLnNl
dEhvdXIobXNUb0hvdXJzKG1zKSk7CisgICAgdG0uc2V0V2Vla0RheShtc1RvV2Vla0RheShtcykp
OworICAgIHRtLnNldFllYXJEYXkoZGF5SW5ZZWFyKG1zLCB5ZWFyKSk7CisgICAgdG0uc2V0TW9u
dGhEYXkoZGF5SW5Nb250aEZyb21EYXlJblllYXIodG0ueWVhckRheSgpLCBpc0xlYXBZZWFyKHll
YXIpKSk7CisgICAgdG0uc2V0TW9udGgobW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXkoKSwg
aXNMZWFwWWVhcih5ZWFyKSkpOworICAgIHRtLnNldFllYXIoeWVhciAtIDE5MDApOworICAgIHRt
LnNldElzRFNUKGRzdE9mZiAhPSAwLjApOworICAgIHRtLnNldFV0Y09mZnNldChzdGF0aWNfY2Fz
dDxsb25nPigoZHN0T2ZmICsgdXRjT2ZmKSAvIFdURjo6bXNQZXJTZWNvbmQpKTsKIH0KIAogZG91
YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNEYXRlTWF0aC5oCmluZGV4IGY3N2NmMWU3NTVlOWUyNmNhMDU5YjAzOTU3OTMwNWZjM2RlMTU5
MTguLjI0ZTg3NzhkMjRhZTg0MTYwMTZhNGMzNmU3NGExNDA0NDcwNDM5ZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmgKQEAgLTQ0LDk5ICs0NCwxNyBAQAog
I2RlZmluZSBKU0RhdGVNYXRoX2gKIAogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgorI2luY2x1
ZGUgPHd0Zi9HcmVnb3JpYW5EYXRlVGltZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3Mg
RXhlY1N0YXRlOwotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lOwogCiB2b2lkIG1zVG9HcmVnb3Jp
YW5EYXRlVGltZShFeGVjU3RhdGUqLCBkb3VibGUsIGJvb2wgb3V0cHV0SXNVVEMsIEdyZWdvcmlh
bkRhdGVUaW1lJik7CiBkb3VibGUgZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKEV4ZWNTdGF0ZSosIGNv
bnN0IEdyZWdvcmlhbkRhdGVUaW1lJiwgZG91YmxlLCBib29sIGlucHV0SXNVVEMpOwogZG91Ymxl
IGdldFVUQ09mZnNldChFeGVjU3RhdGUqKTsKIGRvdWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1p
bmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqIGRhdGVTdHJpbmcpOwogCi0v
LyBJbnRlbnRpb25hbGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0u
Ci0vLyBUaGUgbWVtYmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVt
cy4KLXN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
R3JlZ29yaWFuRGF0ZVRpbWUpOwotcHVibGljOgotICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKLSAg
ICAgICAgOiBzZWNvbmQoMCkKLSAgICAgICAgLCBtaW51dGUoMCkKLSAgICAgICAgLCBob3VyKDAp
Ci0gICAgICAgICwgd2Vla0RheSgwKQotICAgICAgICAsIG1vbnRoRGF5KDApCi0gICAgICAgICwg
eWVhckRheSgwKQotICAgICAgICAsIG1vbnRoKDApCi0gICAgICAgICwgeWVhcigwKQotICAgICAg
ICAsIGlzRFNUKDApCi0gICAgICAgICwgdXRjT2Zmc2V0KDApCi0gICAgewotICAgIH0KLQotICAg
IG9wZXJhdG9yIHRtKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHRtIHJldDsKLSAgICAgICAgbWVt
c2V0KCZyZXQsIDAsIHNpemVvZihyZXQpKTsKLQotICAgICAgICByZXQudG1fc2VjICAgPSAgc2Vj
b25kOwotICAgICAgICByZXQudG1fbWluICAgPSAgbWludXRlOwotICAgICAgICByZXQudG1faG91
ciAgPSAgaG91cjsKLSAgICAgICAgcmV0LnRtX3dkYXkgID0gIHdlZWtEYXk7Ci0gICAgICAgIHJl
dC50bV9tZGF5ICA9ICBtb250aERheTsKLSAgICAgICAgcmV0LnRtX3lkYXkgID0gIHllYXJEYXk7
Ci0gICAgICAgIHJldC50bV9tb24gICA9ICBtb250aDsKLSAgICAgICAgcmV0LnRtX3llYXIgID0g
IHllYXI7Ci0gICAgICAgIHJldC50bV9pc2RzdCA9ICBpc0RTVDsKLQotI2lmIEhBVkUoVE1fR01U
T0ZGKQotICAgICAgICByZXQudG1fZ210b2ZmID0gc3RhdGljX2Nhc3Q8bG9uZz4odXRjT2Zmc2V0
KTsKLSNlbmRpZgotI2lmIEhBVkUoVE1fWk9ORSkKLSAgICAgICAgcmV0LnRtX3pvbmUgPSB0aW1l
Wm9uZS5nZXQoKTsKLSNlbmRpZgotCi0gICAgICAgIHJldHVybiByZXQ7Ci0gICAgfQotCi0gICAg
dm9pZCBjb3B5RnJvbShjb25zdCBHcmVnb3JpYW5EYXRlVGltZSYgcmhzKQotICAgIHsKLSAgICAg
ICAgc2Vjb25kID0gcmhzLnNlY29uZDsKLSAgICAgICAgbWludXRlID0gcmhzLm1pbnV0ZTsKLSAg
ICAgICAgaG91ciA9IHJocy5ob3VyOwotICAgICAgICB3ZWVrRGF5ID0gcmhzLndlZWtEYXk7Ci0g
ICAgICAgIG1vbnRoRGF5ID0gcmhzLm1vbnRoRGF5OwotICAgICAgICB5ZWFyRGF5ID0gcmhzLnll
YXJEYXk7Ci0gICAgICAgIG1vbnRoID0gcmhzLm1vbnRoOwotICAgICAgICB5ZWFyID0gcmhzLnll
YXI7Ci0gICAgICAgIGlzRFNUID0gcmhzLmlzRFNUOwotICAgICAgICB1dGNPZmZzZXQgPSByaHMu
dXRjT2Zmc2V0OwotICAgICAgICBpZiAocmhzLnRpbWVab25lKSB7Ci0gICAgICAgICAgICBpbnQg
aW5ab25lU2l6ZSA9IHN0cmxlbihyaHMudGltZVpvbmUuZ2V0KCkpICsgMTsKLSAgICAgICAgICAg
IHRpbWVab25lID0gYWRvcHRBcnJheVB0cihuZXcgY2hhcltpblpvbmVTaXplXSk7Ci0gICAgICAg
ICAgICBzdHJuY3B5KHRpbWVab25lLmdldCgpLCByaHMudGltZVpvbmUuZ2V0KCksIGluWm9uZVNp
emUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRpbWVab25lID0gbnVsbHB0cjsKLSAg
ICB9Ci0KLSAgICBpbnQgc2Vjb25kOwotICAgIGludCBtaW51dGU7Ci0gICAgaW50IGhvdXI7Ci0g
ICAgaW50IHdlZWtEYXk7Ci0gICAgaW50IG1vbnRoRGF5OwotICAgIGludCB5ZWFyRGF5OwotICAg
IGludCBtb250aDsKLSAgICBpbnQgeWVhcjsKLSAgICBpbnQgaXNEU1Q7Ci0gICAgaW50IHV0Y09m
ZnNldDsKLSAgICBPd25BcnJheVB0cjxjaGFyPiB0aW1lWm9uZTsKLX07Ci0KLXN0YXRpYyBpbmxp
bmUgaW50IGdtdG9mZnNldChjb25zdCBHcmVnb3JpYW5EYXRlVGltZSYgdCkKLXsKLSAgICByZXR1
cm4gdC51dGNPZmZzZXQ7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gSlNE
YXRlTWF0aF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNWYwZGRkNjk1NTUyY2EzMzE0ZWNh
ZDMyYmQwZGJlZGI4MzNiMmIzMi4uYmI2OGJjMjY4NTJiNDQ2NDlkOTlkOGVjMzc2ZDQ5ZTliZDM0
NDE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTIsNiArNTIsNyBAQCB3dGZfc291cmNl
cyArPSBcCiAgICAgU291cmNlL1dURi93dGYvRm9yd2FyZC5oIFwKICAgICBTb3VyY2UvV1RGL3d0
Zi9GdW5jdGlvbmFsLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL0dldFB0ci5oIFwKKyAgICBTb3Vy
Y2UvV1RGL3d0Zi9HcmVnb3JpYW5EYXRlVGltZS5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9IYXNo
Q291bnRlZFNldC5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmggXAogICAg
IFNvdXJjZS9XVEYvd3RmL0hhc2hJdGVyYXRvcnMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L1dURi5neXBpIGIvU291cmNlL1dURi9XVEYuZ3lwaQppbmRleCBlYjI4MDcwM2E4Y2FjMTYxYjJh
YTg1OTVlZjEzN2M2ZDIwMmEwMjlhLi5lYmI0MWE0NTQzMGNjNGRlYjRhNmExODRjODQ5MzU3YTVl
Y2YzN2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi5neXBpCisrKyBiL1NvdXJjZS9XVEYv
V1RGLmd5cGkKQEAgLTM0LDYgKzM0LDcgQEAKICAgICAgICAgICAgICd3dGYvRm9yd2FyZC5oJywK
ICAgICAgICAgICAgICd3dGYvRnVuY3Rpb25hbC5oJywKICAgICAgICAgICAgICd3dGYvR2V0UHRy
LmgnLAorICAgICAgICAgICAgJ3d0Zi9HcmVnb3JpYW5EYXRlVGltZS5oJywKICAgICAgICAgICAg
ICd3dGYvSGFzaENvdW50ZWRTZXQuaCcsCiAgICAgICAgICAgICAnd3RmL0hhc2hGdW5jdGlvbnMu
aCcsCiAgICAgICAgICAgICAnd3RmL0hhc2hJdGVyYXRvcnMuaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1dURi5wcm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggNGJjYjBmZjBhNjE1MGM5
MmQ2MWVhY2EwMDQ0MDlmZDE3OWQ3OGU3Yy4uNjhkODQ3MTEyN2M3MmJmMmFlMTYwNTEzMTI4YjVi
YWFkMGVjZDNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9X
VEYvV1RGLnBybwpAQCAtNjEsNiArNjEsNyBAQCBIRUFERVJTICs9IFwKICAgICBGb3J3YXJkLmgg
XAogICAgIEZ1bmN0aW9uYWwuaCBcCiAgICAgR2V0UHRyLmggXAorICAgIEdyZWdvcmlhbkRhdGVU
aW1lLmggXAogICAgIEhhc2hDb3VudGVkU2V0LmggXAogICAgIEhhc2hGdW5jdGlvbnMuaCBcCiAg
ICAgSGFzaEl0ZXJhdG9ycy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGM0N2VjMTk0Njk0ZjU5YmJiNGU4Mjc0NzNmYWU1NmZlNmM2YjdlYmYuLjM3MmMx
NWVjMGM3MWNjNDBkMWNiY2I5ZTgwYzQ1NDU3MWQyNDg1ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNyw5ICs3LDEwIEBACiAJb2JqZWN0cyA9IHsKIAog
LyogQmVnaW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KKwkJMEZEODFBQzUxNTRGQjIyRTAwOTgz
RTcyIC8qIEZhc3RCaXRWZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRDgxQUM0MTU0RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJMTQzRjYxMUYxNTY1RjBG
OTAwREI1MTRBIC8qIFJBTVNpemUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTQzRjYxMUQxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwICov
OyB9OwogCQkxNDNGNjEyMDE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzRjYxMUUxNTY1RjBGOTAwREI1
MTRBIC8qIFJBTVNpemUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkwRkQ4MUFDNTE1NEZCMjJFMDA5ODNFNzIgLyogRmFzdEJpdFZlY3Rvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODFBQzQxNTRG
QjIyRTAwOTgzRTcyIC8qIEZhc3RCaXRWZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9ICgpOyB9OyB9OworCQkyQzA1Mzg1NDE1QkM4MTkwMDBGMjFCOTYgLyogR3JlZ29yaWFuRGF0
ZVRpbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJD
MDUzODUzMTVCQzgxOTAwMEYyMUI5NiAvKiBHcmVnb3JpYW5EYXRlVGltZS5oICovOyB9OwogCQk0
MzMwRjM4RjE1NzQ1QjA1MDBBQUZBOEYgLyogVVJMU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzMzBGMzhFMTU3NDVCMDUwMEFBRkE4RiAv
KiBVUkxTdHJpbmcuY3BwICovOyB9OwogCQk0RjAzMjFCQzE1NkFBOEQxMDA2RUJBRjYgLyogQml0
QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRG
MDMyMUJCMTU2QUE4RDEwMDZFQkFGNiAvKiBCaXRBcnJheS5oICovOyB9OwogCQk4MTM0MDEzODE1
QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgxMzQwMTM2MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuY3Bw
ICovOyB9OwpAQCAtMjQ3LDkgKzI0OCwxMCBAQAogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCQkwRkQ4MUFDNDE1
NEZCMjJFMDA5ODNFNzIgLyogRmFzdEJpdFZlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGYXN0Qml0VmVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTE0M0Y2MTFEMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJBTVNpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxNDNGNjExRTE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSQU1TaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTBGRDgxQUM0MTU0RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZhc3RCaXRWZWN0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkMwNTM4NTMxNUJDODE5MDAwRjIxQjk2IC8qIEdyZWdvcmlhbkRh
dGVUaW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyZWdvcmlhbkRhdGVU
aW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzMzBGMzhFMTU3NDVCMDUwMEFB
RkE4RiAvKiBVUkxTdHJpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVVJMU3RyaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEYwMzIxQkIx
NTZBQThEMTAwNkVCQUY2IC8qIEJpdEFycmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEJpdEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3QjYy
MTQ2ODlCODYwMEU3OEI3NiAvKiBsaWJXVEYuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRo
ID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC01Mzgs
OSArNTQwLDkgQEAKIAkJNUQyNDdCNzYxNDY4OUQ3NjAwRTc4Qjc2IC8qIFNvdXJjZSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTg3NkRCRDYxNTE4MTZF
NTAwREFEQjk1IC8qIHd0ZiAqLywKIAkJCQlBOEE0NzQ4QjE1MUE4MjY0MDA0MTIzRkYgLyogY29u
ZmlnLmggKi8sCiAJCQkJNUQyNDdFQjExNDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlv
bi5oICovLAotCQkJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJCQkpOwog
CQkJbmFtZSA9IFNvdXJjZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC01NDgsOCAr
NTUwLDEyIEBACiAJCUE4NzZEQkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTE0M0Y2MTFEMTU2NUYwRjkwMERC
NTE0QSAvKiBSQU1TaXplLmNwcCAqLywKLQkJCQkxNDNGNjExRTE1NjVGMEY5MDBEQjUxNEEgLyog
UkFNU2l6ZS5oICovLAorCQkJCUE4QTQ3MjgxMTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hICovLAor
CQkJCUE4QTQ3MkM0MTUxQTgyNUEwMDQxMjNGRiAvKiBtYWMgKi8sCisJCQkJQThBNDczMUIxNTFB
ODI1QjAwNDEyM0ZGIC8qIHRleHQgKi8sCisJCQkJQThBNDczMzkxNTFBODI1QjAwNDEyM0ZGIC8q
IHRocmVhZHMgKi8sCisJCQkJQThBNDczNDgxNTFBODI1QjAwNDEyM0ZGIC8qIHVuaWNvZGUgKi8s
CisJCQkJQThBNDczNUUxNTFBODI1QjAwNDEyM0ZGIC8qIHVybCAqLywKIAkJCQlBOEE0NzI1NDE1
MUE4MjVBMDA0MTIzRkYgLyogQWxpZ25tZW50LmggKi8sCiAJCQkJQThBNDcyNTUxNTFBODI1QTAw
NDEyM0ZGIC8qIEFsd2F5c0lubGluZS5oICovLAogCQkJCUE4QTQ3MjU2MTUxQTgyNUEwMDQxMjNG
RiAvKiBBcnJheUJ1ZmZlci5jcHAgKi8sCkBAIC01NjEsOCArNTY3LDggQEAKIAkJCQlBOEE0NzI1
QzE1MUE4MjVBMDA0MTIzRkYgLyogQXNzZXJ0aW9ucy5oICovLAogCQkJCUE4QTQ3MjVEMTUxQTgy
NUEwMDQxMjNGRiAvKiBBdG9taWNzLmggKi8sCiAJCQkJQThBNDcyNUUxNTFBODI1QTAwNDEyM0ZG
IC8qIEFWTFRyZWUuaCAqLywKLQkJCQlBOEE0NzI1RjE1MUE4MjVBMDA0MTIzRkYgLyogQml0bWFw
LmggKi8sCiAJCQkJNEYwMzIxQkIxNTZBQThEMTAwNkVCQUY2IC8qIEJpdEFycmF5LmggKi8sCisJ
CQkJQThBNDcyNUYxNTFBODI1QTAwNDEyM0ZGIC8qIEJpdG1hcC5oICovLAogCQkJCUE4QTQ3MjYw
MTUxQTgyNUEwMDQxMjNGRiAvKiBCaXRWZWN0b3IuY3BwICovLAogCQkJCUE4QTQ3MjYxMTUxQTgy
NUEwMDQxMjNGRiAvKiBCaXRWZWN0b3IuaCAqLywKIAkJCQlBOEE0NzI2NDE1MUE4MjVBMDA0MTIz
RkYgLyogQmxvY2tTdGFjay5oICovLApAQCAtNTg4LDcgKzU5NCw2IEBACiAJCQkJQThBNDcyN0Ux
NTFBODI1QTAwNDEyM0ZGIC8qIERlcXVlLmggKi8sCiAJCQkJQThBNDcyN0YxNTFBODI1QTAwNDEy
M0ZGIC8qIERpc2FsbG93Q1R5cGUuaCAqLywKIAkJCQlBOEE0NzI4MDE1MUE4MjVBMDA0MTIzRkYg
LyogRG91Ymx5TGlua2VkTGlzdC5oICovLAotCQkJCUE4QTQ3MjgxMTUxQTgyNUEwMDQxMjNGRiAv
KiBkdG9hICovLAogCQkJCUE4QTQ3Mjk3MTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hLmNwcCAqLywK
IAkJCQlBOEE0NzI5ODE1MUE4MjVBMDA0MTIzRkYgLyogZHRvYS5oICovLAogCQkJCUE4QTQ3Mjk5
MTUxQTgyNUEwMDQxMjNGRiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuY3BwICovLApAQCAtNjA1LDYg
KzYxMCw3IEBACiAJCQkJQThBNDcyQTYxNTFBODI1QTAwNDEyM0ZGIC8qIEZvcndhcmQuaCAqLywK
IAkJCQlBOEE0NzJBNzE1MUE4MjVBMDA0MTIzRkYgLyogRnVuY3Rpb25hbC5oICovLAogCQkJCUE4
QTQ3MkE4MTUxQTgyNUEwMDQxMjNGRiAvKiBHZXRQdHIuaCAqLywKKwkJCQkyQzA1Mzg1MzE1QkM4
MTkwMDBGMjFCOTYgLyogR3JlZ29yaWFuRGF0ZVRpbWUuaCAqLywKIAkJCQlBOEE0NzJCMzE1MUE4
MjVBMDA0MTIzRkYgLyogSGFzaENvdW50ZWRTZXQuaCAqLywKIAkJCQlBOEE0NzJCNDE1MUE4MjVB
MDA0MTIzRkYgLyogSGFzaEZ1bmN0aW9ucy5oICovLAogCQkJCUE4QTQ3MkI1MTUxQTgyNUEwMDQx
MjNGRiAvKiBIYXNoSXRlcmF0b3JzLmggKi8sCkBAIC02MTUsMTQgKzYyMSwxMyBAQAogCQkJCUE4
QTQ3MkJBMTUxQTgyNUEwMDQxMjNGRiAvKiBIYXNoVHJhaXRzLmggKi8sCiAJCQkJQThBNDcyQkIx
NTFBODI1QTAwNDEyM0ZGIC8qIEhleE51bWJlci5oICovLAogCQkJCUE4QTQ3MkJDMTUxQTgyNUEw
MDQxMjNGRiAvKiBJbmxpbmVBU00uaCAqLywKLQkJCQlBOEE0NzJCRDE1MUE4MjVBMDA0MTIzRkYg
LyogSW50OEFycmF5LmggKi8sCiAJCQkJQThBNDcyQkUxNTFBODI1QTAwNDEyM0ZGIC8qIEludDE2
QXJyYXkuaCAqLywKIAkJCQlBOEE0NzJCRjE1MUE4MjVBMDA0MTIzRkYgLyogSW50MzJBcnJheS5o
ICovLAorCQkJCUE4QTQ3MkJEMTUxQTgyNUEwMDQxMjNGRiAvKiBJbnQ4QXJyYXkuaCAqLywKIAkJ
CQlBOEE0NzJDMDE1MUE4MjVBMDA0MTIzRkYgLyogSW50ZWdyYWxUeXBlZEFycmF5QmFzZS5oICov
LAogCQkJCUE4QTQ3MkMxMTUxQTgyNUEwMDQxMjNGRiAvKiBMaXN0SGFzaFNldC5oICovLAogCQkJ
CUE4QTQ3MkMyMTUxQTgyNUEwMDQxMjNGRiAvKiBMaXN0UmVmUHRyLmggKi8sCiAJCQkJQThBNDcy
QzMxNTFBODI1QTAwNDEyM0ZGIC8qIExvY2tlci5oICovLAotCQkJCUE4QTQ3MkM0MTUxQTgyNUEw
MDQxMjNGRiAvKiBtYWMgKi8sCiAJCQkJQThBNDcyQzYxNTFBODI1QTAwNDEyM0ZGIC8qIE1haW5U
aHJlYWQuY3BwICovLAogCQkJCUE4QTQ3MkM3MTUxQTgyNUIwMDQxMjNGRiAvKiBNYWluVGhyZWFk
LmggKi8sCiAJCQkJQThBNDcyQzgxNTFBODI1QjAwNDEyM0ZGIC8qIE1hbGxvY1pvbmVTdXBwb3J0
LmggKi8sCkBAIC02NjEsNyArNjY2LDEwIEBACiAJCQkJQThBNDcyRUQxNTFBODI1QjAwNDEyM0ZG
IC8qIFBhc3NSZWZQdHIuaCAqLywKIAkJCQlBOEE0NzJFRTE1MUE4MjVCMDA0MTIzRkYgLyogUGFz
c1RyYWl0cy5oICovLAogCQkJCUE4QTQ3MkVGMTUxQTgyNUIwMDQxMjNGRiAvKiBQbGF0Zm9ybS5o
ICovLAorCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJ
CUE4QTQ3MkYzMTUxQTgyNUIwMDQxMjNGRiAvKiBQb3NzaWJseU51bGwuaCAqLywKKwkJCQkxNDNG
NjExRDE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgKi8sCisJCQkJMTQzRjYxMUUxNTY1
RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCAqLywKIAkJCQlBOEE0NzJGQjE1MUE4MjVCMDA0MTIz
RkYgLyogUmFuZG9tTnVtYmVyLmNwcCAqLywKIAkJCQlBOEE0NzJGQzE1MUE4MjVCMDA0MTIzRkYg
LyogUmFuZG9tTnVtYmVyLmggKi8sCiAJCQkJQThBNDcyRkQxNTFBODI1QjAwNDEyM0ZGIC8qIFJh
bmRvbU51bWJlclNlZWQuaCAqLywKQEAgLTY5NCw3ICs3MDIsNiBAQAogCQkJCUE4QTQ3MzE4MTUx
QTgyNUIwMDQxMjNGRiAvKiBUQ1N5c3RlbUFsbG9jLmNwcCAqLywKIAkJCQlBOEE0NzMxOTE1MUE4
MjVCMDA0MTIzRkYgLyogVENTeXN0ZW1BbGxvYy5oICovLAogCQkJCUE4QTQ3MzFBMTUxQTgyNUIw
MDQxMjNGRiAvKiBUZW1wb3JhcnlDaGFuZ2UuaCAqLywKLQkJCQlBOEE0NzMxQjE1MUE4MjVCMDA0
MTIzRkYgLyogdGV4dCAqLywKIAkJCQlBOEE0NzMyRjE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFk
RnVuY3Rpb25JbnZvY2F0aW9uLmggKi8sCiAJCQkJQThBNDczMzAxNTFBODI1QjAwNDEyM0ZGIC8q
IFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuY3BwICovLAogCQkJCUE4QTQ3MzMxMTUxQTgy
NUIwMDQxMjNGRiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmggKi8sCkBAIC03MDMs
MjcgKzcxMCwyMyBAQAogCQkJCUE4QTQ3MzM1MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRpbmdQ
cmltaXRpdmVzLmggKi8sCiAJCQkJQThBNDczMzYxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZGlu
Z1B0aHJlYWRzLmNwcCAqLywKIAkJCQlBOEE0NzMzODE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFk
UmVzdHJpY3Rpb25WZXJpZmllci5oICovLAotCQkJCUE4QTQ3MzM5MTUxQTgyNUIwMDQxMjNGRiAv
KiB0aHJlYWRzICovLAogCQkJCUE4QTQ3MzNFMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRTYWZl
UmVmQ291bnRlZC5oICovLAogCQkJCUE4QTQ3MzNGMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRT
cGVjaWZpYy5oICovLAogCQkJCUE4QTQ3MzQxMTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlZEFycmF5
QmFzZS5oICovLAogCQkJCUE4QTQ3MzQyMTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlVHJhaXRzLmNw
cCAqLywKIAkJCQlBOEE0NzM0MzE1MUE4MjVCMDA0MTIzRkYgLyogVHlwZVRyYWl0cy5oICovLAot
CQkJCUE4QTQ3MzQ0MTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50OEFycmF5LmggKi8sCi0JCQkJQThB
NDczNDUxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggKi8sCiAJCQkJQThB
NDczNDYxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQxNkFycmF5LmggKi8sCiAJCQkJQThBNDczNDcx
NTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQzMkFycmF5LmggKi8sCi0JCQkJQThBNDczNDgxNTFBODI1
QjAwNDEyM0ZGIC8qIHVuaWNvZGUgKi8sCisJCQkJQThBNDczNDQxNTFBODI1QjAwNDEyM0ZGIC8q
IFVpbnQ4QXJyYXkuaCAqLywKKwkJCQlBOEE0NzM0NTE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhD
bGFtcGVkQXJyYXkuaCAqLywKIAkJCQlBOEE0NzM1QzE1MUE4MjVCMDA0MTIzRkYgLyogVW5pb25G
aW5kLmggKi8sCiAJCQkJQThBNDczNUQxNTFBODI1QjAwNDEyM0ZGIC8qIFVudXNlZFBhcmFtLmgg
Ki8sCi0JCQkJQThBNDczNUUxNTFBODI1QjAwNDEyM0ZGIC8qIHVybCAqLywKIAkJCQlBOEE0NzM2
RjE1MUE4MjVCMDA0MTIzRkYgLyogVmFsdWVDaGVjay5oICovLAogCQkJCUE4QTQ3MzcwMTUxQTgy
NUIwMDQxMjNGRiAvKiBWZWN0b3IuaCAqLywKIAkJCQlBOEE0NzM3MTE1MUE4MjVCMDA0MTIzRkYg
LyogVmVjdG9yVHJhaXRzLmggKi8sCiAJCQkJQThBNDczNzIxNTFBODI1QjAwNDEyM0ZGIC8qIFZN
VGFncy5oICovLAogCQkJCUE4QTQ3MzdBMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZUaHJlYWREYXRh
LmNwcCAqLywKIAkJCQlBOEE0NzM3QjE1MUE4MjVCMDA0MTIzRkYgLyogV1RGVGhyZWFkRGF0YS5o
ICovLAotCQkJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSB3dGY7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNzMxLDEz
ICs3MzQsMTUgQEAKIAkJQThBNDcyODExNTFBODI1QTAwNDEyM0ZGIC8qIGR0b2EgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE4QTQ3Mjg4MTUxQTgyNUEw
MDQxMjNGRiAvKiBDT1BZSU5HICovLAorCQkJCUE4QTQ3MjkyMTUxQTgyNUEwMDQxMjNGRiAvKiBM
SUNFTlNFICovLAorCQkJCUE4QTQ3MjkzMTUxQTgyNUEwMDQxMjNGRiAvKiBSRUFETUUgKi8sCiAJ
CQkJQThBNDcyODIxNTFBODI1QTAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmNjICovLAogCQkJCUE4
QTQ3MjgzMTUxQTgyNUEwMDQxMjNGRiAvKiBiaWdudW0tZHRvYS5oICovLAogCQkJCUE4QTQ3Mjg0
MTUxQTgyNUEwMDQxMjNGRiAvKiBiaWdudW0uY2MgKi8sCiAJCQkJQThBNDcyODUxNTFBODI1QTAw
NDEyM0ZGIC8qIGJpZ251bS5oICovLAogCQkJCUE4QTQ3Mjg2MTUxQTgyNUEwMDQxMjNGRiAvKiBj
YWNoZWQtcG93ZXJzLmNjICovLAogCQkJCUE4QTQ3Mjg3MTUxQTgyNUEwMDQxMjNGRiAvKiBjYWNo
ZWQtcG93ZXJzLmggKi8sCi0JCQkJQThBNDcyODgxNTFBODI1QTAwNDEyM0ZGIC8qIENPUFlJTkcg
Ki8sCiAJCQkJQThBNDcyODkxNTFBODI1QTAwNDEyM0ZGIC8qIGRpeS1mcC5jYyAqLywKIAkJCQlB
OEE0NzI4QTE1MUE4MjVBMDA0MTIzRkYgLyogZGl5LWZwLmggKi8sCiAJCQkJQThBNDcyOEIxNTFB
ODI1QTAwNDEyM0ZGIC8qIGRvdWJsZS1jb252ZXJzaW9uLmNjICovLApAQCAtNzQ3LDggKzc1Miw2
IEBACiAJCQkJQThBNDcyOEYxNTFBODI1QTAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5oICovLAogCQkJ
CUE4QTQ3MjkwMTUxQTgyNUEwMDQxMjNGRiAvKiBmaXhlZC1kdG9hLmNjICovLAogCQkJCUE4QTQ3
MjkxMTUxQTgyNUEwMDQxMjNGRiAvKiBmaXhlZC1kdG9hLmggKi8sCi0JCQkJQThBNDcyOTIxNTFB
ODI1QTAwNDEyM0ZGIC8qIExJQ0VOU0UgKi8sCi0JCQkJQThBNDcyOTMxNTFBODI1QTAwNDEyM0ZG
IC8qIFJFQURNRSAqLywKIAkJCQlBOEE0NzI5NDE1MUE4MjVBMDA0MTIzRkYgLyogc3RydG9kLmNj
ICovLAogCQkJCUE4QTQ3Mjk1MTUxQTgyNUEwMDQxMjNGRiAvKiBzdHJ0b2QuaCAqLywKIAkJCQlB
OEE0NzI5NjE1MUE4MjVBMDA0MTIzRkYgLyogdXRpbHMuaCAqLywKQEAgLTc2NywxMyArNzcwLDEz
IEBACiAJCUE4QTQ3MzFCMTUxQTgyNUIwMDQxMjNGRiAvKiB0ZXh0ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk4MTM0MDEzNjE1QjA5MkZEMDAxRkYwQjgg
LyogQmFzZTY0LmNwcCAqLywKLQkJCQk4MTM0MDEzNzE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0
LmggKi8sCiAJCQkJQThBNDczMUMxNTFBODI1QjAwNDEyM0ZGIC8qIEFTQ0lJRmFzdFBhdGguaCAq
LywKIAkJCQlBOEE0NzMxRDE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nLmNwcCAqLywK
IAkJCQlBOEE0NzMxRTE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nLmggKi8sCiAJCQkJ
QThBNDczMUYxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0hhc2guaCAqLywKIAkJCQlB
OEE0NzMyMDE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nSW1wbC5oICovLAorCQkJCTgx
MzQwMTM2MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuY3BwICovLAorCQkJCTgxMzQwMTM3MTVC
MDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuaCAqLywKIAkJCQlBOEE0NzMyMTE1MUE4MjVCMDA0MTIz
RkYgLyogQ1N0cmluZy5jcHAgKi8sCiAJCQkJQThBNDczMjIxNTFBODI1QjAwNDEyM0ZGIC8qIENT
dHJpbmcuaCAqLywKIAkJCQlBOEE0NzMyMzE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVmZmVy
LmggKi8sCkBAIC04MDQsMTAgKzgwNywxMCBAQAogCQlBOEE0NzM0ODE1MUE4MjVCMDA0MTIzRkYg
LyogdW5pY29kZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQThBNDczNEYxNTFBODI1QjAwNDEyM0ZGIC8qIGljdSAqLywKIAkJCQlBOEE0NzM0OTE1MUE4
MjVCMDA0MTIzRkYgLyogQ2hhcmFjdGVyTmFtZXMuaCAqLywKIAkJCQlBOEE0NzM0QTE1MUE4MjVC
MDA0MTIzRkYgLyogQ29sbGF0b3IuaCAqLywKIAkJCQlBOEE0NzM0QjE1MUE4MjVCMDA0MTIzRkYg
LyogQ29sbGF0b3JEZWZhdWx0LmNwcCAqLywKLQkJCQlBOEE0NzM0RjE1MUE4MjVCMDA0MTIzRkYg
LyogaWN1ICovLAogCQkJCUE4QTQ3MzU0MTUxQTgyNUIwMDQxMjNGRiAvKiBTY3JpcHRDb2Rlc0Zy
b21JQ1UuaCAqLywKIAkJCQlBOEE0NzM1NTE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZS5oICov
LAogCQkJCUE4QTQ3MzU2MTUxQTgyNUIwMDQxMjNGRiAvKiBVbmljb2RlTWFjcm9zRnJvbUlDVS5o
ICovLApAQCAtODcxLDI3ICs4NzQsMzkgQEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNl
OwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCUE4
NzZEQkQ4MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDczN0YxNTFBODI1QjAwNDEyM0ZGIC8qIEFsaWdubWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDczODAxNTFBODI1QjAwNDEyM0ZGIC8qIEFsd2F5c0lubGluZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThBNDczODIxNTFBODI1QjAwNDEyM0ZGIC8qIEFycmF5QnVmZmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzM4NDE1MUE4MjVCMDA0MTIzRkYgLyogQXJyYXlCdWZmZXJWaWV3
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4NTE1MUE4MjVCMDA0MTIzRkYgLyogQVNDSUlD
VHlwZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0MzQxNTFBODI1QjAwNDEyM0ZGIC8qIEFT
Q0lJRmFzdFBhdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3Mzg3MTUxQTgyNUIwMDQxMjNG
RiAvKiBBc3NlcnRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4ODE1MUE4MjVCMDA0
MTIzRkYgLyogQXRvbWljcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0MzYxNTFBODI1QjAw
NDEyM0ZGIC8qIEF0b21pY1N0cmluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0MzcxNTFB
ODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0hhc2guaCBpbiBIZWFkZXJzICovLAorCQkJCUE4
QTQ3NDM4MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdJbXBsLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOEE0NzM4OTE1MUE4MjVCMDA0MTIzRkYgLyogQVZMVHJlZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJQThBNDczOEExNTFBODI1QjAwNDEyM0ZGIC8qIEJpdG1hcC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODEzNDAxMzkxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQThBNDczQTkxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBOEE0NzNBQjE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBOEE0NzQ1MjE1MUE4MjVCMDA0MTIzRkYgLyogQmluYXJ5U2VtYXBob3Jl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjAzMjFCQzE1NkFBOEQxMDA2RUJBRjYgLyogQml0QXJy
YXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3MzhBMTUxQTgyNUIwMDQxMjNGRiAvKiBCaXRt
YXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzhDMTUxQTgyNUIwMDQxMjNGRiAvKiBCaXRW
ZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzhFMTUxQTgyNUIwMDQxMjNGRiAvKiBC
bG9ja1N0YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4RjE1MUE4MjVCMDA0MTIzRkYg
LyogQmxvb21GaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzkwMTUxQTgyNUIwMDQx
MjNGRiAvKiBCb3VuZHNDaGVja2VkUG9pbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDcz
OTExNTFBODI1QjAwNDEyM0ZGIC8qIEJ1bXBQb2ludGVyQWxsb2NhdG9yLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBOEE0NzNBRDE1MUE4MjVCMDA0MTIzRkYgLyogY2FjaGVkLXBvd2Vycy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQThBNDc0NUUxNTFBODI1QjAwNDEyM0ZGIC8qIENoYXJhY3Rlck5hbWVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5NDE1MUE4MjVCMDA0MTIzRkYgLyogQ2hlY2tl
ZEFyaXRobWV0aWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3Mzk1MTUxQTgyNUIwMDQxMjNG
RiAvKiBDaGVja2VkQm9vbGVhbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NUYxNTFBODI1
QjAwNDEyM0ZGIC8qIENvbGxhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5ODE1MUE4
MjVCMDA0MTIzRkYgLyogQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3Mzk5MTUx
QTgyNUIwMDQxMjNGRiAvKiBDb21wbGV4LmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ4QzE1
MUE4MjY0MDA0MTIzRkYgLyogY29uZmlnLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5QjE1
MUE4MjVCMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE4QTQ3NDNBMTUxQTgyNUIwMDQxMjNGRiAvKiBDU3RyaW5nLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzM5RDE1MUE4MjVCMDA0MTIzRkYgLyogQ3VycmVudFRpbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzlGMTUxQTgyNUIwMDQxMjNGRiAvKiBEYXRhTG9nLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNBMTE1MUE4MjVCMDA0MTIzRkYgLyogRGF0ZU1hdGgu
aCBpbiBIZWFkZXJzICovLApAQCAtODk5LDI5ICs5MTQsMjYgQEAKIAkJCQlBOEE0NzNBNDE1MUE4
MjVCMDA0MTIzRkYgLyogRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQTUxNTFB
ODI1QjAwNDEyM0ZGIC8qIERlcXVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNBNjE1MUE4
MjVCMDA0MTIzRkYgLyogRGlzYWxsb3dDVHlwZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDcz
QTcxNTFBODI1QjAwNDEyM0ZGIC8qIERvdWJseUxpbmtlZExpc3QuaCBpbiBIZWFkZXJzICovLAot
CQkJCUE4QTQ3M0E5MTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0tZHRvYS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJQThBNDczQUIxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJQThBNDczQUQxNTFBODI1QjAwNDEyM0ZGIC8qIGNhY2hlZC1wb3dlcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3M0FGMTUxQTgyNUIwMDQxMjNGRiAvKiBkaXktZnAuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3M0IxMTUxQTgyNUIwMDQxMjNGRiAvKiBkb3VibGUtY29udmVy
c2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQjIxNTFBODI1QjAwNDEyM0ZGIC8qIGRv
dWJsZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczQjQxNTFBODI1QjAwNDEyM0ZGIC8qIGZh
c3QtZHRvYS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczQjYxNTFBODI1QjAwNDEyM0ZGIC8q
IGZpeGVkLWR0b2EuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0I4MTUxQTgyNUIwMDQxMjNG
RiAvKiBzdHJ0b2QuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0I5MTUxQTgyNUIwMDQxMjNG
RiAvKiB1dGlscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczQTcxNTFBODI1QjAwNDEyM0ZG
IC8qIERvdWJseUxpbmtlZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0JCMTUxQTgy
NUIwMDQxMjNGRiAvKiBkdG9hLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNCRDE1MUE4MjVC
MDA0MTIzRkYgLyogRHluYW1pY0Fubm90YXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0
NzNDMDE1MUE4MjVCMDA0MTIzRkYgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDczQzExNTFBODI1QjAwNDEyM0ZGIC8qIEV4cG9ydE1hY3Jvcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQThBNDczQjQxNTFBODI1QjAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThBNDczQzIxNTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RBbGxvY0Jhc2UuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTBGRDgxQUM1MTU0RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDNDE1MUE4MjVCMDA0MTIzRkYgLyogRmFzdE1hbGxv
Yy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczQjYxNTFBODI1QjAwNDEyM0ZGIC8qIGZpeGVk
LWR0b2EuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0M1MTUxQTgyNUIwMDQxMjNGRiAvKiBG
aXhlZEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDNjE1MUE4MjVCMDA0MTIzRkYg
LyogRmxvYXQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDNzE1MUE4MjVCMDA0
MTIzRkYgLyogRmxvYXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDODE1MUE4
MjVCMDA0MTIzRkYgLyogRm9yd2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzkxNTFB
ODI1QjAwNDEyM0ZGIC8qIEZ1bmN0aW9uYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0NB
MTUxQTgyNUIwMDQxMjNGRiAvKiBHZXRQdHIuaCBpbiBIZWFkZXJzICovLAorCQkJCTJDMDUzODU0
MTVCQzgxOTAwMEYyMUI5NiAvKiBHcmVnb3JpYW5EYXRlVGltZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDczRDMxNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hDb3VudGVkU2V0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzNENDE1MUE4MjVCMDA0MTIzRkYgLyogSGFzaEZ1bmN0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRDUxNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hJdGVyYXRv
cnMuaCBpbiBIZWFkZXJzICovLApAQCAtOTMxLDkgKzk0Myw5IEBACiAJCQkJQThBNDczREExNTFB
ODI1QjAwNDEyM0ZGIC8qIEhhc2hUcmFpdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0RC
MTUxQTgyNUIwMDQxMjNGRiAvKiBIZXhOdW1iZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3
M0RDMTUxQTgyNUIwMDQxMjNGRiAvKiBJbmxpbmVBU00uaCBpbiBIZWFkZXJzICovLAotCQkJCUE4
QTQ3M0REMTUxQTgyNUIwMDQxMjNGRiAvKiBJbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4QTQ3M0RFMTUxQTgyNUIwMDQxMjNGRiAvKiBJbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEE0NzNERjE1MUE4MjVCMDA0MTIzRkYgLyogSW50MzJBcnJheS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQThBNDczREQxNTFBODI1QjAwNDEyM0ZGIC8qIEludDhBcnJheS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDczRTAxNTFBODI1QjAwNDEyM0ZGIC8qIEludGVncmFsVHlwZWRBcnJh
eUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0UxMTUxQTgyNUIwMDQxMjNGRiAvKiBM
aXN0SGFzaFNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRTIxNTFBODI1QjAwNDEyM0ZG
IC8qIExpc3RSZWZQdHIuaCBpbiBIZWFkZXJzICovLApAQCAtOTYyLDE0ICs5NzQsMTggQEAKIAkJ
CQlBOEE0NzQwNDE1MUE4MjVCMDA0MTIzRkYgLyogUGFnZVJlc2VydmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzQwNTE1MUE4MjVCMDA0MTIzRkYgLyogUGFyYWxsZWxKb2JzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBOEE0NzQwODE1MUE4MjVCMDA0MTIzRkYgLyogUGFyYWxsZWxKb2Jz
TGliZGlzcGF0Y2guaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDcwMTUxQTgyNUIwMDQxMjNG
RiAvKiBQYXJzZWRVUkwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDBBMTUxQTgyNUIwMDQx
MjNGRiAvKiBQYXNzT3duQXJyYXlQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDBCMTUx
QTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duUHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQw
QzE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc1JlZlB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDc0MEQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NUcmFpdHMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE4NzZEQkQ4MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDc0MEUxNTFBODI1QjAwNDEyM0ZGIC8qIFBsYXRmb3JtLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEE0NzQwRjE1MUE4MjVCMDA0MTIzRkYgLyogUG9zc2libHlOdWxsLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkxNDNGNjEyMDE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDc0MTUxNTFBODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MTYxNTFBODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJl
clNlZWQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDcyMTUxQTgyNUIwMDQxMjNGRiAvKiBS
YXdVUkxCdWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDE3MTUxQTgyNUIwMDQxMjNG
RiAvKiBSZWRCbGFja1RyZWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDE4MTUxQTgyNUIw
MDQxMjNGRiAvKiBSZWZDb3VudGVkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQxOTE1MUE4
MjVCMDA0MTIzRkYgLyogUmVmQ291bnRlZEFycmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTk3Nyw2
ICs5OTMsNyBAQAogCQkJCUE4QTQ3NDFDMTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZQdHIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3NDFEMTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZQdHJIYXNoTWFw
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQxRTE1MUE4MjVCMDA0MTIzRkYgLyogUmV0YWlu
UHRyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ2NjE1MUE4MjVCMDA0MTIzRkYgLyogU2Ny
aXB0Q29kZXNGcm9tSUNVLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQxRjE1MUE4MjVCMDA0
MTIzRkYgLyogU2VnbWVudGVkVmVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyMDE1
MUE4MjVCMDA0MTIzRkYgLyogU2VudGluZWxMaW5rZWRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQyMjE1MUE4MjVCMDA0MTIzRkYgLyogU0hBMS5oIGluIEhlYWRlcnMgKi8sCkBAIC05
ODYsNTIgKzEwMDMsMzkgQEAKIAkJCQlBOEE0NzQyODE1MUE4MjVCMDA0MTIzRkYgLyogU3RhY2tC
b3VuZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDI5MTUxQTgyNUIwMDQxMjNGRiAvKiBT
dGF0aWNDb25zdHJ1Y3RvcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDJBMTUxQTgyNUIw
MDQxMjNGRiAvKiBTdGRMaWJFeHRyYXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDNCMTUx
QTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWZmZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3
NDNEMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBOEE0NzQzRTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3NDJDMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuaCBp
biBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDNGMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdIYXNo
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyRDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5n
SGFzaGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ0MTE1MUE4MjVCMDA0MTIzRkYgLyog
U3RyaW5nSW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NDIxNTFBODI1QjAwNDEyM0ZG
IC8qIFN0cmluZ09wZXJhdG9ycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczQjgxNTFBODI1
QjAwNDEyM0ZGIC8qIHN0cnRvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MkUxNTFBODI1
QjAwNDEyM0ZGIC8qIFRDUGFja2VkQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDJG
MTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1BhZ2VNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3
NDMwMTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1NwaW5Mb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzQzMjE1MUE4MjVCMDA0MTIzRkYgLyogVENTeXN0ZW1BbGxvYy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThBNDc0MzMxNTFBODI1QjAwNDEyM0ZGIC8qIFRlbXBvcmFyeUNoYW5nZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQThBNDc0MzQxNTFBODI1QjAwNDEyM0ZGIC8qIEFTQ0lJRmFzdFBhdGgu
aCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDM2MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNT
dHJpbmcuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDM3MTUxQTgyNUIwMDQxMjNGRiAvKiBB
dG9taWNTdHJpbmdIYXNoLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQzODE1MUE4MjVCMDA0
MTIzRkYgLyogQXRvbWljU3RyaW5nSW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0M0Ex
NTFBODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDNC
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWZmZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4
QTQ3NDNEMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywK
LQkJCQlBOEE0NzQzRTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUE4QTQ3NDNGMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdIYXNoLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ0MTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nSW1w
bC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NDIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmlu
Z09wZXJhdG9ycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NDQxNTFBODI1QjAwNDEyM0ZG
IC8qIFRleHRQb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NDYxNTFBODI1QjAw
NDEyM0ZGIC8qIFdURlN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NDcxNTFBODI1
QjAwNDEyM0ZGIC8qIFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDc0NDkxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVh
ZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDRCMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJl
YWRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDREMTUxQTgyNUIwMDQxMjNGRiAvKiBU
aHJlYWRpbmdQcmltaXRpdmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ1MDE1MUE4MjVC
MDA0MTIzRkYgLyogVGhyZWFkUmVzdHJpY3Rpb25WZXJpZmllci5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJQThBNDc0NTIxNTFBODI1QjAwNDEyM0ZGIC8qIEJpbmFyeVNlbWFwaG9yZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDc0NTQxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ1NTE1MUE4MjVCMDA0MTIzRkYgLyogVGhy
ZWFkU3BlY2lmaWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDU3MTUxQTgyNUIwMDQxMjNG
RiAvKiBUeXBlZEFycmF5QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NTkxNTFBODI1
QjAwNDEyM0ZGIC8qIFR5cGVUcmFpdHMuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDVBMTUx
QTgyNUIwMDQxMjNGRiAvKiBVaW50OEFycmF5LmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ1
QjE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhDbGFtcGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3NDVDMTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50MTZBcnJheS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThBNDc0NUQxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQzMkFycmF5LmggaW4gSGVh
ZGVycyAqLywKLQkJCQlBOEE0NzQ1RTE1MUE4MjVCMDA0MTIzRkYgLyogQ2hhcmFjdGVyTmFtZXMu
aCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDVGMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRv
ci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NjQxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNv
ZGVJY3UuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDY2MTUxQTgyNUIwMDQxMjNGRiAvKiBT
Y3JpcHRDb2Rlc0Zyb21JQ1UuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDVBMTUxQTgyNUIw
MDQxMjNGRiAvKiBVaW50OEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ1QjE1MUE4
MjVCMDA0MTIzRkYgLyogVWludDhDbGFtcGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3NDY3MTUxQTgyNUIwMDQxMjNGRiAvKiBVbmljb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
OEE0NzQ2NDE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZUljdS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDc0NjgxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNvZGVNYWNyb3NGcm9tSUNVLmggaW4g
SGVhZGVycyAqLywKLQkJCQlBOEE0NzQ2QTE1MUE4MjVCMDA0MTIzRkYgLyogVVRGOC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQThBNDc0NkQxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaW9uRmluZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NkUxNTFBODI1QjAwNDEyM0ZGIC8qIFVudXNlZFBhcmFt
LmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ3MDE1MUE4MjVCMDA0MTIzRkYgLyogUGFyc2Vk
VVJMLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ3MTE1MUE4MjVCMDA0MTIzRkYgLyogVVJM
U3RyaW5nLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ3MjE1MUE4MjVCMDA0MTIzRkYgLyog
UmF3VVJMQnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ3MzE1MUE4MjVCMDA0MTIz
RkYgLyogVVJMQnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ3NTE1MUE4MjVCMDA0
MTIzRkYgLyogVVJMQ2hhcmFjdGVyVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDc2
MTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxDb21wb25lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTAz
OSwxNSArMTA0MywxNSBAQAogCQkJCUE4QTQ3NDc5MTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxQYXJz
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDdBMTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxR
dWVyeUNhbm9uaWNhbGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDdDMTUxQTgyNUIw
MDQxMjNGRiAvKiBVUkxTZWdtZW50cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NzExNTFB
ODI1QjAwNDEyM0ZGIC8qIFVSTFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NkEx
NTFBODI1QjAwNDEyM0ZGIC8qIFVURjguaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3M0I5MTUx
QTgyNUIwMDQxMjNGRiAvKiB1dGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0N0QxNTFB
ODI1QjAwNDEyM0ZGIC8qIFZhbHVlQ2hlY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDdF
MTUxQTgyNUIwMDQxMjNGRiAvKiBWZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDdG
MTUxQTgyNUIwMDQxMjNGRiAvKiBWZWN0b3JUcmFpdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3NDgwMTUxQTgyNUIwMDQxMjNGRiAvKiBWTVRhZ3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4
QTQ3NDQ2MTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4QTQ3NDg3MTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZUaHJlYWREYXRhLmggaW4gSGVhZGVycyAq
LywKLQkJCQlBOEE0NzQ4QzE1MUE4MjY0MDA0MTIzRkYgLyogY29uZmlnLmggaW4gSGVhZGVycyAq
LywKLQkJCQkxNDNGNjEyMDE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMEZEODFBQzUxNTRGQjIyRTAwOTgzRTcyIC8qIEZhc3RCaXRWZWN0b3IuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTgxMzQwMTM5MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMTEzOSwyNiArMTE0MywzMSBAQAogCQkJCUE4QTQ3MzgxMTUxQTgyNUIw
MDQxMjNGRiAvKiBBcnJheUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM4MzE1
MUE4MjVCMDA0MTIzRkYgLyogQXJyYXlCdWZmZXJWaWV3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3Mzg2MTUxQTgyNUIwMDQxMjNGRiAvKiBBc3NlcnRpb25zLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUE4QTQ3NDM1MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmcuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODEzNDAxMzgxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBOEE0NzNBODE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLWR0b2Eu
Y2MgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzNBQTE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVt
LmNjIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDc0NTExNTFBODI1QjAwNDEyM0ZGIC8qIEJpbmFy
eVNlbWFwaG9yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM4QjE1MUE4MjVCMDA0MTIz
RkYgLyogQml0VmVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3M0FDMTUxQTgyNUIw
MDQxMjNGRiAvKiBjYWNoZWQtcG93ZXJzLmNjIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDc0NjAx
NTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9yRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBOEE0NzQ2MzE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JJQ1UuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThBNDczOUExNTFBODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3NDM5MTUxQTgyNUIwMDQxMjNG
RiAvKiBDU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3MzlDMTUxQTgyNUIwMDQx
MjNGRiAvKiBDdXJyZW50VGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM5RTE1MUE4
MjVCMDA0MTIzRkYgLyogRGF0YUxvZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNBMDE1
MUE4MjVCMDA0MTIzRkYgLyogRGF0ZU1hdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QTIxNTFBODI1QjAwNDEyM0ZGIC8qIERlY2ltYWxOdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJQThBNDczQTgxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmNjIGluIFNvdXJjZXMg
Ki8sCi0JCQkJQThBNDczQUExNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS5jYyBpbiBTb3VyY2Vz
ICovLAotCQkJCUE4QTQ3M0FDMTUxQTgyNUIwMDQxMjNGRiAvKiBjYWNoZWQtcG93ZXJzLmNjIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQUUxNTFBODI1QjAwNDEyM0ZGIC8qIGRpeS1mcC5jYyBp
biBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0IwMTUxQTgyNUIwMDQxMjNGRiAvKiBkb3VibGUtY29u
dmVyc2lvbi5jYyBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3M0IzMTUxQTgyNUIwMDQxMjNGRiAv
KiBmYXN0LWR0b2EuY2MgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzNCNTE1MUE4MjVCMDA0MTIz
RkYgLyogZml4ZWQtZHRvYS5jYyBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3M0I3MTUxQTgyNUIw
MDQxMjNGRiAvKiBzdHJ0b2QuY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCQTE1MUE4MjVC
MDA0MTIzRkYgLyogZHRvYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCQzE1MUE4MjVC
MDA0MTIzRkYgLyogRHluYW1pY0Fubm90YXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4
QTQ3M0IzMTUxQTgyNUIwMDQxMjNGRiAvKiBmYXN0LWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzNDMzE1MUE4MjVCMDA0MTIzRkYgLyogRmFzdE1hbGxvYy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBOEE0NzNCNTE1MUE4MjVCMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4QTQ3M0Q4MTUxQTgyNUIwMDQxMjNGRiAvKiBIYXNoVGFibGUuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJQThBNDczRTQxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWRN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNFNTE1MUE4MjVCMDA0MTIzRkYgLyogTWFp
blRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzNFNDE1MUE4MjVCMDA0MTIzRkYg
LyogTWFpblRocmVhZE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0U5MTUxQTgyNUIw
MDQxMjNGRiAvKiBNRDUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRUMxNTFBODI1QjAw
NDEyM0ZGIC8qIE1ldGFBbGxvY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRjIx
NTFBODI1QjAwNDEyM0ZGIC8qIE51bGxQdHIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTY3LDM1
ICsxMTc2LDMwIEBACiAJCQkJQThBNDczRjkxNTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291
cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDAwMTUxQTgyNUIwMDQxMjNGRiAvKiBQ
YWdlQWxsb2NhdGlvbkFsaWduZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MDIxNTFB
ODI1QjAwNDEyM0ZGIC8qIFBhZ2VCbG9jay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzQ2
RjE1MUE4MjVCMDA0MTIzRkYgLyogUGFyc2VkVVJMLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0
M0Y2MTFGMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3NDE0MTUxQTgyNUIwMDQxMjNGRiAvKiBSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThBNDc0MUExNTFBODI1QjAwNDEyM0ZGIC8qIFJlZkNvdW50ZWRMZWFrQ291bnRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyMTE1MUE4MjVCMDA0MTIzRkYgLyogU0hB
MS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyNTE1MUE4MjVCMDA0MTIzRkYgLyogU2l6
ZUxpbWl0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQyNzE1MUE4MjVCMDA0MTIzRkYg
LyogU3RhY2tCb3VuZHMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDc0MkIxNTFBODI1QjAw
NDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQzMTE1
MUE4MjVCMDA0MTIzRkYgLyogVENTeXN0ZW1BbGxvYy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlB
OEE0NzQzNTE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUE4QTQ3NDM5MTUxQTgyNUIwMDQxMjNGRiAvKiBDU3RyaW5nLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4QTQ3NDNDMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUE4QTQ3NDJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRy
YXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0NDAxNTFBODI1QjAwNDEyM0ZGIC8qIFN0
cmluZ0ltcGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0NDMxNTFBODI1QjAwNDEyM0ZG
IC8qIFN0cmluZ1N0YXRpY3MuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDMzMEYzOEYxNTc0NUIw
NTAwQUFGQThGIC8qIFVSTFN0cmluZy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQ0NTE1
MUE4MjVCMDA0MTIzRkYgLyogV1RGU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3
M0I3MTUxQTgyNUIwMDQxMjNGRiAvKiBzdHJ0b2QuY2MgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0
NzQzMTE1MUE4MjVCMDA0MTIzRkYgLyogVENTeXN0ZW1BbGxvYy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBOEE0NzQ0ODE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkSWRlbnRpZmllckRhdGFQdGhy
ZWFkcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQ0QTE1MUE4MjVCMDA0MTIzRkYgLyog
VGhyZWFkaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDRFMTUxQTgyNUIwMDQxMjNG
RiAvKiBUaHJlYWRpbmdQdGhyZWFkcy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQ1MTE1
MUE4MjVCMDA0MTIzRkYgLyogQmluYXJ5U2VtYXBob3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3NDU4MTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlVHJhaXRzLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUE4QTQ3NDYwMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRvckRlZmF1bHQuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJQThBNDc0NjMxNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9ySUNV
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3NDY5MTUxQTgyNUIwMDQxMjNGRiAvKiBVVEY4
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3NDZGMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXJz
ZWRVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0NzQxNTFBODI1QjAwNDEyM0ZGIC8q
IFVSTENoYXJhY3RlclR5cGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDc3MTUxQTgy
NUIwMDQxMjNGRiAvKiBVUkxFc2NhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0N0Ix
NTFBODI1QjAwNDEyM0ZGIC8qIFVSTFNlZ21lbnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQz
MzBGMzhGMTU3NDVCMDUwMEFBRkE4RiAvKiBVUkxTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQThBNDc0NjkxNTFBODI1QjAwNDEyM0ZGIC8qIFVURjguY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQThBNDc0NDUxNTFBODI1QjAwNDEyM0ZGIC8qIFdURlN0cmluZy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBOEE0NzQ4NjE1MUE4MjVCMDA0MTIzRkYgLyogV1RGVGhyZWFkRGF0YS5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQkxNDNGNjExRjE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk4MTM0MDEzODE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA5ZDM0ZDQ1NjM5NmMzYTkw
NWNmNTlmMjg1YThiMTkwZjM0OWJlY2IzLi5iZDI5MTQ5NzE4YTA0ZDgxNDc3MzQ4OWY3ZDZlMDEw
YTUxZTg5Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMjgsNiArMjgsNyBAQCBTRVQoV1RG
X0hFQURFUlMKICAgICBGaXhlZEFycmF5LmgKICAgICBGb3J3YXJkLmgKICAgICBHZXRQdHIuaAor
ICAgIEdyZWdvcmlhbkRhdGVUaW1lLmgKICAgICBIYXNoQ291bnRlZFNldC5oCiAgICAgSGFzaEZ1
bmN0aW9ucy5oCiAgICAgSGFzaEl0ZXJhdG9ycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9HcmVnb3JpYW5EYXRlVGltZS5oIGIvU291cmNlL1dURi93dGYvR3JlZ29yaWFuRGF0ZVRpbWUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yYjRmYzM1MmYwOGVlNmJjYWRiOWFmOGUyNDc1Y2IzNjY5MDNmYmMwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaApAQCAt
MCwwICsxLDEyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBQYXRyaWNrIEdhbnN0ZXJl
ciA8cGFyb2dhQHBhcm9nYS5jb20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfR3JlZ29yaWFuRGF0ZVRpbWVfaAorI2RlZmlu
ZSBXVEZfR3JlZ29yaWFuRGF0ZVRpbWVfaAorCisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKKyAgICBHcmVn
b3JpYW5EYXRlVGltZSgpCisgICAgICAgIDogbV95ZWFyKDApCisgICAgICAgICwgbV9tb250aCgw
KQorICAgICAgICAsIG1feWVhckRheSgwKQorICAgICAgICAsIG1fbW9udGhEYXkoMCkKKyAgICAg
ICAgLCBtX3dlZWtEYXkoMCkKKyAgICAgICAgLCBtX2hvdXIoMCkKKyAgICAgICAgLCBtX21pbnV0
ZSgwKQorICAgICAgICAsIG1fc2Vjb25kKDApCisgICAgICAgICwgbV91dGNPZmZzZXQoMCkKKyAg
ICAgICAgLCBtX2lzRFNUKDApCisgICAgeworICAgIH0KKworICAgIGlubGluZSBpbnQgeWVhcigp
IGNvbnN0IHsgcmV0dXJuIG1feWVhcjsgfQorICAgIGlubGluZSBpbnQgbW9udGgoKSBjb25zdCB7
IHJldHVybiBtX21vbnRoOyB9CisgICAgaW5saW5lIGludCB5ZWFyRGF5KCkgY29uc3QgeyByZXR1
cm4gbV95ZWFyRGF5OyB9CisgICAgaW5saW5lIGludCBtb250aERheSgpIGNvbnN0IHsgcmV0dXJu
IG1fbW9udGhEYXk7IH0KKyAgICBpbmxpbmUgaW50IHdlZWtEYXkoKSBjb25zdCB7IHJldHVybiBt
X3dlZWtEYXk7IH0KKyAgICBpbmxpbmUgaW50IGhvdXIoKSBjb25zdCB7IHJldHVybiBtX2hvdXI7
IH0KKyAgICBpbmxpbmUgaW50IG1pbnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWludXRlOyB9Cisg
ICAgaW5saW5lIGludCBzZWNvbmQoKSBjb25zdCB7IHJldHVybiBtX3NlY29uZDsgfQorICAgIGlu
bGluZSBpbnQgdXRjT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV91dGNPZmZzZXQ7IH0KKyAgICBp
bmxpbmUgaW50IGlzRFNUKCkgY29uc3QgeyByZXR1cm4gbV9pc0RTVDsgfQorCisgICAgaW5saW5l
IHZvaWQgc2V0WWVhcihpbnQgeWVhcikgeyBtX3llYXIgPSB5ZWFyOyB9CisgICAgaW5saW5lIHZv
aWQgc2V0TW9udGgoaW50IG1vbnRoKSB7IG1fbW9udGggPSBtb250aDsgfQorICAgIGlubGluZSB2
b2lkIHNldFllYXJEYXkoaW50IHllYXJEYXkpIHsgbV95ZWFyRGF5ID0geWVhckRheTsgfQorICAg
IGlubGluZSB2b2lkIHNldE1vbnRoRGF5KGludCBtb250aERheSkgeyBtX21vbnRoRGF5ID0gbW9u
dGhEYXk7IH0KKyAgICBpbmxpbmUgdm9pZCBzZXRXZWVrRGF5KGludCB3ZWVrRGF5KSB7IG1fd2Vl
a0RheSA9IHdlZWtEYXk7IH0KKyAgICBpbmxpbmUgdm9pZCBzZXRIb3VyKGludCBob3VyKSB7IG1f
aG91ciA9IGhvdXI7IH0KKyAgICBpbmxpbmUgdm9pZCBzZXRNaW51dGUoaW50IG1pbnV0ZSkgeyBt
X21pbnV0ZSA9IG1pbnV0ZTsgfQorICAgIGlubGluZSB2b2lkIHNldFNlY29uZChpbnQgc2Vjb25k
KSB7IG1fc2Vjb25kID0gc2Vjb25kOyB9CisgICAgaW5saW5lIHZvaWQgc2V0VXRjT2Zmc2V0KGlu
dCB1dGNPZmZzZXQpIHsgbV91dGNPZmZzZXQgPSB1dGNPZmZzZXQ7IH0KKyAgICBpbmxpbmUgdm9p
ZCBzZXRJc0RTVChpbnQgaXNEU1QpIHsgbV9pc0RTVCA9IGlzRFNUOyB9CisKKyAgICBvcGVyYXRv
ciB0bSgpIGNvbnN0CisgICAgeworICAgICAgICB0bSByZXQ7CisgICAgICAgIG1lbXNldCgmcmV0
LCAwLCBzaXplb2YocmV0KSk7CisKKyAgICAgICAgcmV0LnRtX3llYXIgPSBtX3llYXI7CisgICAg
ICAgIHJldC50bV9tb24gPSBtX21vbnRoOworICAgICAgICByZXQudG1feWRheSA9IG1feWVhckRh
eTsKKyAgICAgICAgcmV0LnRtX21kYXkgPSBtX21vbnRoRGF5OworICAgICAgICByZXQudG1fd2Rh
eSA9IG1fd2Vla0RheTsKKyAgICAgICAgcmV0LnRtX2hvdXIgPSBtX2hvdXI7CisgICAgICAgIHJl
dC50bV9taW4gPSBtX21pbnV0ZTsKKyAgICAgICAgcmV0LnRtX3NlYyA9IG1fc2Vjb25kOworICAg
ICAgICByZXQudG1faXNkc3QgPSBtX2lzRFNUOworCisjaWYgSEFWRShUTV9HTVRPRkYpCisgICAg
ICAgIHJldC50bV9nbXRvZmYgPSBzdGF0aWNfY2FzdDxsb25nPihtX3V0Y09mZnNldCk7CisjZW5k
aWYKKworICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKworICAgIHZvaWQgY29weUZyb20oY29u
c3QgR3JlZ29yaWFuRGF0ZVRpbWUmIG90aGVyKQorICAgIHsKKyAgICAgICAgbV95ZWFyID0gb3Ro
ZXIubV95ZWFyOworICAgICAgICBtX21vbnRoID0gb3RoZXIubV9tb250aDsKKyAgICAgICAgbV95
ZWFyRGF5ID0gb3RoZXIubV95ZWFyRGF5OworICAgICAgICBtX21vbnRoRGF5ID0gb3RoZXIubV9t
b250aERheTsKKyAgICAgICAgbV93ZWVrRGF5ID0gb3RoZXIubV93ZWVrRGF5OworICAgICAgICBt
X2hvdXIgPSBvdGhlci5tX2hvdXI7CisgICAgICAgIG1fbWludXRlID0gb3RoZXIubV9taW51dGU7
CisgICAgICAgIG1fc2Vjb25kID0gb3RoZXIubV9zZWNvbmQ7CisgICAgICAgIG1fdXRjT2Zmc2V0
ID0gb3RoZXIubV91dGNPZmZzZXQ7CisgICAgICAgIG1faXNEU1QgPSBvdGhlci5tX2lzRFNUOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBpbnQgbV95ZWFyOworICAgIGludCBtX21vbnRoOworICAg
IGludCBtX3llYXJEYXk7CisgICAgaW50IG1fbW9udGhEYXk7CisgICAgaW50IG1fd2Vla0RheTsK
KyAgICBpbnQgbV9ob3VyOworICAgIGludCBtX21pbnV0ZTsKKyAgICBpbnQgbV9zZWNvbmQ7Cisg
ICAgaW50IG1fdXRjT2Zmc2V0OworICAgIGludCBtX2lzRFNUOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV1RGCisKK3VzaW5nIFdURjo6R3JlZ29yaWFuRGF0ZVRpbWU7CisKKyNlbmRpZiAvLyBXVEZf
R3JlZ29yaWFuRGF0ZVRpbWVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153709</attachid>
            <date>2012-07-22 15:41:24 -0700</date>
            <delta_ts>2012-07-22 23:30:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91948-20120723004115.patch</filename>
            <type>text/plain</type>
            <size>65400</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NjM0YTFiZmQ4YjhkYmIxZjQ3MjU4Y2NjZWNmZDY3YzEzMzdkMWU3Li5lM2NiZDM1NDdmNWU5NjNi
NGE2N2NjZDJhZjBlNDQxNjllZjAzZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0wNy0yMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBNb3ZlIEdyZWdvcmlhbkRhdGVUaW1lIGZyb20gSlNDIHRvIFdURiBu
YW1lc3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkxOTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW92aW5nIEdyZWdvcmlhbkRhdGVUaW1lIGludG8gdGhlIFdURiBuYW1lc3BhY2UgYWxsb3dzIHVz
IHRvIHVzIHRvCisgICAgICAgIHVzZSBpdCBpbiBXZWJDb3JlIHRvby4gVGhlIG5ldyBjbGFzcyBo
YXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHRoZQorICAgICAgICBvbGQgc3RydWN0LiBPbmx5IHRo
ZSB1bnVzZWQgdGltZVpvbmUgbWVtYmVyIGhhcyBiZWVuIHJlbW92ZWQuCisKKyAgICAgICAgKiBy
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29udmVy
c2lvbi5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29udmVyc2lvbi5oOgorICAgICAgICAq
IHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguY3BwOgorICAgICAgICAqIHJ1bnRp
bWUvSlNEYXRlTWF0aC5oOgorCiAyMDEyLTA3LTIyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgRU5BQkxFX0RFVEFJTFMgdG8gRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCBiNjFkNzhjMzVlNDk2ODhhM2ZhYTkxNmE3YWQ1MDMxNmFjMDBmYjEz
Li5kNGJkMDYwM2JlOGIwYzE3NDVhNjRkOGYzYmNmMmExYmMxMzMyNDJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTA3LTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3Jn
PgorCisgICAgICAgIE1vdmUgR3JlZ29yaWFuRGF0ZVRpbWUgZnJvbSBKU0MgdG8gV1RGIG5hbWVz
cGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE5
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zp
bmcgR3JlZ29yaWFuRGF0ZVRpbWUgaW50byB0aGUgV1RGIG5hbWVzcGFjZSBhbGxvd3MgdXMgdG8g
dXMgdG8KKyAgICAgICAgdXNlIGl0IGluIFdlYkNvcmUgdG9vLiBUaGUgbmV3IGNsYXNzIGhhcyB0
aGUgc2FtZSBiZWhhdmlvdXIgYXMgdGhlCisgICAgICAgIG9sZCBzdHJ1Y3QuIE9ubHkgdGhlIHVu
dXNlZCB0aW1lWm9uZSBtZW1iZXIgaGFzIGJlZW4gcmVtb3ZlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0dyZWdvcmlhbkRhdGVUaW1lLmg6IEFkZGVk
LgorICAgICAgICAoR3JlZ29yaWFuRGF0ZVRpbWUpOgorCiAyMDEyLTA3LTIwICBIYW4gU2hlbiAg
PHNoZW5oYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIENvbXBpbGF0aW9uIGZh
aWxzIHVuZGVyIGdjYyA0LjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1MDgzOWQyMDM2YjZkMGFiMzU2NmJjOTYw
NWM0YWM0Y2Q4MzFlYTE2Li4xYjk0NDY2ODA1YTFiYmM0NjkwNWQ2ZWQ3YzZjYTY3NDRjMGM4YTIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDctMjIgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBHcmVnb3JpYW5EYXRlVGlt
ZSBmcm9tIEpTQyB0byBXVEYgbmFtZXNwYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTk0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vdmluZyBHcmVnb3JpYW5EYXRlVGltZSBpbnRvIHRoZSBXVEYg
bmFtZXNwYWNlIGFsbG93cyB1cyB0byB1cyB0bworICAgICAgICB1c2UgaXQgaW4gV2ViQ29yZSB0
b28uIFRoZSBuZXcgY2xhc3MgaGFzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyB0aGUKKyAgICAgICAg
b2xkIHN0cnVjdC4gT25seSB0aGUgdW51c2VkIHRpbWVab25lIG1lbWJlciBoYXMgYmVlbiByZW1v
dmVkLgorCisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWVfcXQ0LmNwcDoKKyAgICAgICAg
KEpTQzo6QmluZGluZ3M6OmNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQpOgorICAgICAgICAoSlNDOjpC
aW5kaW5nczo6Y29udmVydFFWYXJpYW50VG9WYWx1ZSk6CisKIDIwMTItMDctMjIgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSBFTkFCTEVfREVUQUlM
UyB0byBFTkFCTEVfREVUQUlMU19FTEVNRU5UCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRleCAwOGI4MTUwMzUxNDlmNjQ5YWU0YWYz
MjFiZWFlYzU3NzRlZTRmMjIwLi4wMzI1MDgwZjZkODliNTE1NWNlZjYyZDQ1MzhlMjdhNWRiMzVm
OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3Ry
dWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1
Y3Rvci5jcHAKQEAgLTEzNiwxMyArMTM2LDEzIEBAIEpTT2JqZWN0KiBjb25zdHJ1Y3REYXRlKEV4
ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgQXJnCiAg
ICAgICAgIGVsc2UgewogICAgICAgICAgICAgR3JlZ29yaWFuRGF0ZVRpbWUgdDsKICAgICAgICAg
ICAgIGludCB5ZWFyID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1swXSk7Ci0gICAgICAg
ICAgICB0LnllYXIgPSAoeWVhciA+PSAwICYmIHllYXIgPD0gOTkpID8geWVhciA6IHllYXIgLSAx
OTAwOwotICAgICAgICAgICAgdC5tb250aCA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNb
MV0pOwotICAgICAgICAgICAgdC5tb250aERheSA9IChudW1BcmdzID49IDMpID8gSlNDOjp0b0lu
dDMyKGRvdWJsZUFyZ3VtZW50c1syXSkgOiAxOwotICAgICAgICAgICAgdC5ob3VyID0gSlNDOjp0
b0ludDMyKGRvdWJsZUFyZ3VtZW50c1szXSk7Ci0gICAgICAgICAgICB0Lm1pbnV0ZSA9IEpTQzo6
dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNF0pOwotICAgICAgICAgICAgdC5zZWNvbmQgPSBKU0M6
OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzVdKTsKLSAgICAgICAgICAgIHQuaXNEU1QgPSAtMTsK
KyAgICAgICAgICAgIHQuc2V0WWVhcigoeWVhciA+PSAwICYmIHllYXIgPD0gOTkpID8geWVhciA6
IHllYXIgLSAxOTAwKTsKKyAgICAgICAgICAgIHQuc2V0TW9udGgoSlNDOjp0b0ludDMyKGRvdWJs
ZUFyZ3VtZW50c1sxXSkpOworICAgICAgICAgICAgdC5zZXRNb250aERheSgobnVtQXJncyA+PSAz
KSA/IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMl0pIDogMSk7CisgICAgICAgICAgICB0
LnNldEhvdXIoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1szXSkpOworICAgICAgICAgICAg
dC5zZXRNaW51dGUoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s0XSkpOworICAgICAgICAg
ICAgdC5zZXRTZWNvbmQoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s1XSkpOworICAgICAg
ICAgICAgdC5zZXRJc0RTVCgtMSk7CiAgICAgICAgICAgICBkb3VibGUgbXMgPSAobnVtQXJncyA+
PSA3KSA/IGRvdWJsZUFyZ3VtZW50c1s2XSA6IDA7CiAgICAgICAgICAgICB2YWx1ZSA9IGdyZWdv
cmlhbkRhdGVUaW1lVG9NUyhleGVjLCB0LCBtcywgZmFsc2UpOwogICAgICAgICB9CkBAIC0yMTQs
MTIgKzIxNCwxMiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlVVRD
KEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIEdyZWdvcmlhbkRhdGVUaW1lIHQ7CiAgICAgaW50IHll
YXIgPSBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzBdKTsKLSAgICB0LnllYXIgPSAoeWVh
ciA+PSAwICYmIHllYXIgPD0gOTkpID8geWVhciA6IHllYXIgLSAxOTAwOwotICAgIHQubW9udGgg
PSBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzFdKTsKLSAgICB0Lm1vbnRoRGF5ID0gKG4g
Pj0gMykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzJdKSA6IDE7Ci0gICAgdC5ob3Vy
ID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1szXSk7Ci0gICAgdC5taW51dGUgPSBKU0M6
OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzRdKTsKLSAgICB0LnNlY29uZCA9IEpTQzo6dG9JbnQz
Mihkb3VibGVBcmd1bWVudHNbNV0pOworICAgIHQuc2V0WWVhcigoeWVhciA+PSAwICYmIHllYXIg
PD0gOTkpID8geWVhciA6IHllYXIgLSAxOTAwKTsKKyAgICB0LnNldE1vbnRoKEpTQzo6dG9JbnQz
Mihkb3VibGVBcmd1bWVudHNbMV0pKTsKKyAgICB0LnNldE1vbnRoRGF5KChuID49IDMpID8gSlND
Ojp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1syXSkgOiAxKTsKKyAgICB0LnNldEhvdXIoSlNDOjp0
b0ludDMyKGRvdWJsZUFyZ3VtZW50c1szXSkpOworICAgIHQuc2V0TWludXRlKEpTQzo6dG9JbnQz
Mihkb3VibGVBcmd1bWVudHNbNF0pKTsKKyAgICB0LnNldFNlY29uZChKU0M6OnRvSW50MzIoZG91
YmxlQXJndW1lbnRzWzVdKSk7CiAgICAgZG91YmxlIG1zID0gKG4gPj0gNykgPyBkb3VibGVBcmd1
bWVudHNbNl0gOiAwOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIodGltZUNs
aXAoZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKGV4ZWMsIHQsIG1zLCB0cnVlKSkpKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb252ZXJzaW9uLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb252ZXJzaW9uLmNwcAppbmRleCA3
YmMwY2JjMGZhNTljZjU1MjkwOWUzMGJmN2QzYWJhNzgwYTg1OGI4Li41N2QzMGE0MmU4Y2NkMWNj
MGNlMWUxNDNmZDk0OTQzNzVjZGYyMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZUNvbnZlcnNpb24uY3BwCkBAIC03MCwzOCArNzAsMzggQEAgZG91YmxlIHBh
cnNlRGF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFVTdHJpbmcgJmRhdGUpCiB2b2lkIGZvcm1h
dERhdGUoY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUgJnQsIERhdGVDb252ZXJzaW9uQnVmZmVyJiBi
dWZmZXIpCiB7CiAgICAgc25wcmludGYoYnVmZmVyLCBEYXRlQ29udmVyc2lvbkJ1ZmZlclNpemUs
ICIlcyAlcyAlMDJkICUwNGQiLAotICAgICAgICB3ZWVrZGF5TmFtZVsodC53ZWVrRGF5ICsgNikg
JSA3XSwKLSAgICAgICAgbW9udGhOYW1lW3QubW9udGhdLCB0Lm1vbnRoRGF5LCB0LnllYXIgKyAx
OTAwKTsKKyAgICAgICAgd2Vla2RheU5hbWVbKHQud2Vla0RheSgpICsgNikgJSA3XSwKKyAgICAg
ICAgbW9udGhOYW1lW3QubW9udGgoKV0sIHQubW9udGhEYXkoKSwgdC55ZWFyKCkgKyAxOTAwKTsK
IH0KIAogdm9pZCBmb3JtYXREYXRlVVRDVmFyaWFudChjb25zdCBHcmVnb3JpYW5EYXRlVGltZSAm
dCwgRGF0ZUNvbnZlcnNpb25CdWZmZXImIGJ1ZmZlcikKIHsKICAgICBzbnByaW50ZihidWZmZXIs
IERhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiVzLCAlMDJkICVzICUwNGQiLAotICAgICAgICB3
ZWVrZGF5TmFtZVsodC53ZWVrRGF5ICsgNikgJSA3XSwKLSAgICAgICAgdC5tb250aERheSwgbW9u
dGhOYW1lW3QubW9udGhdLCB0LnllYXIgKyAxOTAwKTsKKyAgICAgICAgd2Vla2RheU5hbWVbKHQu
d2Vla0RheSgpICsgNikgJSA3XSwKKyAgICAgICAgdC5tb250aERheSgpLCBtb250aE5hbWVbdC5t
b250aCgpXSwgdC55ZWFyKCkgKyAxOTAwKTsKIH0KIAogdm9pZCBmb3JtYXRUaW1lKGNvbnN0IEdy
ZWdvcmlhbkRhdGVUaW1lICZ0LCBEYXRlQ29udmVyc2lvbkJ1ZmZlciYgYnVmZmVyKQogewotICAg
IGludCBvZmZzZXQgPSBhYnMoZ210b2Zmc2V0KHQpKTsKKyAgICBpbnQgb2Zmc2V0ID0gYWJzKHQu
dXRjT2Zmc2V0KCkpOwogICAgIGNoYXIgdGltZVpvbmVOYW1lWzcwXTsKICAgICBzdHJ1Y3QgdG0g
Z3RtID0gdDsKICAgICBzdHJmdGltZSh0aW1lWm9uZU5hbWUsIHNpemVvZih0aW1lWm9uZU5hbWUp
LCAiJVoiLCAmZ3RtKTsKIAogICAgIGlmICh0aW1lWm9uZU5hbWVbMF0pIHsKICAgICAgICAgc25w
cmludGYoYnVmZmVyLCBEYXRlQ29udmVyc2lvbkJ1ZmZlclNpemUsICIlMDJkOiUwMmQ6JTAyZCBH
TVQlYyUwMmQlMDJkICglcykiLAotICAgICAgICAgICAgdC5ob3VyLCB0Lm1pbnV0ZSwgdC5zZWNv
bmQsCi0gICAgICAgICAgICBnbXRvZmZzZXQodCkgPCAwID8gJy0nIDogJysnLCBvZmZzZXQgLyAo
NjAqNjApLCAob2Zmc2V0IC8gNjApICUgNjAsIHRpbWVab25lTmFtZSk7CisgICAgICAgICAgICB0
LmhvdXIoKSwgdC5taW51dGUoKSwgdC5zZWNvbmQoKSwKKyAgICAgICAgICAgIHQudXRjT2Zmc2V0
KCkgPCAwID8gJy0nIDogJysnLCBvZmZzZXQgLyAoNjAqNjApLCAob2Zmc2V0IC8gNjApICUgNjAs
IHRpbWVab25lTmFtZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgc25wcmludGYoYnVmZmVyLCBE
YXRlQ29udmVyc2lvbkJ1ZmZlclNpemUsICIlMDJkOiUwMmQ6JTAyZCBHTVQlYyUwMmQlMDJkIiwK
LSAgICAgICAgICAgIHQuaG91ciwgdC5taW51dGUsIHQuc2Vjb25kLAotICAgICAgICAgICAgZ210
b2Zmc2V0KHQpIDwgMCA/ICctJyA6ICcrJywgb2Zmc2V0IC8gKDYwKjYwKSwgKG9mZnNldCAvIDYw
KSAlIDYwKTsKKyAgICAgICAgICAgIHQuaG91cigpLCB0Lm1pbnV0ZSgpLCB0LnNlY29uZCgpLAor
ICAgICAgICAgICAgdC51dGNPZmZzZXQoKSA8IDAgPyAnLScgOiAnKycsIG9mZnNldCAvICg2MCo2
MCksIChvZmZzZXQgLyA2MCkgJSA2MCk7CiAgICAgfQogfQogCiB2b2lkIGZvcm1hdFRpbWVVVEMo
Y29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUgJnQsIERhdGVDb252ZXJzaW9uQnVmZmVyJiBidWZmZXIp
CiB7Ci0gICAgc25wcmludGYoYnVmZmVyLCBEYXRlQ29udmVyc2lvbkJ1ZmZlclNpemUsICIlMDJk
OiUwMmQ6JTAyZCBHTVQiLCB0LmhvdXIsIHQubWludXRlLCB0LnNlY29uZCk7CisgICAgc25wcmlu
dGYoYnVmZmVyLCBEYXRlQ29udmVyc2lvbkJ1ZmZlclNpemUsICIlMDJkOiUwMmQ6JTAyZCBHTVQi
LCB0LmhvdXIoKSwgdC5taW51dGUoKSwgdC5zZWNvbmQoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnZl
cnNpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb252ZXJzaW9uLmgK
aW5kZXggZmYzMmI1MDNkODUyZDgxNGFhNGJiZWVkYmMxMjBmNjI1ZjJmZGJkOC4uNTI2OWI1MThl
NzczMjQwZGU5NjlhYWE2MWY3MjE0MzUyNzhlOThhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnZlcnNpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5oCkBAIC00MywxMSArNDMsMTEgQEAKICNkZWZp
bmUgRGF0ZUNvbnZlcnNpb25faAogCiAjaW5jbHVkZSAiVVN0cmluZy5oIgorI2luY2x1ZGUgPHd0
Zi9HcmVnb3JpYW5EYXRlVGltZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgRXhlY1N0
YXRlOwotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lOwogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
RGF0ZUNvbnZlcnNpb25CdWZmZXJTaXplID0gMTAwOwogdHlwZWRlZiBjaGFyIERhdGVDb252ZXJz
aW9uQnVmZmVyW0RhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZV07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCmluZGV4IDdjOTc2YTUxNGE2ZDNhOTNlNjQyY2Qx
YTU4MDVlNDEyOTg2MTM2YzUuLjk3NDJlNjg4OWQyMjEyMTk3Y2ZiMGU4MWEwOTZlMmYzYmU1ZjVm
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5oCkBA
IC0yMywxMCArMjMsNiBAQAogCiAjaW5jbHVkZSAiSlNXcmFwcGVyT2JqZWN0LmgiCiAKLW5hbWVz
cGFjZSBXVEYgewotICAgIHN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZTsKLX0KLQogbmFtZXNwYWNl
IEpTQyB7CiAKICAgICBjbGFzcyBEYXRlSW5zdGFuY2UgOiBwdWJsaWMgSlNXcmFwcGVyT2JqZWN0
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5
cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAK
aW5kZXggZDNkMGZlNTc0MTIzZGZjYjE5NDgwZWE4YzU1MTU1NGIyNjNlZDA3OC4uYWE2NWFjZDA1
YmZiNDE1ZmNmYmIxMDI4ZTc1YjFhZGQzZDQ1MmY4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAKQEAgLTIyMiwxMyArMjIyLDEzIEBAIHN0
YXRpYyBKU0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBHcmVn
b3JpYW5EYXRlVGltZSYgZ2R0LCBMCiAjaWYgT1MoV0lORE9XUykKICAgICBTWVNURU1USU1FIHN5
c3RlbVRpbWU7CiAgICAgbWVtc2V0KCZzeXN0ZW1UaW1lLCAwLCBzaXplb2Yoc3lzdGVtVGltZSkp
OwotICAgIHN5c3RlbVRpbWUud1llYXIgPSBnZHQueWVhciArIDE5MDA7Ci0gICAgc3lzdGVtVGlt
ZS53TW9udGggPSBnZHQubW9udGggKyAxOwotICAgIHN5c3RlbVRpbWUud0RheSA9IGdkdC5tb250
aERheTsKLSAgICBzeXN0ZW1UaW1lLndEYXlPZldlZWsgPSBnZHQud2Vla0RheTsKLSAgICBzeXN0
ZW1UaW1lLndIb3VyID0gZ2R0LmhvdXI7Ci0gICAgc3lzdGVtVGltZS53TWludXRlID0gZ2R0Lm1p
bnV0ZTsKLSAgICBzeXN0ZW1UaW1lLndTZWNvbmQgPSBnZHQuc2Vjb25kOworICAgIHN5c3RlbVRp
bWUud1llYXIgPSBnZHQueWVhcigpICsgMTkwMDsKKyAgICBzeXN0ZW1UaW1lLndNb250aCA9IGdk
dC5tb250aCgpICsgMTsKKyAgICBzeXN0ZW1UaW1lLndEYXkgPSBnZHQubW9udGhEYXkoKTsKKyAg
ICBzeXN0ZW1UaW1lLndEYXlPZldlZWsgPSBnZHQud2Vla0RheSgpOworICAgIHN5c3RlbVRpbWUu
d0hvdXIgPSBnZHQuaG91cigpOworICAgIHN5c3RlbVRpbWUud01pbnV0ZSA9IGdkdC5taW51dGUo
KTsKKyAgICBzeXN0ZW1UaW1lLndTZWNvbmQgPSBnZHQuc2Vjb25kKCk7CiAKICAgICBWZWN0b3I8
VUNoYXIsIDEyOD4gYnVmZmVyOwogICAgIHNpemVfdCBsZW5ndGggPSAwOwpAQCAtMjY1LDcgKzI2
NSw3IEBAIHN0YXRpYyBKU0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBHcmVnb3JpYW5EYXRlVGltZSYgZ2R0LCBMCiAKICAgICAvLyBPZmZzZXQgeWVhciBpZiBu
ZWVkZWQKICAgICBzdHJ1Y3QgdG0gbG9jYWxUTSA9IGdkdDsKLSAgICBpbnQgeWVhciA9IGdkdC55
ZWFyICsgMTkwMDsKKyAgICBpbnQgeWVhciA9IGdkdC55ZWFyKCkgKyAxOTAwOwogICAgIGJvb2wg
eWVhck5lZWRzT2Zmc2V0ID0geWVhciA8IDE5MDAgfHwgeWVhciA+IDIwMzg7CiAgICAgaWYgKHll
YXJOZWVkc09mZnNldCkKICAgICAgICAgbG9jYWxUTS50bV95ZWFyID0gZXF1aXZhbGVudFllYXJG
b3JEU1QoeWVhcikgLSAxOTAwOwpAQCAtMzU3LDcgKzM1Nyw3IEBAIHN0YXRpYyBib29sIGZpbGxT
dHJ1Y3R1cmVzVXNpbmdUaW1lQXJncyhFeGVjU3RhdGUqIGV4ZWMsIGludCBtYXhBcmdzLCBkb3Vi
bGUqIG1zCiAKICAgICAvLyBob3VycwogICAgIGlmIChtYXhBcmdzID49IDQgJiYgaWR4IDwgbnVt
QXJncykgewotICAgICAgICB0LT5ob3VyID0gMDsKKyAgICAgICAgdC0+c2V0SG91cigwKTsKICAg
ICAgICAgZG91YmxlIGhvdXJzID0gZXhlYy0+YXJndW1lbnQoaWR4KyspLnRvSW50ZWdlclByZXNl
cnZlTmFOKGV4ZWMpOwogICAgICAgICBvayA9IGlzZmluaXRlKGhvdXJzKTsKICAgICAgICAgbWls
bGlzZWNvbmRzICs9IGhvdXJzICogbXNQZXJIb3VyOwpAQCAtMzY1LDcgKzM2NSw3IEBAIHN0YXRp
YyBib29sIGZpbGxTdHJ1Y3R1cmVzVXNpbmdUaW1lQXJncyhFeGVjU3RhdGUqIGV4ZWMsIGludCBt
YXhBcmdzLCBkb3VibGUqIG1zCiAKICAgICAvLyBtaW51dGVzCiAgICAgaWYgKG1heEFyZ3MgPj0g
MyAmJiBpZHggPCBudW1BcmdzICYmIG9rKSB7Ci0gICAgICAgIHQtPm1pbnV0ZSA9IDA7CisgICAg
ICAgIHQtPnNldE1pbnV0ZSgwKTsKICAgICAgICAgZG91YmxlIG1pbnV0ZXMgPSBleGVjLT5hcmd1
bWVudChpZHgrKykudG9JbnRlZ2VyUHJlc2VydmVOYU4oZXhlYyk7CiAgICAgICAgIG9rID0gaXNm
aW5pdGUobWludXRlcyk7CiAgICAgICAgIG1pbGxpc2Vjb25kcyArPSBtaW51dGVzICogbXNQZXJN
aW51dGU7CkBAIC0zNzMsNyArMzczLDcgQEAgc3RhdGljIGJvb2wgZmlsbFN0cnVjdHVyZXNVc2lu
Z1RpbWVBcmdzKEV4ZWNTdGF0ZSogZXhlYywgaW50IG1heEFyZ3MsIGRvdWJsZSogbXMKICAgICAK
ICAgICAvLyBzZWNvbmRzCiAgICAgaWYgKG1heEFyZ3MgPj0gMiAmJiBpZHggPCBudW1BcmdzICYm
IG9rKSB7Ci0gICAgICAgIHQtPnNlY29uZCA9IDA7CisgICAgICAgIHQtPnNldFNlY29uZCgwKTsK
ICAgICAgICAgZG91YmxlIHNlY29uZHMgPSBleGVjLT5hcmd1bWVudChpZHgrKykudG9JbnRlZ2Vy
UHJlc2VydmVOYU4oZXhlYyk7CiAgICAgICAgIG9rID0gaXNmaW5pdGUoc2Vjb25kcyk7CiAgICAg
ICAgIG1pbGxpc2Vjb25kcyArPSBzZWNvbmRzICogbXNQZXJTZWNvbmQ7CkBAIC00MTIsMTkgKzQx
MiwxOSBAQCBzdGF0aWMgYm9vbCBmaWxsU3RydWN0dXJlc1VzaW5nRGF0ZUFyZ3MoRXhlY1N0YXRl
ICpleGVjLCBpbnQgbWF4QXJncywgZG91YmxlICptcwogICAgIGlmIChtYXhBcmdzID49IDMgJiYg
aWR4IDwgbnVtQXJncykgewogICAgICAgICBkb3VibGUgeWVhcnMgPSBleGVjLT5hcmd1bWVudChp
ZHgrKykudG9JbnRlZ2VyUHJlc2VydmVOYU4oZXhlYyk7CiAgICAgICAgIG9rID0gaXNmaW5pdGUo
eWVhcnMpOwotICAgICAgICB0LT55ZWFyID0gdG9JbnQzMih5ZWFycyAtIDE5MDApOworICAgICAg
ICB0LT5zZXRZZWFyKHRvSW50MzIoeWVhcnMgLSAxOTAwKSk7CiAgICAgfQogICAgIC8vIG1vbnRo
cwogICAgIGlmIChtYXhBcmdzID49IDIgJiYgaWR4IDwgbnVtQXJncyAmJiBvaykgewogICAgICAg
ICBkb3VibGUgbW9udGhzID0gZXhlYy0+YXJndW1lbnQoaWR4KyspLnRvSW50ZWdlclByZXNlcnZl
TmFOKGV4ZWMpOwogICAgICAgICBvayA9IGlzZmluaXRlKG1vbnRocyk7Ci0gICAgICAgIHQtPm1v
bnRoID0gdG9JbnQzMihtb250aHMpOworICAgICAgICB0LT5zZXRNb250aCh0b0ludDMyKG1vbnRo
cykpOwogICAgIH0KICAgICAvLyBkYXlzCiAgICAgaWYgKGlkeCA8IG51bUFyZ3MgJiYgb2spIHsK
ICAgICAgICAgZG91YmxlIGRheXMgPSBleGVjLT5hcmd1bWVudChpZHgrKykudG9JbnRlZ2VyUHJl
c2VydmVOYU4oZXhlYyk7CiAgICAgICAgIG9rID0gaXNmaW5pdGUoZGF5cyk7Ci0gICAgICAgIHQt
Pm1vbnRoRGF5ID0gMDsKKyAgICAgICAgdC0+c2V0TW9udGhEYXkoMCk7CiAgICAgICAgICptcyAr
PSBkYXlzICogbXNQZXJEYXk7CiAgICAgfQogICAgIApAQCAtNTY3LDEwICs1NjcsMTAgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jVG9JU09TdHJpbmcoRXhlY1N0
YXRlKiBleGVjKQogICAgIGludCBtcyA9IHN0YXRpY19jYXN0PGludD4oZm1vZCh0aGlzRGF0ZU9i
ai0+aW50ZXJuYWxOdW1iZXIoKSwgbXNQZXJTZWNvbmQpKTsKICAgICBpZiAobXMgPCAwKQogICAg
ICAgICBtcyArPSBtc1BlclNlY29uZDsKLSAgICBpZiAoZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIg
PiA4MDk5IHx8IGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyIDwgLTE5MDApCi0gICAgICAgIHNucHJp
bnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikgLSAxLCAiJSswN2QtJTAyZC0lMDJkVCUwMmQ6JTAy
ZDolMDJkLiUwM2RaIiwgMTkwMCArIGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyLCBncmVnb3JpYW5E
YXRlVGltZS0+bW9udGggKyAxLCBncmVnb3JpYW5EYXRlVGltZS0+bW9udGhEYXksIGdyZWdvcmlh
bkRhdGVUaW1lLT5ob3VyLCBncmVnb3JpYW5EYXRlVGltZS0+bWludXRlLCBncmVnb3JpYW5EYXRl
VGltZS0+c2Vjb25kLCBtcyk7CisgICAgaWYgKGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKCkgPiA4
MDk5IHx8IGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKCkgPCAtMTkwMCkKKyAgICAgICAgc25wcmlu
dGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSAtIDEsICIlKzA3ZC0lMDJkLSUwMmRUJTAyZDolMDJk
OiUwMmQuJTAzZFoiLCAxOTAwICsgZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIoKSwgZ3JlZ29yaWFu
RGF0ZVRpbWUtPm1vbnRoKCkgKyAxLCBncmVnb3JpYW5EYXRlVGltZS0+bW9udGhEYXkoKSwgZ3Jl
Z29yaWFuRGF0ZVRpbWUtPmhvdXIoKSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1pbnV0ZSgpLCBncmVn
b3JpYW5EYXRlVGltZS0+c2Vjb25kKCksIG1zKTsKICAgICBlbHNlCi0gICAgICAgIHNucHJpbnRm
KGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikgLSAxLCAiJTA0ZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUw
MmQuJTAzZFoiLCAxOTAwICsgZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIsIGdyZWdvcmlhbkRhdGVU
aW1lLT5tb250aCArIDEsIGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aERheSwgZ3JlZ29yaWFuRGF0
ZVRpbWUtPmhvdXIsIGdyZWdvcmlhbkRhdGVUaW1lLT5taW51dGUsIGdyZWdvcmlhbkRhdGVUaW1l
LT5zZWNvbmQsIG1zKTsKKyAgICAgICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSAt
IDEsICIlMDRkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNkWiIsIDE5MDAgKyBncmVnb3Jp
YW5EYXRlVGltZS0+eWVhcigpLCBncmVnb3JpYW5EYXRlVGltZS0+bW9udGgoKSArIDEsIGdyZWdv
cmlhbkRhdGVUaW1lLT5tb250aERheSgpLCBncmVnb3JpYW5EYXRlVGltZS0+aG91cigpLCBncmVn
b3JpYW5EYXRlVGltZS0+bWludXRlKCksIGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQoKSwgbXMp
OwogICAgIGJ1ZmZlcltzaXplb2YoYnVmZmVyKSAtIDFdID0gMDsKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCBidWZmZXIpKTsKIH0KQEAgLTY1Nyw3
ICs2NTcsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRG
dWxsWWVhcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdy
ZWdvcmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMpOwog
ICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcigxOTAwICsg
Z3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKDE5MDAgKyBncmVnb3JpYW5EYXRlVGltZS0+eWVhcigpKSk7CiB9CiAKIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ0Z1bGxZZWFyKEV4ZWNTdGF0
ZSogZXhlYykKQEAgLTY3MSw3ICs2NzEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGRhdGVQcm90b0Z1bmNHZXRVVENGdWxsWWVhcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY29uc3Qg
R3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmotPmdyZWdv
cmlhbkRhdGVUaW1lVVRDKGV4ZWMpOwogICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc051bWJlcigxOTAwICsgZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIpKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKDE5MDAgKyBncmVnb3JpYW5EYXRlVGltZS0+
eWVhcigpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y1RvR01UU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTcwMyw3ICs3MDMsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRNb250aChFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0gdGhp
c0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMpOwogICAgIGlmICghZ3JlZ29yaWFuRGF0
ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+bW9udGgpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5t
b250aCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y0dldFVUQ01vbnRoKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTcxNyw3ICs3MTcsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENNb250aChFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0g
dGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lVVRDKGV4ZWMpOwogICAgIGlmICghZ3JlZ29y
aWFuRGF0ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0g
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+bW9u
dGgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVU
aW1lLT5tb250aCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVBy
b3RvRnVuY0dldERhdGUoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzMxLDcgKzczMSw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldERhdGUoRXhlY1N0YXRlKiBl
eGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRo
aXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRh
dGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoRGF5
KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGlt
ZS0+bW9udGhEYXkoKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQ
cm90b0Z1bmNHZXRVVENEYXRlKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTc0NSw3ICs3NDUsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENEYXRlKEV4ZWNT
dGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRp
bWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWVVVEMoZXhlYyk7CiAgICAgaWYgKCFn
cmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigp
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1l
LT5tb250aERheSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29y
aWFuRGF0ZVRpbWUtPm1vbnRoRGF5KCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBkYXRlUHJvdG9GdW5jR2V0RGF5KEV4ZWNTdGF0ZSogZXhlYykKQEAgLTc1OSw3ICs3NTks
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXREYXkoRXhl
Y1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRl
VGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdy
ZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkp
OwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUt
PndlZWtEYXkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlh
bkRhdGVUaW1lLT53ZWVrRGF5KCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBkYXRlUHJvdG9GdW5jR2V0VVRDRGF5KEV4ZWNTdGF0ZSogZXhlYykKQEAgLTc3Myw3ICs3NzMs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENEYXko
RXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5E
YXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZVVUQyhleGVjKTsKICAgICBp
ZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0
ZVRpbWUtPndlZWtEYXkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdy
ZWdvcmlhbkRhdGVUaW1lLT53ZWVrRGF5KCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0SG91cnMoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzg3LDcg
Kzc4Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldEhv
dXJzKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29y
aWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWUoZXhlYyk7CiAgICAg
aWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRh
dGVUaW1lLT5ob3VyKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVn
b3JpYW5EYXRlVGltZS0+aG91cigpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZGF0ZVByb3RvRnVuY0dldFVUQ0hvdXJzKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTgwMSw3ICs4
MDEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENI
b3VycyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIGdyZWdv
cmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lVVRDKGV4ZWMpOwog
ICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3Jp
YW5EYXRlVGltZS0+aG91cikpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
Z3JlZ29yaWFuRGF0ZVRpbWUtPmhvdXIoKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRNaW51dGVzKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTgxNSw3
ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRN
aW51dGVzKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3Jl
Z29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWUoZXhlYyk7CiAg
ICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlh
bkRhdGVUaW1lLT5taW51dGUpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVy
KGdyZWdvcmlhbkRhdGVUaW1lLT5taW51dGUoKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENNaW51dGVzKEV4ZWNTdGF0ZSogZXhlYykKQEAg
LTgyOSw3ICs4MjksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1
bmNHZXRVVENNaW51dGVzKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRl
VGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWVV
VEMoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVt
YmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5taW51dGUpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5taW51dGUoKSkpOwogfQogCiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRTZWNvbmRzKEV4ZWNTdGF0ZSog
ZXhlYykKQEAgLTg0Myw3ICs4NDMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRh
dGVQcm90b0Z1bmNHZXRTZWNvbmRzKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3Jp
YW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0
ZVRpbWUoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQoKSkpOwogfQogCiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENTZWNvbmRzKEV4ZWNT
dGF0ZSogZXhlYykKQEAgLTg1Nyw3ICs4NTcsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGRhdGVQcm90b0Z1bmNHZXRVVENTZWNvbmRzKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25z
dCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3Jl
Z29yaWFuRGF0ZVRpbWVVVEMoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQpKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQoKSkp
OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRNaWxs
aVNlY29uZHMoRXhlY1N0YXRlKiBleGVjKQpAQCAtOTAzLDcgKzkwMyw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFRpbWV6b25lT2Zmc2V0KEV4ZWNTdGF0
ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUg
PSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWUoZXhlYyk7CiAgICAgaWYgKCFncmVnb3Jp
YW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKC1ncmVnb3JpYW5EYXRlVGltZS0+dXRj
T2Zmc2V0IC8gbWludXRlc1BlckhvdXIpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKC1ncmVnb3JpYW5EYXRlVGltZS0+dXRjT2Zmc2V0KCkgLyBtaW51dGVzUGVySG91cikp
OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNTZXRUaW1l
KEV4ZWNTdGF0ZSogZXhlYykKQEAgLTEwODcsMzYgKzEwODcsMzYgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jU2V0WWVhcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
aWYgKCF0aGlzVmFsdWUuaW5oZXJpdHMoJkRhdGVJbnN0YW5jZTo6c19pbmZvKSkKICAgICAgICAg
cmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAKLSAgICBEYXRlSW5zdGFuY2UqIHRoaXNE
YXRlT2JqID0gYXNEYXRlSW5zdGFuY2UodGhpc1ZhbHVlKTsgICAgIAorICAgIERhdGVJbnN0YW5j
ZSogdGhpc0RhdGVPYmogPSBhc0RhdGVJbnN0YW5jZSh0aGlzVmFsdWUpOwogICAgIGlmICghZXhl
Yy0+YXJndW1lbnRDb3VudCgpKSB7IAogICAgICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzTmFOKCk7
CiAgICAgICAgIHRoaXNEYXRlT2JqLT5zZXRJbnRlcm5hbFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEo
KSwgcmVzdWx0KTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogICAg
IH0KLSAgICAKKwogICAgIGRvdWJsZSBtaWxsaSA9IHRoaXNEYXRlT2JqLT5pbnRlcm5hbE51bWJl
cigpOwogICAgIGRvdWJsZSBtcyA9IDA7CiAKICAgICBHcmVnb3JpYW5EYXRlVGltZSBncmVnb3Jp
YW5EYXRlVGltZTsKICAgICBpZiAoaXNuYW4obWlsbGkpKQogICAgICAgICAvLyBCYXNlZCBvbiBF
Q01BIDI2MiBCLjIuNSAoc2V0WWVhcikKLSAgICAgICAgLy8gdGhlIHRpbWUgbXVzdCBiZSByZXNl
dCB0byArMCBpZiBpdCBpcyBOYU4uIAorICAgICAgICAvLyB0aGUgdGltZSBtdXN0IGJlIHJlc2V0
IHRvICswIGlmIGl0IGlzIE5hTi4KICAgICAgICAgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKGV4ZWMs
IDAsIHRydWUsIGdyZWdvcmlhbkRhdGVUaW1lKTsKLSAgICBlbHNlIHsgICAKKyAgICBlbHNlIHsK
ICAgICAgICAgZG91YmxlIHNlY3MgPSBmbG9vcihtaWxsaSAvIG1zUGVyU2Vjb25kKTsKICAgICAg
ICAgbXMgPSBtaWxsaSAtIHNlY3MgKiBtc1BlclNlY29uZDsKICAgICAgICAgaWYgKGNvbnN0IEdy
ZWdvcmlhbkRhdGVUaW1lKiBvdGhlciA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShl
eGVjKSkKICAgICAgICAgICAgIGdyZWdvcmlhbkRhdGVUaW1lLmNvcHlGcm9tKCpvdGhlcik7CiAg
ICAgfQotICAgIAorCiAgICAgZG91YmxlIHllYXIgPSBleGVjLT5hcmd1bWVudCgwKS50b0ludGVn
ZXJQcmVzZXJ2ZU5hTihleGVjKTsKICAgICBpZiAoIWlzZmluaXRlKHllYXIpKSB7CiAgICAgICAg
IEpTVmFsdWUgcmVzdWx0ID0ganNOYU4oKTsKICAgICAgICAgdGhpc0RhdGVPYmotPnNldEludGVy
bmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCByZXN1bHQpOwogICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgfQotICAgICAgICAgICAgCi0gICAgZ3JlZ29yaWFu
RGF0ZVRpbWUueWVhciA9IHRvSW50MzIoKHllYXIgPiA5OSB8fCB5ZWFyIDwgMCkgPyB5ZWFyIC0g
MTkwMCA6IHllYXIpOworCisgICAgZ3JlZ29yaWFuRGF0ZVRpbWUuc2V0WWVhcih0b0ludDMyKCh5
ZWFyID4gOTkgfHwgeWVhciA8IDApID8geWVhciAtIDE5MDAgOiB5ZWFyKSk7CiAgICAgSlNWYWx1
ZSByZXN1bHQgPSBqc051bWJlcihncmVnb3JpYW5EYXRlVGltZVRvTVMoZXhlYywgZ3JlZ29yaWFu
RGF0ZVRpbWUsIG1zLCBmYWxzZSkpOwogICAgIHRoaXNEYXRlT2JqLT5zZXRJbnRlcm5hbFZhbHVl
KGV4ZWMtPmdsb2JhbERhdGEoKSwgcmVzdWx0KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHJlc3VsdCk7CkBAIC0xMTM1LDcgKzExMzUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGRhdGVQcm90b0Z1bmNHZXRZZWFyKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKIAogICAgIC8vIE5PVEU6IElFIHJldHVybnMgdGhl
IGZ1bGwgeWVhciBldmVuIGluIGdldFllYXIuCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+eWVhcikpOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIoKSkpOwogfQogCiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNUb0pTT04oRXhlY1N0YXRlKiBleGVj
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmNwcAppbmRleCBk
YmU3NDg4MzVkZTNlZDA0MjEyZWM4ZjIzOGM4MTdmNDAzZmZjNmFiLi42OWIxNDAwNTMyMWFhMWMz
NzA4YjYyZTMwOWM3OGE0OWE0NWIwMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0RhdGVNYXRoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGVNYXRoLmNwcApAQCAtMjAzLDggKzIwMyw4IEBAIGRvdWJsZSBnZXRVVENPZmZz
ZXQoRXhlY1N0YXRlKiBleGVjKQogCiBkb3VibGUgZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIHQsIGRvdWJsZSBtaWxsaVNlY29u
ZHMsIGJvb2wgaW5wdXRJc1VUQykKIHsKLSAgICBkb3VibGUgZGF5ID0gZGF0ZVRvRGF5c0Zyb20x
OTcwKHQueWVhciArIDE5MDAsIHQubW9udGgsIHQubW9udGhEYXkpOwotICAgIGRvdWJsZSBtcyA9
IHRpbWVUb01TKHQuaG91ciwgdC5taW51dGUsIHQuc2Vjb25kLCBtaWxsaVNlY29uZHMpOworICAg
IGRvdWJsZSBkYXkgPSBkYXRlVG9EYXlzRnJvbTE5NzAodC55ZWFyKCkgKyAxOTAwLCB0Lm1vbnRo
KCksIHQubW9udGhEYXkoKSk7CisgICAgZG91YmxlIG1zID0gdGltZVRvTVModC5ob3VyKCksIHQu
bWludXRlKCksIHQuc2Vjb25kKCksIG1pbGxpU2Vjb25kcyk7CiAgICAgZG91YmxlIHJlc3VsdCA9
IChkYXkgKiBXVEY6Om1zUGVyRGF5KSArIG1zOwogCiAgICAgaWYgKCFpbnB1dElzVVRDKSB7IC8v
IGNvbnZlcnQgdG8gVVRDCkBAIC0yMjgsMTcgKzIyOCwxNiBAQCB2b2lkIG1zVG9HcmVnb3JpYW5E
YXRlVGltZShFeGVjU3RhdGUqIGV4ZWMsIGRvdWJsZSBtcywgYm9vbCBvdXRwdXRJc1VUQywgR3Jl
Z29yaQogICAgIH0KIAogICAgIGNvbnN0IGludCB5ZWFyID0gbXNUb1llYXIobXMpOwotICAgIHRt
LnNlY29uZCAgID0gIG1zVG9TZWNvbmRzKG1zKTsKLSAgICB0bS5taW51dGUgICA9ICBtc1RvTWlu
dXRlcyhtcyk7Ci0gICAgdG0uaG91ciAgICAgPSAgbXNUb0hvdXJzKG1zKTsKLSAgICB0bS53ZWVr
RGF5ICA9ICBtc1RvV2Vla0RheShtcyk7Ci0gICAgdG0ueWVhckRheSAgPSAgZGF5SW5ZZWFyKG1z
LCB5ZWFyKTsKLSAgICB0bS5tb250aERheSA9ICBkYXlJbk1vbnRoRnJvbURheUluWWVhcih0bS55
ZWFyRGF5LCBpc0xlYXBZZWFyKHllYXIpKTsKLSAgICB0bS5tb250aCAgICA9ICBtb250aEZyb21E
YXlJblllYXIodG0ueWVhckRheSwgaXNMZWFwWWVhcih5ZWFyKSk7Ci0gICAgdG0ueWVhciAgICAg
PSAgeWVhciAtIDE5MDA7Ci0gICAgdG0uaXNEU1QgICAgPSAgZHN0T2ZmICE9IDAuMDsKLSAgICB0
bS51dGNPZmZzZXQgPSBzdGF0aWNfY2FzdDxsb25nPigoZHN0T2ZmICsgdXRjT2ZmKSAvIFdURjo6
bXNQZXJTZWNvbmQpOwotICAgIHRtLnRpbWVab25lID0gbnVsbHB0cjsKKyAgICB0bS5zZXRTZWNv
bmQobXNUb1NlY29uZHMobXMpKTsKKyAgICB0bS5zZXRNaW51dGUobXNUb01pbnV0ZXMobXMpKTsK
KyAgICB0bS5zZXRIb3VyKG1zVG9Ib3VycyhtcykpOworICAgIHRtLnNldFdlZWtEYXkobXNUb1dl
ZWtEYXkobXMpKTsKKyAgICB0bS5zZXRZZWFyRGF5KGRheUluWWVhcihtcywgeWVhcikpOworICAg
IHRtLnNldE1vbnRoRGF5KGRheUluTW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXkoKSwgaXNM
ZWFwWWVhcih5ZWFyKSkpOworICAgIHRtLnNldE1vbnRoKG1vbnRoRnJvbURheUluWWVhcih0bS55
ZWFyRGF5KCksIGlzTGVhcFllYXIoeWVhcikpKTsKKyAgICB0bS5zZXRZZWFyKHllYXIgLSAxOTAw
KTsKKyAgICB0bS5zZXRJc0RTVChkc3RPZmYgIT0gMC4wKTsKKyAgICB0bS5zZXRVdGNPZmZzZXQo
c3RhdGljX2Nhc3Q8bG9uZz4oKGRzdE9mZiArIHV0Y09mZikgLyBXVEY6Om1zUGVyU2Vjb25kKSk7
CiB9CiAKIGRvdWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgY2hhciogZGF0ZVN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRGF0ZU1hdGguaAppbmRleCBmNzdjZjFlNzU1ZTllMjZjYTA1OWIwMzk1Nzkz
MDVmYzNkZTE1OTE4Li4yNGU4Nzc4ZDI0YWU4NDE2MDE2YTRjMzZlNzRhMTQwNDQ3MDQzOWZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGVNYXRoLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCkBAIC00NCw5OSAr
NDQsMTcgQEAKICNkZWZpbmUgSlNEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGgu
aD4KKyNpbmNsdWRlIDx3dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKIGNsYXNzIEV4ZWNTdGF0ZTsKLXN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZTsKIAogdm9pZCBt
c1RvR3JlZ29yaWFuRGF0ZVRpbWUoRXhlY1N0YXRlKiwgZG91YmxlLCBib29sIG91dHB1dElzVVRD
LCBHcmVnb3JpYW5EYXRlVGltZSYpOwogZG91YmxlIGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhFeGVj
U3RhdGUqLCBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSYsIGRvdWJsZSwgYm9vbCBpbnB1dElzVVRD
KTsKIGRvdWJsZSBnZXRVVENPZmZzZXQoRXhlY1N0YXRlKik7CiBkb3VibGUgcGFyc2VEYXRlRnJv
bU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3Ry
aW5nKTsKIAotLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0
aGUgc3lzdGVtLgotLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0
aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgewotICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKLXB1YmxpYzoKLSAgICBHcmVnb3JpYW5EYXRl
VGltZSgpCi0gICAgICAgIDogc2Vjb25kKDApCi0gICAgICAgICwgbWludXRlKDApCi0gICAgICAg
ICwgaG91cigwKQotICAgICAgICAsIHdlZWtEYXkoMCkKLSAgICAgICAgLCBtb250aERheSgwKQot
ICAgICAgICAsIHllYXJEYXkoMCkKLSAgICAgICAgLCBtb250aCgwKQotICAgICAgICAsIHllYXIo
MCkKLSAgICAgICAgLCBpc0RTVCgwKQotICAgICAgICAsIHV0Y09mZnNldCgwKQotICAgIHsKLSAg
ICB9Ci0KLSAgICBvcGVyYXRvciB0bSgpIGNvbnN0Ci0gICAgewotICAgICAgICB0bSByZXQ7Ci0g
ICAgICAgIG1lbXNldCgmcmV0LCAwLCBzaXplb2YocmV0KSk7Ci0KLSAgICAgICAgcmV0LnRtX3Nl
YyAgID0gIHNlY29uZDsKLSAgICAgICAgcmV0LnRtX21pbiAgID0gIG1pbnV0ZTsKLSAgICAgICAg
cmV0LnRtX2hvdXIgID0gIGhvdXI7Ci0gICAgICAgIHJldC50bV93ZGF5ICA9ICB3ZWVrRGF5Owot
ICAgICAgICByZXQudG1fbWRheSAgPSAgbW9udGhEYXk7Ci0gICAgICAgIHJldC50bV95ZGF5ICA9
ICB5ZWFyRGF5OwotICAgICAgICByZXQudG1fbW9uICAgPSAgbW9udGg7Ci0gICAgICAgIHJldC50
bV95ZWFyICA9ICB5ZWFyOwotICAgICAgICByZXQudG1faXNkc3QgPSAgaXNEU1Q7Ci0KLSNpZiBI
QVZFKFRNX0dNVE9GRikKLSAgICAgICAgcmV0LnRtX2dtdG9mZiA9IHN0YXRpY19jYXN0PGxvbmc+
KHV0Y09mZnNldCk7Ci0jZW5kaWYKLSNpZiBIQVZFKFRNX1pPTkUpCi0gICAgICAgIHJldC50bV96
b25lID0gdGltZVpvbmUuZ2V0KCk7Ci0jZW5kaWYKLQotICAgICAgICByZXR1cm4gcmV0OwotICAg
IH0KLQotICAgIHZvaWQgY29weUZyb20oY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIHJocykKLSAg
ICB7Ci0gICAgICAgIHNlY29uZCA9IHJocy5zZWNvbmQ7Ci0gICAgICAgIG1pbnV0ZSA9IHJocy5t
aW51dGU7Ci0gICAgICAgIGhvdXIgPSByaHMuaG91cjsKLSAgICAgICAgd2Vla0RheSA9IHJocy53
ZWVrRGF5OwotICAgICAgICBtb250aERheSA9IHJocy5tb250aERheTsKLSAgICAgICAgeWVhckRh
eSA9IHJocy55ZWFyRGF5OwotICAgICAgICBtb250aCA9IHJocy5tb250aDsKLSAgICAgICAgeWVh
ciA9IHJocy55ZWFyOwotICAgICAgICBpc0RTVCA9IHJocy5pc0RTVDsKLSAgICAgICAgdXRjT2Zm
c2V0ID0gcmhzLnV0Y09mZnNldDsKLSAgICAgICAgaWYgKHJocy50aW1lWm9uZSkgewotICAgICAg
ICAgICAgaW50IGluWm9uZVNpemUgPSBzdHJsZW4ocmhzLnRpbWVab25lLmdldCgpKSArIDE7Ci0g
ICAgICAgICAgICB0aW1lWm9uZSA9IGFkb3B0QXJyYXlQdHIobmV3IGNoYXJbaW5ab25lU2l6ZV0p
OwotICAgICAgICAgICAgc3RybmNweSh0aW1lWm9uZS5nZXQoKSwgcmhzLnRpbWVab25lLmdldCgp
LCBpblpvbmVTaXplKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0aW1lWm9uZSA9IG51
bGxwdHI7Ci0gICAgfQotCi0gICAgaW50IHNlY29uZDsKLSAgICBpbnQgbWludXRlOwotICAgIGlu
dCBob3VyOwotICAgIGludCB3ZWVrRGF5OwotICAgIGludCBtb250aERheTsKLSAgICBpbnQgeWVh
ckRheTsKLSAgICBpbnQgbW9udGg7Ci0gICAgaW50IHllYXI7Ci0gICAgaW50IGlzRFNUOwotICAg
IGludCB1dGNPZmZzZXQ7Ci0gICAgT3duQXJyYXlQdHI8Y2hhcj4gdGltZVpvbmU7Ci19OwotCi1z
dGF0aWMgaW5saW5lIGludCBnbXRvZmZzZXQoY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIHQpCi17
Ci0gICAgcmV0dXJuIHQudXRjT2Zmc2V0OwotfQotCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2Vu
ZGlmIC8vIEpTRGF0ZU1hdGhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVmMGRkZDY5NTU1
MmNhMzMxNGVjYWQzMmJkMGRiZWRiODMzYjJiMzIuLmJiNjhiYzI2ODUyYjQ0NjQ5ZDk5ZDhlYzM3
NmQ0OWU5YmQzNDQxNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUyLDYgKzUyLDcgQEAg
d3RmX3NvdXJjZXMgKz0gXAogICAgIFNvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaCBcCiAgICAgU291
cmNlL1dURi93dGYvRnVuY3Rpb25hbC5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9HZXRQdHIuaCBc
CisgICAgU291cmNlL1dURi93dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaCBcCiAgICAgU291cmNlL1dU
Ri93dGYvSGFzaENvdW50ZWRTZXQuaCBcCiAgICAgU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9u
cy5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9IYXNoSXRlcmF0b3JzLmggXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9XVEYuZ3lwaSBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKaW5kZXggZWIyODA3MDNh
OGNhYzE2MWIyYWE4NTk1ZWYxMzdjNmQyMDJhMDI5YS4uZWJiNDFhNDU0MzBjYzRkZWI0YTZhMTg0
Yzg0OTM1N2E1ZWNmMzdiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYuZ3lwaQorKysgYi9T
b3VyY2UvV1RGL1dURi5neXBpCkBAIC0zNCw2ICszNCw3IEBACiAgICAgICAgICAgICAnd3RmL0Zv
cndhcmQuaCcsCiAgICAgICAgICAgICAnd3RmL0Z1bmN0aW9uYWwuaCcsCiAgICAgICAgICAgICAn
d3RmL0dldFB0ci5oJywKKyAgICAgICAgICAgICd3dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaCcsCiAg
ICAgICAgICAgICAnd3RmL0hhc2hDb3VudGVkU2V0LmgnLAogICAgICAgICAgICAgJ3d0Zi9IYXNo
RnVuY3Rpb25zLmgnLAogICAgICAgICAgICAgJ3d0Zi9IYXNoSXRlcmF0b3JzLmgnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9XVEYucHJvIGIvU291cmNlL1dURi9XVEYucHJvCmluZGV4IDRiY2Iw
ZmYwYTYxNTBjOTJkNjFlYWNhMDA0NDA5ZmQxNzlkNzhlN2MuLjY4ZDg0NzExMjdjNzJiZjJhZTE2
MDUxMzEyOGI1YmFhZDBlY2QzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnBybworKysg
Yi9Tb3VyY2UvV1RGL1dURi5wcm8KQEAgLTYxLDYgKzYxLDcgQEAgSEVBREVSUyArPSBcCiAgICAg
Rm9yd2FyZC5oIFwKICAgICBGdW5jdGlvbmFsLmggXAogICAgIEdldFB0ci5oIFwKKyAgICBHcmVn
b3JpYW5EYXRlVGltZS5oIFwKICAgICBIYXNoQ291bnRlZFNldC5oIFwKICAgICBIYXNoRnVuY3Rp
b25zLmggXAogICAgIEhhc2hJdGVyYXRvcnMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBjNDdlYzE5NDY5NGY1OWJiYjRlODI3NDczZmFlNTZmZTZjNmI3
ZWJmLi4zNzJjMTVlYzBjNzFjYzQwZDFjYmNiOWU4MGM0NTQ1NzFkMjQ4NWVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcsOSArNywxMCBAQAogCW9iamVj
dHMgPSB7CiAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCisJCTBGRDgxQUM1MTU0
RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ4MUFDNDE1NEZCMjJFMDA5ODNFNzIgLyogRmFzdEJp
dFZlY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTE0M0Y2
MTFGMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0M0Y2MTFEMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1T
aXplLmNwcCAqLzsgfTsKIAkJMTQzRjYxMjAxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0M0Y2MTFFMTU2
NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEZEODFBQzUxNTRGQjIyRTAwOTgzRTcyIC8qIEZhc3RCaXRW
ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RDgxQUM0MTU0RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKKwkJMkMwNTM4NTQxNUJDODE5MDAwRjIxQjk2IC8qIEdy
ZWdvcmlhbkRhdGVUaW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyQzA1Mzg1MzE1QkM4MTkwMDBGMjFCOTYgLyogR3JlZ29yaWFuRGF0ZVRpbWUuaCAq
LzsgfTsKIAkJNDMzMEYzOEYxNTc0NUIwNTAwQUFGQThGIC8qIFVSTFN0cmluZy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzMwRjM4RTE1NzQ1QjA1
MDBBQUZBOEYgLyogVVJMU3RyaW5nLmNwcCAqLzsgfTsKIAkJNEYwMzIxQkMxNTZBQThEMTAwNkVC
QUY2IC8qIEJpdEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0RjAzMjFCQjE1NkFBOEQxMDA2RUJBRjYgLyogQml0QXJyYXkuaCAqLzsgfTsKIAkJ
ODEzNDAxMzgxNUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MTM0MDEzNjE1QjA5MkZEMDAxRkYwQjggLyog
QmFzZTY0LmNwcCAqLzsgfTsKQEAgLTI0Nyw5ICsyNDgsMTAgQEAKIC8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KKwkJ
MEZEODFBQzQxNTRGQjIyRTAwOTgzRTcyIC8qIEZhc3RCaXRWZWN0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRmFzdEJpdFZlY3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNDNGNjExRDE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSQU1TaXplLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMTQzRjYxMUUxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUkFNU2l6ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkwRkQ4MUFDNDE1NEZCMjJFMDA5ODNFNzIgLyogRmFzdEJpdFZlY3Rv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGYXN0Qml0VmVjdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJDMDUzODUzMTVCQzgxOTAwMEYyMUI5NiAvKiBH
cmVnb3JpYW5EYXRlVGltZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHcmVn
b3JpYW5EYXRlVGltZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzMwRjM4RTE1
NzQ1QjA1MDBBQUZBOEYgLyogVVJMU3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFVSTFN0cmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTRGMDMyMUJCMTU2QUE4RDEwMDZFQkFGNiAvKiBCaXRBcnJheS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBCaXRBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1RDI0N0I2MjE0Njg5Qjg2MDBFNzhCNzYgLyogbGliV1RGLmEgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IGFyY2hpdmUuYXI7IGluY2x1ZGVJbkluZGV4
ID0gMDsgcGF0aCA9IGxpYldURi5hOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwpAQCAtNTM4LDkgKzU0MCw5IEBACiAJCTVEMjQ3Qjc2MTQ2ODlENzYwMEU3OEI3NiAvKiBTb3Vy
Y2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE4NzZE
QkQ2MTUxODE2RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJCQkJQThBNDc0OEIxNTFBODI2NDAwNDEy
M0ZGIC8qIGNvbmZpZy5oICovLAogCQkJCTVEMjQ3RUIxMTQ2OEIwMTUwMEU3OEI3NiAvKiBIZWFk
ZXJEZXRlY3Rpb24uaCAqLywKLQkJCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICov
LAogCQkJKTsKIAkJCW5hbWUgPSBTb3VyY2U7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtNTQ4LDggKzU1MCwxMiBAQAogCQlBODc2REJENjE1MTgxNkU1MDBEQURCOTUgLyogd3RmICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQkxNDNGNjExRDE1
NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgKi8sCi0JCQkJMTQzRjYxMUUxNTY1RjBGOTAw
REI1MTRBIC8qIFJBTVNpemUuaCAqLywKKwkJCQlBOEE0NzI4MTE1MUE4MjVBMDA0MTIzRkYgLyog
ZHRvYSAqLywKKwkJCQlBOEE0NzJDNDE1MUE4MjVBMDA0MTIzRkYgLyogbWFjICovLAorCQkJCUE4
QTQ3MzFCMTUxQTgyNUIwMDQxMjNGRiAvKiB0ZXh0ICovLAorCQkJCUE4QTQ3MzM5MTUxQTgyNUIw
MDQxMjNGRiAvKiB0aHJlYWRzICovLAorCQkJCUE4QTQ3MzQ4MTUxQTgyNUIwMDQxMjNGRiAvKiB1
bmljb2RlICovLAorCQkJCUE4QTQ3MzVFMTUxQTgyNUIwMDQxMjNGRiAvKiB1cmwgKi8sCiAJCQkJ
QThBNDcyNTQxNTFBODI1QTAwNDEyM0ZGIC8qIEFsaWdubWVudC5oICovLAogCQkJCUE4QTQ3MjU1
MTUxQTgyNUEwMDQxMjNGRiAvKiBBbHdheXNJbmxpbmUuaCAqLywKIAkJCQlBOEE0NzI1NjE1MUE4
MjVBMDA0MTIzRkYgLyogQXJyYXlCdWZmZXIuY3BwICovLApAQCAtNTYxLDggKzU2Nyw4IEBACiAJ
CQkJQThBNDcyNUMxNTFBODI1QTAwNDEyM0ZGIC8qIEFzc2VydGlvbnMuaCAqLywKIAkJCQlBOEE0
NzI1RDE1MUE4MjVBMDA0MTIzRkYgLyogQXRvbWljcy5oICovLAogCQkJCUE4QTQ3MjVFMTUxQTgy
NUEwMDQxMjNGRiAvKiBBVkxUcmVlLmggKi8sCi0JCQkJQThBNDcyNUYxNTFBODI1QTAwNDEyM0ZG
IC8qIEJpdG1hcC5oICovLAogCQkJCTRGMDMyMUJCMTU2QUE4RDEwMDZFQkFGNiAvKiBCaXRBcnJh
eS5oICovLAorCQkJCUE4QTQ3MjVGMTUxQTgyNUEwMDQxMjNGRiAvKiBCaXRtYXAuaCAqLywKIAkJ
CQlBOEE0NzI2MDE1MUE4MjVBMDA0MTIzRkYgLyogQml0VmVjdG9yLmNwcCAqLywKIAkJCQlBOEE0
NzI2MTE1MUE4MjVBMDA0MTIzRkYgLyogQml0VmVjdG9yLmggKi8sCiAJCQkJQThBNDcyNjQxNTFB
ODI1QTAwNDEyM0ZGIC8qIEJsb2NrU3RhY2suaCAqLywKQEAgLTU4OCw3ICs1OTQsNiBAQAogCQkJ
CUE4QTQ3MjdFMTUxQTgyNUEwMDQxMjNGRiAvKiBEZXF1ZS5oICovLAogCQkJCUE4QTQ3MjdGMTUx
QTgyNUEwMDQxMjNGRiAvKiBEaXNhbGxvd0NUeXBlLmggKi8sCiAJCQkJQThBNDcyODAxNTFBODI1
QTAwNDEyM0ZGIC8qIERvdWJseUxpbmtlZExpc3QuaCAqLywKLQkJCQlBOEE0NzI4MTE1MUE4MjVB
MDA0MTIzRkYgLyogZHRvYSAqLywKIAkJCQlBOEE0NzI5NzE1MUE4MjVBMDA0MTIzRkYgLyogZHRv
YS5jcHAgKi8sCiAJCQkJQThBNDcyOTgxNTFBODI1QTAwNDEyM0ZGIC8qIGR0b2EuaCAqLywKIAkJ
CQlBOEE0NzI5OTE1MUE4MjVBMDA0MTIzRkYgLyogRHluYW1pY0Fubm90YXRpb25zLmNwcCAqLywK
QEAgLTYwNSw2ICs2MTAsNyBAQAogCQkJCUE4QTQ3MkE2MTUxQTgyNUEwMDQxMjNGRiAvKiBGb3J3
YXJkLmggKi8sCiAJCQkJQThBNDcyQTcxNTFBODI1QTAwNDEyM0ZGIC8qIEZ1bmN0aW9uYWwuaCAq
LywKIAkJCQlBOEE0NzJBODE1MUE4MjVBMDA0MTIzRkYgLyogR2V0UHRyLmggKi8sCisJCQkJMkMw
NTM4NTMxNUJDODE5MDAwRjIxQjk2IC8qIEdyZWdvcmlhbkRhdGVUaW1lLmggKi8sCiAJCQkJQThB
NDcyQjMxNTFBODI1QTAwNDEyM0ZGIC8qIEhhc2hDb3VudGVkU2V0LmggKi8sCiAJCQkJQThBNDcy
QjQxNTFBODI1QTAwNDEyM0ZGIC8qIEhhc2hGdW5jdGlvbnMuaCAqLywKIAkJCQlBOEE0NzJCNTE1
MUE4MjVBMDA0MTIzRkYgLyogSGFzaEl0ZXJhdG9ycy5oICovLApAQCAtNjE1LDE0ICs2MjEsMTMg
QEAKIAkJCQlBOEE0NzJCQTE1MUE4MjVBMDA0MTIzRkYgLyogSGFzaFRyYWl0cy5oICovLAogCQkJ
CUE4QTQ3MkJCMTUxQTgyNUEwMDQxMjNGRiAvKiBIZXhOdW1iZXIuaCAqLywKIAkJCQlBOEE0NzJC
QzE1MUE4MjVBMDA0MTIzRkYgLyogSW5saW5lQVNNLmggKi8sCi0JCQkJQThBNDcyQkQxNTFBODI1
QTAwNDEyM0ZGIC8qIEludDhBcnJheS5oICovLAogCQkJCUE4QTQ3MkJFMTUxQTgyNUEwMDQxMjNG
RiAvKiBJbnQxNkFycmF5LmggKi8sCiAJCQkJQThBNDcyQkYxNTFBODI1QTAwNDEyM0ZGIC8qIElu
dDMyQXJyYXkuaCAqLywKKwkJCQlBOEE0NzJCRDE1MUE4MjVBMDA0MTIzRkYgLyogSW50OEFycmF5
LmggKi8sCiAJCQkJQThBNDcyQzAxNTFBODI1QTAwNDEyM0ZGIC8qIEludGVncmFsVHlwZWRBcnJh
eUJhc2UuaCAqLywKIAkJCQlBOEE0NzJDMTE1MUE4MjVBMDA0MTIzRkYgLyogTGlzdEhhc2hTZXQu
aCAqLywKIAkJCQlBOEE0NzJDMjE1MUE4MjVBMDA0MTIzRkYgLyogTGlzdFJlZlB0ci5oICovLAog
CQkJCUE4QTQ3MkMzMTUxQTgyNUEwMDQxMjNGRiAvKiBMb2NrZXIuaCAqLywKLQkJCQlBOEE0NzJD
NDE1MUE4MjVBMDA0MTIzRkYgLyogbWFjICovLAogCQkJCUE4QTQ3MkM2MTUxQTgyNUEwMDQxMjNG
RiAvKiBNYWluVGhyZWFkLmNwcCAqLywKIAkJCQlBOEE0NzJDNzE1MUE4MjVCMDA0MTIzRkYgLyog
TWFpblRocmVhZC5oICovLAogCQkJCUE4QTQ3MkM4MTUxQTgyNUIwMDQxMjNGRiAvKiBNYWxsb2Na
b25lU3VwcG9ydC5oICovLApAQCAtNjYxLDcgKzY2NiwxMCBAQAogCQkJCUE4QTQ3MkVEMTUxQTgy
NUIwMDQxMjNGRiAvKiBQYXNzUmVmUHRyLmggKi8sCiAJCQkJQThBNDcyRUUxNTFBODI1QjAwNDEy
M0ZGIC8qIFBhc3NUcmFpdHMuaCAqLywKIAkJCQlBOEE0NzJFRjE1MUE4MjVCMDA0MTIzRkYgLyog
UGxhdGZvcm0uaCAqLywKKwkJCQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0u
aCAqLywKIAkJCQlBOEE0NzJGMzE1MUE4MjVCMDA0MTIzRkYgLyogUG9zc2libHlOdWxsLmggKi8s
CisJCQkJMTQzRjYxMUQxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwICovLAorCQkJCTE0
M0Y2MTFFMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmggKi8sCiAJCQkJQThBNDcyRkIxNTFB
ODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlci5jcHAgKi8sCiAJCQkJQThBNDcyRkMxNTFBODI1
QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlci5oICovLAogCQkJCUE4QTQ3MkZEMTUxQTgyNUIwMDQx
MjNGRiAvKiBSYW5kb21OdW1iZXJTZWVkLmggKi8sCkBAIC02OTQsNyArNzAyLDYgQEAKIAkJCQlB
OEE0NzMxODE1MUE4MjVCMDA0MTIzRkYgLyogVENTeXN0ZW1BbGxvYy5jcHAgKi8sCiAJCQkJQThB
NDczMTkxNTFBODI1QjAwNDEyM0ZGIC8qIFRDU3lzdGVtQWxsb2MuaCAqLywKIAkJCQlBOEE0NzMx
QTE1MUE4MjVCMDA0MTIzRkYgLyogVGVtcG9yYXJ5Q2hhbmdlLmggKi8sCi0JCQkJQThBNDczMUIx
NTFBODI1QjAwNDEyM0ZGIC8qIHRleHQgKi8sCiAJCQkJQThBNDczMkYxNTFBODI1QjAwNDEyM0ZG
IC8qIFRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbi5oICovLAogCQkJCUE4QTQ3MzMwMTUxQTgyNUIw
MDQxMjNGRiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmNwcCAqLywKIAkJCQlBOEE0
NzMzMTE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oICov
LApAQCAtNzAzLDI3ICs3MTAsMjMgQEAKIAkJCQlBOEE0NzMzNTE1MUE4MjVCMDA0MTIzRkYgLyog
VGhyZWFkaW5nUHJpbWl0aXZlcy5oICovLAogCQkJCUE4QTQ3MzM2MTUxQTgyNUIwMDQxMjNGRiAv
KiBUaHJlYWRpbmdQdGhyZWFkcy5jcHAgKi8sCiAJCQkJQThBNDczMzgxNTFBODI1QjAwNDEyM0ZG
IC8qIFRocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIuaCAqLywKLQkJCQlBOEE0NzMzOTE1MUE4MjVC
MDA0MTIzRkYgLyogdGhyZWFkcyAqLywKIAkJCQlBOEE0NzMzRTE1MUE4MjVCMDA0MTIzRkYgLyog
VGhyZWFkU2FmZVJlZkNvdW50ZWQuaCAqLywKIAkJCQlBOEE0NzMzRjE1MUE4MjVCMDA0MTIzRkYg
LyogVGhyZWFkU3BlY2lmaWMuaCAqLywKIAkJCQlBOEE0NzM0MTE1MUE4MjVCMDA0MTIzRkYgLyog
VHlwZWRBcnJheUJhc2UuaCAqLywKIAkJCQlBOEE0NzM0MjE1MUE4MjVCMDA0MTIzRkYgLyogVHlw
ZVRyYWl0cy5jcHAgKi8sCiAJCQkJQThBNDczNDMxNTFBODI1QjAwNDEyM0ZGIC8qIFR5cGVUcmFp
dHMuaCAqLywKLQkJCQlBOEE0NzM0NDE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhBcnJheS5oICov
LAotCQkJCUE4QTQ3MzQ1MTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50OENsYW1wZWRBcnJheS5oICov
LAogCQkJCUE4QTQ3MzQ2MTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50MTZBcnJheS5oICovLAogCQkJ
CUE4QTQ3MzQ3MTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50MzJBcnJheS5oICovLAotCQkJCUE4QTQ3
MzQ4MTUxQTgyNUIwMDQxMjNGRiAvKiB1bmljb2RlICovLAorCQkJCUE4QTQ3MzQ0MTUxQTgyNUIw
MDQxMjNGRiAvKiBVaW50OEFycmF5LmggKi8sCisJCQkJQThBNDczNDUxNTFBODI1QjAwNDEyM0ZG
IC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggKi8sCiAJCQkJQThBNDczNUMxNTFBODI1QjAwNDEyM0ZG
IC8qIFVuaW9uRmluZC5oICovLAogCQkJCUE4QTQ3MzVEMTUxQTgyNUIwMDQxMjNGRiAvKiBVbnVz
ZWRQYXJhbS5oICovLAotCQkJCUE4QTQ3MzVFMTUxQTgyNUIwMDQxMjNGRiAvKiB1cmwgKi8sCiAJ
CQkJQThBNDczNkYxNTFBODI1QjAwNDEyM0ZGIC8qIFZhbHVlQ2hlY2suaCAqLywKIAkJCQlBOEE0
NzM3MDE1MUE4MjVCMDA0MTIzRkYgLyogVmVjdG9yLmggKi8sCiAJCQkJQThBNDczNzExNTFBODI1
QjAwNDEyM0ZGIC8qIFZlY3RvclRyYWl0cy5oICovLAogCQkJCUE4QTQ3MzcyMTUxQTgyNUIwMDQx
MjNGRiAvKiBWTVRhZ3MuaCAqLywKIAkJCQlBOEE0NzM3QTE1MUE4MjVCMDA0MTIzRkYgLyogV1RG
VGhyZWFkRGF0YS5jcHAgKi8sCiAJCQkJQThBNDczN0IxNTFBODI1QjAwNDEyM0ZGIC8qIFdURlRo
cmVhZERhdGEuaCAqLywKLQkJCQlBODc2REJENzE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0u
aCAqLywKIAkJCSk7CiAJCQlwYXRoID0gd3RmOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTczMSwxMyArNzM0LDE1IEBACiAJCUE4QTQ3MjgxMTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9h
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBOEE0NzI4
ODE1MUE4MjVBMDA0MTIzRkYgLyogQ09QWUlORyAqLywKKwkJCQlBOEE0NzI5MjE1MUE4MjVBMDA0
MTIzRkYgLyogTElDRU5TRSAqLywKKwkJCQlBOEE0NzI5MzE1MUE4MjVBMDA0MTIzRkYgLyogUkVB
RE1FICovLAogCQkJCUE4QTQ3MjgyMTUxQTgyNUEwMDQxMjNGRiAvKiBiaWdudW0tZHRvYS5jYyAq
LywKIAkJCQlBOEE0NzI4MzE1MUE4MjVBMDA0MTIzRkYgLyogYmlnbnVtLWR0b2EuaCAqLywKIAkJ
CQlBOEE0NzI4NDE1MUE4MjVBMDA0MTIzRkYgLyogYmlnbnVtLmNjICovLAogCQkJCUE4QTQ3Mjg1
MTUxQTgyNUEwMDQxMjNGRiAvKiBiaWdudW0uaCAqLywKIAkJCQlBOEE0NzI4NjE1MUE4MjVBMDA0
MTIzRkYgLyogY2FjaGVkLXBvd2Vycy5jYyAqLywKIAkJCQlBOEE0NzI4NzE1MUE4MjVBMDA0MTIz
RkYgLyogY2FjaGVkLXBvd2Vycy5oICovLAotCQkJCUE4QTQ3Mjg4MTUxQTgyNUEwMDQxMjNGRiAv
KiBDT1BZSU5HICovLAogCQkJCUE4QTQ3Mjg5MTUxQTgyNUEwMDQxMjNGRiAvKiBkaXktZnAuY2Mg
Ki8sCiAJCQkJQThBNDcyOEExNTFBODI1QTAwNDEyM0ZGIC8qIGRpeS1mcC5oICovLAogCQkJCUE4
QTQ3MjhCMTUxQTgyNUEwMDQxMjNGRiAvKiBkb3VibGUtY29udmVyc2lvbi5jYyAqLywKQEAgLTc0
Nyw4ICs3NTIsNiBAQAogCQkJCUE4QTQ3MjhGMTUxQTgyNUEwMDQxMjNGRiAvKiBmYXN0LWR0b2Eu
aCAqLywKIAkJCQlBOEE0NzI5MDE1MUE4MjVBMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyAqLywK
IAkJCQlBOEE0NzI5MTE1MUE4MjVBMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5oICovLAotCQkJCUE4
QTQ3MjkyMTUxQTgyNUEwMDQxMjNGRiAvKiBMSUNFTlNFICovLAotCQkJCUE4QTQ3MjkzMTUxQTgy
NUEwMDQxMjNGRiAvKiBSRUFETUUgKi8sCiAJCQkJQThBNDcyOTQxNTFBODI1QTAwNDEyM0ZGIC8q
IHN0cnRvZC5jYyAqLywKIAkJCQlBOEE0NzI5NTE1MUE4MjVBMDA0MTIzRkYgLyogc3RydG9kLmgg
Ki8sCiAJCQkJQThBNDcyOTYxNTFBODI1QTAwNDEyM0ZGIC8qIHV0aWxzLmggKi8sCkBAIC03Njcs
MTMgKzc3MCwxMyBAQAogCQlBOEE0NzMxQjE1MUE4MjVCMDA0MTIzRkYgLyogdGV4dCAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJODEzNDAxMzYxNUIwOTJG
RDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgKi8sCi0JCQkJODEzNDAxMzcxNUIwOTJGRDAwMUZGMEI4
IC8qIEJhc2U2NC5oICovLAogCQkJCUE4QTQ3MzFDMTUxQTgyNUIwMDQxMjNGRiAvKiBBU0NJSUZh
c3RQYXRoLmggKi8sCiAJCQkJQThBNDczMUQxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmlu
Zy5jcHAgKi8sCiAJCQkJQThBNDczMUUxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5o
ICovLAogCQkJCUE4QTQ3MzFGMTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdIYXNoLmgg
Ki8sCiAJCQkJQThBNDczMjAxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0ltcGwuaCAq
LywKKwkJCQk4MTM0MDEzNjE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNwcCAqLywKKwkJCQk4
MTM0MDEzNzE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi8sCiAJCQkJQThBNDczMjExNTFB
ODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuY3BwICovLAogCQkJCUE4QTQ3MzIyMTUxQTgyNUIwMDQx
MjNGRiAvKiBDU3RyaW5nLmggKi8sCiAJCQkJQThBNDczMjMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0
cmluZ0J1ZmZlci5oICovLApAQCAtODA0LDEwICs4MDcsMTAgQEAKIAkJQThBNDczNDgxNTFBODI1
QjAwNDEyM0ZGIC8qIHVuaWNvZGUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCUE4QTQ3MzRGMTUxQTgyNUIwMDQxMjNGRiAvKiBpY3UgKi8sCiAJCQkJQThB
NDczNDkxNTFBODI1QjAwNDEyM0ZGIC8qIENoYXJhY3Rlck5hbWVzLmggKi8sCiAJCQkJQThBNDcz
NEExNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9yLmggKi8sCiAJCQkJQThBNDczNEIxNTFBODI1
QjAwNDEyM0ZGIC8qIENvbGxhdG9yRGVmYXVsdC5jcHAgKi8sCi0JCQkJQThBNDczNEYxNTFBODI1
QjAwNDEyM0ZGIC8qIGljdSAqLywKIAkJCQlBOEE0NzM1NDE1MUE4MjVCMDA0MTIzRkYgLyogU2Ny
aXB0Q29kZXNGcm9tSUNVLmggKi8sCiAJCQkJQThBNDczNTUxNTFBODI1QjAwNDEyM0ZGIC8qIFVu
aWNvZGUuaCAqLywKIAkJCQlBOEE0NzM1NjE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZU1hY3Jv
c0Zyb21JQ1UuaCAqLywKQEAgLTg3MSwyNyArODc0LDM5IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKLQkJCQlBODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4QTQ3MzdGMTUxQTgyNUIwMDQxMjNGRiAvKiBBbGlnbm1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3MzgwMTUxQTgyNUIwMDQxMjNGRiAvKiBBbHdheXNJbmxpbmUuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzgyMTUxQTgyNUIwMDQxMjNGRiAvKiBBcnJheUJ1ZmZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODQxNTFBODI1QjAwNDEyM0ZGIC8qIEFycmF5
QnVmZmVyVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODUxNTFBODI1QjAwNDEyM0ZG
IC8qIEFTQ0lJQ1R5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDM0MTUxQTgyNUIwMDQx
MjNGRiAvKiBBU0NJSUZhc3RQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4NzE1MUE4
MjVCMDA0MTIzRkYgLyogQXNzZXJ0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODgx
NTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDM2
MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4
QTQ3NDM3MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdIYXNoLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBOEE0NzQzODE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nSW1wbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODkxNTFBODI1QjAwNDEyM0ZGIC8qIEFWTFRyZWUuaCBp
biBIZWFkZXJzICovLAotCQkJCUE4QTQ3MzhBMTUxQTgyNUIwMDQxMjNGRiAvKiBCaXRtYXAuaCBp
biBIZWFkZXJzICovLAorCQkJCTgxMzQwMTM5MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuaCBp
biBIZWFkZXJzICovLAorCQkJCUE4QTQ3M0E5MTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0tZHRv
YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczQUIxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251
bS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NTIxNTFBODI1QjAwNDEyM0ZGIC8qIEJpbmFy
eVNlbWFwaG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEYwMzIxQkMxNTZBQThEMTAwNkVCQUY2
IC8qIEJpdEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzM4QTE1MUE4MjVCMDA0MTIz
RkYgLyogQml0bWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4QzE1MUE4MjVCMDA0MTIz
RkYgLyogQml0VmVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4RTE1MUE4MjVCMDA0
MTIzRkYgLyogQmxvY2tTdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOEYxNTFBODI1
QjAwNDEyM0ZGIC8qIEJsb29tRmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5MDE1
MUE4MjVCMDA0MTIzRkYgLyogQm91bmRzQ2hlY2tlZFBvaW50ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3MzkxMTUxQTgyNUIwMDQxMjNGRiAvKiBCdW1wUG9pbnRlckFsbG9jYXRvci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQThBNDczQUQxNTFBODI1QjAwNDEyM0ZGIC8qIGNhY2hlZC1wb3dl
cnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDVFMTUxQTgyNUIwMDQxMjNGRiAvKiBDaGFy
YWN0ZXJOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOTQxNTFBODI1QjAwNDEyM0ZG
IC8qIENoZWNrZWRBcml0aG1ldGljLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5NTE1MUE4
MjVCMDA0MTIzRkYgLyogQ2hlY2tlZEJvb2xlYW4uaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3
NDVGMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDczOTgxNTFBODI1QjAwNDEyM0ZGIC8qIENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzM5OTE1MUE4MjVCMDA0MTIzRkYgLyogQ29tcGxleC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QThBNDc0OEMxNTFBODI2NDAwNDEyM0ZGIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDczOUIxNTFBODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQzQTE1MUE4MjVCMDA0MTIzRkYgLyogQ1N0cmlu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOUQxNTFBODI1QjAwNDEyM0ZGIC8qIEN1cnJl
bnRUaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5RjE1MUE4MjVCMDA0MTIzRkYgLyog
RGF0YUxvZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQTExNTFBODI1QjAwNDEyM0ZGIC8q
IERhdGVNYXRoLmggaW4gSGVhZGVycyAqLywKQEAgLTg5OSwyOSArOTE0LDI2IEBACiAJCQkJQThB
NDczQTQxNTFBODI1QjAwNDEyM0ZGIC8qIERlY29kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3M0E1MTUxQTgyNUIwMDQxMjNGRiAvKiBEZXF1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDczQTYxNTFBODI1QjAwNDEyM0ZGIC8qIERpc2FsbG93Q1R5cGUuaCBpbiBIZWFkZXJzICovLAot
CQkJCUE4QTQ3M0E3MTUxQTgyNUIwMDQxMjNGRiAvKiBEb3VibHlMaW5rZWRMaXN0LmggaW4gSGVh
ZGVycyAqLywKLQkJCQlBOEE0NzNBOTE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLWR0b2EuaCBp
biBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0FCMTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0uaCBp
biBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0FEMTUxQTgyNUIwMDQxMjNGRiAvKiBjYWNoZWQtcG93
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNBRjE1MUE4MjVCMDA0MTIzRkYgLyogZGl5
LWZwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNCMTE1MUE4MjVCMDA0MTIzRkYgLyogZG91
YmxlLWNvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0IyMTUxQTgyNUIwMDQx
MjNGRiAvKiBkb3VibGUuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0I0MTUxQTgyNUIwMDQx
MjNGRiAvKiBmYXN0LWR0b2EuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0I2MTUxQTgyNUIw
MDQxMjNGRiAvKiBmaXhlZC1kdG9hLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzNCODE1MUE4
MjVCMDA0MTIzRkYgLyogc3RydG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzNCOTE1MUE4
MjVCMDA0MTIzRkYgLyogdXRpbHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3M0E3MTUxQTgy
NUIwMDQxMjNGRiAvKiBEb3VibHlMaW5rZWRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0
NzNCQjE1MUE4MjVCMDA0MTIzRkYgLyogZHRvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDcz
QkQxNTFBODI1QjAwNDEyM0ZGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQThBNDczQzAxNTFBODI1QjAwNDEyM0ZGIC8qIEVuY29kZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4QTQ3M0MxMTUxQTgyNUIwMDQxMjNGRiAvKiBFeHBvcnRNYWNyb3MuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE4QTQ3M0I0MTUxQTgyNUIwMDQxMjNGRiAvKiBmYXN0LWR0b2EuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3M0MyMTUxQTgyNUIwMDQxMjNGRiAvKiBGYXN0QWxsb2NCYXNl
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkQ4MUFDNTE1NEZCMjJFMDA5ODNFNzIgLyogRmFzdEJp
dFZlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzQxNTFBODI1QjAwNDEyM0ZGIC8q
IEZhc3RNYWxsb2MuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3M0I2MTUxQTgyNUIwMDQxMjNG
RiAvKiBmaXhlZC1kdG9hLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDNTE1MUE4MjVCMDA0
MTIzRkYgLyogRml4ZWRBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzYxNTFBODI1
QjAwNDEyM0ZGIC8qIEZsb2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzcx
NTFBODI1QjAwNDEyM0ZGIC8qIEZsb2F0NjRBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDczQzgxNTFBODI1QjAwNDEyM0ZGIC8qIEZvcndhcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3M0M5MTUxQTgyNUIwMDQxMjNGRiAvKiBGdW5jdGlvbmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzNDQTE1MUE4MjVCMDA0MTIzRkYgLyogR2V0UHRyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyQzA1Mzg1NDE1QkM4MTkwMDBGMjFCOTYgLyogR3JlZ29yaWFuRGF0ZVRpbWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3M0QzMTUxQTgyNUIwMDQxMjNGRiAvKiBIYXNoQ291bnRlZFNldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRDQxNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hGdW5j
dGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0Q1MTUxQTgyNUIwMDQxMjNGRiAvKiBI
YXNoSXRlcmF0b3JzLmggaW4gSGVhZGVycyAqLywKQEAgLTkzMSw5ICs5NDMsOSBAQAogCQkJCUE4
QTQ3M0RBMTUxQTgyNUIwMDQxMjNGRiAvKiBIYXNoVHJhaXRzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzNEQjE1MUE4MjVCMDA0MTIzRkYgLyogSGV4TnVtYmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEE0NzNEQzE1MUE4MjVCMDA0MTIzRkYgLyogSW5saW5lQVNNLmggaW4gSGVhZGVycyAq
LywKLQkJCQlBOEE0NzNERDE1MUE4MjVCMDA0MTIzRkYgLyogSW50OEFycmF5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzNERTE1MUE4MjVCMDA0MTIzRkYgLyogSW50MTZBcnJheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQThBNDczREYxNTFBODI1QjAwNDEyM0ZGIC8qIEludDMyQXJyYXkuaCBp
biBIZWFkZXJzICovLAorCQkJCUE4QTQ3M0REMTUxQTgyNUIwMDQxMjNGRiAvKiBJbnQ4QXJyYXku
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0UwMTUxQTgyNUIwMDQxMjNGRiAvKiBJbnRlZ3Jh
bFR5cGVkQXJyYXlCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNFMTE1MUE4MjVCMDA0
MTIzRkYgLyogTGlzdEhhc2hTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0UyMTUxQTgy
NUIwMDQxMjNGRiAvKiBMaXN0UmVmUHRyLmggaW4gSGVhZGVycyAqLywKQEAgLTk2MiwxNCArOTc0
LDE4IEBACiAJCQkJQThBNDc0MDQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhZ2VSZXNlcnZhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MDUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVs
Sm9icy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MDgxNTFBODI1QjAwNDEyM0ZGIC8qIFBh
cmFsbGVsSm9ic0xpYmRpc3BhdGNoLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ3MDE1MUE4
MjVCMDA0MTIzRkYgLyogUGFyc2VkVVJMLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQwQTE1
MUE4MjVCMDA0MTIzRkYgLyogUGFzc093bkFycmF5UHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzQwQjE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc093blB0ci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDc0MEMxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NSZWZQdHIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4QTQ3NDBEMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzVHJhaXRzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlBODc2REJEODE1MTgxNkU1MDBEQURCOTUgLyogUGxhdGZvcm0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3NDBFMTUxQTgyNUIwMDQxMjNGRiAvKiBQbGF0Zm9ybS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQThBNDc0MEYxNTFBODI1QjAwNDEyM0ZGIC8qIFBvc3NpYmx5TnVsbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMTQzRjYxMjAxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDE1MTUxQTgyNUIwMDQxMjNGRiAvKiBSYW5kb21O
dW1iZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDE2MTUxQTgyNUIwMDQxMjNGRiAvKiBS
YW5kb21OdW1iZXJTZWVkLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ3MjE1MUE4MjVCMDA0
MTIzRkYgLyogUmF3VVJMQnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQxNzE1MUE4
MjVCMDA0MTIzRkYgLyogUmVkQmxhY2tUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQx
ODE1MUE4MjVCMDA0MTIzRkYgLyogUmVmQ291bnRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThB
NDc0MTkxNTFBODI1QjAwNDEyM0ZGIC8qIFJlZkNvdW50ZWRBcnJheS5oIGluIEhlYWRlcnMgKi8s
CkBAIC05NzcsNiArOTkzLDcgQEAKIAkJCQlBOEE0NzQxQzE1MUE4MjVCMDA0MTIzRkYgLyogUmVm
UHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQxRDE1MUE4MjVCMDA0MTIzRkYgLyogUmVm
UHRySGFzaE1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MUUxNTFBODI1QjAwNDEyM0ZG
IC8qIFJldGFpblB0ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NjYxNTFBODI1QjAwNDEy
M0ZGIC8qIFNjcmlwdENvZGVzRnJvbUlDVS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MUYx
NTFBODI1QjAwNDEyM0ZGIC8qIFNlZ21lbnRlZFZlY3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDc0MjAxNTFBODI1QjAwNDEyM0ZGIC8qIFNlbnRpbmVsTGlua2VkTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDc0MjIxNTFBODI1QjAwNDEyM0ZGIC8qIFNIQTEuaCBpbiBIZWFkZXJz
ICovLApAQCAtOTg2LDUyICsxMDAzLDM5IEBACiAJCQkJQThBNDc0MjgxNTFBODI1QjAwNDEyM0ZG
IC8qIFN0YWNrQm91bmRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyOTE1MUE4MjVCMDA0
MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQy
QTE1MUE4MjVCMDA0MTIzRkYgLyogU3RkTGliRXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
OEE0NzQzQjE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVmZmVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBOEE0NzQzRDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVpbGRlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQThBNDc0M0UxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0NvbmNhdGVuYXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyQzE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5n
RXh0cmFzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQzRjE1MUE4MjVCMDA0MTIzRkYgLyog
U3RyaW5nSGFzaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MkQxNTFBODI1QjAwNDEyM0ZG
IC8qIFN0cmluZ0hhc2hlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NDExNTFBODI1QjAw
NDEyM0ZGIC8qIFN0cmluZ0ltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDQyMTUxQTgy
NUIwMDQxMjNGRiAvKiBTdHJpbmdPcGVyYXRvcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3
M0I4MTUxQTgyNUIwMDQxMjNGRiAvKiBzdHJ0b2QuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3
NDJFMTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1BhY2tlZENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQyRjE1MUE4MjVCMDA0MTIzRkYgLyogVENQYWdlTWFwLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOEE0NzQzMDE1MUE4MjVCMDA0MTIzRkYgLyogVENTcGluTG9jay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThBNDc0MzIxNTFBODI1QjAwNDEyM0ZGIC8qIFRDU3lzdGVtQWxsb2MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3NDMzMTUxQTgyNUIwMDQxMjNGRiAvKiBUZW1wb3JhcnlDaGFu
Z2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDM0MTUxQTgyNUIwMDQxMjNGRiAvKiBBU0NJ
SUZhc3RQYXRoLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQzNjE1MUE4MjVCMDA0MTIzRkYg
LyogQXRvbWljU3RyaW5nLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQzNzE1MUE4MjVCMDA0
MTIzRkYgLyogQXRvbWljU3RyaW5nSGFzaC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0Mzgx
NTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZ0ltcGwuaCBpbiBIZWFkZXJzICovLAotCQkJ
CUE4QTQ3NDNBMTUxQTgyNUIwMDQxMjNGRiAvKiBDU3RyaW5nLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlBOEE0NzQzQjE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVmZmVyLmggaW4gSGVhZGVycyAq
LywKLQkJCQlBOEE0NzQzRDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVpbGRlci5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQThBNDc0M0UxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0NvbmNhdGVu
YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQzRjE1MUE4MjVCMDA0MTIzRkYgLyogU3Ry
aW5nSGFzaC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NDExNTFBODI1QjAwNDEyM0ZGIC8q
IFN0cmluZ0ltcGwuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDQyMTUxQTgyNUIwMDQxMjNG
RiAvKiBTdHJpbmdPcGVyYXRvcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDQ0MTUxQTgy
NUIwMDQxMjNGRiAvKiBUZXh0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDQ2
MTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3
NDQ3MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRGdW5jdGlvbkludm9jYXRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3NDQ5MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRJZGVudGlmaWVy
RGF0YVB0aHJlYWRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ0QjE1MUE4MjVCMDA0MTIz
RkYgLyogVGhyZWFkaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ0RDE1MUE4MjVCMDA0
MTIzRkYgLyogVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0
NTAxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZFJlc3RyaWN0aW9uVmVyaWZpZXIuaCBpbiBIZWFk
ZXJzICovLAotCQkJCUE4QTQ3NDUyMTUxQTgyNUIwMDQxMjNGRiAvKiBCaW5hcnlTZW1hcGhvcmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDU0MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRT
YWZlUmVmQ291bnRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NTUxNTFBODI1QjAwNDEy
M0ZGIC8qIFRocmVhZFNwZWNpZmljLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ1NzE1MUE4
MjVCMDA0MTIzRkYgLyogVHlwZWRBcnJheUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3
NDU5MTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlVHJhaXRzLmggaW4gSGVhZGVycyAqLywKLQkJCQlB
OEE0NzQ1QTE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJQThBNDc0NUIxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzQ1QzE1MUE4MjVCMDA0MTIzRkYgLyogVWludDE2QXJyYXkuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDVEMTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50MzJBcnJh
eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NUUxNTFBODI1QjAwNDEyM0ZGIC8qIENoYXJh
Y3Rlck5hbWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ1RjE1MUE4MjVCMDA0MTIzRkYg
LyogQ29sbGF0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDY0MTUxQTgyNUIwMDQxMjNG
RiAvKiBVbmljb2RlSWN1LmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ2NjE1MUE4MjVCMDA0
MTIzRkYgLyogU2NyaXB0Q29kZXNGcm9tSUNVLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ1
QTE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThB
NDc0NUIxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQ4Q2xhbXBlZEFycmF5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOEE0NzQ2NzE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQThBNDc0NjQxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNvZGVJY3UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3NDY4MTUxQTgyNUIwMDQxMjNGRiAvKiBVbmljb2RlTWFjcm9zRnJv
bUlDVS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NkExNTFBODI1QjAwNDEyM0ZGIC8qIFVU
RjguaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDZEMTUxQTgyNUIwMDQxMjNGRiAvKiBVbmlv
bkZpbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDZFMTUxQTgyNUIwMDQxMjNGRiAvKiBV
bnVzZWRQYXJhbS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NzAxNTFBODI1QjAwNDEyM0ZG
IC8qIFBhcnNlZFVSTC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NzExNTFBODI1QjAwNDEy
M0ZGIC8qIFVSTFN0cmluZy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NzIxNTFBODI1QjAw
NDEyM0ZGIC8qIFJhd1VSTEJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NzMxNTFB
ODI1QjAwNDEyM0ZGIC8qIFVSTEJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NzUx
NTFBODI1QjAwNDEyM0ZGIC8qIFVSTENoYXJhY3RlclR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQ3NjE1MUE4MjVCMDA0MTIzRkYgLyogVVJMQ29tcG9uZW50LmggaW4gSGVhZGVycyAq
LywKQEAgLTEwMzksMTUgKzEwNDMsMTUgQEAKIAkJCQlBOEE0NzQ3OTE1MUE4MjVCMDA0MTIzRkYg
LyogVVJMUGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ3QTE1MUE4MjVCMDA0MTIz
RkYgLyogVVJMUXVlcnlDYW5vbmljYWxpemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ3
QzE1MUE4MjVCMDA0MTIzRkYgLyogVVJMU2VnbWVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4
QTQ3NDcxMTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxTdHJpbmcuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE4QTQ3NDZBMTUxQTgyNUIwMDQxMjNGRiAvKiBVVEY4LmggaW4gSGVhZGVycyAqLywKKwkJCQlB
OEE0NzNCOTE1MUE4MjVCMDA0MTIzRkYgLyogdXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3NDdEMTUxQTgyNUIwMDQxMjNGRiAvKiBWYWx1ZUNoZWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQ3RTE1MUE4MjVCMDA0MTIzRkYgLyogVmVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQ3RjE1MUE4MjVCMDA0MTIzRkYgLyogVmVjdG9yVHJhaXRzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOEE0NzQ4MDE1MUE4MjVCMDA0MTIzRkYgLyogVk1UYWdzLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBOEE0NzQ0NjE1MUE4MjVCMDA0MTIzRkYgLyogV1RGU3RyaW5nLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzQ4NzE1MUE4MjVCMDA0MTIzRkYgLyogV1RGVGhyZWFkRGF0YS5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0OEMxNTFBODI2NDAwNDEyM0ZGIC8qIGNvbmZpZy5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJMTQzRjYxMjAxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCBp
biBIZWFkZXJzICovLAotCQkJCTBGRDgxQUM1MTU0RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVj
dG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQk4MTM0MDEzOTE1QjA5MkZEMDAxRkYwQjggLyogQmFz
ZTY0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTExMzksMjYgKzExNDMsMzEgQEAKIAkJCQlBOEE0NzM4
MTE1MUE4MjVCMDA0MTIzRkYgLyogQXJyYXlCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QThBNDczODMxNTFBODI1QjAwNDEyM0ZGIC8qIEFycmF5QnVmZmVyVmlldy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEE0NzM4NjE1MUE4MjVCMDA0MTIzRkYgLyogQXNzZXJ0aW9ucy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBOEE0NzQzNTE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5n
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgxMzQwMTM4MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNl
NjQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDczQTgxNTFBODI1QjAwNDEyM0ZGIC8qIGJp
Z251bS1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDczQUExNTFBODI1QjAwNDEyM0ZG
IC8qIGJpZ251bS5jYyBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3NDUxMTUxQTgyNUIwMDQxMjNG
RiAvKiBCaW5hcnlTZW1hcGhvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczOEIxNTFB
ODI1QjAwNDEyM0ZGIC8qIEJpdFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzNB
QzE1MUE4MjVCMDA0MTIzRkYgLyogY2FjaGVkLXBvd2Vycy5jYyBpbiBTb3VyY2VzICovLAorCQkJ
CUE4QTQ3NDYwMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRvckRlZmF1bHQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQThBNDc0NjMxNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9ySUNVLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4QTQ3MzlBMTUxQTgyNUIwMDQxMjNGRiAvKiBDcnlwdG9ncmFw
aGljYWxseVJhbmRvbU51bWJlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzQzOTE1MUE4
MjVCMDA0MTIzRkYgLyogQ1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM5QzE1
MUE4MjVCMDA0MTIzRkYgLyogQ3VycmVudFRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThB
NDczOUUxNTFBODI1QjAwNDEyM0ZGIC8qIERhdGFMb2cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QThBNDczQTAxNTFBODI1QjAwNDEyM0ZGIC8qIERhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4QTQ3M0EyMTUxQTgyNUIwMDQxMjNGRiAvKiBEZWNpbWFsTnVtYmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCUE4QTQ3M0E4MTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0tZHRvYS5jYyBp
biBTb3VyY2VzICovLAotCQkJCUE4QTQ3M0FBMTUxQTgyNUIwMDQxMjNGRiAvKiBiaWdudW0uY2Mg
aW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzNBQzE1MUE4MjVCMDA0MTIzRkYgLyogY2FjaGVkLXBv
d2Vycy5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0FFMTUxQTgyNUIwMDQxMjNGRiAvKiBk
aXktZnAuY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMDE1MUE4MjVCMDA0MTIzRkYgLyog
ZG91YmxlLWNvbnZlcnNpb24uY2MgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzNCMzE1MUE4MjVC
MDA0MTIzRkYgLyogZmFzdC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDczQjUxNTFB
ODI1QjAwNDEyM0ZGIC8qIGZpeGVkLWR0b2EuY2MgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzNC
NzE1MUE4MjVCMDA0MTIzRkYgLyogc3RydG9kLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QkExNTFBODI1QjAwNDEyM0ZGIC8qIGR0b2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QkMxNTFBODI1QjAwNDEyM0ZGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBOEE0NzNCMzE1MUE4MjVCMDA0MTIzRkYgLyogZmFzdC1kdG9hLmNjIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQThBNDczQzMxNTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQThBNDczQjUxNTFBODI1QjAwNDEyM0ZGIC8qIGZpeGVkLWR0b2Eu
Y2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNEODE1MUE4MjVCMDA0MTIzRkYgLyogSGFzaFRh
YmxlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3M0U0MTUxQTgyNUIwMDQxMjNGRiAvKiBN
YWluVGhyZWFkTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRTUxNTFBODI1QjAwNDEy
M0ZGIC8qIE1haW5UaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDczRTQxNTFBODI1
QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNF
OTE1MUE4MjVCMDA0MTIzRkYgLyogTUQ1LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0VD
MTUxQTgyNUIwMDQxMjNGRiAvKiBNZXRhQWxsb2NhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3M0YyMTUxQTgyNUIwMDQxMjNGRiAvKiBOdWxsUHRyLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMTE2NywzNSArMTE3NiwzMCBAQAogCQkJCUE4QTQ3M0Y5MTUxQTgyNUIwMDQxMjNGRiAvKiBP
U1JhbmRvbVNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQwMDE1MUE4MjVCMDA0
MTIzRkYgLyogUGFnZUFsbG9jYXRpb25BbGlnbmVkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
QTQ3NDAyMTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlQmxvY2suY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQThBNDc0NkYxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcnNlZFVSTC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkxNDNGNjExRjE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEE0NzQxNDE1MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDFBMTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZDb3VudGVk
TGVha0NvdW50ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MjExNTFBODI1QjAwNDEy
M0ZGIC8qIFNIQTEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MjUxNTFBODI1QjAwNDEy
M0ZGIC8qIFNpemVMaW1pdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MjcxNTFBODI1
QjAwNDEyM0ZGIC8qIFN0YWNrQm91bmRzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3NDJC
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
QThBNDc0MzExNTFBODI1QjAwNDEyM0ZGIC8qIFRDU3lzdGVtQWxsb2MuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJQThBNDc0MzUxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlBOEE0NzQzOTE1MUE4MjVCMDA0MTIzRkYgLyogQ1N0cmluZy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQzQzE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVp
bGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzQyQjE1MUE4MjVCMDA0MTIzRkYgLyog
U3RyaW5nRXh0cmFzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDQwMTUxQTgyNUIwMDQx
MjNGRiAvKiBTdHJpbmdJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDQzMTUxQTgy
NUIwMDQxMjNGRiAvKiBTdHJpbmdTdGF0aWNzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQzMzBG
MzhGMTU3NDVCMDUwMEFBRkE4RiAvKiBVUkxTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
QThBNDc0NDUxNTFBODI1QjAwNDEyM0ZGIC8qIFdURlN0cmluZy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBOEE0NzNCNzE1MUE4MjVCMDA0MTIzRkYgLyogc3RydG9kLmNjIGluIFNvdXJjZXMgKi8s
CisJCQkJQThBNDc0MzExNTFBODI1QjAwNDEyM0ZGIC8qIFRDU3lzdGVtQWxsb2MuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDc0NDgxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZElkZW50aWZp
ZXJEYXRhUHRocmVhZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0NEExNTFBODI1QjAw
NDEyM0ZGIC8qIFRocmVhZGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQ0RTE1MUE4
MjVCMDA0MTIzRkYgLyogVGhyZWFkaW5nUHRocmVhZHMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
QThBNDc0NTExNTFBODI1QjAwNDEyM0ZGIC8qIEJpbmFyeVNlbWFwaG9yZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEE0NzQ1ODE1MUE4MjVCMDA0MTIzRkYgLyogVHlwZVRyYWl0cy5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlBOEE0NzQ2MDE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JEZWZh
dWx0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3NDYzMTUxQTgyNUIwMDQxMjNGRiAvKiBD
b2xsYXRvcklDVS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQ2OTE1MUE4MjVCMDA0MTIz
RkYgLyogVVRGOC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQ2RjE1MUE4MjVCMDA0MTIz
RkYgLyogUGFyc2VkVVJMLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDc0MTUxQTgyNUIw
MDQxMjNGRiAvKiBVUkxDaGFyYWN0ZXJUeXBlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0
NzQ3NzE1MUE4MjVCMDA0MTIzRkYgLyogVVJMRXNjYXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3NDdCMTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxTZWdtZW50cy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk0MzMwRjM4RjE1NzQ1QjA1MDBBQUZBOEYgLyogVVJMU3RyaW5nLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE4QTQ3NDY5MTUxQTgyNUIwMDQxMjNGRiAvKiBVVEY4LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUE4QTQ3NDQ1MTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZTdHJpbmcuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0ODYxNTFBODI1QjAwNDEyM0ZGIC8qIFdURlRocmVhZERh
dGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMTQzRjYxMUYxNTY1RjBGOTAwREI1MTRBIC8qIFJB
TVNpemUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJODEzNDAxMzgxNUIwOTJGRDAwMUZGMEI4IC8q
IEJhc2U2NC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggOWQzNGQ0
NTYzOTZjM2E5MDVjZjU5ZjI4NWE4YjE5MGYzNDliZWNiMy4uYmQyOTE0OTcxOGEwNGQ4MTQ3NzM0
ODlmN2Q2ZTAxMGE1MWU4OWM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTI4LDYgKzI4LDcg
QEAgU0VUKFdURl9IRUFERVJTCiAgICAgRml4ZWRBcnJheS5oCiAgICAgRm9yd2FyZC5oCiAgICAg
R2V0UHRyLmgKKyAgICBHcmVnb3JpYW5EYXRlVGltZS5oCiAgICAgSGFzaENvdW50ZWRTZXQuaAog
ICAgIEhhc2hGdW5jdGlvbnMuaAogICAgIEhhc2hJdGVyYXRvcnMuaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaCBiL1NvdXJjZS9XVEYvd3RmL0dyZWdvcmlh
bkRhdGVUaW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI0ZmMzNTJmMDhlZTZiY2FkYjlhZjhlMjQ3NWNiMzY2
OTAzZmJjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0dyZWdvcmlhbkRhdGVU
aW1lLmgKQEAgLTAsMCArMSwxMjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUGF0cmlj
ayBHYW5zdGVyZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX0dyZWdvcmlhbkRhdGVUaW1l
X2gKKyNkZWZpbmUgV1RGX0dyZWdvcmlhbkRhdGVUaW1lX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK2NsYXNzIEdyZWdvcmlhbkRhdGVUaW1l
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmVnb3JpYW5EYXRlVGltZSk7CitwdWJsaWM6
CisgICAgR3JlZ29yaWFuRGF0ZVRpbWUoKQorICAgICAgICA6IG1feWVhcigwKQorICAgICAgICAs
IG1fbW9udGgoMCkKKyAgICAgICAgLCBtX3llYXJEYXkoMCkKKyAgICAgICAgLCBtX21vbnRoRGF5
KDApCisgICAgICAgICwgbV93ZWVrRGF5KDApCisgICAgICAgICwgbV9ob3VyKDApCisgICAgICAg
ICwgbV9taW51dGUoMCkKKyAgICAgICAgLCBtX3NlY29uZCgwKQorICAgICAgICAsIG1fdXRjT2Zm
c2V0KDApCisgICAgICAgICwgbV9pc0RTVCgwKQorICAgIHsKKyAgICB9CisKKyAgICBpbmxpbmUg
aW50IHllYXIoKSBjb25zdCB7IHJldHVybiBtX3llYXI7IH0KKyAgICBpbmxpbmUgaW50IG1vbnRo
KCkgY29uc3QgeyByZXR1cm4gbV9tb250aDsgfQorICAgIGlubGluZSBpbnQgeWVhckRheSgpIGNv
bnN0IHsgcmV0dXJuIG1feWVhckRheTsgfQorICAgIGlubGluZSBpbnQgbW9udGhEYXkoKSBjb25z
dCB7IHJldHVybiBtX21vbnRoRGF5OyB9CisgICAgaW5saW5lIGludCB3ZWVrRGF5KCkgY29uc3Qg
eyByZXR1cm4gbV93ZWVrRGF5OyB9CisgICAgaW5saW5lIGludCBob3VyKCkgY29uc3QgeyByZXR1
cm4gbV9ob3VyOyB9CisgICAgaW5saW5lIGludCBtaW51dGUoKSBjb25zdCB7IHJldHVybiBtX21p
bnV0ZTsgfQorICAgIGlubGluZSBpbnQgc2Vjb25kKCkgY29uc3QgeyByZXR1cm4gbV9zZWNvbmQ7
IH0KKyAgICBpbmxpbmUgaW50IHV0Y09mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdXRjT2Zmc2V0
OyB9CisgICAgaW5saW5lIGludCBpc0RTVCgpIGNvbnN0IHsgcmV0dXJuIG1faXNEU1Q7IH0KKwor
ICAgIGlubGluZSB2b2lkIHNldFllYXIoaW50IHllYXIpIHsgbV95ZWFyID0geWVhcjsgfQorICAg
IGlubGluZSB2b2lkIHNldE1vbnRoKGludCBtb250aCkgeyBtX21vbnRoID0gbW9udGg7IH0KKyAg
ICBpbmxpbmUgdm9pZCBzZXRZZWFyRGF5KGludCB5ZWFyRGF5KSB7IG1feWVhckRheSA9IHllYXJE
YXk7IH0KKyAgICBpbmxpbmUgdm9pZCBzZXRNb250aERheShpbnQgbW9udGhEYXkpIHsgbV9tb250
aERheSA9IG1vbnRoRGF5OyB9CisgICAgaW5saW5lIHZvaWQgc2V0V2Vla0RheShpbnQgd2Vla0Rh
eSkgeyBtX3dlZWtEYXkgPSB3ZWVrRGF5OyB9CisgICAgaW5saW5lIHZvaWQgc2V0SG91cihpbnQg
aG91cikgeyBtX2hvdXIgPSBob3VyOyB9CisgICAgaW5saW5lIHZvaWQgc2V0TWludXRlKGludCBt
aW51dGUpIHsgbV9taW51dGUgPSBtaW51dGU7IH0KKyAgICBpbmxpbmUgdm9pZCBzZXRTZWNvbmQo
aW50IHNlY29uZCkgeyBtX3NlY29uZCA9IHNlY29uZDsgfQorICAgIGlubGluZSB2b2lkIHNldFV0
Y09mZnNldChpbnQgdXRjT2Zmc2V0KSB7IG1fdXRjT2Zmc2V0ID0gdXRjT2Zmc2V0OyB9CisgICAg
aW5saW5lIHZvaWQgc2V0SXNEU1QoaW50IGlzRFNUKSB7IG1faXNEU1QgPSBpc0RTVDsgfQorCisg
ICAgb3BlcmF0b3IgdG0oKSBjb25zdAorICAgIHsKKyAgICAgICAgdG0gcmV0OworICAgICAgICBt
ZW1zZXQoJnJldCwgMCwgc2l6ZW9mKHJldCkpOworCisgICAgICAgIHJldC50bV95ZWFyID0gbV95
ZWFyOworICAgICAgICByZXQudG1fbW9uID0gbV9tb250aDsKKyAgICAgICAgcmV0LnRtX3lkYXkg
PSBtX3llYXJEYXk7CisgICAgICAgIHJldC50bV9tZGF5ID0gbV9tb250aERheTsKKyAgICAgICAg
cmV0LnRtX3dkYXkgPSBtX3dlZWtEYXk7CisgICAgICAgIHJldC50bV9ob3VyID0gbV9ob3VyOwor
ICAgICAgICByZXQudG1fbWluID0gbV9taW51dGU7CisgICAgICAgIHJldC50bV9zZWMgPSBtX3Nl
Y29uZDsKKyAgICAgICAgcmV0LnRtX2lzZHN0ID0gbV9pc0RTVDsKKworI2lmIEhBVkUoVE1fR01U
T0ZGKQorICAgICAgICByZXQudG1fZ210b2ZmID0gc3RhdGljX2Nhc3Q8bG9uZz4obV91dGNPZmZz
ZXQpOworI2VuZGlmCisKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAgICB2b2lkIGNv
cHlGcm9tKGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiBvdGhlcikKKyAgICB7CisgICAgICAgIG1f
eWVhciA9IG90aGVyLm1feWVhcjsKKyAgICAgICAgbV9tb250aCA9IG90aGVyLm1fbW9udGg7Cisg
ICAgICAgIG1feWVhckRheSA9IG90aGVyLm1feWVhckRheTsKKyAgICAgICAgbV9tb250aERheSA9
IG90aGVyLm1fbW9udGhEYXk7CisgICAgICAgIG1fd2Vla0RheSA9IG90aGVyLm1fd2Vla0RheTsK
KyAgICAgICAgbV9ob3VyID0gb3RoZXIubV9ob3VyOworICAgICAgICBtX21pbnV0ZSA9IG90aGVy
Lm1fbWludXRlOworICAgICAgICBtX3NlY29uZCA9IG90aGVyLm1fc2Vjb25kOworICAgICAgICBt
X3V0Y09mZnNldCA9IG90aGVyLm1fdXRjT2Zmc2V0OworICAgICAgICBtX2lzRFNUID0gb3RoZXIu
bV9pc0RTVDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgaW50IG1feWVhcjsKKyAgICBpbnQgbV9t
b250aDsKKyAgICBpbnQgbV95ZWFyRGF5OworICAgIGludCBtX21vbnRoRGF5OworICAgIGludCBt
X3dlZWtEYXk7CisgICAgaW50IG1faG91cjsKKyAgICBpbnQgbV9taW51dGU7CisgICAgaW50IG1f
c2Vjb25kOworICAgIGludCBtX3V0Y09mZnNldDsKKyAgICBpbnQgbV9pc0RTVDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OkdyZWdvcmlhbkRhdGVUaW1lOworCisjZW5k
aWYgLy8gV1RGX0dyZWdvcmlhbkRhdGVUaW1lX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9xdC9xdF9ydW50aW1lX3F0NC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQv
cXRfcnVudGltZV9xdDQuY3BwCmluZGV4IDk2ODJmMTRlYzMxYWM2MDliOTQ5MGQ0YmZmMTAzZmY2
Y2VkZmZhMmMuLmMzODkwYWZlODI0MTBmMzZhNWNiYWM2YzdlZWY1NDIxMmZkMjY4NzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lX3F0NC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWVfcXQ0LmNwcApAQCAtNTA0LDEzICs1
MDQsMTMgQEAgUVZhcmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgdmFsdWUsIFFNZXRhVHlwZTo6VHlwZQogICAgICAgICAgICAgICAgIEdyZWdvcmlh
bkRhdGVUaW1lIGdkdDsKICAgICAgICAgICAgICAgICBtc1RvR3JlZ29yaWFuRGF0ZVRpbWUoZXhl
YywgZGF0ZS0+aW50ZXJuYWxOdW1iZXIoKSwgdHJ1ZSwgZ2R0KTsKICAgICAgICAgICAgICAgICBp
ZiAoaGludCA9PSBRTWV0YVR5cGU6OlFEYXRlVGltZSkgewotICAgICAgICAgICAgICAgICAgICBy
ZXQgPSBRRGF0ZVRpbWUoUURhdGUoZ2R0LnllYXIgKyAxOTAwLCBnZHQubW9udGggKyAxLCBnZHQu
bW9udGhEYXkpLCBRVGltZShnZHQuaG91ciwgZ2R0Lm1pbnV0ZSwgZ2R0LnNlY29uZCksIFF0OjpV
VEMpOworICAgICAgICAgICAgICAgICAgICByZXQgPSBRRGF0ZVRpbWUoUURhdGUoZ2R0LnllYXIo
KSArIDE5MDAsIGdkdC5tb250aCgpICsgMSwgZ2R0Lm1vbnRoRGF5KCkpLCBRVGltZShnZHQuaG91
cigpLCBnZHQubWludXRlKCksIGdkdC5zZWNvbmQoKSksIFF0OjpVVEMpOwogICAgICAgICAgICAg
ICAgICAgICBkaXN0ID0gMDsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhpbnQgPT0gUU1l
dGFUeXBlOjpRRGF0ZSkgewotICAgICAgICAgICAgICAgICAgICByZXQgPSBRRGF0ZShnZHQueWVh
ciArIDE5MDAsIGdkdC5tb250aCArIDEsIGdkdC5tb250aERheSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldCA9IFFEYXRlKGdkdC55ZWFyKCkgKyAxOTAwLCBnZHQubW9udGgoKSArIDEsIGdkdC5t
b250aERheSgpKTsKICAgICAgICAgICAgICAgICAgICAgZGlzdCA9IDE7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUVRpbWUoZ2R0LmhvdXIgKyAx
OTAwLCBnZHQubWludXRlLCBnZHQuc2Vjb25kKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0g
UVRpbWUoZ2R0LmhvdXIoKSArIDE5MDAsIGdkdC5taW51dGUoKSwgZ2R0LnNlY29uZCgpKTsKICAg
ICAgICAgICAgICAgICAgICAgZGlzdCA9IDI7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfSBlbHNlIGlmICh0eXBlID09IE51bWJlcikgewpAQCAtNTE4LDEzICs1MTgsMTMgQEAgUVZh
cmlhbnQgY29udmVydFZhbHVlVG9RVmFyaWFudChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFs
dWUsIFFNZXRhVHlwZTo6VHlwZQogICAgICAgICAgICAgICAgIEdyZWdvcmlhbkRhdGVUaW1lIGdk
dDsKICAgICAgICAgICAgICAgICBtc1RvR3JlZ29yaWFuRGF0ZVRpbWUoZXhlYywgYiwgdHJ1ZSwg
Z2R0KTsKICAgICAgICAgICAgICAgICBpZiAoaGludCA9PSBRTWV0YVR5cGU6OlFEYXRlVGltZSkg
ewotICAgICAgICAgICAgICAgICAgICByZXQgPSBRRGF0ZVRpbWUoUURhdGUoZ2R0LnllYXIgKyAx
OTAwLCBnZHQubW9udGggKyAxLCBnZHQubW9udGhEYXkpLCBRVGltZShnZHQuaG91ciwgZ2R0Lm1p
bnV0ZSwgZ2R0LnNlY29uZCksIFF0OjpVVEMpOworICAgICAgICAgICAgICAgICAgICByZXQgPSBR
RGF0ZVRpbWUoUURhdGUoZ2R0LnllYXIoKSArIDE5MDAsIGdkdC5tb250aCgpICsgMSwgZ2R0Lm1v
bnRoRGF5KCkpLCBRVGltZShnZHQuaG91cigpLCBnZHQubWludXRlKCksIGdkdC5zZWNvbmQoKSks
IFF0OjpVVEMpOwogICAgICAgICAgICAgICAgICAgICBkaXN0ID0gNjsKICAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKGhpbnQgPT0gUU1ldGFUeXBlOjpRRGF0ZSkgewotICAgICAgICAgICAgICAg
ICAgICByZXQgPSBRRGF0ZShnZHQueWVhciArIDE5MDAsIGdkdC5tb250aCArIDEsIGdkdC5tb250
aERheSk7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IFFEYXRlKGdkdC55ZWFyKCkgKyAxOTAw
LCBnZHQubW9udGgoKSArIDEsIGdkdC5tb250aERheSgpKTsKICAgICAgICAgICAgICAgICAgICAg
ZGlzdCA9IDg7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
cmV0ID0gUVRpbWUoZ2R0LmhvdXIsIGdkdC5taW51dGUsIGdkdC5zZWNvbmQpOworICAgICAgICAg
ICAgICAgICAgICByZXQgPSBRVGltZShnZHQuaG91cigpLCBnZHQubWludXRlKCksIGdkdC5zZWNv
bmQoKSk7CiAgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAxMDsKICAgICAgICAgICAgICAgICB9
CiAjaWZuZGVmIFFUX05PX0RBVEVTVFJJTkcKQEAgLTg3NCwxMyArODc0LDEzIEBAIEpTVmFsdWUg
Y29udmVydFFWYXJpYW50VG9WYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8Um9vdE9i
amVjdD4gcm9vdCwgY29uCiAKICAgICAgICAgLy8gRGF0ZXMgc3BlY2lmaWVkIHRoaXMgd2F5IGFy
ZSBpbiBsb2NhbCB0aW1lICh3ZSBjb252ZXJ0IERhdGVUaW1lcyBhYm92ZSkKICAgICAgICAgR3Jl
Z29yaWFuRGF0ZVRpbWUgZHQ7Ci0gICAgICAgIGR0LnllYXIgPSBkYXRlLnllYXIoKSAtIDE5MDA7
Ci0gICAgICAgIGR0Lm1vbnRoID0gZGF0ZS5tb250aCgpIC0gMTsKLSAgICAgICAgZHQubW9udGhE
YXkgPSBkYXRlLmRheSgpOwotICAgICAgICBkdC5ob3VyID0gdGltZS5ob3VyKCk7Ci0gICAgICAg
IGR0Lm1pbnV0ZSA9IHRpbWUubWludXRlKCk7Ci0gICAgICAgIGR0LnNlY29uZCA9IHRpbWUuc2Vj
b25kKCk7Ci0gICAgICAgIGR0LmlzRFNUID0gLTE7CisgICAgICAgIGR0LnNldFllYXIoZGF0ZS55
ZWFyKCkgLSAxOTAwKTsKKyAgICAgICAgZHQuc2V0TW9udGgoZGF0ZS5tb250aCgpIC0gMSk7Cisg
ICAgICAgIGR0LnNldE1vbnRoRGF5KGRhdGUuZGF5KCkpOworICAgICAgICBkdC5zZXRIb3VyKHRp
bWUuaG91cigpKTsKKyAgICAgICAgZHQuc2V0TWludXRlKHRpbWUubWludXRlKCkpOworICAgICAg
ICBkdC5zZXRTZWNvbmQodGltZS5zZWNvbmQoKSk7CisgICAgICAgIGR0LnNldElzRFNUKC0xKTsK
ICAgICAgICAgZG91YmxlIG1zID0gZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKGV4ZWMsIGR0LCB0aW1l
Lm1zZWMoKSwgLyppbnB1dElzVVRDKi8gZmFsc2UpOwogCiAgICAgICAgIHJldHVybiBEYXRlSW5z
dGFuY2U6OmNyZWF0ZShleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmRhdGVTdHJ1
Y3R1cmUoKSwgdHJ1bmMobXMpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153737</attachid>
            <date>2012-07-22 23:30:58 -0700</date>
            <delta_ts>2012-07-23 16:58:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91948-20120723083049.patch</filename>
            <type>text/plain</type>
            <size>68932</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NjM0YTFiZmQ4YjhkYmIxZjQ3MjU4Y2NjZWNmZDY3YzEzMzdkMWU3Li5lM2NiZDM1NDdmNWU5NjNi
NGE2N2NjZDJhZjBlNDQxNjllZjAzZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0wNy0yMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBNb3ZlIEdyZWdvcmlhbkRhdGVUaW1lIGZyb20gSlNDIHRvIFdURiBu
YW1lc3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkxOTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW92aW5nIEdyZWdvcmlhbkRhdGVUaW1lIGludG8gdGhlIFdURiBuYW1lc3BhY2UgYWxsb3dzIHVz
IHRvIHVzIHRvCisgICAgICAgIHVzZSBpdCBpbiBXZWJDb3JlIHRvby4gVGhlIG5ldyBjbGFzcyBo
YXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHRoZQorICAgICAgICBvbGQgc3RydWN0LiBPbmx5IHRo
ZSB1bnVzZWQgdGltZVpvbmUgbWVtYmVyIGhhcyBiZWVuIHJlbW92ZWQuCisKKyAgICAgICAgKiBy
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29udmVy
c2lvbi5jcHA6CisgICAgICAgICogcnVudGltZS9EYXRlQ29udmVyc2lvbi5oOgorICAgICAgICAq
IHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmg6CisgICAgICAgICogcnVudGltZS9EYXRlUHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRGF0ZU1hdGguY3BwOgorICAgICAgICAqIHJ1bnRp
bWUvSlNEYXRlTWF0aC5oOgorCiAyMDEyLTA3LTIyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgRU5BQkxFX0RFVEFJTFMgdG8gRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCBiNjFkNzhjMzVlNDk2ODhhM2ZhYTkxNmE3YWQ1MDMxNmFjMDBmYjEz
Li5kNGJkMDYwM2JlOGIwYzE3NDVhNjRkOGYzYmNmMmExYmMxMzMyNDJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTA3LTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3Jn
PgorCisgICAgICAgIE1vdmUgR3JlZ29yaWFuRGF0ZVRpbWUgZnJvbSBKU0MgdG8gV1RGIG5hbWVz
cGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE5
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zp
bmcgR3JlZ29yaWFuRGF0ZVRpbWUgaW50byB0aGUgV1RGIG5hbWVzcGFjZSBhbGxvd3MgdXMgdG8g
dXMgdG8KKyAgICAgICAgdXNlIGl0IGluIFdlYkNvcmUgdG9vLiBUaGUgbmV3IGNsYXNzIGhhcyB0
aGUgc2FtZSBiZWhhdmlvdXIgYXMgdGhlCisgICAgICAgIG9sZCBzdHJ1Y3QuIE9ubHkgdGhlIHVu
dXNlZCB0aW1lWm9uZSBtZW1iZXIgaGFzIGJlZW4gcmVtb3ZlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0dyZWdvcmlhbkRhdGVUaW1lLmg6IEFkZGVk
LgorICAgICAgICAoR3JlZ29yaWFuRGF0ZVRpbWUpOgorCiAyMDEyLTA3LTIwICBIYW4gU2hlbiAg
PHNoZW5oYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIENvbXBpbGF0aW9uIGZh
aWxzIHVuZGVyIGdjYyA0LjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1MDgzOWQyMDM2YjZkMGFiMzU2NmJjOTYw
NWM0YWM0Y2Q4MzFlYTE2Li42NWMzNzM3NjE2M2QwYzk5YmFjNTJlZTIxODA4N2M1ODkzNTNlMjQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDctMjIgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBHcmVnb3JpYW5EYXRlVGlt
ZSBmcm9tIEpTQyB0byBXVEYgbmFtZXNwYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTk0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vdmluZyBHcmVnb3JpYW5EYXRlVGltZSBpbnRvIHRoZSBXVEYg
bmFtZXNwYWNlIGFsbG93cyB1cyB0byB1cyB0bworICAgICAgICB1c2UgaXQgaW4gV2ViQ29yZSB0
b28uIFRoZSBuZXcgY2xhc3MgaGFzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyB0aGUKKyAgICAgICAg
b2xkIHN0cnVjdC4gT25seSB0aGUgdW51c2VkIHRpbWVab25lIG1lbWJlciBoYXMgYmVlbiByZW1v
dmVkLgorCisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwOgorICAgICAgICAoSlND
OjpCaW5kaW5nczo6Y29udmVydFZhbHVlVG9RVmFyaWFudCk6CisgICAgICAgIChKU0M6OkJpbmRp
bmdzOjpjb252ZXJ0UVZhcmlhbnRUb1ZhbHVlKToKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcnVu
dGltZV9xdDQuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6Y29udmVydFZhbHVlVG9RVmFy
aWFudCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpjb252ZXJ0UVZhcmlhbnRUb1ZhbHVlKToK
KwogMjAxMi0wNy0yMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmVuYW1lIEVOQUJMRV9ERVRBSUxTIHRvIEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmluZGV4
IDA4YjgxNTAzNTE0OWY2NDlhZTRhZjMyMWJlYWVjNTc3NGVlNGYyMjAuLjAzMjUwODBmNmQ4OWI1
MTU1Y2VmNjJkNDUzOGUyN2E1ZGIzNWY5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApAQCAtMTM2LDEzICsxMzYsMTMgQEAgSlNP
YmplY3QqIGNvbnN0cnVjdERhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBjb25zdCBBcmcKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBHcmVnb3Jp
YW5EYXRlVGltZSB0OwogICAgICAgICAgICAgaW50IHllYXIgPSBKU0M6OnRvSW50MzIoZG91Ymxl
QXJndW1lbnRzWzBdKTsKLSAgICAgICAgICAgIHQueWVhciA9ICh5ZWFyID49IDAgJiYgeWVhciA8
PSA5OSkgPyB5ZWFyIDogeWVhciAtIDE5MDA7Ci0gICAgICAgICAgICB0Lm1vbnRoID0gSlNDOjp0
b0ludDMyKGRvdWJsZUFyZ3VtZW50c1sxXSk7Ci0gICAgICAgICAgICB0Lm1vbnRoRGF5ID0gKG51
bUFyZ3MgPj0gMykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzJdKSA6IDE7Ci0gICAg
ICAgICAgICB0LmhvdXIgPSBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNdKTsKLSAgICAg
ICAgICAgIHQubWludXRlID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s0XSk7Ci0gICAg
ICAgICAgICB0LnNlY29uZCA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNV0pOwotICAg
ICAgICAgICAgdC5pc0RTVCA9IC0xOworICAgICAgICAgICAgdC5zZXRZZWFyKCh5ZWFyID49IDAg
JiYgeWVhciA8PSA5OSkgPyB5ZWFyIDogeWVhciAtIDE5MDApOworICAgICAgICAgICAgdC5zZXRN
b250aChKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzFdKSk7CisgICAgICAgICAgICB0LnNl
dE1vbnRoRGF5KChudW1BcmdzID49IDMpID8gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1sy
XSkgOiAxKTsKKyAgICAgICAgICAgIHQuc2V0SG91cihKU0M6OnRvSW50MzIoZG91YmxlQXJndW1l
bnRzWzNdKSk7CisgICAgICAgICAgICB0LnNldE1pbnV0ZShKU0M6OnRvSW50MzIoZG91YmxlQXJn
dW1lbnRzWzRdKSk7CisgICAgICAgICAgICB0LnNldFNlY29uZChKU0M6OnRvSW50MzIoZG91Ymxl
QXJndW1lbnRzWzVdKSk7CisgICAgICAgICAgICB0LnNldElzRFNUKC0xKTsKICAgICAgICAgICAg
IGRvdWJsZSBtcyA9IChudW1BcmdzID49IDcpID8gZG91YmxlQXJndW1lbnRzWzZdIDogMDsKICAg
ICAgICAgICAgIHZhbHVlID0gZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKGV4ZWMsIHQsIG1zLCBmYWxz
ZSk7CiAgICAgICAgIH0KQEAgLTIxNCwxMiArMjE0LDEyIEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGRhdGVVVEMoRXhlY1N0YXRlKiBleGVjKQogCiAgICAgR3JlZ29yaWFu
RGF0ZVRpbWUgdDsKICAgICBpbnQgeWVhciA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNb
MF0pOwotICAgIHQueWVhciA9ICh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyB5ZWFyIDogeWVh
ciAtIDE5MDA7Ci0gICAgdC5tb250aCA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMV0p
OwotICAgIHQubW9udGhEYXkgPSAobiA+PSAzKSA/IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVu
dHNbMl0pIDogMTsKLSAgICB0LmhvdXIgPSBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNd
KTsKLSAgICB0Lm1pbnV0ZSA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNF0pOwotICAg
IHQuc2Vjb25kID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s1XSk7CisgICAgdC5zZXRZ
ZWFyKCh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyB5ZWFyIDogeWVhciAtIDE5MDApOworICAg
IHQuc2V0TW9udGgoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1sxXSkpOworICAgIHQuc2V0
TW9udGhEYXkoKG4gPj0gMykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzJdKSA6IDEp
OworICAgIHQuc2V0SG91cihKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNdKSk7CisgICAg
dC5zZXRNaW51dGUoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s0XSkpOworICAgIHQuc2V0
U2Vjb25kKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNV0pKTsKICAgICBkb3VibGUgbXMg
PSAobiA+PSA3KSA/IGRvdWJsZUFyZ3VtZW50c1s2XSA6IDA7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc051bWJlcih0aW1lQ2xpcChncmVnb3JpYW5EYXRlVGltZVRvTVMoZXhlYywgdCwg
bXMsIHRydWUpKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRGF0ZUNvbnZlcnNpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUNvbnZlcnNpb24uY3BwCmluZGV4IDdiYzBjYmMwZmE1OWNmNTUyOTA5ZTMwYmY3ZDNhYmE3ODBh
ODU4YjguLjU3ZDMwYTQyZThjY2QxY2MwY2UxZTE0M2ZkOTQ5NDM3NWNkZjIwZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb252ZXJzaW9uLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5jcHAKQEAgLTcw
LDM4ICs3MCwzOCBAQCBkb3VibGUgcGFyc2VEYXRlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVVN0
cmluZyAmZGF0ZSkKIHZvaWQgZm9ybWF0RGF0ZShjb25zdCBHcmVnb3JpYW5EYXRlVGltZSAmdCwg
RGF0ZUNvbnZlcnNpb25CdWZmZXImIGJ1ZmZlcikKIHsKICAgICBzbnByaW50ZihidWZmZXIsIERh
dGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiVzICVzICUwMmQgJTA0ZCIsCi0gICAgICAgIHdlZWtk
YXlOYW1lWyh0LndlZWtEYXkgKyA2KSAlIDddLAotICAgICAgICBtb250aE5hbWVbdC5tb250aF0s
IHQubW9udGhEYXksIHQueWVhciArIDE5MDApOworICAgICAgICB3ZWVrZGF5TmFtZVsodC53ZWVr
RGF5KCkgKyA2KSAlIDddLAorICAgICAgICBtb250aE5hbWVbdC5tb250aCgpXSwgdC5tb250aERh
eSgpLCB0LnllYXIoKSArIDE5MDApOwogfQogCiB2b2lkIGZvcm1hdERhdGVVVENWYXJpYW50KGNv
bnN0IEdyZWdvcmlhbkRhdGVUaW1lICZ0LCBEYXRlQ29udmVyc2lvbkJ1ZmZlciYgYnVmZmVyKQog
ewogICAgIHNucHJpbnRmKGJ1ZmZlciwgRGF0ZUNvbnZlcnNpb25CdWZmZXJTaXplLCAiJXMsICUw
MmQgJXMgJTA0ZCIsCi0gICAgICAgIHdlZWtkYXlOYW1lWyh0LndlZWtEYXkgKyA2KSAlIDddLAot
ICAgICAgICB0Lm1vbnRoRGF5LCBtb250aE5hbWVbdC5tb250aF0sIHQueWVhciArIDE5MDApOwor
ICAgICAgICB3ZWVrZGF5TmFtZVsodC53ZWVrRGF5KCkgKyA2KSAlIDddLAorICAgICAgICB0Lm1v
bnRoRGF5KCksIG1vbnRoTmFtZVt0Lm1vbnRoKCldLCB0LnllYXIoKSArIDE5MDApOwogfQogCiB2
b2lkIGZvcm1hdFRpbWUoY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUgJnQsIERhdGVDb252ZXJzaW9u
QnVmZmVyJiBidWZmZXIpCiB7Ci0gICAgaW50IG9mZnNldCA9IGFicyhnbXRvZmZzZXQodCkpOwor
ICAgIGludCBvZmZzZXQgPSBhYnModC51dGNPZmZzZXQoKSk7CiAgICAgY2hhciB0aW1lWm9uZU5h
bWVbNzBdOwogICAgIHN0cnVjdCB0bSBndG0gPSB0OwogICAgIHN0cmZ0aW1lKHRpbWVab25lTmFt
ZSwgc2l6ZW9mKHRpbWVab25lTmFtZSksICIlWiIsICZndG0pOwogCiAgICAgaWYgKHRpbWVab25l
TmFtZVswXSkgewogICAgICAgICBzbnByaW50ZihidWZmZXIsIERhdGVDb252ZXJzaW9uQnVmZmVy
U2l6ZSwgIiUwMmQ6JTAyZDolMDJkIEdNVCVjJTAyZCUwMmQgKCVzKSIsCi0gICAgICAgICAgICB0
LmhvdXIsIHQubWludXRlLCB0LnNlY29uZCwKLSAgICAgICAgICAgIGdtdG9mZnNldCh0KSA8IDAg
PyAnLScgOiAnKycsIG9mZnNldCAvICg2MCo2MCksIChvZmZzZXQgLyA2MCkgJSA2MCwgdGltZVpv
bmVOYW1lKTsKKyAgICAgICAgICAgIHQuaG91cigpLCB0Lm1pbnV0ZSgpLCB0LnNlY29uZCgpLAor
ICAgICAgICAgICAgdC51dGNPZmZzZXQoKSA8IDAgPyAnLScgOiAnKycsIG9mZnNldCAvICg2MCo2
MCksIChvZmZzZXQgLyA2MCkgJSA2MCwgdGltZVpvbmVOYW1lKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBzbnByaW50ZihidWZmZXIsIERhdGVDb252ZXJzaW9uQnVmZmVyU2l6ZSwgIiUwMmQ6JTAy
ZDolMDJkIEdNVCVjJTAyZCUwMmQiLAotICAgICAgICAgICAgdC5ob3VyLCB0Lm1pbnV0ZSwgdC5z
ZWNvbmQsCi0gICAgICAgICAgICBnbXRvZmZzZXQodCkgPCAwID8gJy0nIDogJysnLCBvZmZzZXQg
LyAoNjAqNjApLCAob2Zmc2V0IC8gNjApICUgNjApOworICAgICAgICAgICAgdC5ob3VyKCksIHQu
bWludXRlKCksIHQuc2Vjb25kKCksCisgICAgICAgICAgICB0LnV0Y09mZnNldCgpIDwgMCA/ICct
JyA6ICcrJywgb2Zmc2V0IC8gKDYwKjYwKSwgKG9mZnNldCAvIDYwKSAlIDYwKTsKICAgICB9CiB9
CiAKIHZvaWQgZm9ybWF0VGltZVVUQyhjb25zdCBHcmVnb3JpYW5EYXRlVGltZSAmdCwgRGF0ZUNv
bnZlcnNpb25CdWZmZXImIGJ1ZmZlcikKIHsKLSAgICBzbnByaW50ZihidWZmZXIsIERhdGVDb252
ZXJzaW9uQnVmZmVyU2l6ZSwgIiUwMmQ6JTAyZDolMDJkIEdNVCIsIHQuaG91ciwgdC5taW51dGUs
IHQuc2Vjb25kKTsKKyAgICBzbnByaW50ZihidWZmZXIsIERhdGVDb252ZXJzaW9uQnVmZmVyU2l6
ZSwgIiUwMmQ6JTAyZDolMDJkIEdNVCIsIHQuaG91cigpLCB0Lm1pbnV0ZSgpLCB0LnNlY29uZCgp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUNvbnZlcnNpb24uaAppbmRleCBmZjMyYjUwM2Q4NTJkODE0YWE0YmJlZWRiYzEy
MGY2MjVmMmZkYmQ4Li41MjY5YjUxOGU3NzMyNDBkZTk2OWFhYTYxZjcyMTQzNTI3OGU5OGFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29udmVyc2lvbi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb252ZXJzaW9uLmgKQEAg
LTQzLDExICs0MywxMSBAQAogI2RlZmluZSBEYXRlQ29udmVyc2lvbl9oCiAKICNpbmNsdWRlICJV
U3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL0dyZWdvcmlhbkRhdGVUaW1lLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCiBjbGFzcyBFeGVjU3RhdGU7Ci1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWU7CiAK
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBEYXRlQ29udmVyc2lvbkJ1ZmZlclNpemUgPSAxMDA7CiB0
eXBlZGVmIGNoYXIgRGF0ZUNvbnZlcnNpb25CdWZmZXJbRGF0ZUNvbnZlcnNpb25CdWZmZXJTaXpl
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKaW5kZXgg
N2M5NzZhNTE0YTZkM2E5M2U2NDJjZDFhNTgwNWU0MTI5ODYxMzZjNS4uOTc0MmU2ODg5ZDIyMTIx
OTdjZmIwZTgxYTA5NmUyZjNiZTVmNWY0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUluc3RhbmNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUluc3RhbmNlLmgKQEAgLTIzLDEwICsyMyw2IEBACiAKICNpbmNsdWRlICJKU1dy
YXBwZXJPYmplY3QuaCIKIAotbmFtZXNwYWNlIFdURiB7Ci0gICAgc3RydWN0IEdyZWdvcmlhbkRh
dGVUaW1lOwotfQotCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIERhdGVJbnN0YW5jZSA6
IHB1YmxpYyBKU1dyYXBwZXJPYmplY3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlUHJvdG90eXBlLmNwcAppbmRleCBkM2QwZmU1NzQxMjNkZmNiMTk0ODBlYThjNTUx
NTU0YjI2M2VkMDc4Li5hYTY1YWNkMDViZmI0MTVmY2ZiYjEwMjhlNzViMWFkZDNkNDUyZjg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcApA
QCAtMjIyLDEzICsyMjIsMTMgQEAgc3RhdGljIEpTQ2VsbCogZm9ybWF0TG9jYWxlRGF0ZShFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiBnZHQsIEwKICNpZiBPUyhXSU5E
T1dTKQogICAgIFNZU1RFTVRJTUUgc3lzdGVtVGltZTsKICAgICBtZW1zZXQoJnN5c3RlbVRpbWUs
IDAsIHNpemVvZihzeXN0ZW1UaW1lKSk7Ci0gICAgc3lzdGVtVGltZS53WWVhciA9IGdkdC55ZWFy
ICsgMTkwMDsKLSAgICBzeXN0ZW1UaW1lLndNb250aCA9IGdkdC5tb250aCArIDE7Ci0gICAgc3lz
dGVtVGltZS53RGF5ID0gZ2R0Lm1vbnRoRGF5OwotICAgIHN5c3RlbVRpbWUud0RheU9mV2VlayA9
IGdkdC53ZWVrRGF5OwotICAgIHN5c3RlbVRpbWUud0hvdXIgPSBnZHQuaG91cjsKLSAgICBzeXN0
ZW1UaW1lLndNaW51dGUgPSBnZHQubWludXRlOwotICAgIHN5c3RlbVRpbWUud1NlY29uZCA9IGdk
dC5zZWNvbmQ7CisgICAgc3lzdGVtVGltZS53WWVhciA9IGdkdC55ZWFyKCkgKyAxOTAwOworICAg
IHN5c3RlbVRpbWUud01vbnRoID0gZ2R0Lm1vbnRoKCkgKyAxOworICAgIHN5c3RlbVRpbWUud0Rh
eSA9IGdkdC5tb250aERheSgpOworICAgIHN5c3RlbVRpbWUud0RheU9mV2VlayA9IGdkdC53ZWVr
RGF5KCk7CisgICAgc3lzdGVtVGltZS53SG91ciA9IGdkdC5ob3VyKCk7CisgICAgc3lzdGVtVGlt
ZS53TWludXRlID0gZ2R0Lm1pbnV0ZSgpOworICAgIHN5c3RlbVRpbWUud1NlY29uZCA9IGdkdC5z
ZWNvbmQoKTsKIAogICAgIFZlY3RvcjxVQ2hhciwgMTI4PiBidWZmZXI7CiAgICAgc2l6ZV90IGxl
bmd0aCA9IDA7CkBAIC0yNjUsNyArMjY1LDcgQEAgc3RhdGljIEpTQ2VsbCogZm9ybWF0TG9jYWxl
RGF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiBnZHQsIEwKIAog
ICAgIC8vIE9mZnNldCB5ZWFyIGlmIG5lZWRlZAogICAgIHN0cnVjdCB0bSBsb2NhbFRNID0gZ2R0
OwotICAgIGludCB5ZWFyID0gZ2R0LnllYXIgKyAxOTAwOworICAgIGludCB5ZWFyID0gZ2R0Lnll
YXIoKSArIDE5MDA7CiAgICAgYm9vbCB5ZWFyTmVlZHNPZmZzZXQgPSB5ZWFyIDwgMTkwMCB8fCB5
ZWFyID4gMjAzODsKICAgICBpZiAoeWVhck5lZWRzT2Zmc2V0KQogICAgICAgICBsb2NhbFRNLnRt
X3llYXIgPSBlcXVpdmFsZW50WWVhckZvckRTVCh5ZWFyKSAtIDE5MDA7CkBAIC0zNTcsNyArMzU3
LDcgQEAgc3RhdGljIGJvb2wgZmlsbFN0cnVjdHVyZXNVc2luZ1RpbWVBcmdzKEV4ZWNTdGF0ZSog
ZXhlYywgaW50IG1heEFyZ3MsIGRvdWJsZSogbXMKIAogICAgIC8vIGhvdXJzCiAgICAgaWYgKG1h
eEFyZ3MgPj0gNCAmJiBpZHggPCBudW1BcmdzKSB7Ci0gICAgICAgIHQtPmhvdXIgPSAwOworICAg
ICAgICB0LT5zZXRIb3VyKDApOwogICAgICAgICBkb3VibGUgaG91cnMgPSBleGVjLT5hcmd1bWVu
dChpZHgrKykudG9JbnRlZ2VyUHJlc2VydmVOYU4oZXhlYyk7CiAgICAgICAgIG9rID0gaXNmaW5p
dGUoaG91cnMpOwogICAgICAgICBtaWxsaXNlY29uZHMgKz0gaG91cnMgKiBtc1BlckhvdXI7CkBA
IC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIGJvb2wgZmlsbFN0cnVjdHVyZXNVc2luZ1RpbWVBcmdz
KEV4ZWNTdGF0ZSogZXhlYywgaW50IG1heEFyZ3MsIGRvdWJsZSogbXMKIAogICAgIC8vIG1pbnV0
ZXMKICAgICBpZiAobWF4QXJncyA+PSAzICYmIGlkeCA8IG51bUFyZ3MgJiYgb2spIHsKLSAgICAg
ICAgdC0+bWludXRlID0gMDsKKyAgICAgICAgdC0+c2V0TWludXRlKDApOwogICAgICAgICBkb3Vi
bGUgbWludXRlcyA9IGV4ZWMtPmFyZ3VtZW50KGlkeCsrKS50b0ludGVnZXJQcmVzZXJ2ZU5hTihl
eGVjKTsKICAgICAgICAgb2sgPSBpc2Zpbml0ZShtaW51dGVzKTsKICAgICAgICAgbWlsbGlzZWNv
bmRzICs9IG1pbnV0ZXMgKiBtc1Blck1pbnV0ZTsKQEAgLTM3Myw3ICszNzMsNyBAQCBzdGF0aWMg
Ym9vbCBmaWxsU3RydWN0dXJlc1VzaW5nVGltZUFyZ3MoRXhlY1N0YXRlKiBleGVjLCBpbnQgbWF4
QXJncywgZG91YmxlKiBtcwogICAgIAogICAgIC8vIHNlY29uZHMKICAgICBpZiAobWF4QXJncyA+
PSAyICYmIGlkeCA8IG51bUFyZ3MgJiYgb2spIHsKLSAgICAgICAgdC0+c2Vjb25kID0gMDsKKyAg
ICAgICAgdC0+c2V0U2Vjb25kKDApOwogICAgICAgICBkb3VibGUgc2Vjb25kcyA9IGV4ZWMtPmFy
Z3VtZW50KGlkeCsrKS50b0ludGVnZXJQcmVzZXJ2ZU5hTihleGVjKTsKICAgICAgICAgb2sgPSBp
c2Zpbml0ZShzZWNvbmRzKTsKICAgICAgICAgbWlsbGlzZWNvbmRzICs9IHNlY29uZHMgKiBtc1Bl
clNlY29uZDsKQEAgLTQxMiwxOSArNDEyLDE5IEBAIHN0YXRpYyBib29sIGZpbGxTdHJ1Y3R1cmVz
VXNpbmdEYXRlQXJncyhFeGVjU3RhdGUgKmV4ZWMsIGludCBtYXhBcmdzLCBkb3VibGUgKm1zCiAg
ICAgaWYgKG1heEFyZ3MgPj0gMyAmJiBpZHggPCBudW1BcmdzKSB7CiAgICAgICAgIGRvdWJsZSB5
ZWFycyA9IGV4ZWMtPmFyZ3VtZW50KGlkeCsrKS50b0ludGVnZXJQcmVzZXJ2ZU5hTihleGVjKTsK
ICAgICAgICAgb2sgPSBpc2Zpbml0ZSh5ZWFycyk7Ci0gICAgICAgIHQtPnllYXIgPSB0b0ludDMy
KHllYXJzIC0gMTkwMCk7CisgICAgICAgIHQtPnNldFllYXIodG9JbnQzMih5ZWFycyAtIDE5MDAp
KTsKICAgICB9CiAgICAgLy8gbW9udGhzCiAgICAgaWYgKG1heEFyZ3MgPj0gMiAmJiBpZHggPCBu
dW1BcmdzICYmIG9rKSB7CiAgICAgICAgIGRvdWJsZSBtb250aHMgPSBleGVjLT5hcmd1bWVudChp
ZHgrKykudG9JbnRlZ2VyUHJlc2VydmVOYU4oZXhlYyk7CiAgICAgICAgIG9rID0gaXNmaW5pdGUo
bW9udGhzKTsKLSAgICAgICAgdC0+bW9udGggPSB0b0ludDMyKG1vbnRocyk7CisgICAgICAgIHQt
PnNldE1vbnRoKHRvSW50MzIobW9udGhzKSk7CiAgICAgfQogICAgIC8vIGRheXMKICAgICBpZiAo
aWR4IDwgbnVtQXJncyAmJiBvaykgewogICAgICAgICBkb3VibGUgZGF5cyA9IGV4ZWMtPmFyZ3Vt
ZW50KGlkeCsrKS50b0ludGVnZXJQcmVzZXJ2ZU5hTihleGVjKTsKICAgICAgICAgb2sgPSBpc2Zp
bml0ZShkYXlzKTsKLSAgICAgICAgdC0+bW9udGhEYXkgPSAwOworICAgICAgICB0LT5zZXRNb250
aERheSgwKTsKICAgICAgICAgKm1zICs9IGRheXMgKiBtc1BlckRheTsKICAgICB9CiAgICAgCkBA
IC01NjcsMTAgKzU2NywxMCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90
b0Z1bmNUb0lTT1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaW50IG1zID0gc3RhdGljX2Nh
c3Q8aW50PihmbW9kKHRoaXNEYXRlT2JqLT5pbnRlcm5hbE51bWJlcigpLCBtc1BlclNlY29uZCkp
OwogICAgIGlmIChtcyA8IDApCiAgICAgICAgIG1zICs9IG1zUGVyU2Vjb25kOwotICAgIGlmIChn
cmVnb3JpYW5EYXRlVGltZS0+eWVhciA+IDgwOTkgfHwgZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIg
PCAtMTkwMCkKLSAgICAgICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSAtIDEsICIl
KzA3ZC0lMDJkLSUwMmRUJTAyZDolMDJkOiUwMmQuJTAzZFoiLCAxOTAwICsgZ3JlZ29yaWFuRGF0
ZVRpbWUtPnllYXIsIGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aCArIDEsIGdyZWdvcmlhbkRhdGVU
aW1lLT5tb250aERheSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPmhvdXIsIGdyZWdvcmlhbkRhdGVUaW1l
LT5taW51dGUsIGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQsIG1zKTsKKyAgICBpZiAoZ3JlZ29y
aWFuRGF0ZVRpbWUtPnllYXIoKSA+IDgwOTkgfHwgZ3JlZ29yaWFuRGF0ZVRpbWUtPnllYXIoKSA8
IC0xOTAwKQorICAgICAgICBzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpIC0gMSwgIiUr
MDdkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNkWiIsIDE5MDAgKyBncmVnb3JpYW5EYXRl
VGltZS0+eWVhcigpLCBncmVnb3JpYW5EYXRlVGltZS0+bW9udGgoKSArIDEsIGdyZWdvcmlhbkRh
dGVUaW1lLT5tb250aERheSgpLCBncmVnb3JpYW5EYXRlVGltZS0+aG91cigpLCBncmVnb3JpYW5E
YXRlVGltZS0+bWludXRlKCksIGdyZWdvcmlhbkRhdGVUaW1lLT5zZWNvbmQoKSwgbXMpOwogICAg
IGVsc2UKLSAgICAgICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSAtIDEsICIlMDRk
LSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDNkWiIsIDE5MDAgKyBncmVnb3JpYW5EYXRlVGlt
ZS0+eWVhciwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoICsgMSwgZ3JlZ29yaWFuRGF0ZVRpbWUt
Pm1vbnRoRGF5LCBncmVnb3JpYW5EYXRlVGltZS0+aG91ciwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1p
bnV0ZSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCwgbXMpOworICAgICAgICBzbnByaW50Zihi
dWZmZXIsIHNpemVvZihidWZmZXIpIC0gMSwgIiUwNGQtJTAyZC0lMDJkVCUwMmQ6JTAyZDolMDJk
LiUwM2RaIiwgMTkwMCArIGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKCksIGdyZWdvcmlhbkRhdGVU
aW1lLT5tb250aCgpICsgMSwgZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoRGF5KCksIGdyZWdvcmlh
bkRhdGVUaW1lLT5ob3VyKCksIGdyZWdvcmlhbkRhdGVUaW1lLT5taW51dGUoKSwgZ3JlZ29yaWFu
RGF0ZVRpbWUtPnNlY29uZCgpLCBtcyk7CiAgICAgYnVmZmVyW3NpemVvZihidWZmZXIpIC0gMV0g
PSAwOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKGV4ZWMs
IGJ1ZmZlcikpOwogfQpAQCAtNjU3LDcgKzY1Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZGF0ZVByb3RvRnVuY0dldEZ1bGxZZWFyKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25z
dCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3Jl
Z29yaWFuRGF0ZVRpbWUoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzTnVtYmVyKDE5MDAgKyBncmVnb3JpYW5EYXRlVGltZS0+eWVhcikpOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoMTkwMCArIGdyZWdvcmlhbkRhdGVUaW1lLT55
ZWFyKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5j
R2V0VVRDRnVsbFllYXIoRXhlY1N0YXRlKiBleGVjKQpAQCAtNjcxLDcgKzY3MSw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ0Z1bGxZZWFyKEV4ZWNT
dGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRp
bWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWVVVEMoZXhlYyk7CiAgICAgaWYgKCFn
cmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigp
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKDE5MDAgKyBncmVnb3JpYW5E
YXRlVGltZS0+eWVhcikpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoMTkw
MCArIGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jVG9HTVRTdHJpbmcoRXhlY1N0YXRlKiBleGVjKQpAQCAt
NzAzLDcgKzcwMyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y0dldE1vbnRoKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSog
Z3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWUoZXhlYyk7
CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdv
cmlhbkRhdGVUaW1lLT5tb250aCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1i
ZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0VVRDTW9udGgoRXhlY1N0YXRlKiBleGVjKQpAQCAt
NzE3LDcgKzcxNyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y0dldFVUQ01vbnRoKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBHcmVnb3JpYW5EYXRlVGlt
ZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29yaWFuRGF0ZVRpbWVVVEMo
ZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVy
KGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0RGF0ZShFeGVjU3RhdGUqIGV4ZWMpCkBA
IC03MzEsNyArNzMxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9G
dW5jR2V0RGF0ZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUq
IGdyZWdvcmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMp
OwogICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVn
b3JpYW5EYXRlVGltZS0+bW9udGhEYXkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5tb250aERheSgpKSk7CiB9CiAKIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ0RhdGUoRXhlY1N0YXRlKiBleGVj
KQpAQCAtNzQ1LDcgKzc0NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVBy
b3RvRnVuY0dldFVUQ0RhdGUoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRh
dGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGlt
ZVVUQyhleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNO
dW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1vbnRoRGF5KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+bW9udGhEYXkoKSkpOwogfQogCiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXREYXkoRXhlY1N0YXRl
KiBleGVjKQpAQCAtNzU5LDcgKzc1OSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZGF0ZVByb3RvRnVuY0dldERheShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY29uc3QgR3JlZ29yaWFu
RGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmotPmdyZWdvcmlhbkRhdGVU
aW1lKGV4ZWMpOwogICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051
bWJlcihncmVnb3JpYW5EYXRlVGltZS0+d2Vla0RheSkpOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPndlZWtEYXkoKSkpOwogfQogCiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRVVENEYXkoRXhlY1N0YXRl
KiBleGVjKQpAQCAtNzczLDcgKzc3Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZGF0ZVByb3RvRnVuY0dldFVUQ0RheShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY29uc3QgR3JlZ29y
aWFuRGF0ZVRpbWUqIGdyZWdvcmlhbkRhdGVUaW1lID0gdGhpc0RhdGVPYmotPmdyZWdvcmlhbkRh
dGVUaW1lVVRDKGV4ZWMpOwogICAgIGlmICghZ3JlZ29yaWFuRGF0ZVRpbWUpCiAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+d2Vla0RheSkpOworICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPndlZWtEYXkoKSkpOwogfQog
CiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNHZXRIb3VycyhFeGVj
U3RhdGUqIGV4ZWMpCkBAIC03ODcsNyArNzg3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBkYXRlUHJvdG9GdW5jR2V0SG91cnMoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdy
ZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3Jp
YW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPmhvdXIpKTsKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5ob3VyKCkpKTsKIH0KIAogRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0VVRDSG91cnMoRXhlY1N0
YXRlKiBleGVjKQpAQCAtODAxLDcgKzgwMSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZGF0ZVByb3RvRnVuY0dldFVUQ0hvdXJzKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjb25zdCBH
cmVnb3JpYW5EYXRlVGltZSogZ3JlZ29yaWFuRGF0ZVRpbWUgPSB0aGlzRGF0ZU9iai0+Z3JlZ29y
aWFuRGF0ZVRpbWVVVEMoZXhlYyk7CiAgICAgaWYgKCFncmVnb3JpYW5EYXRlVGltZSkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05hTigpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT5ob3VyKSk7CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+aG91cigpKSk7CiB9CiAK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldE1pbnV0ZXMoRXhl
Y1N0YXRlKiBleGVjKQpAQCAtODE1LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZGF0ZVByb3RvRnVuY0dldE1pbnV0ZXMoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0
IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVn
b3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1pbnV0ZSkpOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1pbnV0ZSgpKSk7CiB9
CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ01pbnV0
ZXMoRXhlY1N0YXRlKiBleGVjKQpAQCAtODI5LDcgKzgyOSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ01pbnV0ZXMoRXhlY1N0YXRlKiBleGVjKQog
ICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRl
T2JqLT5ncmVnb3JpYW5EYXRlVGltZVVUQyhleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVU
aW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1pbnV0ZSkpOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPm1p
bnV0ZSgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y0dldFNlY29uZHMoRXhlY1N0YXRlKiBleGVjKQpAQCAtODQzLDcgKzg0Myw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFNlY29uZHMoRXhlY1N0YXRlKiBl
eGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRo
aXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShleGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRh
dGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUtPnNlY29uZCkp
OworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRpbWUt
PnNlY29uZCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3Rv
RnVuY0dldFVUQ1NlY29uZHMoRXhlY1N0YXRlKiBleGVjKQpAQCAtODU3LDcgKzg1Nyw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFVUQ1NlY29uZHMoRXhl
Y1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lKiBncmVnb3JpYW5EYXRl
VGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZVVUQyhleGVjKTsKICAgICBpZiAo
IWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFO
KCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29yaWFuRGF0ZVRp
bWUtPnNlY29uZCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZ3JlZ29y
aWFuRGF0ZVRpbWUtPnNlY29uZCgpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZGF0ZVByb3RvRnVuY0dldE1pbGxpU2Vjb25kcyhFeGVjU3RhdGUqIGV4ZWMpCkBAIC05MDMs
NyArOTAzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlUHJvdG9GdW5jR2V0
VGltZXpvbmVPZmZzZXQoRXhlY1N0YXRlKiBleGVjKQogICAgIGNvbnN0IEdyZWdvcmlhbkRhdGVU
aW1lKiBncmVnb3JpYW5EYXRlVGltZSA9IHRoaXNEYXRlT2JqLT5ncmVnb3JpYW5EYXRlVGltZShl
eGVjKTsKICAgICBpZiAoIWdyZWdvcmlhbkRhdGVUaW1lKQogICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTmFOKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
LWdyZWdvcmlhbkRhdGVUaW1lLT51dGNPZmZzZXQgLyBtaW51dGVzUGVySG91cikpOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoLWdyZWdvcmlhbkRhdGVUaW1lLT51dGNPZmZz
ZXQoKSAvIG1pbnV0ZXNQZXJIb3VyKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZGF0ZVByb3RvRnVuY1NldFRpbWUoRXhlY1N0YXRlKiBleGVjKQpAQCAtMTA4NywzNiArMTA4
NywzNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVQcm90b0Z1bmNTZXRZZWFy
KEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoIXRoaXNWYWx1ZS5pbmhlcml0cygmRGF0ZUluc3Rh
bmNlOjpzX2luZm8pKQogICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKIAot
ICAgIERhdGVJbnN0YW5jZSogdGhpc0RhdGVPYmogPSBhc0RhdGVJbnN0YW5jZSh0aGlzVmFsdWUp
OyAgICAgCisgICAgRGF0ZUluc3RhbmNlKiB0aGlzRGF0ZU9iaiA9IGFzRGF0ZUluc3RhbmNlKHRo
aXNWYWx1ZSk7CiAgICAgaWYgKCFleGVjLT5hcmd1bWVudENvdW50KCkpIHsgCiAgICAgICAgIEpT
VmFsdWUgcmVzdWx0ID0ganNOYU4oKTsKICAgICAgICAgdGhpc0RhdGVPYmotPnNldEludGVybmFs
VmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCByZXN1bHQpOwogICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgfQotICAgIAorCiAgICAgZG91YmxlIG1pbGxpID0gdGhp
c0RhdGVPYmotPmludGVybmFsTnVtYmVyKCk7CiAgICAgZG91YmxlIG1zID0gMDsKIAogICAgIEdy
ZWdvcmlhbkRhdGVUaW1lIGdyZWdvcmlhbkRhdGVUaW1lOwogICAgIGlmIChpc25hbihtaWxsaSkp
CiAgICAgICAgIC8vIEJhc2VkIG9uIEVDTUEgMjYyIEIuMi41IChzZXRZZWFyKQotICAgICAgICAv
LyB0aGUgdGltZSBtdXN0IGJlIHJlc2V0IHRvICswIGlmIGl0IGlzIE5hTi4gCisgICAgICAgIC8v
IHRoZSB0aW1lIG11c3QgYmUgcmVzZXQgdG8gKzAgaWYgaXQgaXMgTmFOLgogICAgICAgICBtc1Rv
R3JlZ29yaWFuRGF0ZVRpbWUoZXhlYywgMCwgdHJ1ZSwgZ3JlZ29yaWFuRGF0ZVRpbWUpOwotICAg
IGVsc2UgeyAgIAorICAgIGVsc2UgewogICAgICAgICBkb3VibGUgc2VjcyA9IGZsb29yKG1pbGxp
IC8gbXNQZXJTZWNvbmQpOwogICAgICAgICBtcyA9IG1pbGxpIC0gc2VjcyAqIG1zUGVyU2Vjb25k
OwogICAgICAgICBpZiAoY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUqIG90aGVyID0gdGhpc0RhdGVP
YmotPmdyZWdvcmlhbkRhdGVUaW1lKGV4ZWMpKQogICAgICAgICAgICAgZ3JlZ29yaWFuRGF0ZVRp
bWUuY29weUZyb20oKm90aGVyKTsKICAgICB9Ci0gICAgCisKICAgICBkb3VibGUgeWVhciA9IGV4
ZWMtPmFyZ3VtZW50KDApLnRvSW50ZWdlclByZXNlcnZlTmFOKGV4ZWMpOwogICAgIGlmICghaXNm
aW5pdGUoeWVhcikpIHsKICAgICAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc05hTigpOwogICAgICAg
ICB0aGlzRGF0ZU9iai0+c2V0SW50ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIHJlc3Vs
dCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICBncmVnb3JpYW5EYXRlVGltZS55ZWFyID0gdG9JbnQzMigoeWVhciA+IDk5
IHx8IHllYXIgPCAwKSA/IHllYXIgLSAxOTAwIDogeWVhcik7CisKKyAgICBncmVnb3JpYW5EYXRl
VGltZS5zZXRZZWFyKHRvSW50MzIoKHllYXIgPiA5OSB8fCB5ZWFyIDwgMCkgPyB5ZWFyIC0gMTkw
MCA6IHllYXIpKTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVU
aW1lVG9NUyhleGVjLCBncmVnb3JpYW5EYXRlVGltZSwgbXMsIGZhbHNlKSk7CiAgICAgdGhpc0Rh
dGVPYmotPnNldEludGVybmFsVmFsdWUoZXhlYy0+Z2xvYmFsRGF0YSgpLCByZXN1bHQpOwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKQEAgLTExMzUsNyArMTEzNSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVuY0dldFllYXIoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTmFOKCkpOwogCiAgICAg
Ly8gTk9URTogSUUgcmV0dXJucyB0aGUgZnVsbCB5ZWFyIGV2ZW4gaW4gZ2V0WWVhci4KLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGdyZWdvcmlhbkRhdGVUaW1lLT55ZWFyKSk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihncmVnb3JpYW5EYXRlVGltZS0+
eWVhcigpKSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZGF0ZVByb3RvRnVu
Y1RvSlNPTihFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0RhdGVNYXRoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRGF0ZU1hdGguY3BwCmluZGV4IGRiZTc0ODgzNWRlM2VkMDQyMTJlYzhmMjM4YzgxN2Y0MDNm
ZmM2YWIuLjY5YjE0MDA1MzIxYWExYzM3MDhiNjJlMzA5Yzc4YTQ5YTQ1YjAzNTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0ZU1hdGguY3BwCkBAIC0yMDMsOCArMjAz
LDggQEAgZG91YmxlIGdldFVUQ09mZnNldChFeGVjU3RhdGUqIGV4ZWMpCiAKIGRvdWJsZSBncmVn
b3JpYW5EYXRlVGltZVRvTVMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBHcmVnb3JpYW5EYXRlVGlt
ZSYgdCwgZG91YmxlIG1pbGxpU2Vjb25kcywgYm9vbCBpbnB1dElzVVRDKQogewotICAgIGRvdWJs
ZSBkYXkgPSBkYXRlVG9EYXlzRnJvbTE5NzAodC55ZWFyICsgMTkwMCwgdC5tb250aCwgdC5tb250
aERheSk7Ci0gICAgZG91YmxlIG1zID0gdGltZVRvTVModC5ob3VyLCB0Lm1pbnV0ZSwgdC5zZWNv
bmQsIG1pbGxpU2Vjb25kcyk7CisgICAgZG91YmxlIGRheSA9IGRhdGVUb0RheXNGcm9tMTk3MCh0
LnllYXIoKSArIDE5MDAsIHQubW9udGgoKSwgdC5tb250aERheSgpKTsKKyAgICBkb3VibGUgbXMg
PSB0aW1lVG9NUyh0LmhvdXIoKSwgdC5taW51dGUoKSwgdC5zZWNvbmQoKSwgbWlsbGlTZWNvbmRz
KTsKICAgICBkb3VibGUgcmVzdWx0ID0gKGRheSAqIFdURjo6bXNQZXJEYXkpICsgbXM7CiAKICAg
ICBpZiAoIWlucHV0SXNVVEMpIHsgLy8gY29udmVydCB0byBVVEMKQEAgLTIyOCwxNyArMjI4LDE2
IEBAIHZvaWQgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKEV4ZWNTdGF0ZSogZXhlYywgZG91YmxlIG1z
LCBib29sIG91dHB1dElzVVRDLCBHcmVnb3JpCiAgICAgfQogCiAgICAgY29uc3QgaW50IHllYXIg
PSBtc1RvWWVhcihtcyk7Ci0gICAgdG0uc2Vjb25kICAgPSAgbXNUb1NlY29uZHMobXMpOwotICAg
IHRtLm1pbnV0ZSAgID0gIG1zVG9NaW51dGVzKG1zKTsKLSAgICB0bS5ob3VyICAgICA9ICBtc1Rv
SG91cnMobXMpOwotICAgIHRtLndlZWtEYXkgID0gIG1zVG9XZWVrRGF5KG1zKTsKLSAgICB0bS55
ZWFyRGF5ICA9ICBkYXlJblllYXIobXMsIHllYXIpOwotICAgIHRtLm1vbnRoRGF5ID0gIGRheUlu
TW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXksIGlzTGVhcFllYXIoeWVhcikpOwotICAgIHRt
Lm1vbnRoICAgID0gIG1vbnRoRnJvbURheUluWWVhcih0bS55ZWFyRGF5LCBpc0xlYXBZZWFyKHll
YXIpKTsKLSAgICB0bS55ZWFyICAgICA9ICB5ZWFyIC0gMTkwMDsKLSAgICB0bS5pc0RTVCAgICA9
ICBkc3RPZmYgIT0gMC4wOwotICAgIHRtLnV0Y09mZnNldCA9IHN0YXRpY19jYXN0PGxvbmc+KChk
c3RPZmYgKyB1dGNPZmYpIC8gV1RGOjptc1BlclNlY29uZCk7Ci0gICAgdG0udGltZVpvbmUgPSBu
dWxscHRyOworICAgIHRtLnNldFNlY29uZChtc1RvU2Vjb25kcyhtcykpOworICAgIHRtLnNldE1p
bnV0ZShtc1RvTWludXRlcyhtcykpOworICAgIHRtLnNldEhvdXIobXNUb0hvdXJzKG1zKSk7Cisg
ICAgdG0uc2V0V2Vla0RheShtc1RvV2Vla0RheShtcykpOworICAgIHRtLnNldFllYXJEYXkoZGF5
SW5ZZWFyKG1zLCB5ZWFyKSk7CisgICAgdG0uc2V0TW9udGhEYXkoZGF5SW5Nb250aEZyb21EYXlJ
blllYXIodG0ueWVhckRheSgpLCBpc0xlYXBZZWFyKHllYXIpKSk7CisgICAgdG0uc2V0TW9udGgo
bW9udGhGcm9tRGF5SW5ZZWFyKHRtLnllYXJEYXkoKSwgaXNMZWFwWWVhcih5ZWFyKSkpOworICAg
IHRtLnNldFllYXIoeWVhciAtIDE5MDApOworICAgIHRtLnNldElzRFNUKGRzdE9mZiAhPSAwLjAp
OworICAgIHRtLnNldFV0Y09mZnNldChzdGF0aWNfY2FzdDxsb25nPigoZHN0T2ZmICsgdXRjT2Zm
KSAvIFdURjo6bXNQZXJTZWNvbmQpKTsKIH0KIAogZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVy
bWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5n
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRlTWF0aC5oCmluZGV4IGY3N2Nm
MWU3NTVlOWUyNmNhMDU5YjAzOTU3OTMwNWZjM2RlMTU5MTguLjI0ZTg3NzhkMjRhZTg0MTYwMTZh
NGMzNmU3NGExNDA0NDcwNDM5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRGF0ZU1hdGguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0RhdGVNYXRoLmgKQEAgLTQ0LDk5ICs0NCwxNyBAQAogI2RlZmluZSBKU0RhdGVNYXRoX2gKIAog
I2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgorI2luY2x1ZGUgPHd0Zi9HcmVnb3JpYW5EYXRlVGlt
ZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgRXhlY1N0YXRlOwotc3RydWN0IEdyZWdv
cmlhbkRhdGVUaW1lOwogCiB2b2lkIG1zVG9HcmVnb3JpYW5EYXRlVGltZShFeGVjU3RhdGUqLCBk
b3VibGUsIGJvb2wgb3V0cHV0SXNVVEMsIEdyZWdvcmlhbkRhdGVUaW1lJik7CiBkb3VibGUgZ3Jl
Z29yaWFuRGF0ZVRpbWVUb01TKEV4ZWNTdGF0ZSosIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiwg
ZG91YmxlLCBib29sIGlucHV0SXNVVEMpOwogZG91YmxlIGdldFVUQ09mZnNldChFeGVjU3RhdGUq
KTsKIGRvdWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0
ZSosIGNvbnN0IGNoYXIqIGRhdGVTdHJpbmcpOwogCi0vLyBJbnRlbnRpb25hbGx5IG92ZXJyaWRk
aW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCi0vLyBUaGUgbWVtYmVycyBvZiB0bSBk
aWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0cnVjdCBHcmVnb3JpYW5EYXRl
VGltZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOwotcHVi
bGljOgotICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKLSAgICAgICAgOiBzZWNvbmQoMCkKLSAgICAg
ICAgLCBtaW51dGUoMCkKLSAgICAgICAgLCBob3VyKDApCi0gICAgICAgICwgd2Vla0RheSgwKQot
ICAgICAgICAsIG1vbnRoRGF5KDApCi0gICAgICAgICwgeWVhckRheSgwKQotICAgICAgICAsIG1v
bnRoKDApCi0gICAgICAgICwgeWVhcigwKQotICAgICAgICAsIGlzRFNUKDApCi0gICAgICAgICwg
dXRjT2Zmc2V0KDApCi0gICAgewotICAgIH0KLQotICAgIG9wZXJhdG9yIHRtKCkgY29uc3QKLSAg
ICB7Ci0gICAgICAgIHRtIHJldDsKLSAgICAgICAgbWVtc2V0KCZyZXQsIDAsIHNpemVvZihyZXQp
KTsKLQotICAgICAgICByZXQudG1fc2VjICAgPSAgc2Vjb25kOwotICAgICAgICByZXQudG1fbWlu
ICAgPSAgbWludXRlOwotICAgICAgICByZXQudG1faG91ciAgPSAgaG91cjsKLSAgICAgICAgcmV0
LnRtX3dkYXkgID0gIHdlZWtEYXk7Ci0gICAgICAgIHJldC50bV9tZGF5ICA9ICBtb250aERheTsK
LSAgICAgICAgcmV0LnRtX3lkYXkgID0gIHllYXJEYXk7Ci0gICAgICAgIHJldC50bV9tb24gICA9
ICBtb250aDsKLSAgICAgICAgcmV0LnRtX3llYXIgID0gIHllYXI7Ci0gICAgICAgIHJldC50bV9p
c2RzdCA9ICBpc0RTVDsKLQotI2lmIEhBVkUoVE1fR01UT0ZGKQotICAgICAgICByZXQudG1fZ210
b2ZmID0gc3RhdGljX2Nhc3Q8bG9uZz4odXRjT2Zmc2V0KTsKLSNlbmRpZgotI2lmIEhBVkUoVE1f
Wk9ORSkKLSAgICAgICAgcmV0LnRtX3pvbmUgPSB0aW1lWm9uZS5nZXQoKTsKLSNlbmRpZgotCi0g
ICAgICAgIHJldHVybiByZXQ7Ci0gICAgfQotCi0gICAgdm9pZCBjb3B5RnJvbShjb25zdCBHcmVn
b3JpYW5EYXRlVGltZSYgcmhzKQotICAgIHsKLSAgICAgICAgc2Vjb25kID0gcmhzLnNlY29uZDsK
LSAgICAgICAgbWludXRlID0gcmhzLm1pbnV0ZTsKLSAgICAgICAgaG91ciA9IHJocy5ob3VyOwot
ICAgICAgICB3ZWVrRGF5ID0gcmhzLndlZWtEYXk7Ci0gICAgICAgIG1vbnRoRGF5ID0gcmhzLm1v
bnRoRGF5OwotICAgICAgICB5ZWFyRGF5ID0gcmhzLnllYXJEYXk7Ci0gICAgICAgIG1vbnRoID0g
cmhzLm1vbnRoOwotICAgICAgICB5ZWFyID0gcmhzLnllYXI7Ci0gICAgICAgIGlzRFNUID0gcmhz
LmlzRFNUOwotICAgICAgICB1dGNPZmZzZXQgPSByaHMudXRjT2Zmc2V0OwotICAgICAgICBpZiAo
cmhzLnRpbWVab25lKSB7Ci0gICAgICAgICAgICBpbnQgaW5ab25lU2l6ZSA9IHN0cmxlbihyaHMu
dGltZVpvbmUuZ2V0KCkpICsgMTsKLSAgICAgICAgICAgIHRpbWVab25lID0gYWRvcHRBcnJheVB0
cihuZXcgY2hhcltpblpvbmVTaXplXSk7Ci0gICAgICAgICAgICBzdHJuY3B5KHRpbWVab25lLmdl
dCgpLCByaHMudGltZVpvbmUuZ2V0KCksIGluWm9uZVNpemUpOwotICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgIHRpbWVab25lID0gbnVsbHB0cjsKLSAgICB9Ci0KLSAgICBpbnQgc2Vjb25kOwot
ICAgIGludCBtaW51dGU7Ci0gICAgaW50IGhvdXI7Ci0gICAgaW50IHdlZWtEYXk7Ci0gICAgaW50
IG1vbnRoRGF5OwotICAgIGludCB5ZWFyRGF5OwotICAgIGludCBtb250aDsKLSAgICBpbnQgeWVh
cjsKLSAgICBpbnQgaXNEU1Q7Ci0gICAgaW50IHV0Y09mZnNldDsKLSAgICBPd25BcnJheVB0cjxj
aGFyPiB0aW1lWm9uZTsKLX07Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGdtdG9mZnNldChjb25zdCBH
cmVnb3JpYW5EYXRlVGltZSYgdCkKLXsKLSAgICByZXR1cm4gdC51dGNPZmZzZXQ7Ci19Ci0KIH0g
Ly8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gSlNEYXRlTWF0aF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggNWYwZGRkNjk1NTUyY2EzMzE0ZWNhZDMyYmQwZGJlZGI4MzNiMmIzMi4uYmI2
OGJjMjY4NTJiNDQ2NDlkOTlkOGVjMzc2ZDQ5ZTliZDM0NDE1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNTIsNiArNTIsNyBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNlL1dURi93
dGYvRm9yd2FyZC5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbmFsLmggXAogICAgIFNv
dXJjZS9XVEYvd3RmL0dldFB0ci5oIFwKKyAgICBTb3VyY2UvV1RGL3d0Zi9HcmVnb3JpYW5EYXRl
VGltZS5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9IYXNoQ291bnRlZFNldC5oIFwKICAgICBTb3Vy
Y2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL0hhc2hJdGVy
YXRvcnMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5neXBpIGIvU291cmNlL1dURi9X
VEYuZ3lwaQppbmRleCBlYjI4MDcwM2E4Y2FjMTYxYjJhYTg1OTVlZjEzN2M2ZDIwMmEwMjlhLi5l
YmI0MWE0NTQzMGNjNGRlYjRhNmExODRjODQ5MzU3YTVlY2YzN2JmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL1dURi5neXBpCisrKyBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKQEAgLTM0LDYgKzM0LDcg
QEAKICAgICAgICAgICAgICd3dGYvRm9yd2FyZC5oJywKICAgICAgICAgICAgICd3dGYvRnVuY3Rp
b25hbC5oJywKICAgICAgICAgICAgICd3dGYvR2V0UHRyLmgnLAorICAgICAgICAgICAgJ3d0Zi9H
cmVnb3JpYW5EYXRlVGltZS5oJywKICAgICAgICAgICAgICd3dGYvSGFzaENvdW50ZWRTZXQuaCcs
CiAgICAgICAgICAgICAnd3RmL0hhc2hGdW5jdGlvbnMuaCcsCiAgICAgICAgICAgICAnd3RmL0hh
c2hJdGVyYXRvcnMuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5wcm8gYi9Tb3VyY2Uv
V1RGL1dURi5wcm8KaW5kZXggNGJjYjBmZjBhNjE1MGM5MmQ2MWVhY2EwMDQ0MDlmZDE3OWQ3OGU3
Yy4uNjhkODQ3MTEyN2M3MmJmMmFlMTYwNTEzMTI4YjViYWFkMGVjZDNkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpAQCAtNjEsNiArNjEs
NyBAQCBIRUFERVJTICs9IFwKICAgICBGb3J3YXJkLmggXAogICAgIEZ1bmN0aW9uYWwuaCBcCiAg
ICAgR2V0UHRyLmggXAorICAgIEdyZWdvcmlhbkRhdGVUaW1lLmggXAogICAgIEhhc2hDb3VudGVk
U2V0LmggXAogICAgIEhhc2hGdW5jdGlvbnMuaCBcCiAgICAgSGFzaEl0ZXJhdG9ycy5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM0N2VjMTk0Njk0ZjU5
YmJiNGU4Mjc0NzNmYWU1NmZlNmM2YjdlYmYuLjM3MmMxNWVjMGM3MWNjNDBkMWNiY2I5ZTgwYzQ1
NDU3MWQyNDg1ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNyw5ICs3LDEwIEBACiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJYQnVpbGRGaWxlIHNl
Y3Rpb24gKi8KKwkJMEZEODFBQzUxNTRGQjIyRTAwOTgzRTcyIC8qIEZhc3RCaXRWZWN0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDgxQUM0MTU0
RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoKTsgfTsgfTsKIAkJMTQzRjYxMUYxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzRjYxMUQx
NTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwICovOyB9OwogCQkxNDNGNjEyMDE1NjVGMEY5
MDBEQjUxNEEgLyogUkFNU2l6ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTQzRjYxMUUxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRkQ4MUFDNTE1NEZC
MjJFMDA5ODNFNzIgLyogRmFzdEJpdFZlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODFBQzQxNTRGQjIyRTAwOTgzRTcyIC8qIEZhc3RCaXRW
ZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQkyQzA1Mzg1
NDE1QkM4MTkwMDBGMjFCOTYgLyogR3JlZ29yaWFuRGF0ZVRpbWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDMDUzODUzMTVCQzgxOTAwMEYyMUI5NiAv
KiBHcmVnb3JpYW5EYXRlVGltZS5oICovOyB9OwogCQk0MzMwRjM4RjE1NzQ1QjA1MDBBQUZBOEYg
LyogVVJMU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQzMzBGMzhFMTU3NDVCMDUwMEFBRkE4RiAvKiBVUkxTdHJpbmcuY3BwICovOyB9Owog
CQk0RjAzMjFCQzE1NkFBOEQxMDA2RUJBRjYgLyogQml0QXJyYXkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGMDMyMUJCMTU2QUE4RDEwMDZFQkFGNiAv
KiBCaXRBcnJheS5oICovOyB9OwogCQk4MTM0MDEzODE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgxMzQw
MTM2MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuY3BwICovOyB9OwpAQCAtMjQ3LDkgKzI0OCwx
MCBAQAogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZpbGVS
ZWZlcmVuY2Ugc2VjdGlvbiAqLworCQkwRkQ4MUFDNDE1NEZCMjJFMDA5ODNFNzIgLyogRmFzdEJp
dFZlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGYXN0Qml0VmVjdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0M0Y2MTFEMTU2NUYwRjkwMERCNTE0
QSAvKiBSQU1TaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJB
TVNpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDNGNjExRTE1NjVGMEY5
MDBEQjUxNEEgLyogUkFNU2l6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
QU1TaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRDgxQUM0MTU0RkIyMkUw
MDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEZhc3RCaXRWZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkMwNTM4
NTMxNUJDODE5MDAwRjIxQjk2IC8qIEdyZWdvcmlhbkRhdGVUaW1lLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEdyZWdvcmlhbkRhdGVUaW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQzMzBGMzhFMTU3NDVCMDUwMEFBRkE4RiAvKiBVUkxTdHJpbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVVJMU3RyaW5nLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEYwMzIxQkIxNTZBQThEMTAwNkVCQUY2IC8qIEJpdEFy
cmF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJpdEFycmF5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEMjQ3QjYyMTQ2ODlCODYwMEU3OEI3NiAvKiBsaWJX
VEYuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJj
aGl2ZS5hcjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC01MzgsOSArNTQwLDkgQEAKIAkJNUQyNDdCNzYx
NDY4OUQ3NjAwRTc4Qjc2IC8qIFNvdXJjZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJQTg3NkRCRDYxNTE4MTZFNTAwREFEQjk1IC8qIHd0ZiAqLywKIAkJ
CQlBOEE0NzQ4QjE1MUE4MjY0MDA0MTIzRkYgLyogY29uZmlnLmggKi8sCiAJCQkJNUQyNDdFQjEx
NDY4QjAxNTAwRTc4Qjc2IC8qIEhlYWRlckRldGVjdGlvbi5oICovLAotCQkJCUE4NzZEQkQ2MTUx
ODE2RTUwMERBREI5NSAvKiB3dGYgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFNvdXJjZTsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC01NDgsOCArNTUwLDEyIEBACiAJCUE4NzZEQkQ2MTUx
ODE2RTUwMERBREI5NSAvKiB3dGYgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAotCQkJCTE0M0Y2MTFEMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCAqLywK
LQkJCQkxNDNGNjExRTE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oICovLAorCQkJCUE4QTQ3
MjgxMTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hICovLAorCQkJCUE4QTQ3MkM0MTUxQTgyNUEwMDQx
MjNGRiAvKiBtYWMgKi8sCisJCQkJQThBNDczMUIxNTFBODI1QjAwNDEyM0ZGIC8qIHRleHQgKi8s
CisJCQkJQThBNDczMzkxNTFBODI1QjAwNDEyM0ZGIC8qIHRocmVhZHMgKi8sCisJCQkJQThBNDcz
NDgxNTFBODI1QjAwNDEyM0ZGIC8qIHVuaWNvZGUgKi8sCisJCQkJQThBNDczNUUxNTFBODI1QjAw
NDEyM0ZGIC8qIHVybCAqLywKIAkJCQlBOEE0NzI1NDE1MUE4MjVBMDA0MTIzRkYgLyogQWxpZ25t
ZW50LmggKi8sCiAJCQkJQThBNDcyNTUxNTFBODI1QTAwNDEyM0ZGIC8qIEFsd2F5c0lubGluZS5o
ICovLAogCQkJCUE4QTQ3MjU2MTUxQTgyNUEwMDQxMjNGRiAvKiBBcnJheUJ1ZmZlci5jcHAgKi8s
CkBAIC01NjEsOCArNTY3LDggQEAKIAkJCQlBOEE0NzI1QzE1MUE4MjVBMDA0MTIzRkYgLyogQXNz
ZXJ0aW9ucy5oICovLAogCQkJCUE4QTQ3MjVEMTUxQTgyNUEwMDQxMjNGRiAvKiBBdG9taWNzLmgg
Ki8sCiAJCQkJQThBNDcyNUUxNTFBODI1QTAwNDEyM0ZGIC8qIEFWTFRyZWUuaCAqLywKLQkJCQlB
OEE0NzI1RjE1MUE4MjVBMDA0MTIzRkYgLyogQml0bWFwLmggKi8sCiAJCQkJNEYwMzIxQkIxNTZB
QThEMTAwNkVCQUY2IC8qIEJpdEFycmF5LmggKi8sCisJCQkJQThBNDcyNUYxNTFBODI1QTAwNDEy
M0ZGIC8qIEJpdG1hcC5oICovLAogCQkJCUE4QTQ3MjYwMTUxQTgyNUEwMDQxMjNGRiAvKiBCaXRW
ZWN0b3IuY3BwICovLAogCQkJCUE4QTQ3MjYxMTUxQTgyNUEwMDQxMjNGRiAvKiBCaXRWZWN0b3Iu
aCAqLywKIAkJCQlBOEE0NzI2NDE1MUE4MjVBMDA0MTIzRkYgLyogQmxvY2tTdGFjay5oICovLApA
QCAtNTg4LDcgKzU5NCw2IEBACiAJCQkJQThBNDcyN0UxNTFBODI1QTAwNDEyM0ZGIC8qIERlcXVl
LmggKi8sCiAJCQkJQThBNDcyN0YxNTFBODI1QTAwNDEyM0ZGIC8qIERpc2FsbG93Q1R5cGUuaCAq
LywKIAkJCQlBOEE0NzI4MDE1MUE4MjVBMDA0MTIzRkYgLyogRG91Ymx5TGlua2VkTGlzdC5oICov
LAotCQkJCUE4QTQ3MjgxMTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hICovLAogCQkJCUE4QTQ3Mjk3
MTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hLmNwcCAqLywKIAkJCQlBOEE0NzI5ODE1MUE4MjVBMDA0
MTIzRkYgLyogZHRvYS5oICovLAogCQkJCUE4QTQ3Mjk5MTUxQTgyNUEwMDQxMjNGRiAvKiBEeW5h
bWljQW5ub3RhdGlvbnMuY3BwICovLApAQCAtNjA1LDYgKzYxMCw3IEBACiAJCQkJQThBNDcyQTYx
NTFBODI1QTAwNDEyM0ZGIC8qIEZvcndhcmQuaCAqLywKIAkJCQlBOEE0NzJBNzE1MUE4MjVBMDA0
MTIzRkYgLyogRnVuY3Rpb25hbC5oICovLAogCQkJCUE4QTQ3MkE4MTUxQTgyNUEwMDQxMjNGRiAv
KiBHZXRQdHIuaCAqLywKKwkJCQkyQzA1Mzg1MzE1QkM4MTkwMDBGMjFCOTYgLyogR3JlZ29yaWFu
RGF0ZVRpbWUuaCAqLywKIAkJCQlBOEE0NzJCMzE1MUE4MjVBMDA0MTIzRkYgLyogSGFzaENvdW50
ZWRTZXQuaCAqLywKIAkJCQlBOEE0NzJCNDE1MUE4MjVBMDA0MTIzRkYgLyogSGFzaEZ1bmN0aW9u
cy5oICovLAogCQkJCUE4QTQ3MkI1MTUxQTgyNUEwMDQxMjNGRiAvKiBIYXNoSXRlcmF0b3JzLmgg
Ki8sCkBAIC02MTUsMTQgKzYyMSwxMyBAQAogCQkJCUE4QTQ3MkJBMTUxQTgyNUEwMDQxMjNGRiAv
KiBIYXNoVHJhaXRzLmggKi8sCiAJCQkJQThBNDcyQkIxNTFBODI1QTAwNDEyM0ZGIC8qIEhleE51
bWJlci5oICovLAogCQkJCUE4QTQ3MkJDMTUxQTgyNUEwMDQxMjNGRiAvKiBJbmxpbmVBU00uaCAq
LywKLQkJCQlBOEE0NzJCRDE1MUE4MjVBMDA0MTIzRkYgLyogSW50OEFycmF5LmggKi8sCiAJCQkJ
QThBNDcyQkUxNTFBODI1QTAwNDEyM0ZGIC8qIEludDE2QXJyYXkuaCAqLywKIAkJCQlBOEE0NzJC
RjE1MUE4MjVBMDA0MTIzRkYgLyogSW50MzJBcnJheS5oICovLAorCQkJCUE4QTQ3MkJEMTUxQTgy
NUEwMDQxMjNGRiAvKiBJbnQ4QXJyYXkuaCAqLywKIAkJCQlBOEE0NzJDMDE1MUE4MjVBMDA0MTIz
RkYgLyogSW50ZWdyYWxUeXBlZEFycmF5QmFzZS5oICovLAogCQkJCUE4QTQ3MkMxMTUxQTgyNUEw
MDQxMjNGRiAvKiBMaXN0SGFzaFNldC5oICovLAogCQkJCUE4QTQ3MkMyMTUxQTgyNUEwMDQxMjNG
RiAvKiBMaXN0UmVmUHRyLmggKi8sCiAJCQkJQThBNDcyQzMxNTFBODI1QTAwNDEyM0ZGIC8qIExv
Y2tlci5oICovLAotCQkJCUE4QTQ3MkM0MTUxQTgyNUEwMDQxMjNGRiAvKiBtYWMgKi8sCiAJCQkJ
QThBNDcyQzYxNTFBODI1QTAwNDEyM0ZGIC8qIE1haW5UaHJlYWQuY3BwICovLAogCQkJCUE4QTQ3
MkM3MTUxQTgyNUIwMDQxMjNGRiAvKiBNYWluVGhyZWFkLmggKi8sCiAJCQkJQThBNDcyQzgxNTFB
ODI1QjAwNDEyM0ZGIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCkBAIC02NjEsNyArNjY2LDEw
IEBACiAJCQkJQThBNDcyRUQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NSZWZQdHIuaCAqLywKIAkJ
CQlBOEE0NzJFRTE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc1RyYWl0cy5oICovLAogCQkJCUE4QTQ3
MkVGMTUxQTgyNUIwMDQxMjNGRiAvKiBQbGF0Zm9ybS5oICovLAorCQkJCUE4NzZEQkQ3MTUxODE2
RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJCUE4QTQ3MkYzMTUxQTgyNUIwMDQxMjNG
RiAvKiBQb3NzaWJseU51bGwuaCAqLywKKwkJCQkxNDNGNjExRDE1NjVGMEY5MDBEQjUxNEEgLyog
UkFNU2l6ZS5jcHAgKi8sCisJCQkJMTQzRjYxMUUxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUu
aCAqLywKIAkJCQlBOEE0NzJGQjE1MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyLmNwcCAq
LywKIAkJCQlBOEE0NzJGQzE1MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyLmggKi8sCiAJ
CQkJQThBNDcyRkQxNTFBODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlclNlZWQuaCAqLywKQEAg
LTY5NCw3ICs3MDIsNiBAQAogCQkJCUE4QTQ3MzE4MTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1N5c3Rl
bUFsbG9jLmNwcCAqLywKIAkJCQlBOEE0NzMxOTE1MUE4MjVCMDA0MTIzRkYgLyogVENTeXN0ZW1B
bGxvYy5oICovLAogCQkJCUE4QTQ3MzFBMTUxQTgyNUIwMDQxMjNGRiAvKiBUZW1wb3JhcnlDaGFu
Z2UuaCAqLywKLQkJCQlBOEE0NzMxQjE1MUE4MjVCMDA0MTIzRkYgLyogdGV4dCAqLywKIAkJCQlB
OEE0NzMyRjE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uLmggKi8s
CiAJCQkJQThBNDczMzAxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZElkZW50aWZpZXJEYXRhUHRo
cmVhZHMuY3BwICovLAogCQkJCUE4QTQ3MzMxMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRJZGVu
dGlmaWVyRGF0YVB0aHJlYWRzLmggKi8sCkBAIC03MDMsMjcgKzcxMCwyMyBAQAogCQkJCUE4QTQ3
MzM1MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRpbmdQcmltaXRpdmVzLmggKi8sCiAJCQkJQThB
NDczMzYxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZGluZ1B0aHJlYWRzLmNwcCAqLywKIAkJCQlB
OEE0NzMzODE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkUmVzdHJpY3Rpb25WZXJpZmllci5oICov
LAotCQkJCUE4QTQ3MzM5MTUxQTgyNUIwMDQxMjNGRiAvKiB0aHJlYWRzICovLAogCQkJCUE4QTQ3
MzNFMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRTYWZlUmVmQ291bnRlZC5oICovLAogCQkJCUE4
QTQ3MzNGMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRTcGVjaWZpYy5oICovLAogCQkJCUE4QTQ3
MzQxMTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlZEFycmF5QmFzZS5oICovLAogCQkJCUE4QTQ3MzQy
MTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlVHJhaXRzLmNwcCAqLywKIAkJCQlBOEE0NzM0MzE1MUE4
MjVCMDA0MTIzRkYgLyogVHlwZVRyYWl0cy5oICovLAotCQkJCUE4QTQ3MzQ0MTUxQTgyNUIwMDQx
MjNGRiAvKiBVaW50OEFycmF5LmggKi8sCi0JCQkJQThBNDczNDUxNTFBODI1QjAwNDEyM0ZGIC8q
IFVpbnQ4Q2xhbXBlZEFycmF5LmggKi8sCiAJCQkJQThBNDczNDYxNTFBODI1QjAwNDEyM0ZGIC8q
IFVpbnQxNkFycmF5LmggKi8sCiAJCQkJQThBNDczNDcxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQz
MkFycmF5LmggKi8sCi0JCQkJQThBNDczNDgxNTFBODI1QjAwNDEyM0ZGIC8qIHVuaWNvZGUgKi8s
CisJCQkJQThBNDczNDQxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQ4QXJyYXkuaCAqLywKKwkJCQlB
OEE0NzM0NTE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhDbGFtcGVkQXJyYXkuaCAqLywKIAkJCQlB
OEE0NzM1QzE1MUE4MjVCMDA0MTIzRkYgLyogVW5pb25GaW5kLmggKi8sCiAJCQkJQThBNDczNUQx
NTFBODI1QjAwNDEyM0ZGIC8qIFVudXNlZFBhcmFtLmggKi8sCi0JCQkJQThBNDczNUUxNTFBODI1
QjAwNDEyM0ZGIC8qIHVybCAqLywKIAkJCQlBOEE0NzM2RjE1MUE4MjVCMDA0MTIzRkYgLyogVmFs
dWVDaGVjay5oICovLAogCQkJCUE4QTQ3MzcwMTUxQTgyNUIwMDQxMjNGRiAvKiBWZWN0b3IuaCAq
LywKIAkJCQlBOEE0NzM3MTE1MUE4MjVCMDA0MTIzRkYgLyogVmVjdG9yVHJhaXRzLmggKi8sCiAJ
CQkJQThBNDczNzIxNTFBODI1QjAwNDEyM0ZGIC8qIFZNVGFncy5oICovLAogCQkJCUE4QTQ3MzdB
MTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZUaHJlYWREYXRhLmNwcCAqLywKIAkJCQlBOEE0NzM3QjE1
MUE4MjVCMDA0MTIzRkYgLyogV1RGVGhyZWFkRGF0YS5oICovLAotCQkJCUE4NzZEQkQ3MTUxODE2
RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovLAogCQkJKTsKIAkJCXBhdGggPSB3dGY7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNzMxLDEzICs3MzQsMTUgQEAKIAkJQThBNDcyODEx
NTFBODI1QTAwNDEyM0ZGIC8qIGR0b2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCUE4QTQ3Mjg4MTUxQTgyNUEwMDQxMjNGRiAvKiBDT1BZSU5HICovLAor
CQkJCUE4QTQ3MjkyMTUxQTgyNUEwMDQxMjNGRiAvKiBMSUNFTlNFICovLAorCQkJCUE4QTQ3Mjkz
MTUxQTgyNUEwMDQxMjNGRiAvKiBSRUFETUUgKi8sCiAJCQkJQThBNDcyODIxNTFBODI1QTAwNDEy
M0ZGIC8qIGJpZ251bS1kdG9hLmNjICovLAogCQkJCUE4QTQ3MjgzMTUxQTgyNUEwMDQxMjNGRiAv
KiBiaWdudW0tZHRvYS5oICovLAogCQkJCUE4QTQ3Mjg0MTUxQTgyNUEwMDQxMjNGRiAvKiBiaWdu
dW0uY2MgKi8sCiAJCQkJQThBNDcyODUxNTFBODI1QTAwNDEyM0ZGIC8qIGJpZ251bS5oICovLAog
CQkJCUE4QTQ3Mjg2MTUxQTgyNUEwMDQxMjNGRiAvKiBjYWNoZWQtcG93ZXJzLmNjICovLAogCQkJ
CUE4QTQ3Mjg3MTUxQTgyNUEwMDQxMjNGRiAvKiBjYWNoZWQtcG93ZXJzLmggKi8sCi0JCQkJQThB
NDcyODgxNTFBODI1QTAwNDEyM0ZGIC8qIENPUFlJTkcgKi8sCiAJCQkJQThBNDcyODkxNTFBODI1
QTAwNDEyM0ZGIC8qIGRpeS1mcC5jYyAqLywKIAkJCQlBOEE0NzI4QTE1MUE4MjVBMDA0MTIzRkYg
LyogZGl5LWZwLmggKi8sCiAJCQkJQThBNDcyOEIxNTFBODI1QTAwNDEyM0ZGIC8qIGRvdWJsZS1j
b252ZXJzaW9uLmNjICovLApAQCAtNzQ3LDggKzc1Miw2IEBACiAJCQkJQThBNDcyOEYxNTFBODI1
QTAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5oICovLAogCQkJCUE4QTQ3MjkwMTUxQTgyNUEwMDQxMjNG
RiAvKiBmaXhlZC1kdG9hLmNjICovLAogCQkJCUE4QTQ3MjkxMTUxQTgyNUEwMDQxMjNGRiAvKiBm
aXhlZC1kdG9hLmggKi8sCi0JCQkJQThBNDcyOTIxNTFBODI1QTAwNDEyM0ZGIC8qIExJQ0VOU0Ug
Ki8sCi0JCQkJQThBNDcyOTMxNTFBODI1QTAwNDEyM0ZGIC8qIFJFQURNRSAqLywKIAkJCQlBOEE0
NzI5NDE1MUE4MjVBMDA0MTIzRkYgLyogc3RydG9kLmNjICovLAogCQkJCUE4QTQ3Mjk1MTUxQTgy
NUEwMDQxMjNGRiAvKiBzdHJ0b2QuaCAqLywKIAkJCQlBOEE0NzI5NjE1MUE4MjVBMDA0MTIzRkYg
LyogdXRpbHMuaCAqLywKQEAgLTc2NywxMyArNzcwLDEzIEBACiAJCUE4QTQ3MzFCMTUxQTgyNUIw
MDQxMjNGRiAvKiB0ZXh0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKLQkJCQk4MTM0MDEzNjE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNwcCAqLywKLQkJCQk4
MTM0MDEzNzE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmggKi8sCiAJCQkJQThBNDczMUMxNTFB
ODI1QjAwNDEyM0ZGIC8qIEFTQ0lJRmFzdFBhdGguaCAqLywKIAkJCQlBOEE0NzMxRDE1MUE4MjVC
MDA0MTIzRkYgLyogQXRvbWljU3RyaW5nLmNwcCAqLywKIAkJCQlBOEE0NzMxRTE1MUE4MjVCMDA0
MTIzRkYgLyogQXRvbWljU3RyaW5nLmggKi8sCiAJCQkJQThBNDczMUYxNTFBODI1QjAwNDEyM0ZG
IC8qIEF0b21pY1N0cmluZ0hhc2guaCAqLywKIAkJCQlBOEE0NzMyMDE1MUE4MjVCMDA0MTIzRkYg
LyogQXRvbWljU3RyaW5nSW1wbC5oICovLAorCQkJCTgxMzQwMTM2MTVCMDkyRkQwMDFGRjBCOCAv
KiBCYXNlNjQuY3BwICovLAorCQkJCTgxMzQwMTM3MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQu
aCAqLywKIAkJCQlBOEE0NzMyMTE1MUE4MjVCMDA0MTIzRkYgLyogQ1N0cmluZy5jcHAgKi8sCiAJ
CQkJQThBNDczMjIxNTFBODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuaCAqLywKIAkJCQlBOEE0NzMy
MzE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVmZmVyLmggKi8sCkBAIC04MDQsMTAgKzgwNywx
MCBAQAogCQlBOEE0NzM0ODE1MUE4MjVCMDA0MTIzRkYgLyogdW5pY29kZSAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQThBNDczNEYxNTFBODI1QjAwNDEy
M0ZGIC8qIGljdSAqLywKIAkJCQlBOEE0NzM0OTE1MUE4MjVCMDA0MTIzRkYgLyogQ2hhcmFjdGVy
TmFtZXMuaCAqLywKIAkJCQlBOEE0NzM0QTE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3IuaCAq
LywKIAkJCQlBOEE0NzM0QjE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JEZWZhdWx0LmNwcCAq
LywKLQkJCQlBOEE0NzM0RjE1MUE4MjVCMDA0MTIzRkYgLyogaWN1ICovLAogCQkJCUE4QTQ3MzU0
MTUxQTgyNUIwMDQxMjNGRiAvKiBTY3JpcHRDb2Rlc0Zyb21JQ1UuaCAqLywKIAkJCQlBOEE0NzM1
NTE1MUE4MjVCMDA0MTIzRkYgLyogVW5pY29kZS5oICovLAogCQkJCUE4QTQ3MzU2MTUxQTgyNUIw
MDQxMjNGRiAvKiBVbmljb2RlTWFjcm9zRnJvbUlDVS5oICovLApAQCAtODcxLDI3ICs4NzQsMzkg
QEAKIAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCUE4NzZEQkQ4MTUxODE2RTUwMERBREI5NSAv
KiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczN0YxNTFBODI1QjAwNDEyM0ZG
IC8qIEFsaWdubWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODAxNTFBODI1QjAwNDEy
M0ZGIC8qIEFsd2F5c0lubGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODIxNTFBODI1
QjAwNDEyM0ZGIC8qIEFycmF5QnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4NDE1
MUE4MjVCMDA0MTIzRkYgLyogQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzM4NTE1MUE4MjVCMDA0MTIzRkYgLyogQVNDSUlDVHlwZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQThBNDc0MzQxNTFBODI1QjAwNDEyM0ZGIC8qIEFTQ0lJRmFzdFBhdGguaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4QTQ3Mzg3MTUxQTgyNUIwMDQxMjNGRiAvKiBBc3NlcnRpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzM4ODE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQThBNDc0MzYxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0cmluZy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0MzcxNTFBODI1QjAwNDEyM0ZGIC8qIEF0b21pY1N0
cmluZ0hhc2guaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDM4MTUxQTgyNUIwMDQxMjNGRiAv
KiBBdG9taWNTdHJpbmdJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4OTE1MUE4MjVC
MDA0MTIzRkYgLyogQVZMVHJlZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczOEExNTFBODI1
QjAwNDEyM0ZGIC8qIEJpdG1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODEzNDAxMzkxNUIwOTJG
RDAwMUZGMEI4IC8qIEJhc2U2NC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczQTkxNTFBODI1
QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzNBQjE1
MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ1MjE1
MUE4MjVCMDA0MTIzRkYgLyogQmluYXJ5U2VtYXBob3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
RjAzMjFCQzE1NkFBOEQxMDA2RUJBRjYgLyogQml0QXJyYXkuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUE4QTQ3MzhBMTUxQTgyNUIwMDQxMjNGRiAvKiBCaXRtYXAuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4QTQ3MzhDMTUxQTgyNUIwMDQxMjNGRiAvKiBCaXRWZWN0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3MzhFMTUxQTgyNUIwMDQxMjNGRiAvKiBCbG9ja1N0YWNrLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOEE0NzM4RjE1MUE4MjVCMDA0MTIzRkYgLyogQmxvb21GaWx0ZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3MzkwMTUxQTgyNUIwMDQxMjNGRiAvKiBCb3VuZHNDaGVja2VkUG9p
bnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOTExNTFBODI1QjAwNDEyM0ZGIC8qIEJ1
bXBQb2ludGVyQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzNBRDE1MUE4MjVC
MDA0MTIzRkYgLyogY2FjaGVkLXBvd2Vycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NUUx
NTFBODI1QjAwNDEyM0ZGIC8qIENoYXJhY3Rlck5hbWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzM5NDE1MUE4MjVCMDA0MTIzRkYgLyogQ2hlY2tlZEFyaXRobWV0aWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4QTQ3Mzk1MTUxQTgyNUIwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NUYxNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5ODE1MUE4MjVCMDA0MTIzRkYgLyogQ29tcGlsZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3Mzk5MTUxQTgyNUIwMDQxMjNGRiAvKiBDb21wbGV4
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ4QzE1MUE4MjY0MDA0MTIzRkYgLyogY29uZmln
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5QjE1MUE4MjVCMDA0MTIzRkYgLyogQ3J5cHRv
Z3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDNBMTUx
QTgyNUIwMDQxMjNGRiAvKiBDU3RyaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5RDE1
MUE4MjVCMDA0MTIzRkYgLyogQ3VycmVudFRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3
MzlGMTUxQTgyNUIwMDQxMjNGRiAvKiBEYXRhTG9nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0
NzNBMTE1MUE4MjVCMDA0MTIzRkYgLyogRGF0ZU1hdGguaCBpbiBIZWFkZXJzICovLApAQCAtODk5
LDI5ICs5MTQsMjYgQEAKIAkJCQlBOEE0NzNBNDE1MUE4MjVCMDA0MTIzRkYgLyogRGVjb2Rlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQTUxNTFBODI1QjAwNDEyM0ZGIC8qIERlcXVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNBNjE1MUE4MjVCMDA0MTIzRkYgLyogRGlzYWxsb3dD
VHlwZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczQTcxNTFBODI1QjAwNDEyM0ZGIC8qIERv
dWJseUxpbmtlZExpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0E5MTUxQTgyNUIwMDQx
MjNGRiAvKiBiaWdudW0tZHRvYS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczQUIxNTFBODI1
QjAwNDEyM0ZGIC8qIGJpZ251bS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczQUQxNTFBODI1
QjAwNDEyM0ZGIC8qIGNhY2hlZC1wb3dlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0FG
MTUxQTgyNUIwMDQxMjNGRiAvKiBkaXktZnAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0Ix
MTUxQTgyNUIwMDQxMjNGRiAvKiBkb3VibGUtY29udmVyc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQThBNDczQjIxNTFBODI1QjAwNDEyM0ZGIC8qIGRvdWJsZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJQThBNDczQjQxNTFBODI1QjAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJQThBNDczQjYxNTFBODI1QjAwNDEyM0ZGIC8qIGZpeGVkLWR0b2EuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUE4QTQ3M0I4MTUxQTgyNUIwMDQxMjNGRiAvKiBzdHJ0b2QuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUE4QTQ3M0I5MTUxQTgyNUIwMDQxMjNGRiAvKiB1dGlscy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQThBNDczQTcxNTFBODI1QjAwNDEyM0ZGIC8qIERvdWJseUxpbmtlZExpc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0JCMTUxQTgyNUIwMDQxMjNGRiAvKiBkdG9hLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBOEE0NzNCRDE1MUE4MjVCMDA0MTIzRkYgLyogRHluYW1pY0Fubm90
YXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDMDE1MUE4MjVCMDA0MTIzRkYgLyog
RW5jb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzExNTFBODI1QjAwNDEyM0ZGIC8q
IEV4cG9ydE1hY3Jvcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczQjQxNTFBODI1QjAwNDEy
M0ZGIC8qIGZhc3QtZHRvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzIxNTFBODI1QjAw
NDEyM0ZGIC8qIEZhc3RBbGxvY0Jhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGRDgxQUM1MTU0
RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0
NzNDNDE1MUE4MjVCMDA0MTIzRkYgLyogRmFzdE1hbGxvYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QThBNDczQjYxNTFBODI1QjAwNDEyM0ZGIC8qIGZpeGVkLWR0b2EuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3M0M1MTUxQTgyNUIwMDQxMjNGRiAvKiBGaXhlZEFycmF5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBOEE0NzNDNjE1MUE4MjVCMDA0MTIzRkYgLyogRmxvYXQzMkFycmF5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzNDNzE1MUE4MjVCMDA0MTIzRkYgLyogRmxvYXQ2NEFycmF5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNDODE1MUE4MjVCMDA0MTIzRkYgLyogRm9yd2FyZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzkxNTFBODI1QjAwNDEyM0ZGIC8qIEZ1bmN0aW9u
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0NBMTUxQTgyNUIwMDQxMjNGRiAvKiBHZXRQ
dHIuaCBpbiBIZWFkZXJzICovLAorCQkJCTJDMDUzODU0MTVCQzgxOTAwMEYyMUI5NiAvKiBHcmVn
b3JpYW5EYXRlVGltZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRDMxNTFBODI1QjAwNDEy
M0ZGIC8qIEhhc2hDb3VudGVkU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNENDE1MUE4
MjVCMDA0MTIzRkYgLyogSGFzaEZ1bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDcz
RDUxNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hJdGVyYXRvcnMuaCBpbiBIZWFkZXJzICovLApAQCAt
OTMxLDkgKzk0Myw5IEBACiAJCQkJQThBNDczREExNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hUcmFp
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0RCMTUxQTgyNUIwMDQxMjNGRiAvKiBIZXhO
dW1iZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0RDMTUxQTgyNUIwMDQxMjNGRiAvKiBJ
bmxpbmVBU00uaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3M0REMTUxQTgyNUIwMDQxMjNGRiAv
KiBJbnQ4QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0RFMTUxQTgyNUIwMDQxMjNG
RiAvKiBJbnQxNkFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNERjE1MUE4MjVCMDA0
MTIzRkYgLyogSW50MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDczREQxNTFBODI1
QjAwNDEyM0ZGIC8qIEludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRTAxNTFB
ODI1QjAwNDEyM0ZGIC8qIEludGVncmFsVHlwZWRBcnJheUJhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3M0UxMTUxQTgyNUIwMDQxMjNGRiAvKiBMaXN0SGFzaFNldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThBNDczRTIxNTFBODI1QjAwNDEyM0ZGIC8qIExpc3RSZWZQdHIuaCBpbiBIZWFk
ZXJzICovLApAQCAtOTYyLDE0ICs5NzQsMTggQEAKIAkJCQlBOEE0NzQwNDE1MUE4MjVCMDA0MTIz
RkYgLyogUGFnZVJlc2VydmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQwNTE1MUE4
MjVCMDA0MTIzRkYgLyogUGFyYWxsZWxKb2JzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQw
ODE1MUE4MjVCMDA0MTIzRkYgLyogUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE4QTQ3NDcwMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXJzZWRVUkwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4QTQ3NDBBMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duQXJyYXlQdHIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDBCMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3du
UHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQwQzE1MUE4MjVCMDA0MTIzRkYgLyogUGFz
c1JlZlB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MEQxNTFBODI1QjAwNDEyM0ZGIC8q
IFBhc3NUcmFpdHMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4NzZEQkQ4MTUxODE2RTUwMERBREI5
NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MEUxNTFBODI1QjAwNDEy
M0ZGIC8qIFBsYXRmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQwRjE1MUE4MjVCMDA0
MTIzRkYgLyogUG9zc2libHlOdWxsLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNDNGNjEyMDE1NjVG
MEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MTUxNTFB
ODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0
MTYxNTFBODI1QjAwNDEyM0ZGIC8qIFJhbmRvbU51bWJlclNlZWQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE4QTQ3NDcyMTUxQTgyNUIwMDQxMjNGRiAvKiBSYXdVUkxCdWZmZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4QTQ3NDE3MTUxQTgyNUIwMDQxMjNGRiAvKiBSZWRCbGFja1RyZWUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3NDE4MTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZDb3VudGVkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQxOTE1MUE4MjVCMDA0MTIzRkYgLyogUmVmQ291bnRl
ZEFycmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTk3Nyw2ICs5OTMsNyBAQAogCQkJCUE4QTQ3NDFD
MTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDFE
MTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZQdHJIYXNoTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzQxRTE1MUE4MjVCMDA0MTIzRkYgLyogUmV0YWluUHRyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBOEE0NzQ2NjE1MUE4MjVCMDA0MTIzRkYgLyogU2NyaXB0Q29kZXNGcm9tSUNVLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzQxRjE1MUE4MjVCMDA0MTIzRkYgLyogU2VnbWVudGVkVmVjdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyMDE1MUE4MjVCMDA0MTIzRkYgLyogU2VudGlu
ZWxMaW5rZWRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyMjE1MUE4MjVCMDA0MTIz
RkYgLyogU0hBMS5oIGluIEhlYWRlcnMgKi8sCkBAIC05ODYsNTIgKzEwMDMsMzkgQEAKIAkJCQlB
OEE0NzQyODE1MUE4MjVCMDA0MTIzRkYgLyogU3RhY2tCb3VuZHMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3NDI5MTUxQTgyNUIwMDQxMjNGRiAvKiBTdGF0aWNDb25zdHJ1Y3RvcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3NDJBMTUxQTgyNUIwMDQxMjNGRiAvKiBTdGRMaWJFeHRyYXMu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDNCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdC
dWZmZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDNEMTUxQTgyNUIwMDQxMjNGRiAvKiBT
dHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQzRTE1MUE4MjVCMDA0MTIz
RkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDJDMTUx
QTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3
NDNGMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdIYXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEE0NzQyRDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nSGFzaGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBOEE0NzQ0MTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nSW1wbC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQThBNDc0NDIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ09wZXJhdG9ycy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQThBNDczQjgxNTFBODI1QjAwNDEyM0ZGIC8qIHN0cnRvZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MkUxNTFBODI1QjAwNDEyM0ZGIC8qIFRDUGFja2VkQ2Fj
aGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDJGMTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1Bh
Z2VNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDMwMTUxQTgyNUIwMDQxMjNGRiAvKiBU
Q1NwaW5Mb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQzMjE1MUE4MjVCMDA0MTIzRkYg
LyogVENTeXN0ZW1BbGxvYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MzMxNTFBODI1QjAw
NDEyM0ZGIC8qIFRlbXBvcmFyeUNoYW5nZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0MzQx
NTFBODI1QjAwNDEyM0ZGIC8qIEFTQ0lJRmFzdFBhdGguaCBpbiBIZWFkZXJzICovLAotCQkJCUE4
QTQ3NDM2MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmcuaCBpbiBIZWFkZXJzICovLAot
CQkJCUE4QTQ3NDM3MTUxQTgyNUIwMDQxMjNGRiAvKiBBdG9taWNTdHJpbmdIYXNoLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlBOEE0NzQzODE1MUE4MjVCMDA0MTIzRkYgLyogQXRvbWljU3RyaW5nSW1w
bC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0M0ExNTFBODI1QjAwNDEyM0ZGIC8qIENTdHJp
bmcuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDNCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJp
bmdCdWZmZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDNEMTUxQTgyNUIwMDQxMjNGRiAv
KiBTdHJpbmdCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQzRTE1MUE4MjVCMDA0
MTIzRkYgLyogU3RyaW5nQ29uY2F0ZW5hdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDNG
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdIYXNoLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0
NzQ0MTE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nSW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
QThBNDc0NDIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ09wZXJhdG9ycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThBNDc0NDQxNTFBODI1QjAwNDEyM0ZGIC8qIFRleHRQb3NpdGlvbi5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJQThBNDc0NDYxNTFBODI1QjAwNDEyM0ZGIC8qIFdURlN0cmluZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NDcxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVhZEZ1bmN0
aW9uSW52b2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NDkxNTFBODI1QjAwNDEy
M0ZGIC8qIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4QTQ3NDRCMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRpbmcuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4QTQ3NDREMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRpbmdQcmltaXRpdmVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBOEE0NzQ1MDE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkUmVzdHJp
Y3Rpb25WZXJpZmllci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDc0NTIxNTFBODI1QjAwNDEy
M0ZGIC8qIEJpbmFyeVNlbWFwaG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NTQxNTFB
ODI1QjAwNDEyM0ZGIC8qIFRocmVhZFNhZmVSZWZDb3VudGVkLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQ1NTE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkU3BlY2lmaWMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4QTQ3NDU3MTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlZEFycmF5QmFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NTkxNTFBODI1QjAwNDEyM0ZGIC8qIFR5cGVUcmFpdHMu
aCBpbiBIZWFkZXJzICovLAotCQkJCUE4QTQ3NDVBMTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50OEFy
cmF5LmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ1QjE1MUE4MjVCMDA0MTIzRkYgLyogVWlu
dDhDbGFtcGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDVDMTUxQTgyNUIwMDQx
MjNGRiAvKiBVaW50MTZBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NUQxNTFBODI1
QjAwNDEyM0ZGIC8qIFVpbnQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ1RTE1
MUE4MjVCMDA0MTIzRkYgLyogQ2hhcmFjdGVyTmFtZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4
QTQ3NDVGMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xsYXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
QThBNDc0NjQxNTFBODI1QjAwNDEyM0ZGIC8qIFVuaWNvZGVJY3UuaCBpbiBIZWFkZXJzICovLAot
CQkJCUE4QTQ3NDY2MTUxQTgyNUIwMDQxMjNGRiAvKiBTY3JpcHRDb2Rlc0Zyb21JQ1UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUE4QTQ3NDVBMTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50OEFycmF5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ1QjE1MUE4MjVCMDA0MTIzRkYgLyogVWludDhDbGFt
cGVkQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDY3MTUxQTgyNUIwMDQxMjNGRiAv
KiBVbmljb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBOEE0NzQ2NDE1MUE4MjVCMDA0MTIzRkYg
LyogVW5pY29kZUljdS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NjgxNTFBODI1QjAwNDEy
M0ZGIC8qIFVuaWNvZGVNYWNyb3NGcm9tSUNVLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ2
QTE1MUE4MjVCMDA0MTIzRkYgLyogVVRGOC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NkQx
NTFBODI1QjAwNDEyM0ZGIC8qIFVuaW9uRmluZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0
NkUxNTFBODI1QjAwNDEyM0ZGIC8qIFVudXNlZFBhcmFtLmggaW4gSGVhZGVycyAqLywKLQkJCQlB
OEE0NzQ3MDE1MUE4MjVCMDA0MTIzRkYgLyogUGFyc2VkVVJMLmggaW4gSGVhZGVycyAqLywKLQkJ
CQlBOEE0NzQ3MTE1MUE4MjVCMDA0MTIzRkYgLyogVVJMU3RyaW5nLmggaW4gSGVhZGVycyAqLywK
LQkJCQlBOEE0NzQ3MjE1MUE4MjVCMDA0MTIzRkYgLyogUmF3VVJMQnVmZmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzQ3MzE1MUE4MjVCMDA0MTIzRkYgLyogVVJMQnVmZmVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBOEE0NzQ3NTE1MUE4MjVCMDA0MTIzRkYgLyogVVJMQ2hhcmFjdGVyVHlw
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDc2MTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxD
b21wb25lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTAzOSwxNSArMTA0MywxNSBAQAogCQkJCUE4
QTQ3NDc5MTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE4QTQ3NDdBMTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxRdWVyeUNhbm9uaWNhbGl6ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3NDdDMTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxTZWdtZW50cy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NzExNTFBODI1QjAwNDEyM0ZGIC8qIFVSTFN0cmlu
Zy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThBNDc0NkExNTFBODI1QjAwNDEyM0ZGIC8qIFVURjgu
aCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3M0I5MTUxQTgyNUIwMDQxMjNGRiAvKiB1dGlscy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0N0QxNTFBODI1QjAwNDEyM0ZGIC8qIFZhbHVlQ2hl
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDdFMTUxQTgyNUIwMDQxMjNGRiAvKiBWZWN0
b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDdGMTUxQTgyNUIwMDQxMjNGRiAvKiBWZWN0
b3JUcmFpdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDgwMTUxQTgyNUIwMDQxMjNGRiAv
KiBWTVRhZ3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4QTQ3NDQ2MTUxQTgyNUIwMDQxMjNGRiAv
KiBXVEZTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDg3MTUxQTgyNUIwMDQxMjNG
RiAvKiBXVEZUaHJlYWREYXRhLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzQ4QzE1MUE4MjY0
MDA0MTIzRkYgLyogY29uZmlnLmggaW4gSGVhZGVycyAqLywKLQkJCQkxNDNGNjEyMDE1NjVGMEY5
MDBEQjUxNEEgLyogUkFNU2l6ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEZEODFBQzUxNTRGQjIy
RTAwOTgzRTcyIC8qIEZhc3RCaXRWZWN0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTgxMzQwMTM5
MTVCMDkyRkQwMDFGRjBCOCAvKiBCYXNlNjQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTEzOSwyNiAr
MTE0MywzMSBAQAogCQkJCUE4QTQ3MzgxMTUxQTgyNUIwMDQxMjNGRiAvKiBBcnJheUJ1ZmZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM4MzE1MUE4MjVCMDA0MTIzRkYgLyogQXJyYXlC
dWZmZXJWaWV3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3Mzg2MTUxQTgyNUIwMDQxMjNG
RiAvKiBBc3NlcnRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3NDM1MTUxQTgyNUIw
MDQxMjNGRiAvKiBBdG9taWNTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODEzNDAxMzgx
NUIwOTJGRDAwMUZGMEI4IC8qIEJhc2U2NC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzNB
ODE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLWR0b2EuY2MgaW4gU291cmNlcyAqLywKKwkJCQlB
OEE0NzNBQTE1MUE4MjVCMDA0MTIzRkYgLyogYmlnbnVtLmNjIGluIFNvdXJjZXMgKi8sCisJCQkJ
QThBNDc0NTExNTFBODI1QjAwNDEyM0ZGIC8qIEJpbmFyeVNlbWFwaG9yZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEE0NzM4QjE1MUE4MjVCMDA0MTIzRkYgLyogQml0VmVjdG9yLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUE4QTQ3M0FDMTUxQTgyNUIwMDQxMjNGRiAvKiBjYWNoZWQtcG93ZXJz
LmNjIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDc0NjAxNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxh
dG9yRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzQ2MzE1MUE4MjVCMDA0MTIz
RkYgLyogQ29sbGF0b3JJQ1UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczOUExNTFBODI1
QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUE4QTQ3NDM5MTUxQTgyNUIwMDQxMjNGRiAvKiBDU3RyaW5nLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4QTQ3MzlDMTUxQTgyNUIwMDQxMjNGRiAvKiBDdXJyZW50VGltZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM5RTE1MUE4MjVCMDA0MTIzRkYgLyogRGF0YUxvZy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNBMDE1MUE4MjVCMDA0MTIzRkYgLyogRGF0ZU1h
dGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQTIxNTFBODI1QjAwNDEyM0ZGIC8qIERl
Y2ltYWxOdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDczQTgxNTFBODI1QjAwNDEy
M0ZGIC8qIGJpZ251bS1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDczQUExNTFBODI1
QjAwNDEyM0ZGIC8qIGJpZ251bS5jYyBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3M0FDMTUxQTgy
NUIwMDQxMjNGRiAvKiBjYWNoZWQtcG93ZXJzLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QUUxNTFBODI1QjAwNDEyM0ZGIC8qIGRpeS1mcC5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3
M0IwMTUxQTgyNUIwMDQxMjNGRiAvKiBkb3VibGUtY29udmVyc2lvbi5jYyBpbiBTb3VyY2VzICov
LAotCQkJCUE4QTQ3M0IzMTUxQTgyNUIwMDQxMjNGRiAvKiBmYXN0LWR0b2EuY2MgaW4gU291cmNl
cyAqLywKLQkJCQlBOEE0NzNCNTE1MUE4MjVCMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyBpbiBT
b3VyY2VzICovLAotCQkJCUE4QTQ3M0I3MTUxQTgyNUIwMDQxMjNGRiAvKiBzdHJ0b2QuY2MgaW4g
U291cmNlcyAqLywKIAkJCQlBOEE0NzNCQTE1MUE4MjVCMDA0MTIzRkYgLyogZHRvYS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOEE0NzNCQzE1MUE4MjVCMDA0MTIzRkYgLyogRHluYW1pY0Fubm90
YXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3M0IzMTUxQTgyNUIwMDQxMjNGRiAv
KiBmYXN0LWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNDMzE1MUE4MjVCMDA0MTIz
RkYgLyogRmFzdE1hbGxvYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzNCNTE1MUE4MjVC
MDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0Q4MTUx
QTgyNUIwMDQxMjNGRiAvKiBIYXNoVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDcz
RTQxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzNFNTE1MUE4MjVCMDA0MTIzRkYgLyogTWFpblRocmVhZC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBOEE0NzNFNDE1MUE4MjVCMDA0MTIzRkYgLyogTWFpblRocmVhZE1hYy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUE4QTQ3M0U5MTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDczRUMxNTFBODI1QjAwNDEyM0ZGIC8qIE1ldGFBbGxvY2F0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRjIxNTFBODI1QjAwNDEyM0ZGIC8qIE51bGxQ
dHIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMTY3LDM1ICsxMTc2LDMwIEBACiAJCQkJQThBNDcz
RjkxNTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4QTQ3NDAwMTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlQWxsb2NhdGlvbkFsaWduZWQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MDIxNTFBODI1QjAwNDEyM0ZGIC8qIFBhZ2VCbG9j
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzQ2RjE1MUE4MjVCMDA0MTIzRkYgLyogUGFy
c2VkVVJMLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0M0Y2MTFGMTU2NUYwRjkwMERCNTE0QSAv
KiBSQU1TaXplLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDE0MTUxQTgyNUIwMDQxMjNG
RiAvKiBSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MUExNTFBODI1
QjAwNDEyM0ZGIC8qIFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzQyMTE1MUE4MjVCMDA0MTIzRkYgLyogU0hBMS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzQyNTE1MUE4MjVCMDA0MTIzRkYgLyogU2l6ZUxpbWl0cy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBOEE0NzQyNzE1MUE4MjVCMDA0MTIzRkYgLyogU3RhY2tCb3VuZHMuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJQThBNDc0MkIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQzMTE1MUE4MjVCMDA0MTIzRkYgLyogVENTeXN0
ZW1BbGxvYy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQzNTE1MUE4MjVCMDA0MTIzRkYg
LyogQXRvbWljU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3NDM5MTUxQTgyNUIw
MDQxMjNGRiAvKiBDU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDNDMTUxQTgy
NUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3
NDJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThBNDc0NDAxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0ltcGwuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThBNDc0NDMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ1N0YXRpY3MuY3BwIGlu
IFNvdXJjZXMgKi8sCi0JCQkJNDMzMEYzOEYxNTc0NUIwNTAwQUFGQThGIC8qIFVSTFN0cmluZy5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQ0NTE1MUE4MjVCMDA0MTIzRkYgLyogV1RGU3Ry
aW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4QTQ3M0I3MTUxQTgyNUIwMDQxMjNGRiAvKiBz
dHJ0b2QuY2MgaW4gU291cmNlcyAqLywKKwkJCQlBOEE0NzQzMTE1MUE4MjVCMDA0MTIzRkYgLyog
VENTeXN0ZW1BbGxvYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQ0ODE1MUE4MjVCMDA0
MTIzRkYgLyogVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBOEE0NzQ0QTE1MUE4MjVCMDA0MTIzRkYgLyogVGhyZWFkaW5nLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4QTQ3NDRFMTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRpbmdQdGhyZWFkcy5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlBOEE0NzQ1MTE1MUE4MjVCMDA0MTIzRkYgLyogQmluYXJ5
U2VtYXBob3JlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDU4MTUxQTgyNUIwMDQxMjNG
RiAvKiBUeXBlVHJhaXRzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUE4QTQ3NDYwMTUxQTgyNUIw
MDQxMjNGRiAvKiBDb2xsYXRvckRlZmF1bHQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQThBNDc0
NjMxNTFBODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9ySUNVLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUE4QTQ3NDY5MTUxQTgyNUIwMDQxMjNGRiAvKiBVVEY4LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUE4QTQ3NDZGMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXJzZWRVUkwuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThBNDc0NzQxNTFBODI1QjAwNDEyM0ZGIC8qIFVSTENoYXJhY3RlclR5cGVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDc3MTUxQTgyNUIwMDQxMjNGRiAvKiBVUkxFc2NhcGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0N0IxNTFBODI1QjAwNDEyM0ZGIC8qIFVSTFNl
Z21lbnRzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQzMzBGMzhGMTU3NDVCMDUwMEFBRkE4RiAv
KiBVUkxTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDc0NjkxNTFBODI1QjAwNDEy
M0ZGIC8qIFVURjguY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQThBNDc0NDUxNTFBODI1QjAwNDEy
M0ZGIC8qIFdURlN0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQ4NjE1MUE4MjVC
MDA0MTIzRkYgLyogV1RGVGhyZWFkRGF0YS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxNDNGNjEx
RjE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4MTM0
MDEzODE1QjA5MkZEMDAxRkYwQjggLyogQmFzZTY0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFr
ZUxpc3RzLnR4dAppbmRleCA5ZDM0ZDQ1NjM5NmMzYTkwNWNmNTlmMjg1YThiMTkwZjM0OWJlY2Iz
Li5iZDI5MTQ5NzE4YTA0ZDgxNDc3MzQ4OWY3ZDZlMDEwYTUxZTg5Yzg1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxp
c3RzLnR4dApAQCAtMjgsNiArMjgsNyBAQCBTRVQoV1RGX0hFQURFUlMKICAgICBGaXhlZEFycmF5
LmgKICAgICBGb3J3YXJkLmgKICAgICBHZXRQdHIuaAorICAgIEdyZWdvcmlhbkRhdGVUaW1lLmgK
ICAgICBIYXNoQ291bnRlZFNldC5oCiAgICAgSGFzaEZ1bmN0aW9ucy5oCiAgICAgSGFzaEl0ZXJh
dG9ycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9HcmVnb3JpYW5EYXRlVGltZS5oIGIv
U291cmNlL1dURi93dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjRmYzM1MmYw
OGVlNmJjYWRiOWFmOGUyNDc1Y2IzNjY5MDNmYmMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dURi93dGYvR3JlZ29yaWFuRGF0ZVRpbWUuaApAQCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBQYXRyaWNrIEdhbnN0ZXJlciA8cGFyb2dhQHBhcm9nYS5jb20+Cisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBXVEZfR3JlZ29yaWFuRGF0ZVRpbWVfaAorI2RlZmluZSBXVEZfR3JlZ29yaWFuRGF0ZVRpbWVf
aAorCisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCituYW1lc3BhY2UgV1RGIHsKKwor
Y2xhc3MgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdv
cmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKKyAgICBHcmVnb3JpYW5EYXRlVGltZSgpCisgICAgICAg
IDogbV95ZWFyKDApCisgICAgICAgICwgbV9tb250aCgwKQorICAgICAgICAsIG1feWVhckRheSgw
KQorICAgICAgICAsIG1fbW9udGhEYXkoMCkKKyAgICAgICAgLCBtX3dlZWtEYXkoMCkKKyAgICAg
ICAgLCBtX2hvdXIoMCkKKyAgICAgICAgLCBtX21pbnV0ZSgwKQorICAgICAgICAsIG1fc2Vjb25k
KDApCisgICAgICAgICwgbV91dGNPZmZzZXQoMCkKKyAgICAgICAgLCBtX2lzRFNUKDApCisgICAg
eworICAgIH0KKworICAgIGlubGluZSBpbnQgeWVhcigpIGNvbnN0IHsgcmV0dXJuIG1feWVhcjsg
fQorICAgIGlubGluZSBpbnQgbW9udGgoKSBjb25zdCB7IHJldHVybiBtX21vbnRoOyB9CisgICAg
aW5saW5lIGludCB5ZWFyRGF5KCkgY29uc3QgeyByZXR1cm4gbV95ZWFyRGF5OyB9CisgICAgaW5s
aW5lIGludCBtb250aERheSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9udGhEYXk7IH0KKyAgICBpbmxp
bmUgaW50IHdlZWtEYXkoKSBjb25zdCB7IHJldHVybiBtX3dlZWtEYXk7IH0KKyAgICBpbmxpbmUg
aW50IGhvdXIoKSBjb25zdCB7IHJldHVybiBtX2hvdXI7IH0KKyAgICBpbmxpbmUgaW50IG1pbnV0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWludXRlOyB9CisgICAgaW5saW5lIGludCBzZWNvbmQoKSBj
b25zdCB7IHJldHVybiBtX3NlY29uZDsgfQorICAgIGlubGluZSBpbnQgdXRjT2Zmc2V0KCkgY29u
c3QgeyByZXR1cm4gbV91dGNPZmZzZXQ7IH0KKyAgICBpbmxpbmUgaW50IGlzRFNUKCkgY29uc3Qg
eyByZXR1cm4gbV9pc0RTVDsgfQorCisgICAgaW5saW5lIHZvaWQgc2V0WWVhcihpbnQgeWVhcikg
eyBtX3llYXIgPSB5ZWFyOyB9CisgICAgaW5saW5lIHZvaWQgc2V0TW9udGgoaW50IG1vbnRoKSB7
IG1fbW9udGggPSBtb250aDsgfQorICAgIGlubGluZSB2b2lkIHNldFllYXJEYXkoaW50IHllYXJE
YXkpIHsgbV95ZWFyRGF5ID0geWVhckRheTsgfQorICAgIGlubGluZSB2b2lkIHNldE1vbnRoRGF5
KGludCBtb250aERheSkgeyBtX21vbnRoRGF5ID0gbW9udGhEYXk7IH0KKyAgICBpbmxpbmUgdm9p
ZCBzZXRXZWVrRGF5KGludCB3ZWVrRGF5KSB7IG1fd2Vla0RheSA9IHdlZWtEYXk7IH0KKyAgICBp
bmxpbmUgdm9pZCBzZXRIb3VyKGludCBob3VyKSB7IG1faG91ciA9IGhvdXI7IH0KKyAgICBpbmxp
bmUgdm9pZCBzZXRNaW51dGUoaW50IG1pbnV0ZSkgeyBtX21pbnV0ZSA9IG1pbnV0ZTsgfQorICAg
IGlubGluZSB2b2lkIHNldFNlY29uZChpbnQgc2Vjb25kKSB7IG1fc2Vjb25kID0gc2Vjb25kOyB9
CisgICAgaW5saW5lIHZvaWQgc2V0VXRjT2Zmc2V0KGludCB1dGNPZmZzZXQpIHsgbV91dGNPZmZz
ZXQgPSB1dGNPZmZzZXQ7IH0KKyAgICBpbmxpbmUgdm9pZCBzZXRJc0RTVChpbnQgaXNEU1QpIHsg
bV9pc0RTVCA9IGlzRFNUOyB9CisKKyAgICBvcGVyYXRvciB0bSgpIGNvbnN0CisgICAgeworICAg
ICAgICB0bSByZXQ7CisgICAgICAgIG1lbXNldCgmcmV0LCAwLCBzaXplb2YocmV0KSk7CisKKyAg
ICAgICAgcmV0LnRtX3llYXIgPSBtX3llYXI7CisgICAgICAgIHJldC50bV9tb24gPSBtX21vbnRo
OworICAgICAgICByZXQudG1feWRheSA9IG1feWVhckRheTsKKyAgICAgICAgcmV0LnRtX21kYXkg
PSBtX21vbnRoRGF5OworICAgICAgICByZXQudG1fd2RheSA9IG1fd2Vla0RheTsKKyAgICAgICAg
cmV0LnRtX2hvdXIgPSBtX2hvdXI7CisgICAgICAgIHJldC50bV9taW4gPSBtX21pbnV0ZTsKKyAg
ICAgICAgcmV0LnRtX3NlYyA9IG1fc2Vjb25kOworICAgICAgICByZXQudG1faXNkc3QgPSBtX2lz
RFNUOworCisjaWYgSEFWRShUTV9HTVRPRkYpCisgICAgICAgIHJldC50bV9nbXRvZmYgPSBzdGF0
aWNfY2FzdDxsb25nPihtX3V0Y09mZnNldCk7CisjZW5kaWYKKworICAgICAgICByZXR1cm4gcmV0
OworICAgIH0KKworICAgIHZvaWQgY29weUZyb20oY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIG90
aGVyKQorICAgIHsKKyAgICAgICAgbV95ZWFyID0gb3RoZXIubV95ZWFyOworICAgICAgICBtX21v
bnRoID0gb3RoZXIubV9tb250aDsKKyAgICAgICAgbV95ZWFyRGF5ID0gb3RoZXIubV95ZWFyRGF5
OworICAgICAgICBtX21vbnRoRGF5ID0gb3RoZXIubV9tb250aERheTsKKyAgICAgICAgbV93ZWVr
RGF5ID0gb3RoZXIubV93ZWVrRGF5OworICAgICAgICBtX2hvdXIgPSBvdGhlci5tX2hvdXI7Cisg
ICAgICAgIG1fbWludXRlID0gb3RoZXIubV9taW51dGU7CisgICAgICAgIG1fc2Vjb25kID0gb3Ro
ZXIubV9zZWNvbmQ7CisgICAgICAgIG1fdXRjT2Zmc2V0ID0gb3RoZXIubV91dGNPZmZzZXQ7Cisg
ICAgICAgIG1faXNEU1QgPSBvdGhlci5tX2lzRFNUOworICAgIH0KKworcHJpdmF0ZToKKyAgICBp
bnQgbV95ZWFyOworICAgIGludCBtX21vbnRoOworICAgIGludCBtX3llYXJEYXk7CisgICAgaW50
IG1fbW9udGhEYXk7CisgICAgaW50IG1fd2Vla0RheTsKKyAgICBpbnQgbV9ob3VyOworICAgIGlu
dCBtX21pbnV0ZTsKKyAgICBpbnQgbV9zZWNvbmQ7CisgICAgaW50IG1fdXRjT2Zmc2V0OworICAg
IGludCBtX2lzRFNUOworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6R3Jl
Z29yaWFuRGF0ZVRpbWU7CisKKyNlbmRpZiAvLyBXVEZfR3JlZ29yaWFuRGF0ZVRpbWVfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwCmluZGV4IDA0MGQ1MWZjYmM1YTQyMDA4
MzdjYzlkOGEzZTlkODk3NzlhNWJhZGQuLjVjMDNkMjk4MGE5NjY3Y2E1ZTlkYmVmY2I4MDk4OWEw
NDEwZGM5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKQEAgLTUw
NCwxMyArNTA0LDEzIEBAIFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgICAgICBH
cmVnb3JpYW5EYXRlVGltZSBnZHQ7CiAgICAgICAgICAgICAgICAgbXNUb0dyZWdvcmlhbkRhdGVU
aW1lKGV4ZWMsIGRhdGUtPmludGVybmFsTnVtYmVyKCksIHRydWUsIGdkdCk7CiAgICAgICAgICAg
ICAgICAgaWYgKGhpbnQgPT0gUU1ldGFUeXBlOjpRRGF0ZVRpbWUpIHsKLSAgICAgICAgICAgICAg
ICAgICAgcmV0ID0gUURhdGVUaW1lKFFEYXRlKGdkdC55ZWFyICsgMTkwMCwgZ2R0Lm1vbnRoICsg
MSwgZ2R0Lm1vbnRoRGF5KSwgUVRpbWUoZ2R0LmhvdXIsIGdkdC5taW51dGUsIGdkdC5zZWNvbmQp
LCBRdDo6VVRDKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURhdGVUaW1lKFFEYXRlKGdk
dC55ZWFyKCkgKyAxOTAwLCBnZHQubW9udGgoKSArIDEsIGdkdC5tb250aERheSgpKSwgUVRpbWUo
Z2R0LmhvdXIoKSwgZ2R0Lm1pbnV0ZSgpLCBnZHQuc2Vjb25kKCkpLCBRdDo6VVRDKTsKICAgICAg
ICAgICAgICAgICAgICAgZGlzdCA9IDA7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoaW50
ID09IFFNZXRhVHlwZTo6UURhdGUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURhdGUo
Z2R0LnllYXIgKyAxOTAwLCBnZHQubW9udGggKyAxLCBnZHQubW9udGhEYXkpOworICAgICAgICAg
ICAgICAgICAgICByZXQgPSBRRGF0ZShnZHQueWVhcigpICsgMTkwMCwgZ2R0Lm1vbnRoKCkgKyAx
LCBnZHQubW9udGhEYXkoKSk7CiAgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAxOwogICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldCA9IFFUaW1lKGdkdC5o
b3VyICsgMTkwMCwgZ2R0Lm1pbnV0ZSwgZ2R0LnNlY29uZCk7CisgICAgICAgICAgICAgICAgICAg
IHJldCA9IFFUaW1lKGdkdC5ob3VyKCkgKyAxOTAwLCBnZHQubWludXRlKCksIGdkdC5zZWNvbmQo
KSk7CiAgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAyOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBOdW1iZXIpIHsKQEAgLTUxOCwxMyArNTE4LDEz
IEBAIFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgICAgICBHcmVnb3JpYW5EYXRl
VGltZSBnZHQ7CiAgICAgICAgICAgICAgICAgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKGV4ZWMsIGIs
IHRydWUsIGdkdCk7CiAgICAgICAgICAgICAgICAgaWYgKGhpbnQgPT0gUU1ldGFUeXBlOjpRRGF0
ZVRpbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURhdGVUaW1lKFFEYXRlKGdkdC55
ZWFyICsgMTkwMCwgZ2R0Lm1vbnRoICsgMSwgZ2R0Lm1vbnRoRGF5KSwgUVRpbWUoZ2R0LmhvdXIs
IGdkdC5taW51dGUsIGdkdC5zZWNvbmQpLCBRdDo6VVRDKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0ID0gUURhdGVUaW1lKFFEYXRlKGdkdC55ZWFyKCkgKyAxOTAwLCBnZHQubW9udGgoKSArIDEs
IGdkdC5tb250aERheSgpKSwgUVRpbWUoZ2R0LmhvdXIoKSwgZ2R0Lm1pbnV0ZSgpLCBnZHQuc2Vj
b25kKCkpLCBRdDo6VVRDKTsKICAgICAgICAgICAgICAgICAgICAgZGlzdCA9IDY7CiAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmIChoaW50ID09IFFNZXRhVHlwZTo6UURhdGUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0ID0gUURhdGUoZ2R0LnllYXIgKyAxOTAwLCBnZHQubW9udGggKyAxLCBn
ZHQubW9udGhEYXkpOworICAgICAgICAgICAgICAgICAgICByZXQgPSBRRGF0ZShnZHQueWVhcigp
ICsgMTkwMCwgZ2R0Lm1vbnRoKCkgKyAxLCBnZHQubW9udGhEYXkoKSk7CiAgICAgICAgICAgICAg
ICAgICAgIGRpc3QgPSA4OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHJldCA9IFFUaW1lKGdkdC5ob3VyLCBnZHQubWludXRlLCBnZHQuc2Vjb25kKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0ID0gUVRpbWUoZ2R0LmhvdXIoKSwgZ2R0Lm1pbnV0ZSgpLCBn
ZHQuc2Vjb25kKCkpOwogICAgICAgICAgICAgICAgICAgICBkaXN0ID0gMTA7CiAgICAgICAgICAg
ICAgICAgfQogI2lmbmRlZiBRVF9OT19EQVRFU1RSSU5HCkBAIC04NzQsMTMgKzg3NCwxMyBAQCBK
U1ZhbHVlIGNvbnZlcnRRVmFyaWFudFRvVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRy
PFJvb3RPYmplY3Q+IHJvb3QsIGNvbgogCiAgICAgICAgIC8vIERhdGVzIHNwZWNpZmllZCB0aGlz
IHdheSBhcmUgaW4gbG9jYWwgdGltZSAod2UgY29udmVydCBEYXRlVGltZXMgYWJvdmUpCiAgICAg
ICAgIEdyZWdvcmlhbkRhdGVUaW1lIGR0OwotICAgICAgICBkdC55ZWFyID0gZGF0ZS55ZWFyKCkg
LSAxOTAwOwotICAgICAgICBkdC5tb250aCA9IGRhdGUubW9udGgoKSAtIDE7Ci0gICAgICAgIGR0
Lm1vbnRoRGF5ID0gZGF0ZS5kYXkoKTsKLSAgICAgICAgZHQuaG91ciA9IHRpbWUuaG91cigpOwot
ICAgICAgICBkdC5taW51dGUgPSB0aW1lLm1pbnV0ZSgpOwotICAgICAgICBkdC5zZWNvbmQgPSB0
aW1lLnNlY29uZCgpOwotICAgICAgICBkdC5pc0RTVCA9IC0xOworICAgICAgICBkdC5zZXRZZWFy
KGRhdGUueWVhcigpIC0gMTkwMCk7CisgICAgICAgIGR0LnNldE1vbnRoKGRhdGUubW9udGgoKSAt
IDEpOworICAgICAgICBkdC5zZXRNb250aERheShkYXRlLmRheSgpKTsKKyAgICAgICAgZHQuc2V0
SG91cih0aW1lLmhvdXIoKSk7CisgICAgICAgIGR0LnNldE1pbnV0ZSh0aW1lLm1pbnV0ZSgpKTsK
KyAgICAgICAgZHQuc2V0U2Vjb25kKHRpbWUuc2Vjb25kKCkpOworICAgICAgICBkdC5zZXRJc0RT
VCgtMSk7CiAgICAgICAgIGRvdWJsZSBtcyA9IGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhleGVjLCBk
dCwgdGltZS5tc2VjKCksIC8qaW5wdXRJc1VUQyovIGZhbHNlKTsKIAogICAgICAgICByZXR1cm4g
RGF0ZUluc3RhbmNlOjpjcmVhdGUoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5k
YXRlU3RydWN0dXJlKCksIHRydW5jKG1zKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcXQvcXRfcnVudGltZV9xdDQuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0
X3J1bnRpbWVfcXQ0LmNwcAppbmRleCA5NjgyZjE0ZWMzMWFjNjA5Yjk0OTBkNGJmZjEwM2ZmNmNl
ZGZmYTJjLi5jMzg5MGFmZTgyNDEwZjM2YTVjYmFjNmM3ZWVmNTQyMTJmZDI2ODcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZV9xdDQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lX3F0NC5jcHAKQEAgLTUwNCwxMyArNTA0
LDEzIEBAIFFWYXJpYW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBK
U1ZhbHVlIHZhbHVlLCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgICAgICBHcmVnb3JpYW5E
YXRlVGltZSBnZHQ7CiAgICAgICAgICAgICAgICAgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKGV4ZWMs
IGRhdGUtPmludGVybmFsTnVtYmVyKCksIHRydWUsIGdkdCk7CiAgICAgICAgICAgICAgICAgaWYg
KGhpbnQgPT0gUU1ldGFUeXBlOjpRRGF0ZVRpbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0
ID0gUURhdGVUaW1lKFFEYXRlKGdkdC55ZWFyICsgMTkwMCwgZ2R0Lm1vbnRoICsgMSwgZ2R0Lm1v
bnRoRGF5KSwgUVRpbWUoZ2R0LmhvdXIsIGdkdC5taW51dGUsIGdkdC5zZWNvbmQpLCBRdDo6VVRD
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURhdGVUaW1lKFFEYXRlKGdkdC55ZWFyKCkg
KyAxOTAwLCBnZHQubW9udGgoKSArIDEsIGdkdC5tb250aERheSgpKSwgUVRpbWUoZ2R0LmhvdXIo
KSwgZ2R0Lm1pbnV0ZSgpLCBnZHQuc2Vjb25kKCkpLCBRdDo6VVRDKTsKICAgICAgICAgICAgICAg
ICAgICAgZGlzdCA9IDA7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoaW50ID09IFFNZXRh
VHlwZTo6UURhdGUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURhdGUoZ2R0LnllYXIg
KyAxOTAwLCBnZHQubW9udGggKyAxLCBnZHQubW9udGhEYXkpOworICAgICAgICAgICAgICAgICAg
ICByZXQgPSBRRGF0ZShnZHQueWVhcigpICsgMTkwMCwgZ2R0Lm1vbnRoKCkgKyAxLCBnZHQubW9u
dGhEYXkoKSk7CiAgICAgICAgICAgICAgICAgICAgIGRpc3QgPSAxOwogICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldCA9IFFUaW1lKGdkdC5ob3VyICsgMTkw
MCwgZ2R0Lm1pbnV0ZSwgZ2R0LnNlY29uZCk7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IFFU
aW1lKGdkdC5ob3VyKCkgKyAxOTAwLCBnZHQubWludXRlKCksIGdkdC5zZWNvbmQoKSk7CiAgICAg
ICAgICAgICAgICAgICAgIGRpc3QgPSAyOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0gZWxzZSBpZiAodHlwZSA9PSBOdW1iZXIpIHsKQEAgLTUxOCwxMyArNTE4LDEzIEBAIFFWYXJp
YW50IGNvbnZlcnRWYWx1ZVRvUVZhcmlhbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVl
LCBRTWV0YVR5cGU6OlR5cGUKICAgICAgICAgICAgICAgICBHcmVnb3JpYW5EYXRlVGltZSBnZHQ7
CiAgICAgICAgICAgICAgICAgbXNUb0dyZWdvcmlhbkRhdGVUaW1lKGV4ZWMsIGIsIHRydWUsIGdk
dCk7CiAgICAgICAgICAgICAgICAgaWYgKGhpbnQgPT0gUU1ldGFUeXBlOjpRRGF0ZVRpbWUpIHsK
LSAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURhdGVUaW1lKFFEYXRlKGdkdC55ZWFyICsgMTkw
MCwgZ2R0Lm1vbnRoICsgMSwgZ2R0Lm1vbnRoRGF5KSwgUVRpbWUoZ2R0LmhvdXIsIGdkdC5taW51
dGUsIGdkdC5zZWNvbmQpLCBRdDo6VVRDKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gUURh
dGVUaW1lKFFEYXRlKGdkdC55ZWFyKCkgKyAxOTAwLCBnZHQubW9udGgoKSArIDEsIGdkdC5tb250
aERheSgpKSwgUVRpbWUoZ2R0LmhvdXIoKSwgZ2R0Lm1pbnV0ZSgpLCBnZHQuc2Vjb25kKCkpLCBR
dDo6VVRDKTsKICAgICAgICAgICAgICAgICAgICAgZGlzdCA9IDY7CiAgICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChoaW50ID09IFFNZXRhVHlwZTo6UURhdGUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgcmV0ID0gUURhdGUoZ2R0LnllYXIgKyAxOTAwLCBnZHQubW9udGggKyAxLCBnZHQubW9udGhE
YXkpOworICAgICAgICAgICAgICAgICAgICByZXQgPSBRRGF0ZShnZHQueWVhcigpICsgMTkwMCwg
Z2R0Lm1vbnRoKCkgKyAxLCBnZHQubW9udGhEYXkoKSk7CiAgICAgICAgICAgICAgICAgICAgIGRp
c3QgPSA4OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dCA9IFFUaW1lKGdkdC5ob3VyLCBnZHQubWludXRlLCBnZHQuc2Vjb25kKTsKKyAgICAgICAgICAg
ICAgICAgICAgcmV0ID0gUVRpbWUoZ2R0LmhvdXIoKSwgZ2R0Lm1pbnV0ZSgpLCBnZHQuc2Vjb25k
KCkpOwogICAgICAgICAgICAgICAgICAgICBkaXN0ID0gMTA7CiAgICAgICAgICAgICAgICAgfQog
I2lmbmRlZiBRVF9OT19EQVRFU1RSSU5HCkBAIC04NzQsMTMgKzg3NCwxMyBAQCBKU1ZhbHVlIGNv
bnZlcnRRVmFyaWFudFRvVmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPFJvb3RPYmpl
Y3Q+IHJvb3QsIGNvbgogCiAgICAgICAgIC8vIERhdGVzIHNwZWNpZmllZCB0aGlzIHdheSBhcmUg
aW4gbG9jYWwgdGltZSAod2UgY29udmVydCBEYXRlVGltZXMgYWJvdmUpCiAgICAgICAgIEdyZWdv
cmlhbkRhdGVUaW1lIGR0OwotICAgICAgICBkdC55ZWFyID0gZGF0ZS55ZWFyKCkgLSAxOTAwOwot
ICAgICAgICBkdC5tb250aCA9IGRhdGUubW9udGgoKSAtIDE7Ci0gICAgICAgIGR0Lm1vbnRoRGF5
ID0gZGF0ZS5kYXkoKTsKLSAgICAgICAgZHQuaG91ciA9IHRpbWUuaG91cigpOwotICAgICAgICBk
dC5taW51dGUgPSB0aW1lLm1pbnV0ZSgpOwotICAgICAgICBkdC5zZWNvbmQgPSB0aW1lLnNlY29u
ZCgpOwotICAgICAgICBkdC5pc0RTVCA9IC0xOworICAgICAgICBkdC5zZXRZZWFyKGRhdGUueWVh
cigpIC0gMTkwMCk7CisgICAgICAgIGR0LnNldE1vbnRoKGRhdGUubW9udGgoKSAtIDEpOworICAg
ICAgICBkdC5zZXRNb250aERheShkYXRlLmRheSgpKTsKKyAgICAgICAgZHQuc2V0SG91cih0aW1l
LmhvdXIoKSk7CisgICAgICAgIGR0LnNldE1pbnV0ZSh0aW1lLm1pbnV0ZSgpKTsKKyAgICAgICAg
ZHQuc2V0U2Vjb25kKHRpbWUuc2Vjb25kKCkpOworICAgICAgICBkdC5zZXRJc0RTVCgtMSk7CiAg
ICAgICAgIGRvdWJsZSBtcyA9IGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhleGVjLCBkdCwgdGltZS5t
c2VjKCksIC8qaW5wdXRJc1VUQyovIGZhbHNlKTsKIAogICAgICAgICByZXR1cm4gRGF0ZUluc3Rh
bmNlOjpjcmVhdGUoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5kYXRlU3RydWN0
dXJlKCksIHRydW5jKG1zKSk7Cg==
</data>
<flag name="review"
          id="162768"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="162769"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>