<?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>106732</bug_id>
          
          <creation_ts>2013-01-12 17:28:21 -0800</creation_ts>
          <short_desc>[JSC] IndexedDB: Deactivate new transactions when exiting worker script context</short_desc>
          <delta_ts>2022-07-11 15:00:35 -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>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>107194</blocked>
    
    <blocked>111171</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Michael Pruett">michael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adamk</cc>
    
    <cc>alecflett</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>dimich</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jsbell</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>805910</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-01-12 17:28:21 -0800</bug_when>
    <thetext>When exiting the main thread script state, IDBPendingTransactionMonitor::deactivateNewTransactions() is called (JSMainThreadExecState::didLeaveScriptContext() in Source/WebCore/bindings/js/JSMainThreadExecState.cpp). The same call should be made when exiting a worker script context as well.

Currently these two tests fail on JSC because of this problem:

storage/indexeddb/pending-activity-workers.html
storage/indexeddb/transaction-complete-workers.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806005</commentid>
    <comment_count>1</comment_count>
      <attachid>182490</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-01-13 13:51:12 -0800</bug_when>
    <thetext>Created attachment 182490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807533</commentid>
    <comment_count>2</comment_count>
      <attachid>182820</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-01-15 11:53:34 -0800</bug_when>
    <thetext>Created attachment 182820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807584</commentid>
    <comment_count>3</comment_count>
      <attachid>182820</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-15 12:44:17 -0800</bug_when>
    <thetext>Comment on attachment 182820
Patch

Attachment 182820 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15904078</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807692</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-15 14:25:43 -0800</bug_when>
    <thetext>&gt; &quot;the flag be set to false when control returns to the event loop&quot;

I think you&apos;ve missed a lot of cases. JSLockHolder is the object we use to indicate entry to the JS engine, and there are 218 instances of it in the WebKit project.

Is there a simpler bottleneck for catching returns to the runloop? Hooking into shared timer might get you most of the way there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850499</commentid>
    <comment_count>5</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-03-07 14:45:09 -0800</bug_when>
    <thetext>I have a fix for the inspector, for V8 - it uses V8RecursionScope. Not sure if/when the JSC stuff is going in though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850693</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2013-03-07 17:32:07 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; &quot;the flag be set to false when control returns to the event loop&quot;
&gt; 
&gt; I think you&apos;ve missed a lot of cases. JSLockHolder is the object we use to indicate entry to the JS engine, and there are 218 instances of it in the WebKit project.
&gt; 
&gt; Is there a simpler bottleneck for catching returns to the runloop? Hooking into shared timer might get you most of the way there.

FWIW, if you do find a way to hook a return to the run loop, that would also provide a fix for bug 78290.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1882150</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-07-11 15:00:35 -0700</bug_when>
    <thetext>These tests appear to work properly in modern WebKit (as of 2022), so this seems to have progressed through other IndexedDB work.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182490</attachid>
            <date>2013-01-13 13:51:12 -0800</date>
            <delta_ts>2013-01-15 11:53:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>idb-worker-transactions.patch</filename>
            <type>text/plain</type>
            <size>2029</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogU3VuLCAxMyBKYW4g
MjAxMyAxMzozNTo1NyAtMDgwMApTdWJqZWN0OiBJbmRleGVkREI6IERlYWN0aXZhdGUgbmV3IHRy
YW5zYWN0aW9ucyBhZnRlciBwcm9jZXNzaW5nIHdvcmtlciB0YXNrcwoKLS0tCiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysrKysrKysrKwog
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCB8ICAgIDggKysrKysrKysK
IDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNWE3ZmMw
Li4yOGYwOGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDEtMTMgIE1pY2hh
ZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogRGVhY3Rp
dmF0ZSBwZW5kaW5nIHRyYW5zYWN0aW9ucyBhZnRlciBwcm9jZXNzaW5nIHdvcmtlciB0YXNrcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NzMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGVuZGluZyBJ
bmRleGVkREIgdHJhbnNhY3Rpb25zIG11c3QgYmUgZGVhY3RpdmF0ZWQgd2hlbiBleGl0aW5nIGEK
KyAgICAgICAgc2NyaXB0IGNvbnRleHQuIFByZXZpb3VzbHkgc3VjaCB0cmFuc2FjdGlvbnMgd2Vy
ZSBoYW5kbGVkIG9ubHkgZm9yCisgICAgICAgIHRoZSBtYWluIHRocmVhZCwgYnV0IHRoZXkgbXVz
dCBiZSBoYW5kbGVkIGZvciB3b3JrZXJzIGFzIHdlbGwuCisKKyAgICAgICAgVGVzdHM6IHN0b3Jh
Z2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy5odG1sCisgICAgICAgICAgICAg
ICBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13b3JrZXJzLmh0bWwKKwor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJSdW5Mb29wOjpydW5Jbk1vZGUpOgorCiAyMDEyLTEwLTI0ICBaYW4gRG9iZXJzZWsgIDx6
YW5kb2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgW0xpbnV4XSBTUUxpdGUgZGF0YWJhc2Vz
IGFyZSBzbG93IG9uIGZpbGVzeXN0ZW1zIHdpdGggd3JpdGUgYmFycmllcnMgZW5hYmxlZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggZWI2NjVkMi4uNzMyNzE1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC00MSw2ICs0
MSwxMCBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50
VGltZS5oPgogCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjaW5jbHVkZSAiSURCUGVu
ZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgV29ya2VyU2hhcmVkVGltZXIgOiBwdWJsaWMgU2hhcmVkVGltZXIgewpAQCAtMTcz
LDYgKzE3NywxMCBAQCBNZXNzYWdlUXVldWVXYWl0UmVzdWx0IFdvcmtlclJ1bkxvb3A6OnJ1bklu
TW9kZShXb3JrZXJDb250ZXh0KiBjb250ZXh0LCBjb25zdCBNbwogICAgICAgICBicmVhazsKICAg
ICB9CiAKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBJREJQZW5kaW5nVHJhbnNh
Y3Rpb25Nb25pdG9yOjpkZWFjdGl2YXRlTmV3VHJhbnNhY3Rpb25zKCk7CisjZW5kaWYKKwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKLS0gCjEuNy45LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182820</attachid>
            <date>2013-01-15 11:53:34 -0800</date>
            <delta_ts>2013-01-15 12:44:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-idb-deactivate-transactions.patch</filename>
            <type>text/plain</type>
            <size>21959</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogVHVlLCAxNSBKYW4g
MjAxMyAxMTo0Nzo0MiAtMDgwMApTdWJqZWN0OiBbSlNDXSBJbmRleGVkREI6IERlYWN0aXZhdGUg
bmV3IHRyYW5zYWN0aW9ucyB3aGVuIGV4aXRpbmcgYSBzY3JpcHQgY29udGV4dAoKLS0tCiBTb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTUgKysr
KysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSAgICAg
ICAgICAgICAgICAgfCAgICAyICsKIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgMSArCiBTb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogICAgICAgfCAgIDU2ICsrKysrKysrKysrKysrKysrKysrCiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgIDggKysr
CiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwICAgICB8ICAg
IDIgKwogLi4uL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcCAg
fCAgIDEwIC0tLS0KIC4uLi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckNvbmRpdGlv
bi5jcHAgIHwgICAgMiArCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlY3Vyc2lvblNj
b3BlLmNwcCAgICB8ICAgNDYgKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNSZWN1cnNpb25TY29wZS5oICAgICAgfCAgIDU0ICsrKysrKysrKysrKysrKysrKysK
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAgICAgIHwgICAg
MiArCiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwICB8
ICAgIDIgKwogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5jcHAgICAg
ICAgfCAgICAxICsKIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCAg
ICAgICAgIHwgICAgNiArKysKIDE1IGZpbGVzIGNoYW5nZWQsIDIzOCBpbnNlcnRpb25zKCspLCAx
MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1JlY3Vyc2lvblNjb3BlLmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTUmVjdXJzaW9uU2NvcGUuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZmY4NjUy
Li5mMmZlODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTggQEAKKzIwMTMtMDEtMTUgIE1pY2hh
ZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEluZGV4ZWREQjog
RGVhY3RpdmF0ZSBuZXcgdHJhbnNhY3Rpb25zIHdoZW4gZXhpdGluZyBhIHNjcmlwdCBjb250ZXh0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY3MzIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZW5kaW5n
IEluZGV4ZWREQiB0cmFuc2FjdGlvbnMgbXVzdCBiZSBkZWFjdGl2YXRlZCB3aGVuIGNvbnRyb2wK
KyAgICAgICAgaXMgcmV0dXJuZWQgdG8gdGhlIGV2ZW50IGxvb3AuIFByZXZpb3VzbHkgc3VjaCB0
cmFuc2FjdGlvbnMgd2VyZQorICAgICAgICBkZWFjdGl2YXRlZCBvbmx5IGZvciB0aGUgbWFpbiB0
aHJlYWQsIGJ1dCB0aGV5IG11c3QgYmUgZGVhY3RpdmF0ZWQKKyAgICAgICAgZm9yIHdvcmtlcnMg
YXMgd2VsbC4KKworICAgICAgICBUZXN0czogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtY2xv
c2VwZW5kaW5nLWZsYWcuaHRtbAorICAgICAgICAgICAgICAgc3RvcmFnZS9pbmRleGVkZGIvZXhj
ZXB0aW9ucy5odG1sCisgICAgICAgICAgICAgICBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9u
LW9wZW4taW4tdXBncmFkZW5lZWRlZC5odG1sCisgICAgICAgICAgICAgICBzdG9yYWdlL2luZGV4
ZWRkYi9wZW5kaW5nLWFjdGl2aXR5Lmh0bWwKKyAgICAgICAgICAgICAgIHN0b3JhZ2UvaW5kZXhl
ZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy5odG1sCisgICAgICAgICAgICAgICBzdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy5odG1sCisgICAgICAgICAgICAgICBz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbAorICAgICAgICAgICAgICAg
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24t
Y3Jvc3MtZnJhbWUuaHRtbAorICAgICAgICAgICAgICAgc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24uaHRtbAorICAgICAgICAgICAgICAgc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd29ya2Vycy5odG1sCisgICAgICAg
ICAgICAgICBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdGFydmF0aW9uLmh0bWwKKwor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBVc2VKU0MuY21ha2U6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNNYWluVGhyZWFk
RXhlY1N0YXRlOjpkaWRMZWF2ZVNjcmlwdENvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU05vZGVGaWx0
ZXJDb25kaXRpb246OmFjY2VwdE5vZGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVjdXJz
aW9uU2NvcGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNSZWN1cnNpb25TY29wZTo6ZGlkTGVhdmVTY3JpcHRDb250ZXh0KToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1JlY3Vyc2lvblNjb3BlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChKU1JlY3Vyc2lvblNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVjdXJz
aW9uU2NvcGU6OkpTUmVjdXJzaW9uU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWN1cnNp
b25TY29wZTo6fkpTUmVjdXJzaW9uU2NvcGUpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjaGVk
dWxlZEFjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRBY3Rpb246OmV4ZWN1
dGVGdW5jdGlvbkluQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RnVuY3Rp
b25DYWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEZ1bmN0aW9uQ2FsbDo6Y2FsbCk6
CisgICAgICAgICogcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUaHJlYWRHbG9iYWxEYXRhOjpUaHJlYWRHbG9iYWxEYXRhKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRHbG9iYWxE
YXRhOjppbmNyZW1lbnRSZWN1cnNpb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRH
bG9iYWxEYXRhOjpkZWNyZW1lbnRSZWN1cnNpb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpU
aHJlYWRHbG9iYWxEYXRhOjpyZWN1cnNpb25MZXZlbCk6CisgICAgICAgIChUaHJlYWRHbG9iYWxE
YXRhKToKKwogMjAxMy0wMS0xNSAgQXJrbyBTYWhhICA8YXJrb0Btb3Rvcm9sYS5jb20+CiAKICAg
ICAgICAgTWljcm9kYXRhOiBwcm9wZXJ0aWVzQ29sbGVjdGlvbltuYW1lXSBzaG91bGQgcmV0dXJu
IHVuZGVmaW5lZCBpZiBpdGVtIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICduYW1lJwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOTA3YmFjOS4uNmM4OTE4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yMzkyLDYgKzIzOTIsOCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1
c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUmVjdXJzaW9uU2NvcGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1JlY3Vyc2lvblNjb3BlLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FM
UmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTU1FMVHJhbnNhY3Rpb25DdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMxNjg0
Ny4uMTlhN2U0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xNjQsNiArMTY0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIFwKICAgICAgYmluZGluZ3Mv
anMvSlNOb3RpZmljYXRpb25DdXN0b20uY3BwIFwKICAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5F
bGVtZW50RnVuY3Rpb25zLmNwcCBcCisgICAgIGJpbmRpbmdzL2pzL0pTUmVjdXJzaW9uU2NvcGUu
Y3BwIFwKICAgICAgYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCBcCiAgICAg
IGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgIGJp
bmRpbmdzL2pzL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tDdXN0b20uY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Vz
ZUpTQy5jbWFrZQppbmRleCAyZDg4NmQ3Li5jOTJmYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCkBAIC0x
MjMsNiArMTIzLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3Mv
anMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAKKyAgICBi
aW5kaW5ncy9qcy9KU1JlY3Vyc2lvblNjb3BlLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2lu
RWxlbWVudEZ1bmN0aW9ucy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDlk
NTAzZjIuLmMwNzU2ZmQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC03MDYwOSw2ICs3MDYwOSw2MiBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTUmVjdXJzaW9uU2NvcGUuY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNSZWN1cnNpb25TY29wZS5o
IgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
YmluZGluZ3NcanNcSlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAiCiAJ
CQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzlhNzkwYS4uNWVhYzI5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTQ3Nyw2ICsxNDc3LDggQEAKIAkJNEI2RkE2RjcwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0
UmVwbGFjZUNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDRCNkZBNkY2MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgKi87IH07
CiAJCTRCOEFGNEFBMEIxQ0UwMkIwMDY4NzY5MCAvKiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCOEFGNEE5MEIx
Q0UwMkIwMDY4NzY5MCAvKiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0QkFFOTVCMTBCMkZBOUNFMDBBRUQ4
QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRl
QWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJNEM2NDcwQTQxNkE1MDdERTAwOEU3QTAwIC8qIEpTUmVjdXJzaW9uU2NvcGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2NDcwQTIxNkE1MDdE
RTAwOEU3QTAwIC8qIEpTUmVjdXJzaW9uU2NvcGUuY3BwICovOyB9OworCQk0QzY0NzBBNTE2QTUw
N0RFMDA4RTdBMDAgLyogSlNSZWN1cnNpb25TY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEM2NDcwQTMxNkE1MDdERTAwOEU3QTAwIC8qIEpTUmVj
dXJzaW9uU2NvcGUuaCAqLzsgfTsKIAkJNEQyNzNDRjkxNjY5NDIwODAwMjU5Q0ExIC8qIEluc3Bl
Y3RvcklucHV0QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEQyNzNDRjcxNjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQu
Y3BwICovOyB9OwogCQk0RDI3M0NGQTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRB
Z2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEQy
NzNDRjgxNjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuaCAqLzsgfTsKIAkJ
NEUxOTU5MjEwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTFGMEEzOURBQkEw
MDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgKi87IH07CkBAIC04NzkwLDYgKzg3OTIs
OCBAQAogCQk0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBsYWNlQ0YuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU21hcnRSZXBsYWNlQ0YuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QjhBRjRBOTBCMUNFMDJCMDA2ODc2OTAgLyog
Q2xpcGJvYXJkQWNjZXNzUG9saWN5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NEJBRTk1QjAwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JEZWxldGVBY3Rpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEM2NDcwQTIxNkE1MDdERTAwOEU3QTAwIC8qIEpTUmVjdXJz
aW9uU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWN1
cnNpb25TY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRDNjQ3MEEzMTZB
NTA3REUwMDhFN0EwMCAvKiBKU1JlY3Vyc2lvblNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTUmVjdXJzaW9uU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNEQyNzNDRjcxNjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySW5wdXRBZ2Vu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTREMjczQ0Y4MTY2OTQyMDgwMDI1
OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEluc3BlY3RvcklucHV0QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNEUxOTU5MUYwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUZlYXR1cmVOYW1lcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDYwNiw2ICsyMDYxMCw4IEBACiAJCQkJ
OTNCNzBENEYwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAg
Ki8sCiAJCQkJOTNCNzBENTAwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0
aW9ucy5oICovLAogCQkJCTE0Q0Q4RDgxMTA2QjUyOTAwMEE0NkQyMyAvKiBKU1NoYXJlZFdvcmtl
ckN1c3RvbS5jcHAgKi8sCisJCQkJNEM2NDcwQTIxNkE1MDdERTAwOEU3QTAwIC8qIEpTUmVjdXJz
aW9uU2NvcGUuY3BwICovLAorCQkJCTRDNjQ3MEEzMTZBNTA3REUwMDhFN0EwMCAvKiBKU1JlY3Vy
c2lvblNjb3BlLmggKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJDIC8qIEpTV29ya2Vy
Q29udGV4dEJhc2UuY3BwICovLAogCQkJCUUxQzM2RDMzMEVCMEEwOTQwMDc0MTBCQyAvKiBKU1dv
cmtlckNvbnRleHRCYXNlLmggKi8sCiAJCQkJRjM0NzQyRTIxMzQzNjMzQzAwNTMxQkMyIC8qIFBh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAgKi8sCkBAIC0yNjA5OCw2ICsyNjEwNCw3IEBACiAJCQkJ
RTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNEM2NDcwQTUxNkE1MDdERTAwOEU3QTAwIC8qIEpTUmVjdXJzaW9uU2Nv
cGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjkyMzAsNiArMjkyMzcsNyBAQAogCQkJCTk3N0UyRTBF
MTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZE
NTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGQkY4OTA0NTE2OUU5RjFGMDA1MkQ4NkUgLyogQ1NTR3JvdXBpbmdSdWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTRDNjQ3MEE0MTZBNTA3REUwMDhFN0EwMCAvKiBKU1JlY3Vyc2lvblNjb3Bl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFdmVudExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRMaXN0ZW5lci5jcHAKaW5kZXggOTJmMmEzNi4uOWRiMjY5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiSlNFdmVudC5oIgogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRl
ICJKU01haW5UaHJlYWRFeGVjU3RhdGUuaCIKKyNpbmNsdWRlICJKU1JlY3Vyc2lvblNjb3BlLmgi
CiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXhjZXB0aW9u
SGVscGVycy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CkBAIC03OSw2ICs4MCw3IEBA
IHZvaWQgSlNFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0CiAgICAgICAgIHJldHVybjsKIAogICAgIEpTTG9ja0hv
bGRlciBsb2NrKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmdsb2JhbERhdGEoKSk7CisgICAgSlNS
ZWN1cnNpb25TY29wZSBzY29wZTsKIAogICAgIEpTT2JqZWN0KiBqc0Z1bmN0aW9uID0gdGhpcy0+
anNGdW5jdGlvbihzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKICAgICBpZiAoIWpzRnVuY3Rpb24p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmNwcAppbmRleCA0MjkzYTQ2Li4xZTdkMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAKQEAgLTI3LDIyICsyNywx
MiBAQAogI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIk11dGF0
aW9uT2JzZXJ2ZXIuaCIKIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotI2luY2x1ZGUg
IklEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIEpTQzo6RXhlY1N0YXRlKiBKU01haW5UaHJlYWRFeGVjU3RhdGU6OnNfbWFpblRo
cmVhZFN0YXRlID0gMDsKIAogdm9pZCBKU01haW5UaHJlYWRFeGVjU3RhdGU6OmRpZExlYXZlU2Ny
aXB0Q29udGV4dCgpCiB7Ci0jaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgLy8gSW5k
ZXhlZCBEQiByZXF1aXJlcyB0aGF0IHRyYW5zYWN0aW9ucyBhcmUgY3JlYXRlZCB3aXRoIGFuIGlu
dGVybmFsIHxhY3RpdmV8IGZsYWcKLSAgICAvLyBzZXQgdG8gdHJ1ZSwgYnV0IHRoZSBmbGFnIGJl
Y29tZXMgZmFsc2Ugd2hlbiBjb250cm9sIHJldHVybnMgdG8gdGhlIGV2ZW50IGxvb3AuCi0gICAg
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcjo6ZGVhY3RpdmF0ZU5ld1RyYW5zYWN0aW9ucygp
OwotI2VuZGlmCi0KICAgICBNdXRhdGlvbk9ic2VydmVyOjpkZWxpdmVyQWxsTXV0YXRpb25zKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRl
ckNvbmRpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJD
b25kaXRpb24uY3BwCmluZGV4IDUyNTRlMjguLjE5OGQwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcApAQCAtMjMsNiAr
MjMsNyBAQAogI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkpT
Tm9kZS5oIgogI2luY2x1ZGUgIkpTTm9kZUZpbHRlci5oIgorI2luY2x1ZGUgIkpTUmVjdXJzaW9u
U2NvcGUuaCIKICNpbmNsdWRlICJOb2RlRmlsdGVyLmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJv
ci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CkBAIC0zOSw2ICs0MCw3IEBAIEpTTm9k
ZUZpbHRlckNvbmRpdGlvbjo6SlNOb2RlRmlsdGVyQ29uZGl0aW9uKEpTR2xvYmFsRGF0YSYsIE5v
ZGVGaWx0ZXIqIG93bmVyLCBKCiBzaG9ydCBKU05vZGVGaWx0ZXJDb25kaXRpb246OmFjY2VwdE5v
ZGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIE5vZGUqIGZpbHRlck5vZGUpIGNvbnN0CiB7CiAgICAg
SlNMb2NrSG9sZGVyIGxvY2soZXhlYyk7CisgICAgSlNSZWN1cnNpb25TY29wZSBzY29wZTsKIAog
ICAgIGlmICghbV9maWx0ZXIpCiAgICAgICAgIHJldHVybiBOb2RlRmlsdGVyOjpGSUxURVJfQUND
RVBUOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWN1cnNpb25T
Y29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlY3Vyc2lvblNjb3BlLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzBiY2NlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWN1cnNpb25TY29wZS5jcHAK
QEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBNaWNoYWVsIFBydWV0
dCA8bWljaGFlbEA2OGsub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiSlNSZWN1cnNpb25TY29wZS5oIgorCisjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisjaW5jbHVkZSAiSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5o
IgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU1JlY3Vyc2lvblNjb3Bl
OjpkaWRMZWF2ZVNjcmlwdENvbnRleHQoKQoreworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQorICAgIC8vIEluZGV4ZWQgREIgcmVxdWlyZXMgdGhhdCB0cmFuc2FjdGlvbnMgYmUgY3JlYXRl
ZCB3aXRoIGFuIGludGVybmFsIHxhY3RpdmV8IGZsYWcKKyAgICAvLyBzZXQgdG8gdHJ1ZSBidXQg
dGhhdCB0aGUgZmxhZyBiZSBzZXQgdG8gZmFsc2Ugd2hlbiBjb250cm9sIHJldHVybnMgdG8gdGhl
IGV2ZW50IGxvb3AuCisgICAgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcjo6ZGVhY3RpdmF0
ZU5ld1RyYW5zYWN0aW9ucygpOworI2VuZGlmCit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVjdXJzaW9uU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUmVjdXJzaW9uU2NvcGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMDYzZTgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNSZWN1cnNpb25TY29wZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBKU1JlY3Vyc2lvblNjb3BlX2gKKyNkZWZpbmUgSlNSZWN1
cnNpb25TY29wZV9oCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5j
bHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEpTUmVjdXJzaW9uU2NvcGUgeworcHVibGljOgorICAgIEpTUmVjdXJzaW9uU2NvcGUoKQorICAg
IHsKKyAgICAgICAgdGhyZWFkR2xvYmFsRGF0YSgpLmluY3JlbWVudFJlY3Vyc2lvbkxldmVsKCk7
CisgICAgfQorICAgIH5KU1JlY3Vyc2lvblNjb3BlKCkKKyAgICB7CisgICAgICAgIGlmICghdGhy
ZWFkR2xvYmFsRGF0YSgpLmRlY3JlbWVudFJlY3Vyc2lvbkxldmVsKCkpCisgICAgICAgICAgICBk
aWRMZWF2ZVNjcmlwdENvbnRleHQoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBkaWRM
ZWF2ZVNjcmlwdENvbnRleHQoKTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNwcAppbmRleCBmZTUxYzg0Li41Mzg0NWNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJK
U0RPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2luY2x1
ZGUgIkpTUmVjdXJzaW9uU2NvcGUuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJj
ZUNvZGUuaCIKQEAgLTkyLDYgKzkzLDcgQEAgdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGVG
dW5jdGlvbkluQ29udGV4dChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1YKIHsKICAg
ICBBU1NFUlQobV9mdW5jdGlvbik7CiAgICAgSlNMb2NrSG9sZGVyIGxvY2soY29udGV4dC0+Z2xv
YmFsRGF0YSgpKTsKKyAgICBKU1JlY3Vyc2lvblNjb3BlIHNjb3BlOwogCiAgICAgQ2FsbERhdGEg
Y2FsbERhdGE7CiAgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxsRGF0YShtX2Z1bmN0aW9u
LmdldCgpLCBjYWxsRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RnVuY3Rpb25DYWxsLmNwcAppbmRleCA0OTM3YjM2Li5jOGMwZjVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEZ1bmN0aW9uQ2FsbC5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTTWFpblRo
cmVhZEV4ZWNTdGF0ZS5oIgorI2luY2x1ZGUgIkpTUmVjdXJzaW9uU2NvcGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRWYWx1ZS5oIgogCiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KQEAgLTEyMCw2
ICsxMjEsNyBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRGdW5jdGlvbkNhbGw6OmNhbGwoYm9vbCYgaGFk
RXhjZXB0aW9uLCBib29sIHJlcG9ydEV4Y2VwdGlvbnMpCiAgICAgSlNPYmplY3QqIHRoaXNPYmpl
Y3QgPSBtX3RoaXNPYmplY3QuanNPYmplY3QoKTsKIAogICAgIEpTTG9ja0hvbGRlciBsb2NrKG1f
ZXhlYyk7CisgICAgSlNSZWN1cnNpb25TY29wZSBzY29wZTsKIAogICAgIEpTVmFsdWUgZnVuY3Rp
b24gPSB0aGlzT2JqZWN0LT5nZXQobV9leGVjLCBJZGVudGlmaWVyKG1fZXhlYywgbV9uYW1lKSk7
CiAgICAgaWYgKG1fZXhlYy0+aGFkRXhjZXB0aW9uKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5jcHAKaW5kZXggYmMxZDY1ZS4uNWE4NzdhNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5jcHAKQEAgLTc2LDYgKzc2
LDcgQEAgVGhyZWFkR2xvYmFsRGF0YTo6VGhyZWFkR2xvYmFsRGF0YSgpCiAjaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICAsIG1faW5zcGVjdG9yQ291bnRlcnMoYWRvcHRQdHIobmV3IFRocmVhZExv
Y2FsSW5zcGVjdG9yQ291bnRlcnMoKSkpCiAjZW5kaWYKKyAgICAsIG1fcmVjdXJzaW9uTGV2ZWwo
MCkKIHsKICAgICAvLyBUaGlzIGNvbnN0cnVjdG9yIHdpbGwgaGF2ZSBiZWVuIGNhbGxlZCBvbiB0
aGUgbWFpbiB0aHJlYWQgYmVmb3JlIGJlaW5nIGNhbGxlZCBvbgogICAgIC8vIGFueSBvdGhlciB0
aHJlYWQsIGFuZCBpcyBvbmx5IGNhbGxlZCBvbmNlIHBlciB0aHJlYWQgLSB0aGlzIG1ha2VzIHRo
aXMgYSBjb252ZW5pZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRHbG9iYWxEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggZDlhZTY0Ni4uMzdhZjAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZEdsb2JhbERhdGEuaApAQCAtNzQsNiArNzQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBUaHJlYWRMb2NhbEluc3BlY3RvckNvdW50ZXJzJiBpbnNwZWN0b3JDb3VudGVycygp
IHsgcmV0dXJuICptX2luc3BlY3RvckNvdW50ZXJzOyB9CiAjZW5kaWYKIAorICAgICAgICBpbnQg
aW5jcmVtZW50UmVjdXJzaW9uTGV2ZWwoKSB7IHJldHVybiArK21fcmVjdXJzaW9uTGV2ZWw7IH0K
KyAgICAgICAgaW50IGRlY3JlbWVudFJlY3Vyc2lvbkxldmVsKCkgeyByZXR1cm4gLS1tX3JlY3Vy
c2lvbkxldmVsOyB9CisgICAgICAgIGludCByZWN1cnNpb25MZXZlbCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVjdXJzaW9uTGV2ZWw7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxDYWNo
ZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzPiBtX2NhY2hlZFJlc291cmNlUmVxdWVzdEluaXRp
YXRvcnM7CiAgICAgICAgIE93blB0cjxFdmVudE5hbWVzPiBtX2V2ZW50TmFtZXM7CkBAIC0xMDIs
NiArMTA2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgVGhyZWFkR2xv
YmFsRGF0YSogc3RhdGljRGF0YTsKICNlbmRpZgogICAgICAgICBmcmllbmQgVGhyZWFkR2xvYmFs
RGF0YSYgdGhyZWFkR2xvYmFsRGF0YSgpOworCisgICAgICAgIGludCBtX3JlY3Vyc2lvbkxldmVs
OwogICAgIH07CiAKIGlubGluZSBUaHJlYWRHbG9iYWxEYXRhJiB0aHJlYWRHbG9iYWxEYXRhKCkg
Ci0tIAoxLjcuOS41Cgo=
</data>
<flag name="commit-queue"
          id="200983"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>