<?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>104423</bug_id>
          
          <creation_ts>2012-12-07 18:09:31 -0800</creation_ts>
          <short_desc>[JSC] Add tests for explicit serialization values</short_desc>
          <delta_ts>2012-12-11 12:59:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>0</everconfirmed>
          <reporter name="Michael Pruett">michael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>ap</cc>
    
    <cc>dbates</cc>
    
    <cc>dpranke</cc>
    
    <cc>jsbell</cc>
    
    <cc>oliver</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>786335</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-07 18:09:31 -0800</bug_when>
    <thetext>Tests for explicit serialization values for V8 were added in r135022. Similar tests should be added for JSC&apos;s serialization format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786585</commentid>
    <comment_count>1</comment_count>
      <attachid>178372</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-08 12:45:05 -0800</bug_when>
    <thetext>Created attachment 178372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786603</commentid>
    <comment_count>2</comment_count>
      <attachid>178372</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-08 13:32:34 -0800</bug_when>
    <thetext>Comment on attachment 178372
Patch

JSC isn&apos;t a platform, so it feels wrong to me to put this stuff under LayoutTests/platform. I suggest just using LayoutTests/jsc and modifying platform/chromium/TestExpectations to include a line like &quot;jsc [ WontFix ]&quot;.

In particular, we don&apos;t want to modify default_baseline_search_path() to include &quot;platform/jsc&quot; at all, since it&apos;s not part of the search path in the sense of the other platform dirs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786615</commentid>
    <comment_count>3</comment_count>
      <attachid>178379</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-08 14:06:55 -0800</bug_when>
    <thetext>Created attachment 178379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786617</commentid>
    <comment_count>4</comment_count>
      <attachid>178380</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-08 14:11:52 -0800</bug_when>
    <thetext>Created attachment 178380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786619</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-08 14:14:54 -0800</bug_when>
    <thetext>Attachment 178380 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;La...&quot; exit_code: 1
LayoutTests/platform/chromium/TestExpectations:4233:  Path does not exist.  [test/expectations] [5]
LayoutTests/platform/chromium/TestExpectations:4234:  Path does not exist.  [test/expectations] [5]
Total errors found: 2 in 11 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>786622</commentid>
    <comment_count>6</comment_count>
      <attachid>178380</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-08 14:22:33 -0800</bug_when>
    <thetext>Comment on attachment 178380
Patch

Attachment 178380 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15219276</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786629</commentid>
    <comment_count>7</comment_count>
      <attachid>178380</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-08 14:44:45 -0800</bug_when>
    <thetext>Comment on attachment 178380
Patch

Attachment 178380 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15218371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786635</commentid>
    <comment_count>8</comment_count>
      <attachid>178382</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-08 15:39:13 -0800</bug_when>
    <thetext>Created attachment 178382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786636</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-08 15:40:47 -0800</bug_when>
    <thetext>Attachment 178382 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;La...&quot; exit_code: 1
LayoutTests/platform/chromium/TestExpectations:4233:  Path does not exist.  [test/expectations] [5]
LayoutTests/platform/chromium/TestExpectations:4234:  Path does not exist.  [test/expectations] [5]
Total errors found: 2 in 11 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>786639</commentid>
    <comment_count>10</comment_count>
      <attachid>178382</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-08 15:41:33 -0800</bug_when>
    <thetext>Comment on attachment 178382
Patch

Attachment 178382 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15218385</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786645</commentid>
    <comment_count>11</comment_count>
      <attachid>178382</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-08 16:06:47 -0800</bug_when>
    <thetext>Comment on attachment 178382
Patch

Attachment 178382 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15191802</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786651</commentid>
    <comment_count>12</comment_count>
      <attachid>178385</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-08 16:18:36 -0800</bug_when>
    <thetext>Created attachment 178385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786677</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-08 20:29:19 -0800</bug_when>
    <thetext>JavaScript tests go to fast/js, please don&apos;t add another directory for those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787549</commentid>
    <comment_count>14</comment_count>
      <attachid>178593</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-10 11:02:48 -0800</bug_when>
    <thetext>Created attachment 178593
Patch

The V8 equivalent of this test is in platform/chromium/fast/storage, so I&apos;ve placed the JSC test in fast/storage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787565</commentid>
    <comment_count>15</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-12-10 11:22:13 -0800</bug_when>
    <thetext>I don&apos;t suppose there&apos;s any way to share the code that&apos;s common in the tests between JSC and V8? Of course that makes port-specific fixes hard. 

Maybe have cross-references in the comments? i.e. &quot;See LayoutTests/platform/chromium/fast/storage/serialized-script-value.js&quot;?

I defer to WebKit reviewers here, but as the author of the V8 side of the tests, I&apos;d like to encourage collaboration and improvement over time here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787832</commentid>
    <comment_count>16</comment_count>
      <attachid>178663</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2012-12-10 16:21:36 -0800</bug_when>
    <thetext>Created attachment 178663
Patch

I&apos;ve moved the utility functions common to both the V8 and JSC tests to a common source file. I&apos;ve also added comments to both the V8 and JSC layout tests mentioning the existence of the other test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788705</commentid>
    <comment_count>17</comment_count>
      <attachid>178663</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 12:59:41 -0800</bug_when>
    <thetext>Comment on attachment 178663
Patch

Clearing flags on attachment: 178663

Committed r137346: &lt;http://trac.webkit.org/changeset/137346&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788707</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 12:59:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178372</attachid>
            <date>2012-12-08 12:45:05 -0800</date>
            <delta_ts>2012-12-08 14:06:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>27231</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogU2F0LCA4IERlYyAy
MDEyIDEyOjMyOjA0IC0wODAwClN1YmplY3Q6IFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQg
c2VyaWFsaXphdGlvbiB2YWx1ZXMKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKwogLi4uL3N0b3JhZ2Uvc2VyaWFsaXpl
ZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0ICAgfCAgMTM3ICsrKysrKysrKysKIC4uLi9qc2Mv
ZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgIHwgIDI2NCArKysrKysr
KysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiAgICAgICAg
ICAgICAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCAgICAgICAgICAgICAgIHwgICAxMSArCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKwogU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmLmluICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBTb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKy0KIFRvb2xzL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKwogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5ICAgfCAgICAzICsKIDEyIGZp
bGVzIGNoYW5nZWQsIDQ5MiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2pzYy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXpl
ZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vanNjL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1s
CgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDExNmNmMDUuLmJjNTI1
ZjEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMi0xMi0wOCAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAg
ICAgW0pTQ10gQWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZhbHVlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZv
ciBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBvZgorICAgICAg
ICB0aGUgSlNDIGltcGxlbWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxh
ciB0ZXN0cworICAgICAgICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVtZW50YXRpb24u
CisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEyLTEy
LTA2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1MgY3Vy
c29yIHByb3BlcnR5IHNob3VsZCBzdXBwb3J0IHdlYmtpdC1pbWFnZS1zZXQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMWRk
Mzk0Li5kNjAzYzA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDggIE1pY2hhZWwg
UHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0cyBmb3Ig
ZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBhbmQgZGVz
ZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1lbnRhdGlv
biBvZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAgYWxyZWFk
eSBleGlzdCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0v
anNjL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2pzYy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3Jp
cHQtdmFsdWUuaHRtbDogQWRkZWQuCisKIDIwMTItMTItMDcgIFN0ZXBoZW4gV2hpdGUgIDxzZW5v
cmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdh
cmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2pzYy9mYXN0L3N0b3Jh
Z2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vanNjL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY0OTg1OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2pzYy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXpl
ZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTM3IEBACisKK0Rlc2VyaWFs
aXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15TmV3S2V5In19OgorUEFTUyBKU09O
LnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZv
byI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToKK1BBU1MgYnVmZmVyVmlldy5sZW5n
dGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiZm9v
Ijoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28iLCJiYXIiOiJteU5l
d0tleSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5s
ZW5ndGgKKworRGVzZXJpYWxpemUgdG8gW106CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIFtdOgorUEFTUyBidWZmZXJWaWV3Lmxl
bmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJm
b28iOiJ6b28ifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28ifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGgg
aXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjpu
dWxsfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmop
CitTZXJpYWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8ge306CitQQVNTIEpTT04u
c3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHt9Ogor
UEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKwor
RGVzZXJpYWxpemUgdG8gdW5kZWZpbmVkOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlz
IEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIGJ1ZmZlclZp
ZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0
byB0cnVlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9i
aikKK1NlcmlhbGl6ZSB0cnVlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gZmFsc2U6CitQQVNTIEpTT04uc3Ry
aW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIGZhbHNlOgor
UEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKwor
RGVzZXJpYWxpemUgdG8gW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGxdOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikK
K1NlcmlhbGl6ZSBbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbF06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAor
CitEZXNlcmlhbGl6ZSB0byAxMDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09O
LnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMTA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlz
IGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAtMTA6CitQQVNT
IEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXpl
IC0xMDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIDEwNzM3NDE4MjQ6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEwNzM3NDE4MjQ6CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNl
cmlhbGl6ZSB0byAzNjAyODc5NzAxODk2Mzk3MDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2Jq
KSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMzYwMjg3OTcwMTg5NjM5NzA6CitQ
QVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitE
ZXNlcmlhbGl6ZSB0byAxLjIzOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04u
c3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAxLjIzOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gIiI6CitQQVNT
IEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXpl
ICIiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8gImFiYyI6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplICJhYmMiOgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
eyJpbnRlZ2VyIjoxMjN9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImludGVnZXIiOjEyM306CitQQVNTIGJ1ZmZlclZpZXcu
bGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7
InN0cmluZyI6InN0ciJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7InN0cmluZyI6InN0ciJ9OgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
eyJsaXN0IjpbMSwyLDNdfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0
cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJsaXN0IjpbMSwyLDNdfToKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IG51bGw6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2Jq
KQorU2VyaWFsaXplIG51bGw6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVm
ZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUge306CitQQVNTIGJ1
ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlh
bGl6ZSB0byB7ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwib3V0ZXIiOnsiaGVsbG8iOiJ0aGVy
ZSJ9fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmop
CitTZXJpYWxpemUgeyJpbm5lciI6eyJoZWxsbyI6InRoZXJlIn0sIm91dGVyIjp7ImhlbGxvIjoi
dGhlcmUifX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVz
Lmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImhlbGxvIjoidGhlcmUifToKK1BBU1MgSlNPTi5z
dHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJoZWxs
byI6InRoZXJlIn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFs
dWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImEiOiJhIiwidSI6Is6xzrIiLCJkIjo0Mn06
CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2Vy
aWFsaXplIHsiYSI6ImEiLCJ1IjoizrHOsiIsImQiOjQyfToKK1BBU1MgYnVmZmVyVmlldy5sZW5n
dGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiYSI6
ImFiIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMg
SlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiYSI6ImFiIiwidSI6Is6xzrIiLCJkIjo0
Mn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0
aAorCitTZXJpYWxpemUgdW5kZWZpbmVkOgorUEFTUyB0aHJvd25FeGNlcHRpb24uY29kZSBpcyBl
eHBlY3RlZEV4Y2VwdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2pzYy9mYXN0L3N0
b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2pzYy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODA3YmZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vanNjL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1
ZS5odG1sCkBAIC0wLDAgKzEsMjY0IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitmdW5j
dGlvbiBleHBlY3RCdWZmZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVmZmVyKSB7CisgICAgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMgPSBleHBlY3RlZFZhbHVlczsKKyAgICBidWZmZXJWaWV3ID0gbmV3
IFVpbnQ4QXJyYXkoYnVmZmVyKTsKKyAgICBzaG91bGRCZSgiYnVmZmVyVmlldy5sZW5ndGgiLCAi
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoIik7CisgICAgdmFyIHN1Y2Nlc3MgPSAoYnVmZmVy
Vmlldy5sZW5ndGggPT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoKTsKKyAgICBpZiAoc3Vj
Y2VzcykgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVmFsdWVzLmxlbmd0
aDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRWYWx1ZXNbaV0gIT0gYnVmZmVyVmll
d1tpXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkFycmF5QnVmZmVyVmlld3MgZGlm
ZmVyIGF0IGluZGV4ICIgKyBpICsgIi4gU2hvdWxkIGJlICIgKyBleHBlY3RlZFZhbHVlc1tpXSAr
ICIuIFdhcyAiICsgYnVmZmVyVmlld1tpXSk7CisgICAgICAgICAgICAgICAgc3VjY2VzcyA9IGZh
bHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgIC8vIG91dHB1dCB0aGUgZnVsbCBi
dWZmZXIgZm9yIGFkZGluZyBiYWNrIGludG8gdGhlIHRlc3QKKyAgICAgICAgdmFyIG91dHB1dCA9
IFtdOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVyVmlldy5sZW5ndGg7IGkrKykgewor
ICAgICAgICAgICAgdmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdbaV0udG9TdHJpbmcoMTYpOworICAg
ICAgICAgICAgaWYgKGhleFZhbC5sZW5ndGggPCA0KSB7CisgICAgICAgICAgICAgICAgaGV4VmFs
ID0gIjAwMDAiLnNsaWNlKGhleFZhbC5sZW5ndGgpICsgaGV4VmFsOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgb3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7CisgICAgICAgIH0KKyAgICAg
ICAgZGVidWcoIkFjdHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4oIiwgIikgKyAiXSIpOwor
ICAgIH0KK30KKworZnVuY3Rpb24gbWFrZUJ1ZmZlcihzZXJpYWxpemVkVmFsdWVzKSB7CisgICAg
dmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoc2VyaWFsaXpl
ZFZhbHVlcy5sZW5ndGgpKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlcmlhbGl6ZWRWYWx1
ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tpXSA9IHNlcmlhbGl6ZWRWYWx1
ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1ZmZlcjsKK30KKworCitmdW5j
dGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmosIHZhbHVlcywgc2VyaWFsaXplRXhjZXB0aW9uVmFs
dWUpIHsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVl
KSB7CisgICAgICAgIHNlbGYub2JqID0gb2JqOworICAgICAgICBkZWJ1ZygiRGVzZXJpYWxpemUg
dG8gIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgICAgICBzZWxmLm5ld09iaiA9
IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVmZmVyKHZhbHVlcykpOworICAgICAg
ICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkobmV3T2JqKSIsICJKU09OLnN0cmluZ2lmeShvYmop
Iik7CisgICAgfQorCisgICAgZGVidWcoIlNlcmlhbGl6ZSAiICsgSlNPTi5zdHJpbmdpZnkob2Jq
KSArICI6Iik7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHNlcmlhbGl6ZWQgPSBpbnRlcm5hbHMu
c2VyaWFsaXplT2JqZWN0KG9iaik7CisgICAgICAgIGlmIChzZXJpYWxpemVFeGNlcHRpb25WYWx1
ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgdGhyb3duIGFuIGV4Y2Vw
dGlvbiBvZiB0eXBlICIsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKTsKKyAgICAgICAgfQorICAg
IH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7Cisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaHJldyBleGNlcHRpb24gIiArIGUpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2VsZi50aHJvd25FeGNl
cHRpb24gPSBlOworICAgICAgICAgICAgc2VsZi5leHBlY3RlZEV4Y2VwdGlvbiA9IHNlcmlhbGl6
ZUV4Y2VwdGlvblZhbHVlOworICAgICAgICAgICAgc2hvdWxkQmUoInRocm93bkV4Y2VwdGlvbi5j
b2RlIiwgImV4cGVjdGVkRXhjZXB0aW9uIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICB9CisgICAgZXhwZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBzZXJpYWxpemVkKTsKK30K
KwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjoge2JhejogJ215TmV3S2V5J319
LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAs
CisgICAgMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHgxMCwKKyAg
ICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAwLCAweDZmLCAweDAwLAorICAgIDB4
NmYsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjIsIDB4MDAsCisgICAgMHg2MSwg
MHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDYy
LCAweDAwLCAweDYxLCAweDAwLCAweDdhLCAweDAwLCAweDEwLAorICAgIDB4MDgsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAsCisgICAgMHg0ZSwgMHgwMCwgMHg2NSwg
MHgwMCwgMHg3NywgMHgwMCwgMHg0YiwgMHgwMCwKKyAgICAweDY1LCAweDAwLCAweDc5LCAweDAw
LCAweGZmLCAweGZmLCAweGZmLCAweGZmLAorICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10p
OworCit0ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiAnem9vJywgYmFyOiAnbXlOZXdLZXknfSwKK1sK
KwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAs
IDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAsCisJMHgwMywgMHgwMCwg
MHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKwkweDZmLCAweDAwLCAweDAzLCAw
eDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAwLAorCTB4NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4
MTAsIDB4MDgsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2ZCwgMHgwMCwgMHg3OSwgMHgwMCwgMHg0
ZSwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDc3LCAweDAwLCAweDRiLCAweDAwLCAweDY1LCAweDAw
LCAweDc5LAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOworCit0ZXN0U2VyaWFs
aXphdGlvbihbXSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAw
LCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordGVzdFNlcmlhbGl6
YXRpb24oe2ZvbzogInpvbyJ9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4
MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZiwgMHgw
MCwgMHgxMCwKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAwLCAweDZmLCAweDAw
LAorCTB4NmYsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordGVzdFNlcmlhbGl6
YXRpb24oe2ZvbzogbnVsbH0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgw
MywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDY2LCAweDAwLCAweDZmLCAweDAwLCAweDZmLCAweDAw
LCAweDA0LAorCTB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOworICAgICAgICAgICAgICAgICAK
K3Rlc3RTZXJpYWxpemF0aW9uKHt9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIs
IDB4ZmYsIDB4ZmYsIDB4ZmYsCisJMHhmZgorXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKHVuZGVm
aW5lZCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAzCitdKTsKK3Rlc3RTZXJpYWxp
emF0aW9uKHRydWUsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwOQorXSk7Cit0ZXN0
U2VyaWFsaXphdGlvbihmYWxzZSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA4Citd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKG5ldyBBcnJheSgxMDApLAorWworCTB4MDMsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDEsIDB4NjQsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHhmZiwgMHhmZiwgMHhm
ZiwgMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigxMCwKK1sKKwkweDAzLCAweDAwLCAweDAw
LCAweDAwLCAweDA1LCAweDBhLCAweDAwLCAweDAwLAorCTB4MDAKK10pOwordGVzdFNlcmlhbGl6
YXRpb24oLTEwLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4ZjYsIDB4ZmYs
IDB4ZmYsCisJMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihNYXRoLnBvdygyLDMwKSwKK1sK
KwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLAorCTB4NDAK
K10pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiw1NSksCitbCisJMHgwMywgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDAwLCAweDAwLCAw
eDYwLCAweDQzLAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigxLjIzLAorWworCTB4MDMsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MGEsIDB4YWUsIDB4NDcsIDB4ZTEsCisJMHg3YSwgMHgxNCwgMHhhZSwg
MHhmMywgMHgzZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigiIiwKK1sKKwkweDAzLCAweDAwLCAw
eDAwLCAweDAwLCAweDExCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKCJhYmMiLAorWworCTB4MDMs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2MSwg
MHgwMCwgMHg2MiwgMHgwMCwgMHg2MywgMHgwMAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7aW50
ZWdlcjogMTIzfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA3LCAweDAw
LCAweDAwLAorCTB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUs
CisJMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHgwNSwKKwkweDdi
LCAweDAwLCAweDAwLCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKHtzdHJpbmc6ICJzdHIifSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDA2LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NzMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4
NzIsIDB4MDAsIDB4NjksCisJMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMCwgMHgxMCwgMHgw
MywgMHgwMCwKKwkweDAwLCAweDAwLCAweDczLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAw
LAorCTB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oe2xpc3Q6
IFsxLDIsM119LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDQsIDB4MDAs
IDB4MDAsCisJMHgwMCwgMHg2YywgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3NCwK
KwkweDAwLCAweDAxLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorCTB4MDAs
IDB4MDAsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsCisJMHgwMiwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDA1LCAweDAzLCAweDAwLCAw
eDAwLCAweDAwLCAweGZmLCAweGZmLCAweGZmLAorCTB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4
ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24obnVsbCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAw
eDAwLCAweDA0CitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKC9hYmMvLAorWworCTB4MDMsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MTIsIDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2MSwgMHgwMCwg
MHg2MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDAwLCAweDAwCitdKTsKKwor
dmFyIGlubmVyT2JqZWN0ID0ge2hlbGxvOiAidGhlcmUifTsKK3ZhciBvdXRlck9iamVjdCA9IHtp
bm5lcjogaW5uZXJPYmplY3R9Oworb3V0ZXJPYmplY3RbJ291dGVyJ10gPSBpbm5lck9iamVjdDsK
K3Rlc3RTZXJpYWxpemF0aW9uKG91dGVyT2JqZWN0LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDIsIDB4MDUsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgw
MCwgMHg2ZSwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDcyLCAweDAwLCAweDAyLCAweDA1LCAweDAw
LCAweDAwLCAweDAwLAorCTB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NmMsIDB4MDAsIDB4NmMs
IDB4MDAsCisJMHg2ZiwgMHgwMCwgMHgxMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NCwK
KwkweDAwLCAweDY4LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY1LAorCTB4MDAs
IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDUsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2Ziwg
MHgwMCwgMHg3NSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDcyLCAweDAwLCAw
eDEzLCAweDAxLCAweGZmLCAweGZmLCAweGZmLAorCTB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRp
b24oaW5uZXJPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNSwg
MHgwMCwgMHgwMCwKKwkweDAwLCAweDY4LCAweDAwLCAweDY1LCAweDAwLCAweDZjLCAweDAwLCAw
eDZjLAorCTB4MDAsIDB4NmYsIDB4MDAsIDB4MTAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsCisJ
MHg3NCwgMHgwMCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwKKwkweDY1LCAw
eDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordmFyIHVuaWNvZGVPYmplY3QgPSB7
YTogJ2EnLCB1OiBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDNCMSwweDAzQjIpLCBkOiA0Mn07Cit0
ZXN0U2VyaWFsaXphdGlvbih1bmljb2RlT2JqZWN0LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDIsIDB4MDEsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2MSwgMHgwMCwgMHgxMCwgMHhm
ZSwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDc1
LCAweDAwLCAweDEwLAorCTB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YjEsIDB4MDMsIDB4YjIs
IDB4MDMsCisJMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHgwNSwgMHgyYSwK
KwkweDAwLCAweDAwLCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3VuaWNvZGVP
YmplY3QuYSA9ICdhYic7Cit0ZXN0U2VyaWFsaXphdGlvbih1bmljb2RlT2JqZWN0LAorWworCTB4
MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2
MSwgMHgwMCwgMHgxMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDYxLCAweDAwLCAweDYy
LCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAorCTB4NzUsIDB4MDAsIDB4MTAsIDB4MDIs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4YjEsCisJMHgwMywgMHhiMiwgMHgwMywgMHgwMSwgMHgwMCwg
MHgwMCwgMHgwMCwgMHg2NCwKKwkweDAwLCAweDA1LCAweDJhLCAweDAwLCAweDAwLCAweDAwLCAw
eGZmLCAweGZmLAorCTB4ZmYsIDB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbihmdW5jdGlv
bigpe30sIFtdLCBET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIpOworICAgICAgICA8L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDcwYmRiM2IuLmIzOWYzNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0x
Mi0wOCAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAgW0pTQ10g
QWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBzZXJpYWxp
emF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBvZgorICAgICAgICB0aGUgSlND
IGltcGxlbWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxhciB0ZXN0cwor
ICAgICAgICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgVGVzdDogcGxhdGZvcm0vanNjL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1
ZS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNlcmlhbGl6ZU9iamVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmRlc2VyaWFsaXplQnVmZmVyKToKKwog
MjAxMi0xMi0wNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNjk5My4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggNWE0NWQ1ZC4uNjljOTJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI1MSwx
MSArMjUxLDExIEBAIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxNWRldGFjaEZyb21GcmFt
ZUV2CiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMThhZGRBcmNoaXZlUmVzb3VyY2VFTjNX
VEYxMFBhc3NSZWZQdHJJTlNfMTVBcmNoaXZlUmVzb3VyY2VFRUUKIF9fWk43V2ViQ29yZTE0UmVz
b3VyY2VMb2FkZXIzMmRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRVJLTlNfMjNBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUUKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
MTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEVQTjNX
VEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlh
bGl6YXRpb25FcnJvck1vZGVFCi1fX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTE0
Y3JlYXRlRnJvbVdpcmVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTZjcmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZl
Y3RvcklOUzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5TNl9JTlM3X0lOUzVf
MTFBcnJheUJ1ZmZlckVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKIF9fWk43
V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVSS04zV1RGNlN0cmluZ0UKIF9f
Wk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlOHRvU3RyaW5nRXYKLV9fWk5LN1dlYkNv
cmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTEydG9XaXJlU3RyaW5nRXYKK19fWk43V2ViQ29yZTIx
U2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFf
MTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBv
cnRFRUVMajFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFCitfX1pON1dlYkNvcmUyMVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUMxRVJOM1dURjZWZWN0b3JJaExqMEVFRQogX19aTjdXZWJDb3Jl
NHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNXVEYxMUFy
cmF5QnVmZmVyRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjIxYWRkUGx1Z0luU3RyZWFt
TG9hZGVyRVBOU18xNFJlc291cmNlTG9hZGVyRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRl
cjIyYWRkQWxsQXJjaGl2ZVJlc291cmNlc0VQTlNfN0FyY2hpdmVFCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggZmY4Mjg5YS4uOTE1ZjRlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtMTczMiwxNCArMTczMiwyNSBAQCBTdHJpbmcgSW50ZXJuYWxz
OjpnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogCiBQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBJbnRlcm5hbHM6OnNlcmlhbGl6ZU9iamVj
dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUpIGNvbnN0CiB7CisjaWYg
VVNFKFY4KQogICAgIFN0cmluZyBzdHJpbmdWYWx1ZSA9IHZhbHVlLT50b1dpcmVTdHJpbmcoKTsK
ICAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4o
c3RyaW5nVmFsdWUuaW1wbCgpLT5jaGFyYWN0ZXJzKCkpLCBzdHJpbmdWYWx1ZS5zaXplSW5CeXRl
cygpKTsKKyNlbHNlCisgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ5dGVzID0gdmFsdWUtPmRhdGEoKTsK
KyAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShieXRlcy5kYXRhKCksIGJ5dGVzLnNpemUo
KSk7CisjZW5kaWYKIH0KIAogUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IEludGVy
bmFsczo6ZGVzZXJpYWxpemVCdWZmZXIoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4gYnVmZmVyKSBj
b25zdAogeworI2lmIFVTRShWOCkKICAgICBTdHJpbmcgdmFsdWUoc3RhdGljX2Nhc3Q8Y29uc3Qg
VUNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpIC8gc2l6ZW9mKFVD
aGFyKSk7CiAgICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdpcmUo
dmFsdWUpOworI2Vsc2UKKyAgICBWZWN0b3I8dWludDhfdD4gYnl0ZXM7CisgICAgYnl0ZXMuYXBw
ZW5kKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+
Ynl0ZUxlbmd0aCgpKTsKKyAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjphZG9wdChi
eXRlcyk7CisjZW5kaWYKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnNldFVzZXNPdmVybGF5U2Nyb2xs
YmFycyhib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTYwYjIyNS4uNWJhNjdjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hh
ZWxANjhrLm9yZz4KKworICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlh
bGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBt
ZWNoYW5pc21zIG9mCisgICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9yIHRo
ZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZi5pbjoKKwog
MjAxMi0xMi0wNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNjk5My4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyLmRlZi5pbgppbmRleCA0ZTY3MTc4Li5iNDhkOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4KKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
ZGVmLmluCkBAIC0xNjMsNiArMTYzLDcgQEAgRVhQT1JUUwogICAgICAgICA/PzBTdHJpbmdAV1RG
QEBRQUVAUEJfV0BaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XSUBaCiAgICAgICAg
ID8/MFN0cmluZ0BXVEZAQFFBRUBWQVNDSUlMaXRlcmFsQDFAQFoKKyAgICAgICAgPz8wU2VyaWFs
aXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEFBRUBBQlY/JFZlY3RvckBZRUAkMEFAQFdURkBAQFoK
ICAgICAgICAgPz8xU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRUBYWgogICAgICAg
ICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVyT2JqZWN0QFdlYkNvcmVAQFFCRT9BVklu
dFJlY3RAMkBfTkBaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdElnbm9yaW5nVHJh
bnNmb3Jtc0BSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAyQFhaCkBAIC0xNzcs
NyArMTc4LDYgQEAgRVhQT1JUUwogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlw
dFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVA
V2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBW
PyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/
JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJv
ck1vZGVAMkBAWgogICAgICAgICA/Y3JlYXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCi0g
ICAgICAgID9jcmVhdGVGcm9tV2lyZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/
QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZT
dHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVA
SlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgog
ICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9B
VkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVj
dG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJp
YWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0
ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpAQCAt
MzAwLDggKzMwMCw2IEBAIEVYUE9SVFMKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1Zh
bHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZSYW5nZUAx
QEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0
ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUxpc3RAMUBAWgogICAgICAgICA/dG9S
YW5nZUBXZWJDb3JlQEBZQVBBVlJhbmdlQDFAVkpTVmFsdWVASlNDQEBAWgotICAgICAgICA/dG9T
dHJpbmdAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVlN0cmluZ0BXVEZAQFha
Ci0gICAgICAgID90b1dpcmVTdHJpbmdAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFC
RT9BVlN0cmluZ0BXVEZAQFhaCiAgICAgICAgID90cmVlU2NvcGVATm9kZUBXZWJDb3JlQEBRQkVQ
QVZUcmVlU2NvcGVAMkBYWgogICAgICAgICA/dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxl
c2hlZXRzQERvY3VtZW50QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/dXNlclByZWZlcnJlZExh
bmd1YWdlc0BXZWJDb3JlQEBZQT9BVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDViNzc3NzYuLjQwZmZlNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgpAQCAtODksNyArODksNiBAQCBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmlu
Z0NvbnRleHRDMUVQTlNfNE5vZGVFOwogX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0
RDFFdjsKIF9aTjdXZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQyOGNvbnNvbGVNZXNzYWdl
QXJndW1lbnRDb3VudHNFdjsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3Jl
YXRlRVBOM0pTQzlFeGVjU3RhdGVFTlMxXzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQ
dHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxqMUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJF
RUVMajFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwotX1pON1dlYkNvcmUyMVNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNH
bG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVF
TGoxRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsKIF9aTjdXZWJDb3JlMjFnZXRDYWNo
ZWRET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9F
OwogX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWo7CiBf
Wk43V2ViQ29yZTIyaW5zdHJ1bWVudGF0aW9uRm9yUGFnZUVQTlNfNFBhZ2VFOwpAQCAtMjE4LDEz
ICsyMTcsMTIgQEAgX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRUcmFja3NSZXBhaW50c0ViOwog
X1pOSzdXZWJDb3JlNUZyYW1lMjV0cmFja2VkUmVwYWludFJlY3RzQXNUZXh0RXY7CiBfWk43V2Vi
Q29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zV1RG
MTFBcnJheUJ1ZmZlckU7CiBfWk43V2ViQ29yZTEzdG9BcnJheUJ1ZmZlckVOM0pTQzdKU1ZhbHVl
RTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pT
QzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQ
dHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxqMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7
CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVQTjNKU0M5RXhlY1N0
YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5TNV82UmVmUHRySU5TXzExTWVzc2FnZVBv
cnRFRUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8xMUFycmF5QnVmZmVyRUVFTG0xRUVFTlNfMjJTZXJp
YWxpemF0aW9uRXJyb3JNb2RlRTsKLV9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUx
NGNyZWF0ZUZyb21XaXJlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVk
U2NyaXB0VmFsdWU2Y3JlYXRlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMjFTZXJpYWxp
emVkU2NyaXB0VmFsdWU4dG9TdHJpbmdFdjsKLV9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0
VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0
RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIy
U2VyaWFsaXphdGlvbkVycm9yTW9kZUU7CitfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZh
bHVlQzFFUk4zV1RGNlZlY3RvckloTGowRUVFOwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUQxRXY7Ci1fWk5LN1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTEydG9XaXJl
U3RyaW5nRXY7CiBfWk43V2ViQ29yZTE2Q1NTUGFyc2VyQ29udGV4dEMxRVBOU184RG9jdW1lbnRF
UktOU180S1VSTEVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE4U3R5bGVTaGVldENvbnRl
bnRzMTFwYXJzZVN0cmluZ0VSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE4U3R5bGVTaGVl
dENvbnRlbnRzQzFFUE5TXzE1U3R5bGVSdWxlSW1wb3J0RVJLTjNXVEY2U3RyaW5nRVJLTlNfMTZD
U1NQYXJzZXJDb250ZXh0RTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA1M2UyZTA1Li5mNmQ2ODQ0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDggIE1p
Y2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0
cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQyMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBh
bmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1l
bnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAg
YWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5k
ZWZhdWx0X2Jhc2VsaW5lX3NlYXJjaF9wYXRoKTogQWRkIHBsYXRmb3JtL2pzYyB0byBzZWFyY2gg
cGF0aCBmb3Igbm9uLUNocm9taXVtIHBvcnRzLgorCiAyMDEyLTEyLTA3ICBTY290dCBWaW9sZXQg
IDxza3lAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGxpbnV4IHRo
ZW1lIHJlbGF0ZWQgZmlsZXMgYW5kIHN3aXRjaCB0byBkZWZhdWx0CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggYWY3NDJjOS4uZWNi
ODRjMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
YmFzZS5weQpAQCAtMjIwLDYgKzIyMCw5IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAg
c2VhcmNoX3BhdGhzLmFwcGVuZChzZWxmLm5hbWUoKSkKICAgICAgICAgaWYgc2VsZi5uYW1lKCkg
IT0gc2VsZi5wb3J0X25hbWU6CiAgICAgICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKHNlbGYu
cG9ydF9uYW1lKQorICAgICAgICBpZiBub3Qgc2VsZi5pc19jaHJvbWl1bSgpOgorICAgICAgICAg
ICAganNjX2RpciA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLmxheW91dF90ZXN0c19kaXIo
KSwgJ3BsYXRmb3JtJywgJ2pzYycpCisgICAgICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKGpz
Y19kaXIpCiAgICAgICAgIHJldHVybiBtYXAoc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgsIHNl
YXJjaF9wYXRocykKIAogICAgIEBtZW1vaXplZAotLSAKMS43LjkuNQoK
</data>
<flag name="review"
          id="194894"
          type_id="1"
          status="-"
          setter="dpranke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178379</attachid>
            <date>2012-12-08 14:06:55 -0800</date>
            <delta_ts>2012-12-08 14:10:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>26073</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogU2F0LCA4IERlYyAy
MDEyIDE0OjAzOjM1IC0wODAwClN1YmplY3Q6IFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQg
c2VyaWFsaXphdGlvbiB2YWx1ZXMKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKwogLi4uL2pzYy9zZXJpYWxpemVkLXNj
cmlwdC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTM3ICsrKysrKysrKysKIExheW91dFRl
c3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sICAgICAgIHwgIDI2NCArKysrKysr
KysrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucyAgICAgfCAgICAzICsKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxOCArKwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gICAg
ICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgICAgICAgICAgICAgICB8ICAgMTEgKwogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIFNvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZi5pbiAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlciAgICAgICAgICAgICAgICAgICAgfCAgICA2ICstCiAxMSBmaWxlcyBj
aGFuZ2VkLCA0NzkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZh
bHVlLmh0bWwKCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMTE2Y2Yw
NS4uYmM1MjVmMSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4K
KworICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFs
dWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0
MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
dGVzdHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zIG9m
CisgICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFsaXplZFNjcmlwdFZhbHVl
LiBTaW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9yIHRoZSBWOCBpbXBsZW1l
bnRhdGlvbi4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisK
IDIwMTItMTItMDYgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENTUyBjdXJzb3IgcHJvcGVydHkgc2hvdWxkIHN1cHBvcnQgd2Via2l0LWltYWdlLXNldApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGQxZGQzOTQuLjZkZGUwMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMi0wOCAg
TWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAgW0pTQ10gQWRkIHRl
c3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBzZXJpYWxpemF0aW9u
IGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBvZgorICAgICAgICB0aGUgSlNDIGltcGxl
bWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxhciB0ZXN0cworICAgICAg
ICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBq
c2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBqc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogRXhjbHVkZSBqc2MgdGVzdHMuCisKIDIw
MTItMTItMDcgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2NDk4NTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTM3IEBACisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15
TmV3S2V5In19OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJm
b28iOiJ6b28iLCJiYXIiOiJteU5ld0tleSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBl
eHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gW106CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIFtd
OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgK
KworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6b28ifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28ifToKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvIHsiZm9vIjpudWxsfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZm
ZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxp
emUgdG8ge306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnko
b2JqKQorU2VyaWFsaXplIHt9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdW5kZWZpbmVkOgorUEFTUyBKU09O
LnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB1bmRl
ZmluZWQ6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxl
bmd0aAorCitEZXNlcmlhbGl6ZSB0byB0cnVlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmop
IGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB0cnVlOgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
ZmFsc2U6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2Jq
KQorU2VyaWFsaXplIGZhbHNlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gW251bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGxdOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlz
IEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBbbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbF06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVk
QnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxMDoKK1BBU1MgSlNPTi5zdHJp
bmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMTA6CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNl
cmlhbGl6ZSB0byAtMTA6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJp
bmdpZnkob2JqKQorU2VyaWFsaXplIC0xMDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIDEwNzM3NDE4MjQ6CitQ
QVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFs
aXplIDEwNzM3NDE4MjQ6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVy
VmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAzNjAyODc5NzAxODk2Mzk3MDoKK1BBU1Mg
SlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUg
MzYwMjg3OTcwMTg5NjM5NzA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVm
ZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxLjIzOgorUEFTUyBKU09OLnN0cmlu
Z2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAxLjIzOgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVz
ZXJpYWxpemUgdG8gIiI6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJp
bmdpZnkob2JqKQorU2VyaWFsaXplICIiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gImFiYyI6CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplICJh
YmMiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8geyJpbnRlZ2VyIjoxMjN9OgorUEFTUyBKU09OLnN0cmluZ2lm
eShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImludGVnZXIiOjEy
M306CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0
aAorCitEZXNlcmlhbGl6ZSB0byB7InN0cmluZyI6InN0ciJ9OgorUEFTUyBKU09OLnN0cmluZ2lm
eShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7InN0cmluZyI6InN0
ciJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8geyJsaXN0IjpbMSwyLDNdfToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJsaXN0IjpbMSwy
LDNdfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIG51bGw6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIG51bGw6CitQQVNTIGJ1ZmZlclZpZXcu
bGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7
fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitT
ZXJpYWxpemUge306CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFs
dWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwi
b3V0ZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJpbm5lciI6eyJoZWxsbyI6InRoZXJl
In0sIm91dGVyIjp7ImhlbGxvIjoidGhlcmUifX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlz
IGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImhlbGxvIjoi
dGhlcmUifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShv
YmopCitTZXJpYWxpemUgeyJoZWxsbyI6InRoZXJlIn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3Ro
IGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImEiOiJh
IiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiYSI6ImEiLCJ1IjoizrHOsiIsImQiOjQyfToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIHsiYSI6ImFiIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIEpTT04u
c3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiYSI6
ImFiIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVj
dGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitTZXJpYWxpemUgdW5kZWZpbmVkOgorUEFTUyB0aHJv
d25FeGNlcHRpb24uY29kZSBpcyBleHBlY3RlZEV4Y2VwdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvanNjL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZDcyNWYzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzYy9zZXJpYWxpemVk
LXNjcmlwdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMjY0IEBACis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxz
Y3JpcHQ+CitmdW5jdGlvbiBleHBlY3RCdWZmZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVmZmVy
KSB7CisgICAgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMgPSBleHBlY3RlZFZhbHVlczsKKyAgICBidWZm
ZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKKyAgICBzaG91bGRCZSgiYnVmZmVyVmll
dy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoIik7CisgICAgdmFyIHN1Y2Nl
c3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoKTsK
KyAgICBpZiAoc3VjY2VzcykgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVk
VmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRWYWx1ZXNbaV0g
IT0gYnVmZmVyVmlld1tpXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkFycmF5QnVm
ZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4ICIgKyBpICsgIi4gU2hvdWxkIGJlICIgKyBleHBlY3Rl
ZFZhbHVlc1tpXSArICIuIFdhcyAiICsgYnVmZmVyVmlld1tpXSk7CisgICAgICAgICAgICAgICAg
c3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgIC8vIG91dHB1
dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFkZGluZyBiYWNrIGludG8gdGhlIHRlc3QKKyAgICAgICAg
dmFyIG91dHB1dCA9IFtdOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVyVmlldy5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdbaV0udG9TdHJp
bmcoMTYpOworICAgICAgICAgICAgaWYgKGhleFZhbC5sZW5ndGggPCA0KSB7CisgICAgICAgICAg
ICAgICAgaGV4VmFsID0gIjAwMDAiLnNsaWNlKGhleFZhbC5sZW5ndGgpICsgaGV4VmFsOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgb3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7CisgICAg
ICAgIH0KKyAgICAgICAgZGVidWcoIkFjdHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4oIiwg
IikgKyAiXSIpOworICAgIH0KK30KKworZnVuY3Rpb24gbWFrZUJ1ZmZlcihzZXJpYWxpemVkVmFs
dWVzKSB7CisgICAgdmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZm
ZXIoc2VyaWFsaXplZFZhbHVlcy5sZW5ndGgpKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNl
cmlhbGl6ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tpXSA9IHNl
cmlhbGl6ZWRWYWx1ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1ZmZlcjsK
K30KKworCitmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmosIHZhbHVlcywgc2VyaWFsaXpl
RXhjZXB0aW9uVmFsdWUpIHsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBpZiAoIXNlcmlhbGl6ZUV4
Y2VwdGlvblZhbHVlKSB7CisgICAgICAgIHNlbGYub2JqID0gb2JqOworICAgICAgICBkZWJ1Zygi
RGVzZXJpYWxpemUgdG8gIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgICAgICBz
ZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVmZmVyKHZhbHVl
cykpOworICAgICAgICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkobmV3T2JqKSIsICJKU09OLnN0
cmluZ2lmeShvYmopIik7CisgICAgfQorCisgICAgZGVidWcoIlNlcmlhbGl6ZSAiICsgSlNPTi5z
dHJpbmdpZnkob2JqKSArICI6Iik7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHNlcmlhbGl6ZWQg
PSBpbnRlcm5hbHMuc2VyaWFsaXplT2JqZWN0KG9iaik7CisgICAgICAgIGlmIChzZXJpYWxpemVF
eGNlcHRpb25WYWx1ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgdGhy
b3duIGFuIGV4Y2VwdGlvbiBvZiB0eXBlICIsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKTsKKyAg
ICAgICAgfQorICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlv
blZhbHVlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaHJldyBleGNlcHRpb24gIiArIGUp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2Vs
Zi50aHJvd25FeGNlcHRpb24gPSBlOworICAgICAgICAgICAgc2VsZi5leHBlY3RlZEV4Y2VwdGlv
biA9IHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlOworICAgICAgICAgICAgc2hvdWxkQmUoInRocm93
bkV4Y2VwdGlvbi5jb2RlIiwgImV4cGVjdGVkRXhjZXB0aW9uIik7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9CisgICAgZXhwZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBzZXJp
YWxpemVkKTsKK30KKwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjoge2Jhejog
J215TmV3S2V5J319LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDMs
IDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZiwgMHgw
MCwgMHgxMCwKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAwLCAweDZmLCAw
eDAwLAorICAgIDB4NmYsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjIsIDB4MDAs
CisgICAgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKyAg
ICAweDAwLCAweDYyLCAweDAwLCAweDYxLCAweDAwLCAweDdhLCAweDAwLCAweDEwLAorICAgIDB4
MDgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAsCisgICAgMHg0ZSwg
MHgwMCwgMHg2NSwgMHgwMCwgMHg3NywgMHgwMCwgMHg0YiwgMHgwMCwKKyAgICAweDY1LCAweDAw
LCAweDc5LCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmLAorICAgIDB4ZmYsIDB4ZmYsIDB4
ZmYsIDB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiAnem9vJywgYmFyOiAnbXlO
ZXdLZXknfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAwLCAw
eDAwLAorCTB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAsCisJ
MHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKwkweDZmLCAw
eDAwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAwLAorCTB4NjEsIDB4MDAsIDB4
NzIsIDB4MDAsIDB4MTAsIDB4MDgsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2ZCwgMHgwMCwgMHg3
OSwgMHgwMCwgMHg0ZSwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDc3LCAweDAwLCAweDRiLCAweDAw
LCAweDY1LCAweDAwLCAweDc5LAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwor
Cit0ZXN0U2VyaWFsaXphdGlvbihbXSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAx
LCAweDAwLCAweDAwLCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwor
dGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogInpvbyJ9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgw
MCwgMHg2ZiwgMHgwMCwgMHgxMCwKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAw
LCAweDZmLCAweDAwLAorCTB4NmYsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwor
dGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogbnVsbH0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDY2LCAweDAwLCAweDZmLCAweDAw
LCAweDZmLCAweDAwLCAweDA0LAorCTB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOworCit0ZXN0
U2VyaWFsaXphdGlvbih7fSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweGZm
LCAweGZmLCAweGZmLAorCTB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbih1bmRlZmluZWQs
CitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMworXSk7Cit0ZXN0U2VyaWFsaXphdGlv
bih0cnVlLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDkKK10pOwordGVzdFNlcmlh
bGl6YXRpb24oZmFsc2UsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwOAorXSk7Cit0
ZXN0U2VyaWFsaXphdGlvbihuZXcgQXJyYXkoMTAwKSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAw
eDAwLCAweDAxLCAweDY0LCAweDAwLCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4
ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oMTAsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwNSwgMHgwYSwgMHgwMCwgMHgwMCwKKwkweDAwCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KC0xMCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweGY2LCAweGZmLCAweGZm
LAorCTB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiwzMCksCitbCisJMHgw
MywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDQwCitdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsNTUpLAorWworCTB4MDMsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MGEsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwMCwgMHg2MCwg
MHg0MywKK10pOwordGVzdFNlcmlhbGl6YXRpb24oMS4yMywKK1sKKwkweDAzLCAweDAwLCAweDAw
LCAweDAwLCAweDBhLCAweGFlLCAweDQ3LCAweGUxLAorCTB4N2EsIDB4MTQsIDB4YWUsIDB4ZjMs
IDB4M2YKK10pOwordGVzdFNlcmlhbGl6YXRpb24oIiIsCitbCisJMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgxMQorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigiYWJjIiwKK1sKKwkweDAzLCAweDAw
LCAweDAwLCAweDAwLCAweDEwLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAs
IDB4NjIsIDB4MDAsIDB4NjMsIDB4MDAKK10pOwordGVzdFNlcmlhbGl6YXRpb24oe2ludGVnZXI6
IDEyM30sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNywgMHgwMCwgMHgw
MCwKKwkweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LAorCTB4
MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDUsCisJMHg3YiwgMHgw
MCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXph
dGlvbih7c3RyaW5nOiAic3RyIn0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwg
MHgwNiwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDczLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAw
eDAwLCAweDY5LAorCTB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MTAsIDB4MDMsIDB4
MDAsCisJMHgwMCwgMHgwMCwgMHg3MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwKKwkw
eGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtsaXN0OiBbMSwy
LDNdfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA0LCAweDAwLCAweDAw
LAorCTB4MDAsIDB4NmMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzQsCisJMHgw
MCwgMHgwMSwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDAw
LCAweDA3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA1LAorCTB4MDIsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwNSwgMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKG51bGwsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwNAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigvYWJjLywKK1sKKwkweDAzLCAweDAwLCAweDAw
LCAweDAwLCAweDEyLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAsIDB4NjIs
IDB4MDAsIDB4NjMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwMAorXSk7CisKK3ZhciBp
bm5lck9iamVjdCA9IHtoZWxsbzogInRoZXJlIn07Cit2YXIgb3V0ZXJPYmplY3QgPSB7aW5uZXI6
IGlubmVyT2JqZWN0fTsKK291dGVyT2JqZWN0WydvdXRlciddID0gaW5uZXJPYmplY3Q7Cit0ZXN0
U2VyaWFsaXphdGlvbihvdXRlck9iamVjdCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDA1LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4
NmUsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwNSwgMHgwMCwgMHgw
MCwgMHgwMCwKKwkweDY4LCAweDAwLCAweDY1LCAweDAwLCAweDZjLCAweDAwLCAweDZjLCAweDAw
LAorCTB4NmYsIDB4MDAsIDB4MTAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzQsCisJMHgw
MCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwKKwkweDAwLCAweGZm
LCAweGZmLCAweGZmLCAweGZmLCAweDA1LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NmYsIDB4MDAs
IDB4NzUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3MiwgMHgwMCwgMHgxMywg
MHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKGlu
bmVyT2JqZWN0LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDUsIDB4MDAs
IDB4MDAsCisJMHgwMCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2YywgMHgwMCwgMHg2YywK
KwkweDAwLCAweDZmLCAweDAwLCAweDEwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLAorCTB4NzQs
IDB4MDAsIDB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsCisJMHg2NSwgMHgwMCwg
MHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7CisKK3ZhciB1bmljb2RlT2JqZWN0ID0ge2E6ICdh
JywgdTogU3RyaW5nLmZyb21DaGFyQ29kZSgweDAzQjEsMHgwM0IyKSwgZDogNDJ9OwordGVzdFNl
cmlhbGl6YXRpb24odW5pY29kZU9iamVjdCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDAxLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAsIDB4MTAsIDB4ZmUsIDB4
ZmYsIDB4ZmYsIDB4ZmYsCisJMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NSwgMHgw
MCwgMHgxMCwKKwkweDAyLCAweDAwLCAweDAwLCAweDAwLCAweGIxLCAweDAzLCAweGIyLCAweDAz
LAorCTB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4MDUsIDB4MmEsCisJMHgw
MCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit1bmljb2RlT2JqZWN0
LmEgPSAnYWInOwordGVzdFNlcmlhbGl6YXRpb24odW5pY29kZU9iamVjdCwKK1sKKwkweDAzLCAw
eDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAxLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4
MDAsIDB4MTAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHg2MSwgMHgwMCwgMHg2MiwgMHgw
MCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDc1LCAweDAwLCAweDEwLCAweDAyLCAweDAw
LCAweDAwLCAweDAwLCAweGIxLAorCTB4MDMsIDB4YjIsIDB4MDMsIDB4MDEsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4NjQsCisJMHgwMCwgMHgwNSwgMHgyYSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmZiwg
MHhmZiwKKwkweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oZnVuY3Rpb24oKXt9
LCBbXSwgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc4MmU0OGYuLjA3NjRm
M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMjQ2LDYgKzI0Niw5IEBAIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMgWyBXb250Rml4IF0K
IGluc3BlY3Rvci9zdHlsZXMvdmVuZG9yLXByZWZpeGVzLmh0bWwgWyBXb250Rml4IF0KIGZhc3Qv
Y3NzL2FwcGxlLXByZWZpeC5odG1sIFsgV29udEZpeCBdCiAKKyMgVGhlc2UgdGVzdHMgYXJlIHNw
ZWNpZmljIHRvIEpTQworanNjIFsgV29udEZpeCBdCisKICMgUGVyZiB0ZXN0cyBhcmUgcmVhbGx5
IHNsb3cgaW4gZGVidWcgYnVpbGRzIGFuZCB0aGVyZSBhcmUgZmV3IGJlbmVmaXRzIGluCiAjIHJ1
bm5pbmcgdGhlbS4KIFsgRGVidWcgXSBwZXJmIFsgV29udEZpeCBdCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBi
ZGIzYi4uYjM5ZjM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA4ICBN
aWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4KKworICAgICAgICBbSlNDXSBBZGQgdGVz
dHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6YXRpb24g
YW5kIGRlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zIG9mCisgICAgICAgIHRoZSBKU0MgaW1wbGVt
ZW50YXRpb24gb2YgU2VyaWFsaXplZFNjcmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisgICAgICAg
IGFscmVhZHkgZXhpc3QgZm9yIHRoZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBUZXN0
OiBwbGF0Zm9ybS9qc2MvZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwK
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIpOgorCiAyMDEyLTEy
LTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2OTkzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCA1YTQ1ZDVkLi42OWM5MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjUxLDExICsyNTEs
MTEgQEAgX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjE1ZGV0YWNoRnJvbUZyYW1lRXYKIF9f
Wk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxOGFkZEFyY2hpdmVSZXNvdXJjZUVOM1dURjEwUGFz
c1JlZlB0cklOU18xNUFyY2hpdmVSZXNvdXJjZUVFRQogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxv
YWRlcjMyZGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2VFUktOU18yM0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlRQogX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2Vy
aWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0
b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlv
bkVycm9yTW9kZUUKLV9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTRjcmVhdGVG
cm9tV2lyZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZh
bHVlNmNyZWF0ZUVQTjNKU0M5RXhlY1N0YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5T
NV82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8xMUFycmF5
QnVmZmVyRUVFTG0xRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRQogX19aTjdXZWJDb3Jl
MjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJD
b3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU4dG9TdHJpbmdFdgotX19aTks3V2ViQ29yZTIxU2Vy
aWFsaXplZFNjcmlwdFZhbHVlMTJ0b1dpcmVTdHJpbmdFdgorX19aTjdXZWJDb3JlMjFTZXJpYWxp
emVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xv
YmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxq
MUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKK19fWk43V2ViQ29yZTIxU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQzFFUk4zV1RGNlZlY3RvckloTGowRUVFCiBfX1pON1dlYkNvcmU0dG9KU0VQ
TjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM1dURjExQXJyYXlCdWZm
ZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjFhZGRQbHVnSW5TdHJlYW1Mb2FkZXJF
UE5TXzE0UmVzb3VyY2VMb2FkZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjJhZGRB
bGxBcmNoaXZlUmVzb3VyY2VzRVBOU183QXJjaGl2ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBmZjgyODlhLi45MTVmNGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC0xNzMyLDE0ICsxNzMyLDI1IEBAIFN0cmluZyBJbnRlcm5hbHM6OmdldEN1
cnJlbnRDdXJzb3JJbmZvKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAK
IFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKIHsKKyNpZiBVU0UoVjgp
CiAgICAgU3RyaW5nIHN0cmluZ1ZhbHVlID0gdmFsdWUtPnRvV2lyZVN0cmluZygpOwogICAgIHJl
dHVybiBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihzdHJpbmdW
YWx1ZS5pbXBsKCktPmNoYXJhY3RlcnMoKSksIHN0cmluZ1ZhbHVlLnNpemVJbkJ5dGVzKCkpOwor
I2Vsc2UKKyAgICBWZWN0b3I8dWludDhfdD4gYnl0ZXMgPSB2YWx1ZS0+ZGF0YSgpOworICAgIHJl
dHVybiBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGJ5dGVzLmRhdGEoKSwgYnl0ZXMuc2l6ZSgpKTsKKyNl
bmRpZgogfQogCiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSW50ZXJuYWxzOjpk
ZXNlcmlhbGl6ZUJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIpIGNvbnN0CiB7
CisjaWYgVVNFKFY4KQogICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+
KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXplb2YoVUNoYXIpKTsK
ICAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSh2YWx1ZSk7
CisjZWxzZQorICAgIFZlY3Rvcjx1aW50OF90PiBieXRlczsKKyAgICBieXRlcy5hcHBlbmQoc3Rh
dGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVu
Z3RoKCkpOworICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0KGJ5dGVzKTsK
KyNlbmRpZgogfQogCiB2b2lkIEludGVybmFsczo6c2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJv
b2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NjBiMjI1Li41YmE2N2M2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMTItMDggIE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsu
b3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlv
biB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNDQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlz
bXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0
VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAgYWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGlt
cGxlbWVudGF0aW9uLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmLmluOgorCiAyMDEyLTEy
LTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2OTkzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmLmluIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVm
LmluCmluZGV4IDRlNjcxNzguLmI0OGQ5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLmRlZi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4K
QEAgLTE2Myw2ICsxNjMsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQ
Ql9XQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCX1dJQFoKICAgICAgICAgPz8wU3Ry
aW5nQFdURkBAUUFFQFZBU0NJSUxpdGVyYWxAMUBAWgorICAgICAgICA/PzBTZXJpYWxpemVkU2Ny
aXB0VmFsdWVAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFlFQCQwQUBAV1RGQEBAWgogICAgICAg
ICA/PzFTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFQFhaCiAgICAgICAgID9hYnNv
bHV0ZUJvdW5kaW5nQm94UmVjdEBSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAy
QF9OQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hSZWN0SWdub3JpbmdUcmFuc2Zvcm1z
QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAWFoKQEAgLTE3Nyw3ICsxNzgs
NiBAQCBFWFBPUlRTCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdU
RkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVA
V2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0
ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRy
QFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAy
QEBaCiAgICAgICAgID9jcmVhdGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0
ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKLSAgICAgICAg
P2NyZWF0ZUZyb21XaXJlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFz
c1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0
QEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBB
VkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAg
ID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNWYWx1
ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JAVj8k
UmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6YXRp
b25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBXZWJD
b3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBAIC0zMDAsOCAr
MzAwLDYgQEAgRVhQT1JUUwogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlND
QEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVlJhbmdlQDFAQFoKICAg
ICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFW
SlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlTGlzdEAxQEBaCiAgICAgICAgID90b1JhbmdlQFdl
YkNvcmVAQFlBUEFWUmFuZ2VAMUBWSlNWYWx1ZUBKU0NAQEBaCi0gICAgICAgID90b1N0cmluZ0BT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWU3RyaW5nQFdURkBAWFoKLSAgICAg
ICAgP3RvV2lyZVN0cmluZ0BTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUJFP0FWU3Ry
aW5nQFdURkBAWFoKICAgICAgICAgP3RyZWVTY29wZUBOb2RlQFdlYkNvcmVAQFFCRVBBVlRyZWVT
Y29wZUAyQFhaCiAgICAgICAgID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNA
RG9jdW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFuZ3VhZ2Vz
QFdlYkNvcmVAQFlBP0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpkaWZmIC0t
Z2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKaW5kZXggNWI3Nzc3Ni4uNDBmZmU0YSAxMDA2NDQKLS0tIGEvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCkBAIC04OSw3ICs4OSw2IEBAIF9aTjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5nQ29udGV4
dEMxRVBOU180Tm9kZUU7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0NvbnRleHREMUV2Owog
X1pON1dlYkNvcmUyMUluc3BlY3RvckNvbnNvbGVBZ2VudDI4Y29uc29sZU1lc3NhZ2VBcmd1bWVu
dENvdW50c0V2OwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUE4z
SlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18x
MU1lc3NhZ2VQb3J0RUVFTGoxRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxqMUVF
RU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7Ci1fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNj
cmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9i
amVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMajFFRUVO
U18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwogX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0
cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7CiBfWk43
V2ViQ29yZTIyZXh0ZXJuYWxSZXByZXNlbnRhdGlvbkVQTlNfN0VsZW1lbnRFajsKIF9aTjdXZWJD
b3JlMjJpbnN0cnVtZW50YXRpb25Gb3JQYWdlRVBOU180UGFnZUU7CkBAIC0yMTgsMTMgKzIxNywx
MiBAQCBfWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWI7CiBfWk5LN1dl
YkNvcmU1RnJhbWUyNXRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHRFdjsKIF9aTjdXZWJDb3JlNHRv
SlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNXVEYxMUFycmF5
QnVmZmVyRTsKIF9aTjdXZWJDb3JlMTN0b0FycmF5QnVmZmVyRU4zSlNDN0pTVmFsdWVFOworX1pO
N1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNT
dGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18x
MU1lc3NhZ2VQb3J0RUVFTGoxRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsKIF9aTjdX
ZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVBOM0pTQzlFeGVjU3RhdGVFTlMx
XzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxt
MUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRp
b25FcnJvck1vZGVFOwotX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTE0Y3JlYXRl
RnJvbVdpcmVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTZjcmVhdGVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTh0b1N0cmluZ0V2OwotX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTEx
ZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RG
NlZlY3RvcklOUzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFTlNfMjJTZXJpYWxp
emF0aW9uRXJyb3JNb2RlRTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVDMUVS
TjNXVEY2VmVjdG9ySWhMajBFRUU7CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
RDFFdjsKLV9aTks3V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTJ0b1dpcmVTdHJpbmdF
djsKIF9aTjdXZWJDb3JlMTZDU1NQYXJzZXJDb250ZXh0QzFFUE5TXzhEb2N1bWVudEVSS05TXzRL
VVJMRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHMxMXBh
cnNlU3RyaW5nRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVu
dHNDMUVQTlNfMTVTdHlsZVJ1bGVJbXBvcnRFUktOM1dURjZTdHJpbmdFUktOU18xNkNTU1BhcnNl
ckNvbnRleHRFOwotLSAKMS43LjkuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178380</attachid>
            <date>2012-12-08 14:11:52 -0800</date>
            <delta_ts>2012-12-08 15:39:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>26073</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogU2F0LCA4IERlYyAy
MDEyIDE0OjA4OjI5IC0wODAwClN1YmplY3Q6IFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQg
c2VyaWFsaXphdGlvbiB2YWx1ZXMKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKwogLi4uL2pzYy9zZXJpYWxpemVkLXNj
cmlwdC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTM3ICsrKysrKysrKysKIExheW91dFRl
c3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sICAgICAgIHwgIDI2NCArKysrKysr
KysrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucyAgICAgfCAgICAzICsKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxOCArKwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gICAg
ICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgICAgICAgICAgICAgICB8ICAgMTEgKwogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIFNvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZi5pbiAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlciAgICAgICAgICAgICAgICAgICAgfCAgICA2ICstCiAxMSBmaWxlcyBj
aGFuZ2VkLCA0NzkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZh
bHVlLmh0bWwKCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMTE2Y2Yw
NS4uYmM1MjVmMSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4K
KworICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFs
dWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0
MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
dGVzdHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zIG9m
CisgICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFsaXplZFNjcmlwdFZhbHVl
LiBTaW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9yIHRoZSBWOCBpbXBsZW1l
bnRhdGlvbi4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisK
IDIwMTItMTItMDYgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENTUyBjdXJzb3IgcHJvcGVydHkgc2hvdWxkIHN1cHBvcnQgd2Via2l0LWltYWdlLXNldApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGQxZGQzOTQuLjZkZGUwMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMi0wOCAg
TWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAgW0pTQ10gQWRkIHRl
c3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBzZXJpYWxpemF0aW9u
IGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBvZgorICAgICAgICB0aGUgSlNDIGltcGxl
bWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxhciB0ZXN0cworICAgICAg
ICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBq
c2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBqc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogRXhjbHVkZSBqc2MgdGVzdHMuCisKIDIw
MTItMTItMDcgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2NDk4NTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTM3IEBACisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15
TmV3S2V5In19OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJm
b28iOiJ6b28iLCJiYXIiOiJteU5ld0tleSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBl
eHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gW106CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIFtd
OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgK
KworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6b28ifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28ifToKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvIHsiZm9vIjpudWxsfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZm
ZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxp
emUgdG8ge306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnko
b2JqKQorU2VyaWFsaXplIHt9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdW5kZWZpbmVkOgorUEFTUyBKU09O
LnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB1bmRl
ZmluZWQ6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxl
bmd0aAorCitEZXNlcmlhbGl6ZSB0byB0cnVlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmop
IGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB0cnVlOgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
ZmFsc2U6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2Jq
KQorU2VyaWFsaXplIGZhbHNlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gW251bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGxdOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlz
IEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBbbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbF06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVk
QnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxMDoKK1BBU1MgSlNPTi5zdHJp
bmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMTA6CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNl
cmlhbGl6ZSB0byAtMTA6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJp
bmdpZnkob2JqKQorU2VyaWFsaXplIC0xMDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIDEwNzM3NDE4MjQ6CitQ
QVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFs
aXplIDEwNzM3NDE4MjQ6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVy
VmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAzNjAyODc5NzAxODk2Mzk3MDoKK1BBU1Mg
SlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUg
MzYwMjg3OTcwMTg5NjM5NzA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVm
ZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxLjIzOgorUEFTUyBKU09OLnN0cmlu
Z2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAxLjIzOgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVz
ZXJpYWxpemUgdG8gIiI6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJp
bmdpZnkob2JqKQorU2VyaWFsaXplICIiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gImFiYyI6CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplICJh
YmMiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8geyJpbnRlZ2VyIjoxMjN9OgorUEFTUyBKU09OLnN0cmluZ2lm
eShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImludGVnZXIiOjEy
M306CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0
aAorCitEZXNlcmlhbGl6ZSB0byB7InN0cmluZyI6InN0ciJ9OgorUEFTUyBKU09OLnN0cmluZ2lm
eShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7InN0cmluZyI6InN0
ciJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8geyJsaXN0IjpbMSwyLDNdfToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJsaXN0IjpbMSwy
LDNdfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIG51bGw6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIG51bGw6CitQQVNTIGJ1ZmZlclZpZXcu
bGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7
fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitT
ZXJpYWxpemUge306CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFs
dWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwi
b3V0ZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJpbm5lciI6eyJoZWxsbyI6InRoZXJl
In0sIm91dGVyIjp7ImhlbGxvIjoidGhlcmUifX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlz
IGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImhlbGxvIjoi
dGhlcmUifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShv
YmopCitTZXJpYWxpemUgeyJoZWxsbyI6InRoZXJlIn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3Ro
IGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImEiOiJh
IiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiYSI6ImEiLCJ1IjoizrHOsiIsImQiOjQyfToK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIHsiYSI6ImFiIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIEpTT04u
c3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiYSI6
ImFiIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVj
dGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitTZXJpYWxpemUgdW5kZWZpbmVkOgorUEFTUyB0aHJv
d25FeGNlcHRpb24uY29kZSBpcyBleHBlY3RlZEV4Y2VwdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvanNjL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZDcyNWYzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzYy9zZXJpYWxpemVk
LXNjcmlwdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMjY0IEBACis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxz
Y3JpcHQ+CitmdW5jdGlvbiBleHBlY3RCdWZmZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVmZmVy
KSB7CisgICAgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMgPSBleHBlY3RlZFZhbHVlczsKKyAgICBidWZm
ZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKKyAgICBzaG91bGRCZSgiYnVmZmVyVmll
dy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoIik7CisgICAgdmFyIHN1Y2Nl
c3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoKTsK
KyAgICBpZiAoc3VjY2VzcykgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVk
VmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRWYWx1ZXNbaV0g
IT0gYnVmZmVyVmlld1tpXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkFycmF5QnVm
ZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4ICIgKyBpICsgIi4gU2hvdWxkIGJlICIgKyBleHBlY3Rl
ZFZhbHVlc1tpXSArICIuIFdhcyAiICsgYnVmZmVyVmlld1tpXSk7CisgICAgICAgICAgICAgICAg
c3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgIC8vIG91dHB1
dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFkZGluZyBiYWNrIGludG8gdGhlIHRlc3QKKyAgICAgICAg
dmFyIG91dHB1dCA9IFtdOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVyVmlldy5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdbaV0udG9TdHJp
bmcoMTYpOworICAgICAgICAgICAgaWYgKGhleFZhbC5sZW5ndGggPCA0KSB7CisgICAgICAgICAg
ICAgICAgaGV4VmFsID0gIjAwMDAiLnNsaWNlKGhleFZhbC5sZW5ndGgpICsgaGV4VmFsOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgb3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7CisgICAg
ICAgIH0KKyAgICAgICAgZGVidWcoIkFjdHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4oIiwg
IikgKyAiXSIpOworICAgIH0KK30KKworZnVuY3Rpb24gbWFrZUJ1ZmZlcihzZXJpYWxpemVkVmFs
dWVzKSB7CisgICAgdmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZm
ZXIoc2VyaWFsaXplZFZhbHVlcy5sZW5ndGgpKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNl
cmlhbGl6ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tpXSA9IHNl
cmlhbGl6ZWRWYWx1ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1ZmZlcjsK
K30KKworCitmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmosIHZhbHVlcywgc2VyaWFsaXpl
RXhjZXB0aW9uVmFsdWUpIHsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBpZiAoIXNlcmlhbGl6ZUV4
Y2VwdGlvblZhbHVlKSB7CisgICAgICAgIHNlbGYub2JqID0gb2JqOworICAgICAgICBkZWJ1Zygi
RGVzZXJpYWxpemUgdG8gIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgICAgICBz
ZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVmZmVyKHZhbHVl
cykpOworICAgICAgICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkobmV3T2JqKSIsICJKU09OLnN0
cmluZ2lmeShvYmopIik7CisgICAgfQorCisgICAgZGVidWcoIlNlcmlhbGl6ZSAiICsgSlNPTi5z
dHJpbmdpZnkob2JqKSArICI6Iik7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHNlcmlhbGl6ZWQg
PSBpbnRlcm5hbHMuc2VyaWFsaXplT2JqZWN0KG9iaik7CisgICAgICAgIGlmIChzZXJpYWxpemVF
eGNlcHRpb25WYWx1ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUgdGhy
b3duIGFuIGV4Y2VwdGlvbiBvZiB0eXBlICIsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKTsKKyAg
ICAgICAgfQorICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoIXNlcmlhbGl6ZUV4Y2VwdGlv
blZhbHVlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaHJldyBleGNlcHRpb24gIiArIGUp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2Vs
Zi50aHJvd25FeGNlcHRpb24gPSBlOworICAgICAgICAgICAgc2VsZi5leHBlY3RlZEV4Y2VwdGlv
biA9IHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlOworICAgICAgICAgICAgc2hvdWxkQmUoInRocm93
bkV4Y2VwdGlvbi5jb2RlIiwgImV4cGVjdGVkRXhjZXB0aW9uIik7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9CisgICAgZXhwZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBzZXJp
YWxpemVkKTsKK30KKwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjoge2Jhejog
J215TmV3S2V5J319LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDMs
IDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZiwgMHgw
MCwgMHgxMCwKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAwLCAweDZmLCAw
eDAwLAorICAgIDB4NmYsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjIsIDB4MDAs
CisgICAgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKyAg
ICAweDAwLCAweDYyLCAweDAwLCAweDYxLCAweDAwLCAweDdhLCAweDAwLCAweDEwLAorICAgIDB4
MDgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAsCisgICAgMHg0ZSwg
MHgwMCwgMHg2NSwgMHgwMCwgMHg3NywgMHgwMCwgMHg0YiwgMHgwMCwKKyAgICAweDY1LCAweDAw
LCAweDc5LCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmLAorICAgIDB4ZmYsIDB4ZmYsIDB4
ZmYsIDB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiAnem9vJywgYmFyOiAnbXlO
ZXdLZXknfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAwLCAw
eDAwLAorCTB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAsCisJ
MHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKwkweDZmLCAw
eDAwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAwLAorCTB4NjEsIDB4MDAsIDB4
NzIsIDB4MDAsIDB4MTAsIDB4MDgsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2ZCwgMHgwMCwgMHg3
OSwgMHgwMCwgMHg0ZSwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDc3LCAweDAwLCAweDRiLCAweDAw
LCAweDY1LCAweDAwLCAweDc5LAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwor
Cit0ZXN0U2VyaWFsaXphdGlvbihbXSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAx
LCAweDAwLCAweDAwLCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwor
dGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogInpvbyJ9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgw
MCwgMHg2ZiwgMHgwMCwgMHgxMCwKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAw
LCAweDZmLCAweDAwLAorCTB4NmYsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwor
dGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogbnVsbH0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDY2LCAweDAwLCAweDZmLCAweDAw
LCAweDZmLCAweDAwLCAweDA0LAorCTB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOworCit0ZXN0
U2VyaWFsaXphdGlvbih7fSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweGZm
LCAweGZmLCAweGZmLAorCTB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbih1bmRlZmluZWQs
CitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMworXSk7Cit0ZXN0U2VyaWFsaXphdGlv
bih0cnVlLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDkKK10pOwordGVzdFNlcmlh
bGl6YXRpb24oZmFsc2UsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwOAorXSk7Cit0
ZXN0U2VyaWFsaXphdGlvbihuZXcgQXJyYXkoMTAwKSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAw
eDAwLCAweDAxLCAweDY0LCAweDAwLCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4
ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oMTAsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwNSwgMHgwYSwgMHgwMCwgMHgwMCwKKwkweDAwCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KC0xMCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweGY2LCAweGZmLCAweGZm
LAorCTB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiwzMCksCitbCisJMHgw
MywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDQwCitdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsNTUpLAorWworCTB4MDMsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MGEsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwMCwgMHg2MCwg
MHg0MywKK10pOwordGVzdFNlcmlhbGl6YXRpb24oMS4yMywKK1sKKwkweDAzLCAweDAwLCAweDAw
LCAweDAwLCAweDBhLCAweGFlLCAweDQ3LCAweGUxLAorCTB4N2EsIDB4MTQsIDB4YWUsIDB4ZjMs
IDB4M2YKK10pOwordGVzdFNlcmlhbGl6YXRpb24oIiIsCitbCisJMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgxMQorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigiYWJjIiwKK1sKKwkweDAzLCAweDAw
LCAweDAwLCAweDAwLCAweDEwLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAs
IDB4NjIsIDB4MDAsIDB4NjMsIDB4MDAKK10pOwordGVzdFNlcmlhbGl6YXRpb24oe2ludGVnZXI6
IDEyM30sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNywgMHgwMCwgMHgw
MCwKKwkweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LAorCTB4
MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDUsCisJMHg3YiwgMHgw
MCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXph
dGlvbih7c3RyaW5nOiAic3RyIn0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwg
MHgwNiwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDczLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAw
eDAwLCAweDY5LAorCTB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MTAsIDB4MDMsIDB4
MDAsCisJMHgwMCwgMHgwMCwgMHg3MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwKKwkw
eGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtsaXN0OiBbMSwy
LDNdfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA0LCAweDAwLCAweDAw
LAorCTB4MDAsIDB4NmMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzQsCisJMHgw
MCwgMHgwMSwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDAw
LCAweDA3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA1LAorCTB4MDIsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwNSwgMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKG51bGwsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwNAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigvYWJjLywKK1sKKwkweDAzLCAweDAwLCAweDAw
LCAweDAwLCAweDEyLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAsIDB4NjIs
IDB4MDAsIDB4NjMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwMAorXSk7CisKK3ZhciBp
bm5lck9iamVjdCA9IHtoZWxsbzogInRoZXJlIn07Cit2YXIgb3V0ZXJPYmplY3QgPSB7aW5uZXI6
IGlubmVyT2JqZWN0fTsKK291dGVyT2JqZWN0WydvdXRlciddID0gaW5uZXJPYmplY3Q7Cit0ZXN0
U2VyaWFsaXphdGlvbihvdXRlck9iamVjdCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDA1LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4
NmUsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwNSwgMHgwMCwgMHgw
MCwgMHgwMCwKKwkweDY4LCAweDAwLCAweDY1LCAweDAwLCAweDZjLCAweDAwLCAweDZjLCAweDAw
LAorCTB4NmYsIDB4MDAsIDB4MTAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzQsCisJMHgw
MCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwKKwkweDAwLCAweGZm
LCAweGZmLCAweGZmLCAweGZmLCAweDA1LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NmYsIDB4MDAs
IDB4NzUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3MiwgMHgwMCwgMHgxMywg
MHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKGlu
bmVyT2JqZWN0LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDUsIDB4MDAs
IDB4MDAsCisJMHgwMCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2YywgMHgwMCwgMHg2YywK
KwkweDAwLCAweDZmLCAweDAwLCAweDEwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLAorCTB4NzQs
IDB4MDAsIDB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsCisJMHg2NSwgMHgwMCwg
MHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7CisKK3ZhciB1bmljb2RlT2JqZWN0ID0ge2E6ICdh
JywgdTogU3RyaW5nLmZyb21DaGFyQ29kZSgweDAzQjEsMHgwM0IyKSwgZDogNDJ9OwordGVzdFNl
cmlhbGl6YXRpb24odW5pY29kZU9iamVjdCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDAxLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAsIDB4MTAsIDB4ZmUsIDB4
ZmYsIDB4ZmYsIDB4ZmYsCisJMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NSwgMHgw
MCwgMHgxMCwKKwkweDAyLCAweDAwLCAweDAwLCAweDAwLCAweGIxLCAweDAzLCAweGIyLCAweDAz
LAorCTB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4MDUsIDB4MmEsCisJMHgw
MCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit1bmljb2RlT2JqZWN0
LmEgPSAnYWInOwordGVzdFNlcmlhbGl6YXRpb24odW5pY29kZU9iamVjdCwKK1sKKwkweDAzLCAw
eDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAxLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4
MDAsIDB4MTAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHg2MSwgMHgwMCwgMHg2MiwgMHgw
MCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDc1LCAweDAwLCAweDEwLCAweDAyLCAweDAw
LCAweDAwLCAweDAwLCAweGIxLAorCTB4MDMsIDB4YjIsIDB4MDMsIDB4MDEsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4NjQsCisJMHgwMCwgMHgwNSwgMHgyYSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmZiwg
MHhmZiwKKwkweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oZnVuY3Rpb24oKXt9
LCBbXSwgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc4MmU0OGYuLjA3NjRm
M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMjQ2LDYgKzI0Niw5IEBAIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMgWyBXb250Rml4IF0K
IGluc3BlY3Rvci9zdHlsZXMvdmVuZG9yLXByZWZpeGVzLmh0bWwgWyBXb250Rml4IF0KIGZhc3Qv
Y3NzL2FwcGxlLXByZWZpeC5odG1sIFsgV29udEZpeCBdCiAKKyMgVGhlc2UgdGVzdHMgYXJlIHNw
ZWNpZmljIHRvIEpTQworanNjIFsgV29udEZpeCBdCisKICMgUGVyZiB0ZXN0cyBhcmUgcmVhbGx5
IHNsb3cgaW4gZGVidWcgYnVpbGRzIGFuZCB0aGVyZSBhcmUgZmV3IGJlbmVmaXRzIGluCiAjIHJ1
bm5pbmcgdGhlbS4KIFsgRGVidWcgXSBwZXJmIFsgV29udEZpeCBdCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBi
ZGIzYi4uYjM5ZjM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA4ICBN
aWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4KKworICAgICAgICBbSlNDXSBBZGQgdGVz
dHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6YXRpb24g
YW5kIGRlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zIG9mCisgICAgICAgIHRoZSBKU0MgaW1wbGVt
ZW50YXRpb24gb2YgU2VyaWFsaXplZFNjcmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisgICAgICAg
IGFscmVhZHkgZXhpc3QgZm9yIHRoZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBUZXN0
OiBwbGF0Zm9ybS9qc2MvZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwK
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIpOgorCiAyMDEyLTEy
LTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2OTkzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCA1YTQ1ZDVkLi42OWM5MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjUxLDExICsyNTEs
MTEgQEAgX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjE1ZGV0YWNoRnJvbUZyYW1lRXYKIF9f
Wk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxOGFkZEFyY2hpdmVSZXNvdXJjZUVOM1dURjEwUGFz
c1JlZlB0cklOU18xNUFyY2hpdmVSZXNvdXJjZUVFRQogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxv
YWRlcjMyZGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2VFUktOU18yM0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlRQogX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2Vy
aWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0
b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlv
bkVycm9yTW9kZUUKLV9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTRjcmVhdGVG
cm9tV2lyZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZh
bHVlNmNyZWF0ZUVQTjNKU0M5RXhlY1N0YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5T
NV82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8xMUFycmF5
QnVmZmVyRUVFTG0xRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRQogX19aTjdXZWJDb3Jl
MjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJD
b3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU4dG9TdHJpbmdFdgotX19aTks3V2ViQ29yZTIxU2Vy
aWFsaXplZFNjcmlwdFZhbHVlMTJ0b1dpcmVTdHJpbmdFdgorX19aTjdXZWJDb3JlMjFTZXJpYWxp
emVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xv
YmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxq
MUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKK19fWk43V2ViQ29yZTIxU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQzFFUk4zV1RGNlZlY3RvckloTGowRUVFCiBfX1pON1dlYkNvcmU0dG9KU0VQ
TjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM1dURjExQXJyYXlCdWZm
ZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjFhZGRQbHVnSW5TdHJlYW1Mb2FkZXJF
UE5TXzE0UmVzb3VyY2VMb2FkZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjJhZGRB
bGxBcmNoaXZlUmVzb3VyY2VzRVBOU183QXJjaGl2ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBmZjgyODlhLi45MTVmNGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC0xNzMyLDE0ICsxNzMyLDI1IEBAIFN0cmluZyBJbnRlcm5hbHM6OmdldEN1
cnJlbnRDdXJzb3JJbmZvKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAK
IFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKIHsKKyNpZiBVU0UoVjgp
CiAgICAgU3RyaW5nIHN0cmluZ1ZhbHVlID0gdmFsdWUtPnRvV2lyZVN0cmluZygpOwogICAgIHJl
dHVybiBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihzdHJpbmdW
YWx1ZS5pbXBsKCktPmNoYXJhY3RlcnMoKSksIHN0cmluZ1ZhbHVlLnNpemVJbkJ5dGVzKCkpOwor
I2Vsc2UKKyAgICBWZWN0b3I8dWludDhfdD4gYnl0ZXMgPSB2YWx1ZS0+ZGF0YSgpOworICAgIHJl
dHVybiBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGJ5dGVzLmRhdGEoKSwgYnl0ZXMuc2l6ZSgpKTsKKyNl
bmRpZgogfQogCiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSW50ZXJuYWxzOjpk
ZXNlcmlhbGl6ZUJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIpIGNvbnN0CiB7
CisjaWYgVVNFKFY4KQogICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+
KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXplb2YoVUNoYXIpKTsK
ICAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSh2YWx1ZSk7
CisjZWxzZQorICAgIFZlY3Rvcjx1aW50OF90PiBieXRlczsKKyAgICBieXRlcy5hcHBlbmQoc3Rh
dGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVu
Z3RoKCkpOworICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0KGJ5dGVzKTsK
KyNlbmRpZgogfQogCiB2b2lkIEludGVybmFsczo6c2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJv
b2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NjBiMjI1Li41YmE2N2M2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMTItMDggIE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsu
b3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlv
biB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNDQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlz
bXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0
VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAgYWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGlt
cGxlbWVudGF0aW9uLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmLmluOgorCiAyMDEyLTEy
LTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2OTkzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmLmluIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVm
LmluCmluZGV4IDRlNjcxNzguLmI0OGQ5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLmRlZi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4K
QEAgLTE2Myw2ICsxNjMsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQ
Ql9XQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCX1dJQFoKICAgICAgICAgPz8wU3Ry
aW5nQFdURkBAUUFFQFZBU0NJSUxpdGVyYWxAMUBAWgorICAgICAgICA/PzBTZXJpYWxpemVkU2Ny
aXB0VmFsdWVAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFlFQCQwQUBAV1RGQEBAWgogICAgICAg
ICA/PzFTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFQFhaCiAgICAgICAgID9hYnNv
bHV0ZUJvdW5kaW5nQm94UmVjdEBSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAy
QF9OQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hSZWN0SWdub3JpbmdUcmFuc2Zvcm1z
QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAWFoKQEAgLTE3Nyw3ICsxNzgs
NiBAQCBFWFBPUlRTCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdU
RkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVA
V2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0
ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRy
QFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAy
QEBaCiAgICAgICAgID9jcmVhdGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0
ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKLSAgICAgICAg
P2NyZWF0ZUZyb21XaXJlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFz
c1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0
QEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBB
VkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAg
ID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNWYWx1
ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JAVj8k
UmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6YXRp
b25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBXZWJD
b3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBAIC0zMDAsOCAr
MzAwLDYgQEAgRVhQT1JUUwogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlND
QEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVlJhbmdlQDFAQFoKICAg
ICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFW
SlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlTGlzdEAxQEBaCiAgICAgICAgID90b1JhbmdlQFdl
YkNvcmVAQFlBUEFWUmFuZ2VAMUBWSlNWYWx1ZUBKU0NAQEBaCi0gICAgICAgID90b1N0cmluZ0BT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWU3RyaW5nQFdURkBAWFoKLSAgICAg
ICAgP3RvV2lyZVN0cmluZ0BTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUJFP0FWU3Ry
aW5nQFdURkBAWFoKICAgICAgICAgP3RyZWVTY29wZUBOb2RlQFdlYkNvcmVAQFFCRVBBVlRyZWVT
Y29wZUAyQFhaCiAgICAgICAgID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNA
RG9jdW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFuZ3VhZ2Vz
QFdlYkNvcmVAQFlBP0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpkaWZmIC0t
Z2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKaW5kZXggNWI3Nzc3Ni4uNDBmZmU0YSAxMDA2NDQKLS0tIGEvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCkBAIC04OSw3ICs4OSw2IEBAIF9aTjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5nQ29udGV4
dEMxRVBOU180Tm9kZUU7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0NvbnRleHREMUV2Owog
X1pON1dlYkNvcmUyMUluc3BlY3RvckNvbnNvbGVBZ2VudDI4Y29uc29sZU1lc3NhZ2VBcmd1bWVu
dENvdW50c0V2OwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUE4z
SlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18x
MU1lc3NhZ2VQb3J0RUVFTGoxRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxqMUVF
RU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7Ci1fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNj
cmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9i
amVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMajFFRUVO
U18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwogX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0
cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7CiBfWk43
V2ViQ29yZTIyZXh0ZXJuYWxSZXByZXNlbnRhdGlvbkVQTlNfN0VsZW1lbnRFajsKIF9aTjdXZWJD
b3JlMjJpbnN0cnVtZW50YXRpb25Gb3JQYWdlRVBOU180UGFnZUU7CkBAIC0yMTgsMTMgKzIxNywx
MiBAQCBfWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWI7CiBfWk5LN1dl
YkNvcmU1RnJhbWUyNXRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHRFdjsKIF9aTjdXZWJDb3JlNHRv
SlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNXVEYxMUFycmF5
QnVmZmVyRTsKIF9aTjdXZWJDb3JlMTN0b0FycmF5QnVmZmVyRU4zSlNDN0pTVmFsdWVFOworX1pO
N1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNT
dGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18x
MU1lc3NhZ2VQb3J0RUVFTGoxRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsKIF9aTjdX
ZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVBOM0pTQzlFeGVjU3RhdGVFTlMx
XzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxt
MUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRp
b25FcnJvck1vZGVFOwotX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTE0Y3JlYXRl
RnJvbVdpcmVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTZjcmVhdGVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTh0b1N0cmluZ0V2OwotX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTEx
ZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RG
NlZlY3RvcklOUzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFTlNfMjJTZXJpYWxp
emF0aW9uRXJyb3JNb2RlRTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVDMUVS
TjNXVEY2VmVjdG9ySWhMajBFRUU7CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
RDFFdjsKLV9aTks3V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTJ0b1dpcmVTdHJpbmdF
djsKIF9aTjdXZWJDb3JlMTZDU1NQYXJzZXJDb250ZXh0QzFFUE5TXzhEb2N1bWVudEVSS05TXzRL
VVJMRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHMxMXBh
cnNlU3RyaW5nRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVu
dHNDMUVQTlNfMTVTdHlsZVJ1bGVJbXBvcnRFUktOM1dURjZTdHJpbmdFUktOU18xNkNTU1BhcnNl
ckNvbnRleHRFOwotLSAKMS43LjkuNQoK
</data>
<flag name="commit-queue"
          id="194897"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178382</attachid>
            <date>2012-12-08 15:39:13 -0800</date>
            <delta_ts>2012-12-08 16:18:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>26394</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogU2F0LCA4IERlYyAy
MDEyIDE1OjM2OjAzIC0wODAwClN1YmplY3Q6IFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQg
c2VyaWFsaXphdGlvbiB2YWx1ZXMKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKwogLi4uL2pzYy9zZXJpYWxpemVkLXNj
cmlwdC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTM3ICsrKysrKysrKysKIExheW91dFRl
c3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sICAgICAgIHwgIDI2NCArKysrKysr
KysrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucyAgICAgfCAgICAzICsKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxOCArKwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gICAg
ICAgICAgICAgICAgICAgICAgfCAgICA2ICstCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgICAgICAgICAgICAgICB8ICAgMTEgKwogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIFNvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZi5pbiAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlciAgICAgICAgICAgICAgICAgICAgfCAgICA4ICstCiAxMSBmaWxlcyBj
aGFuZ2VkLCA0ODIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12
YWx1ZS5odG1sCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDExNmNm
MDUuLmJjNTI1ZjEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0xMi0wOCAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+
CisKKyAgICAgICAgW0pTQ10gQWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHRlc3RzIGZvciBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBv
ZgorICAgICAgICB0aGUgSlNDIGltcGxlbWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS4gU2ltaWxhciB0ZXN0cworICAgICAgICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVt
ZW50YXRpb24uCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgor
CiAyMDEyLTEyLTA2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBDU1MgY3Vyc29yIHByb3BlcnR5IHNob3VsZCBzdXBwb3J0IHdlYmtpdC1pbWFnZS1zZXQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBkMWRkMzk0Li42ZGRlMDMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTItMDgg
IE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0
ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQyMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlv
biBhbmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBs
ZW1lbnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAg
ICAgYWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICog
anNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICoganNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IEV4Y2x1ZGUganNjIHRlc3RzLgorCiAy
MDEyLTEyLTA3ICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjQ5ODU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzNyBAQAorCitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJt
eU5ld0tleSJ9fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28iLCJiYXIiOnsiYmF6IjoibXlOZXdLZXkifX06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAor
CitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6Im15TmV3S2V5In06CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsi
Zm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMg
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIFtdOgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBb
XToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3Ro
CisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjoiem9vIn06CitQ
QVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitE
ZXNlcmlhbGl6ZSB0byB7ImZvbyI6bnVsbH06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjpudWxsfToKK1BBU1MgYnVm
ZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFs
aXplIHRvIHt9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRC
dWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHVuZGVmaW5lZDoKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgdW5k
ZWZpbmVkOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5s
ZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdHJ1ZToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2Jq
KSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgdHJ1ZToKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IGZhbHNlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9i
aikKK1NlcmlhbGl6ZSBmYWxzZToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRC
dWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIFtudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsXToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgW251bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGxdOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3Rl
ZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMTA6CitQQVNTIEpTT04uc3Ry
aW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEwOgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVz
ZXJpYWxpemUgdG8gLTEwOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAtMTA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4
cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxMDczNzQxODI0Ogor
UEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nlcmlh
bGl6ZSAxMDczNzQxODI0OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZl
clZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMzYwMjg3OTcwMTg5NjM5NzA6CitQQVNT
IEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXpl
IDM2MDI4Nzk3MDE4OTYzOTcwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMS4yMzoKK1BBU1MgSlNPTi5zdHJp
bmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMS4yMzoKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvICIiOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAiIjoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvICJhYmMiOgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAi
YWJjIjoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiaW50ZWdlciI6MTIzfToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJpbnRlZ2VyIjox
MjN9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8geyJzdHJpbmciOiJzdHIifToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJzdHJpbmciOiJz
dHIifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHsibGlzdCI6WzEsMiwzXX06CitQQVNTIEpTT04uc3RyaW5n
aWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsibGlzdCI6WzEs
MiwzXX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxl
bmd0aAorCitEZXNlcmlhbGl6ZSB0byBudWxsOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmop
IGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBudWxsOgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
e306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQor
U2VyaWFsaXplIHt9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZh
bHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJpbm5lciI6eyJoZWxsbyI6InRoZXJlIn0s
Im91dGVyIjp7ImhlbGxvIjoidGhlcmUifX06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiaW5uZXIiOnsiaGVsbG8iOiJ0aGVy
ZSJ9LCJvdXRlciI6eyJoZWxsbyI6InRoZXJlIn19OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJoZWxsbyI6
InRoZXJlIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnko
b2JqKQorU2VyaWFsaXplIHsiaGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0
aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJhIjoi
YSIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpT
T04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImEiOiJhIiwidSI6Is6xzrIiLCJkIjo0Mn06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAor
CitEZXNlcmlhbGl6ZSB0byB7ImEiOiJhYiIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBKU09O
LnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImEi
OiJhYiIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworU2VyaWFsaXplIHVuZGVmaW5lZDoKK1BBU1MgdGhy
b3duRXhjZXB0aW9uLmNvZGUgaXMgZXhwZWN0ZWRFeGNlcHRpb24KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2pzYy9zZXJp
YWxpemVkLXNjcmlwdC12YWx1ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjZhMGNmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qc2Mvc2VyaWFsaXpl
ZC1zY3JpcHQtdmFsdWUuaHRtbApAQCAtMCwwICsxLDI2NCBAQAorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0Pgor
ZnVuY3Rpb24gZXhwZWN0QnVmZmVyVmFsdWUoZXhwZWN0ZWRWYWx1ZXMsIGJ1ZmZlcikgeworICAg
IGV4cGVjdGVkQnVmZmVyVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZXM7CisgICAgYnVmZmVyVmlldyA9
IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7CisgICAgc2hvdWxkQmUoImJ1ZmZlclZpZXcubGVuZ3Ro
IiwgImV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aCIpOworICAgIHZhciBzdWNjZXNzID0gKGJ1
ZmZlclZpZXcubGVuZ3RoID09IGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aCk7CisgICAgaWYg
KHN1Y2Nlc3MpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZhbHVlcy5s
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgaWYgKGV4cGVjdGVkVmFsdWVzW2ldICE9IGJ1ZmZl
clZpZXdbaV0pIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJBcnJheUJ1ZmZlclZpZXdz
IGRpZmZlciBhdCBpbmRleCAiICsgaSArICIuIFNob3VsZCBiZSAiICsgZXhwZWN0ZWRWYWx1ZXNb
aV0gKyAiLiBXYXMgIiArIGJ1ZmZlclZpZXdbaV0pOworICAgICAgICAgICAgICAgIHN1Y2Nlc3Mg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAvLyBvdXRwdXQgdGhlIGZ1
bGwgYnVmZmVyIGZvciBhZGRpbmcgYmFjayBpbnRvIHRoZSB0ZXN0CisgICAgICAgIHZhciBvdXRw
dXQgPSBbXTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGJ1ZmZlclZpZXcubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgICAgIHZhciBoZXhWYWwgPSBidWZmZXJWaWV3W2ldLnRvU3RyaW5nKDE2KTsK
KyAgICAgICAgICAgIGlmIChoZXhWYWwubGVuZ3RoIDwgNCkgeworICAgICAgICAgICAgICAgIGhl
eFZhbCA9ICIwMDAwIi5zbGljZShoZXhWYWwubGVuZ3RoKSArIGhleFZhbDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIG91dHB1dC5wdXNoKCIweCIgKyBoZXhWYWwpOworICAgICAgICB9Cisg
ICAgICAgIGRlYnVnKCJBY3R1YWwgYnVmZmVyOiBbIiArIG91dHB1dC5qb2luKCIsICIpICsgIl0i
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIG1ha2VCdWZmZXIoc2VyaWFsaXplZFZhbHVlcykgewor
ICAgIHZhciBidWZmZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKHNlcmlh
bGl6ZWRWYWx1ZXMubGVuZ3RoKSk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZXJpYWxpemVk
VmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGJ1ZmZlclZpZXdbaV0gPSBzZXJpYWxpemVk
VmFsdWVzW2ldOworICAgIH0KKyAgICByZXR1cm4gYnVmZmVyVmlldy5idWZmZXI7Cit9CisKKwor
ZnVuY3Rpb24gdGVzdFNlcmlhbGl6YXRpb24ob2JqLCB2YWx1ZXMsIHNlcmlhbGl6ZUV4Y2VwdGlv
blZhbHVlKSB7CisgICAgZGVidWcoIiIpOworCisgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25W
YWx1ZSkgeworICAgICAgICBzZWxmLm9iaiA9IG9iajsKKyAgICAgICAgZGVidWcoIkRlc2VyaWFs
aXplIHRvICIgKyBKU09OLnN0cmluZ2lmeShvYmopICsgIjoiKTsKKyAgICAgICAgc2VsZi5uZXdP
YmogPSBpbnRlcm5hbHMuZGVzZXJpYWxpemVCdWZmZXIobWFrZUJ1ZmZlcih2YWx1ZXMpKTsKKyAg
ICAgICAgc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5KG5ld09iaikiLCAiSlNPTi5zdHJpbmdpZnko
b2JqKSIpOworICAgIH0KKworICAgIGRlYnVnKCJTZXJpYWxpemUgIiArIEpTT04uc3RyaW5naWZ5
KG9iaikgKyAiOiIpOworICAgIHRyeSB7CisgICAgICAgIHZhciBzZXJpYWxpemVkID0gaW50ZXJu
YWxzLnNlcmlhbGl6ZU9iamVjdChvYmopOworICAgICAgICBpZiAoc2VyaWFsaXplRXhjZXB0aW9u
VmFsdWUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIHRocm93biBhbiBl
eGNlcHRpb24gb2YgdHlwZSAiLCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSk7CisgICAgICAgIH0K
KyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkg
eworICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhyZXcgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNlbGYudGhyb3du
RXhjZXB0aW9uID0gZTsKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRFeGNlcHRpb24gPSBzZXJp
YWxpemVFeGNlcHRpb25WYWx1ZTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJ0aHJvd25FeGNlcHRp
b24uY29kZSIsICJleHBlY3RlZEV4Y2VwdGlvbiIpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfQorICAgIGV4cGVjdEJ1ZmZlclZhbHVlKHZhbHVlcywgc2VyaWFsaXplZCk7
Cit9CisKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBiYXI6IHtiYXo6ICdteU5ld0tl
eSd9fSwKK1sKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAwLCAw
eDAwLAorICAgIDB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAs
CisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKyAg
ICAweDZmLCAweDAwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAwLAorICAgIDB4
NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwg
MHg2MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3YSwgMHgwMCwgMHgxMCwKKyAgICAweDA4LCAweDAw
LCAweDAwLCAweDAwLCAweDZkLCAweDAwLCAweDc5LCAweDAwLAorICAgIDB4NGUsIDB4MDAsIDB4
NjUsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NGIsIDB4MDAsCisgICAgMHg2NSwgMHgwMCwgMHg3OSwg
MHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAweGZmLCAweGZmLCAweGZmLCAweGZm
CitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjogJ215TmV3S2V5J30s
CitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkw
eDAwLCAweDY2LCAweDAwLCAweDZmLCAweDAwLCAweDZmLCAweDAwLCAweDEwLAorCTB4MDMsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NmYsIDB4MDAsCisJMHg2ZiwgMHgwMCwgMHgw
MywgMHgwMCwgMHgwMCwgMHgwMCwgMHg2MiwgMHgwMCwKKwkweDYxLCAweDAwLCAweDcyLCAweDAw
LCAweDEwLCAweDA4LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAs
IDB4NGUsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3NywgMHgwMCwgMHg0YiwgMHgwMCwgMHg2NSwg
MHgwMCwgMHg3OSwKKwkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordGVzdFNl
cmlhbGl6YXRpb24oW10sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwg
MHgwMCwgMHgwMCwKKwkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKHtmb286ICJ6b28ifSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAy
LCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYs
IDB4MDAsIDB4MTAsCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2Ziwg
MHgwMCwKKwkweDZmLCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKHtmb286IG51bGx9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIs
IDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2Ziwg
MHgwMCwgMHgwNCwKKwkweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6
YXRpb24oe30sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHhmZiwgMHhmZiwg
MHhmZiwKKwkweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24odW5kZWZpbmVkLAorWworCTB4
MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMKK10pOwordGVzdFNlcmlhbGl6YXRpb24odHJ1ZSwK
K1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA5CitdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KGZhbHNlLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDgKK10pOwordGVzdFNlcmlh
bGl6YXRpb24obmV3IEFycmF5KDEwMCksCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MSwgMHg2NCwgMHgwMCwgMHgwMCwKKwkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKDEwLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUs
IDB4MGEsIDB4MDAsIDB4MDAsCisJMHgwMAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigtMTAsCitb
CisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHhmNiwgMHhmZiwgMHhmZiwKKwkweGZm
CitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsMzApLAorWworCTB4MDMsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHg0MAorXSk7Cit0ZXN0U2Vy
aWFsaXphdGlvbihNYXRoLnBvdygyLDU1KSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDBhLCAweDAwLCAweDAwLCAweDAwLAorCTB4MDAsIDB4MDAsIDB4MDAsIDB4NjAsIDB4NDMsCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKDEuMjMsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwYSwgMHhhZSwgMHg0NywgMHhlMSwKKwkweDdhLCAweDE0LCAweGFlLCAweGYzLCAweDNmCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKCIiLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MTEKK10pOwordGVzdFNlcmlhbGl6YXRpb24oImFiYyIsCitbCisJMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgxMCwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDYyLCAw
eDAwLCAweDYzLCAweDAwCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtpbnRlZ2VyOiAxMjN9LAor
WworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDcsIDB4MDAsIDB4MDAsCisJMHgw
MCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDY3
LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDA1LAorCTB4N2IsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oe3N0
cmluZzogInN0ciJ9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDYsIDB4
MDAsIDB4MDAsCisJMHgwMCwgMHg3MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2
OSwKKwkweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDEwLCAweDAzLCAweDAwLAorCTB4
MDAsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsCisJMHhmZiwgMHhm
ZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7bGlzdDogWzEsMiwzXX0sCitb
CisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMCwKKwkweDAw
LCAweDZjLCAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDc0LAorCTB4MDAsIDB4MDEs
IDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwNywg
MHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwKKwkweDAyLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDAwLCAweDAwLCAweDAwLAorCTB4MDUsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
ZmYsIDB4ZmYsIDB4ZmYsCisJMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0
U2VyaWFsaXphdGlvbihudWxsLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQKK10p
OwordGVzdFNlcmlhbGl6YXRpb24oL2FiYy8sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg
MHgxMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDYyLCAweDAwLCAw
eDYzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4MDAsIDB4MDAKK10pOworCit2YXIgaW5uZXJPYmpl
Y3QgPSB7aGVsbG86ICJ0aGVyZSJ9OwordmFyIG91dGVyT2JqZWN0ID0ge2lubmVyOiBpbm5lck9i
amVjdH07CitvdXRlck9iamVjdFsnb3V0ZXInXSA9IGlubmVyT2JqZWN0OwordGVzdFNlcmlhbGl6
YXRpb24ob3V0ZXJPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgw
NSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAw
LCAweDY1LAorCTB4MDAsIDB4NzIsIDB4MDAsIDB4MDIsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAs
CisJMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2YywgMHgwMCwgMHg2YywgMHgwMCwKKwkweDZm
LCAweDAwLCAweDEwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLCAweDc0LAorCTB4MDAsIDB4Njgs
IDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHhmZiwgMHhmZiwg
MHhmZiwgMHhmZiwgMHgwNSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDZmLCAweDAwLCAweDc1LCAw
eDAwLCAweDc0LCAweDAwLCAweDY1LAorCTB4MDAsIDB4NzIsIDB4MDAsIDB4MTMsIDB4MDEsIDB4
ZmYsIDB4ZmYsIDB4ZmYsCisJMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihpbm5lck9iamVj
dCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA1LCAweDAwLCAweDAwLAor
CTB4MDAsIDB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NmMsIDB4MDAsIDB4NmMsCisJMHgwMCwg
MHg2ZiwgMHgwMCwgMHgxMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDc0LCAweDAwLCAw
eDY4LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLAorCTB4NjUsIDB4MDAsIDB4ZmYsIDB4
ZmYsIDB4ZmYsIDB4ZmYKK10pOworCit2YXIgdW5pY29kZU9iamVjdCA9IHthOiAnYScsIHU6IFN0
cmluZy5mcm9tQ2hhckNvZGUoMHgwM0IxLDB4MDNCMiksIGQ6IDQyfTsKK3Rlc3RTZXJpYWxpemF0
aW9uKHVuaWNvZGVPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgw
MSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDEwLCAweGZlLCAweGZmLCAweGZm
LCAweGZmLAorCTB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzUsIDB4MDAsIDB4MTAs
CisJMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMSwgMHgwMywgMHhiMiwgMHgwMywKKwkweDAx
LCAweDAwLCAweDAwLCAweDAwLCAweDY0LCAweDAwLCAweDA1LCAweDJhLAorCTB4MDAsIDB4MDAs
IDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordW5pY29kZU9iamVjdC5hID0gJ2Fi
JzsKK3Rlc3RTZXJpYWxpemF0aW9uKHVuaWNvZGVPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDEw
LCAweDAyLCAweDAwLCAweDAwLCAweDAwLAorCTB4NjEsIDB4MDAsIDB4NjIsIDB4MDAsIDB4MDEs
IDB4MDAsIDB4MDAsIDB4MDAsCisJMHg3NSwgMHgwMCwgMHgxMCwgMHgwMiwgMHgwMCwgMHgwMCwg
MHgwMCwgMHhiMSwKKwkweDAzLCAweGIyLCAweDAzLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAw
eDY0LAorCTB4MDAsIDB4MDUsIDB4MmEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsCisJ
MHhmZiwgMHhmZgorXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKGZ1bmN0aW9uKCl7fSwgW10sIERP
TUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ODJlNDhmLi4wNzY0ZjNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0Niw2ICsyNDYs
OSBAQCBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zIFsgV29udEZpeCBdCiBpbnNwZWN0b3Ivc3R5bGVz
L3ZlbmRvci1wcmVmaXhlcy5odG1sIFsgV29udEZpeCBdCiBmYXN0L2Nzcy9hcHBsZS1wcmVmaXgu
aHRtbCBbIFdvbnRGaXggXQogCisjIFRoZXNlIHRlc3RzIGFyZSBzcGVjaWZpYyB0byBKU0MKK2pz
YyBbIFdvbnRGaXggXQorCiAjIFBlcmYgdGVzdHMgYXJlIHJlYWxseSBzbG93IGluIGRlYnVnIGJ1
aWxkcyBhbmQgdGhlcmUgYXJlIGZldyBiZW5lZml0cyBpbgogIyBydW5uaW5nIHRoZW0uCiBbIERl
YnVnIF0gcGVyZiBbIFdvbnRGaXggXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcwYmRiM2IuLmIzOWYzNDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMi0wOCAgTWljaGFlbCBQcnVldHQgIDxt
aWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAgW0pTQ10gQWRkIHRlc3RzIGZvciBleHBsaWNpdCBz
ZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRp
b24gbWVjaGFuaXNtcyBvZgorICAgICAgICB0aGUgSlNDIGltcGxlbWVudGF0aW9uIG9mIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxhciB0ZXN0cworICAgICAgICBhbHJlYWR5IGV4aXN0IGZv
ciB0aGUgVjggaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vanNjL2Zh
c3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sCisKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OnNlcmlhbGl6ZU9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmRlc2VyaWFsaXplQnVmZmVyKToKKwogMjAxMi0xMi0wNyAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjEzNjk5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNWE0NWQ1ZC4uN2M5MWRk
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI1MCwxMiArMjUwLDEyIEBAIF9fWk43V2ViQ29y
ZTE0RG9jdW1lbnRMb2FkZXIxM2F0dGFjaFRvRnJhbWVFdgogX19aTjdXZWJDb3JlMTREb2N1bWVu
dExvYWRlcjE1ZGV0YWNoRnJvbUZyYW1lRXYKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIx
OGFkZEFyY2hpdmVSZXNvdXJjZUVOM1dURjEwUGFzc1JlZlB0cklOU18xNUFyY2hpdmVSZXNvdXJj
ZUVFRQogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjMyZGlkQ2FuY2VsQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VFUktOU18yM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRQorX19aTjdXZWJDb3Jl
MjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5T
MV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdl
UG9ydEVFRUxqMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKIF9fWk43V2ViQ29yZTIx
U2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFf
MTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBv
cnRFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFCi1fX1pON1dlYkNvcmUyMVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTE0Y3JlYXRlRnJvbVdpcmVFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVO
UzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVF
TG0xRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxtMUVFRU5TXzIyU2VyaWFsaXph
dGlvbkVycm9yTW9kZUUKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0
ZUVSS04zV1RGNlN0cmluZ0UKLV9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlOHRv
U3RyaW5nRXYKLV9fWk5LN1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTEydG9XaXJlU3Ry
aW5nRXYKK19fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlQzFFUk4zV1RGNlZlY3Rv
ckloTGowRUVFCitfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUMxRVJOM1dURjZW
ZWN0b3JJaExtMEVFRQogX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdK
U0RPTUdsb2JhbE9iamVjdEVQTjNXVEYxMUFycmF5QnVmZmVyRQogX19aTjdXZWJDb3JlMTREb2N1
bWVudExvYWRlcjIxYWRkUGx1Z0luU3RyZWFtTG9hZGVyRVBOU18xNFJlc291cmNlTG9hZGVyRQog
X19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjIyYWRkQWxsQXJjaGl2ZVJlc291cmNlc0VQTlNf
N0FyY2hpdmVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZmY4Mjg5YS4u
OTE1ZjRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTczMiwxNCAr
MTczMiwyNSBAQCBTdHJpbmcgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVu
dCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiBQYXNzUmVmUHRyPEFycmF5QnVmZmVy
PiBJbnRlcm5hbHM6OnNlcmlhbGl6ZU9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gdmFsdWUpIGNvbnN0CiB7CisjaWYgVVNFKFY4KQogICAgIFN0cmluZyBzdHJpbmdWYWx1
ZSA9IHZhbHVlLT50b1dpcmVTdHJpbmcoKTsKICAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0
ZShzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oc3RyaW5nVmFsdWUuaW1wbCgpLT5jaGFyYWN0ZXJz
KCkpLCBzdHJpbmdWYWx1ZS5zaXplSW5CeXRlcygpKTsKKyNlbHNlCisgICAgVmVjdG9yPHVpbnQ4
X3Q+IGJ5dGVzID0gdmFsdWUtPmRhdGEoKTsKKyAgICByZXR1cm4gQXJyYXlCdWZmZXI6OmNyZWF0
ZShieXRlcy5kYXRhKCksIGJ5dGVzLnNpemUoKSk7CisjZW5kaWYKIH0KIAogUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IEludGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIoUGFzc1Jl
ZlB0cjxBcnJheUJ1ZmZlcj4gYnVmZmVyKSBjb25zdAogeworI2lmIFVTRShWOCkKICAgICBTdHJp
bmcgdmFsdWUoc3RhdGljX2Nhc3Q8Y29uc3QgVUNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZl
ci0+Ynl0ZUxlbmd0aCgpIC8gc2l6ZW9mKFVDaGFyKSk7CiAgICAgcmV0dXJuIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlRnJvbVdpcmUodmFsdWUpOworI2Vsc2UKKyAgICBWZWN0b3I8dWlu
dDhfdD4gYnl0ZXM7CisgICAgYnl0ZXMuYXBwZW5kKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpKTsKKyAgICByZXR1cm4gU2Vy
aWFsaXplZFNjcmlwdFZhbHVlOjphZG9wdChieXRlcyk7CisjZW5kaWYKIH0KIAogdm9pZCBJbnRl
cm5hbHM6OnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyhib29sIGVuYWJsZWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOTYwYjIyNS4uNWJhNjdjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEy
LTA4ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4KKworICAgICAgICBbSlNDXSBB
ZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6
YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zIG9mCisgICAgICAgIHRoZSBKU0Mg
aW1wbGVtZW50YXRpb24gb2YgU2VyaWFsaXplZFNjcmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisg
ICAgICAgIGFscmVhZHkgZXhpc3QgZm9yIHRoZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAg
ICAqIHdpbi9XZWJLaXQyLmRlZi5pbjoKKwogMjAxMi0xMi0wNyAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjEzNjk5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZi5p
biBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZi5pbgppbmRleCA0ZTY3MTc4Li4xYzU1
YmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmLmluCkBAIC0xNjMsNiArMTYzLDcgQEAgRVhQ
T1JUUwogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0BaCiAgICAgICAgID8/MFN0cmlu
Z0BXVEZAQFFBRUBQQl9XSUBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBWQVNDSUlMaXRl
cmFsQDFAQFoKKyAgICAgICAgPz8wU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEFBRUBB
QVY/JFZlY3RvckBZRUAkMEFAQFdURkBAQFoKICAgICAgICAgPz8xU2VyaWFsaXplZFNjcmlwdFZh
bHVlQFdlYkNvcmVAQFFBRUBYWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVu
ZGVyT2JqZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCiAgICAgICAgID9hYnNvbHV0
ZUJvdW5kaW5nQm94UmVjdElnbm9yaW5nVHJhbnNmb3Jtc0BSZW5kZXJPYmplY3RAV2ViQ29yZUBA
UUJFP0FWSW50UmVjdEAyQFhaCkBAIC0xNzcsNyArMTc4LDYgQEAgRVhQT1JUUwogICAgICAgICA/
Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBW
U2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAUEFWRXhlY1N0YXRlQEpT
Q0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1lc3NhZ2VQb3J0QFdlYkNvcmVA
QEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJyYXlCdWZmZXJAV1RGQEBAV1RG
QEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/Y3JlYXRlQFNo
YWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNoYWRvd1Jvb3RAV2ViQ29yZUBA
QFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCi0gICAgICAgID9jcmVhdGVGcm9tV2lyZUBTZXJpYWxp
emVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgogICAgICAgICA/Y3JlYXRlV3Jh
cHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUds
b2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAgICAgICA/ZGVzZXJpYWxpemVAU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVANEBQ
QVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJpYWxpemF0aW9uRXJyb3JNb2RlQDJAQFoKICAgICAg
ICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0ZW1AV2ViQ29yZUBAUUJFQUJWPyRWZWN0b3JAVlN0
cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpAQCAtMzAwLDggKzMwMCw2IEBAIEVYUE9SVFMKICAgICAg
ICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNE
T01HbG9iYWxPYmplY3RAMUBQQVZSYW5nZUAxQEBaCiAgICAgICAgID90b0pTQFdlYkNvcmVAQFlB
P0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFW
Tm9kZUxpc3RAMUBAWgogICAgICAgICA/dG9SYW5nZUBXZWJDb3JlQEBZQVBBVlJhbmdlQDFAVkpT
VmFsdWVASlNDQEBAWgotICAgICAgICA/dG9TdHJpbmdAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdl
YkNvcmVAQFFBRT9BVlN0cmluZ0BXVEZAQFhaCi0gICAgICAgID90b1dpcmVTdHJpbmdAU2VyaWFs
aXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFCRT9BVlN0cmluZ0BXVEZAQFhaCiAgICAgICAgID90
cmVlU2NvcGVATm9kZUBXZWJDb3JlQEBRQkVQQVZUcmVlU2NvcGVAMkBYWgogICAgICAgICA/dXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQERvY3VtZW50QFdlYkNvcmVAQFFBRVhY
WgogICAgICAgICA/dXNlclByZWZlcnJlZExhbmd1YWdlc0BXZWJDb3JlQEBZQT9BVj8kVmVjdG9y
QFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDVi
Nzc3NzYuLjkwZjRiZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0
ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtODksNyArODksNiBA
QCBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0NvbnRleHRDMUVQTlNfNE5vZGVFOwogX1pON1dl
YkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0RDFFdjsKIF9aTjdXZWJDb3JlMjFJbnNwZWN0b3JD
b25zb2xlQWdlbnQyOGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHNFdjsKIF9aTjdXZWJDb3Jl
MjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVBOM0pTQzlFeGVjU3RhdGVFTlMxXzdKU1Zh
bHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxqMUVFRVBO
UzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMajFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJv
ck1vZGVFOwotX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVF
UE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZf
NlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTGoxRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JN
b2RlRTsKIF9aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9i
YWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FOwogX1pON1dlYkNvcmUyMmV4dGVybmFsUmVwcmVz
ZW50YXRpb25FUE5TXzdFbGVtZW50RWo7CiBfWk43V2ViQ29yZTIyaW5zdHJ1bWVudGF0aW9uRm9y
UGFnZUVQTlNfNFBhZ2VFOwpAQCAtMjE4LDEzICsyMTcsMTQgQEAgX1pON1dlYkNvcmU5RnJhbWVW
aWV3MTdzZXRUcmFja3NSZXBhaW50c0ViOwogX1pOSzdXZWJDb3JlNUZyYW1lMjV0cmFja2VkUmVw
YWludFJlY3RzQXNUZXh0RXY7CiBfWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5T
XzE3SlNET01HbG9iYWxPYmplY3RFUE4zV1RGMTFBcnJheUJ1ZmZlckU7CiBfWk43V2ViQ29yZTEz
dG9BcnJheUJ1ZmZlckVOM0pTQzdKU1ZhbHVlRTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2Ny
aXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2Jq
ZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxqMUVFRU5T
XzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7CitfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlw
dFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVj
dEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVOU18y
MlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTZjcmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklO
UzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJh
eUJ1ZmZlckVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7Ci1fWk43V2ViQ29y
ZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTRjcmVhdGVGcm9tV2lyZUVSS04zV1RGNlN0cmluZ0U7
CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVSS04zV1RGNlN0cmlu
Z0U7CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlOHRvU3RyaW5nRXY7Ci1fWk43
V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0
YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzEx
TWVzc2FnZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOworX1pON1dl
YkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUMxRVJOM1dURjZWZWN0b3JJaExqMEVFRTsKK19a
TjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVDMUVSTjNXVEY2VmVjdG9ySWhMbTBFRUU7
CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlRDFFdjsKLV9aTks3V2ViQ29yZTIx
U2VyaWFsaXplZFNjcmlwdFZhbHVlMTJ0b1dpcmVTdHJpbmdFdjsKIF9aTjdXZWJDb3JlMTZDU1NQ
YXJzZXJDb250ZXh0QzFFUE5TXzhEb2N1bWVudEVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRTsK
IF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHMxMXBhcnNlU3RyaW5nRVJLTjNXVEY2U3Ry
aW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHNDMUVQTlNfMTVTdHlsZVJ1bGVJ
bXBvcnRFUktOM1dURjZTdHJpbmdFUktOU18xNkNTU1BhcnNlckNvbnRleHRFOwotLSAKMS43Ljku
NQoK
</data>
<flag name="commit-queue"
          id="194900"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178385</attachid>
            <date>2012-12-08 16:18:36 -0800</date>
            <delta_ts>2012-12-10 11:02:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>26114</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogU2F0LCA4IERlYyAy
MDEyIDE2OjE1OjEzIC0wODAwClN1YmplY3Q6IFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQg
c2VyaWFsaXphdGlvbiB2YWx1ZXMKCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKwogLi4uL2pzYy9zZXJpYWxpemVkLXNj
cmlwdC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTM3ICsrKysrKysrKysKIExheW91dFRl
c3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sICAgICAgIHwgIDI2NCArKysrKysr
KysrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucyAgICAgfCAgICAzICsKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxOCArKwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gICAg
ICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgICAgICAgICAgICAgICB8ICAgMTEgKwogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIFNvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZi5pbiAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlciAgICAgICAgICAgICAgICAgICAgfCAgICA5ICstCiAxMSBmaWxlcyBj
aGFuZ2VkLCA0ODAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2pzYy9zZXJpYWxpemVkLXNjcmlwdC12
YWx1ZS5odG1sCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDExNmNm
MDUuLmJjNTI1ZjEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0xMi0wOCAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+
CisKKyAgICAgICAgW0pTQ10gQWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZh
bHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHRlc3RzIGZvciBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBv
ZgorICAgICAgICB0aGUgSlNDIGltcGxlbWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS4gU2ltaWxhciB0ZXN0cworICAgICAgICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVt
ZW50YXRpb24uCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgor
CiAyMDEyLTEyLTA2ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBDU1MgY3Vyc29yIHByb3BlcnR5IHNob3VsZCBzdXBwb3J0IHdlYmtpdC1pbWFnZS1zZXQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBkMWRkMzk0Li42ZGRlMDMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTItMDgg
IE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0
ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQyMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlv
biBhbmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBs
ZW1lbnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAg
ICAgYWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICog
anNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICoganNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IEV4Y2x1ZGUganNjIHRlc3RzLgorCiAy
MDEyLTEyLTA3ICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjQ5ODU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvanNjL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzNyBAQAorCitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6eyJiYXoiOiJt
eU5ld0tleSJ9fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28iLCJiYXIiOnsiYmF6IjoibXlOZXdLZXkifX06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAor
CitEZXNlcmlhbGl6ZSB0byB7ImZvbyI6InpvbyIsImJhciI6Im15TmV3S2V5In06CitQQVNTIEpT
T04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsi
Zm9vIjoiem9vIiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMg
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIFtdOgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBb
XToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3Ro
CisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9vIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5l
d09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjoiem9vIn06CitQ
QVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitE
ZXNlcmlhbGl6ZSB0byB7ImZvbyI6bnVsbH06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiZm9vIjpudWxsfToKK1BBU1MgYnVm
ZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFs
aXplIHRvIHt9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRC
dWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHVuZGVmaW5lZDoKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgdW5k
ZWZpbmVkOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5s
ZW5ndGgKKworRGVzZXJpYWxpemUgdG8gdHJ1ZToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2Jq
KSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgdHJ1ZToKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IGZhbHNlOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9i
aikKK1NlcmlhbGl6ZSBmYWxzZToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRC
dWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIFtudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsXToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBp
cyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgW251bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGxdOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3Rl
ZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMTA6CitQQVNTIEpTT04uc3Ry
aW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEwOgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVz
ZXJpYWxpemUgdG8gLTEwOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAtMTA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4
cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAxMDczNzQxODI0Ogor
UEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nlcmlh
bGl6ZSAxMDczNzQxODI0OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZl
clZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMzYwMjg3OTcwMTg5NjM5NzA6CitQQVNT
IEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXpl
IDM2MDI4Nzk3MDE4OTYzOTcwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMS4yMzoKK1BBU1MgSlNPTi5zdHJp
bmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMS4yMzoKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvICIiOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAiIjoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvICJhYmMiOgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAi
YWJjIjoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiaW50ZWdlciI6MTIzfToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJpbnRlZ2VyIjox
MjN9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5n
dGgKKworRGVzZXJpYWxpemUgdG8geyJzdHJpbmciOiJzdHIifToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJzdHJpbmciOiJz
dHIifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIHsibGlzdCI6WzEsMiwzXX06CitQQVNTIEpTT04uc3RyaW5n
aWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsibGlzdCI6WzEs
MiwzXX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxl
bmd0aAorCitEZXNlcmlhbGl6ZSB0byBudWxsOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmop
IGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSBudWxsOgorUEFTUyBidWZmZXJWaWV3
Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8g
e306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQor
U2VyaWFsaXplIHt9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZh
bHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJpbm5lciI6eyJoZWxsbyI6InRoZXJlIn0s
Im91dGVyIjp7ImhlbGxvIjoidGhlcmUifX06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiaW5uZXIiOnsiaGVsbG8iOiJ0aGVy
ZSJ9LCJvdXRlciI6eyJoZWxsbyI6InRoZXJlIn19OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJoZWxsbyI6
InRoZXJlIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnko
b2JqKQorU2VyaWFsaXplIHsiaGVsbG8iOiJ0aGVyZSJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0
aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJhIjoi
YSIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpT
T04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImEiOiJhIiwidSI6Is6xzrIiLCJkIjo0Mn06
CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAor
CitEZXNlcmlhbGl6ZSB0byB7ImEiOiJhYiIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBKU09O
LnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImEi
OiJhYiIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworU2VyaWFsaXplIHVuZGVmaW5lZDoKK1BBU1MgdGhy
b3duRXhjZXB0aW9uLmNvZGUgaXMgZXhwZWN0ZWRFeGNlcHRpb24KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9qc2Mvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2pzYy9zZXJp
YWxpemVkLXNjcmlwdC12YWx1ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjZhMGNmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qc2Mvc2VyaWFsaXpl
ZC1zY3JpcHQtdmFsdWUuaHRtbApAQCAtMCwwICsxLDI2NCBAQAorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0Pgor
ZnVuY3Rpb24gZXhwZWN0QnVmZmVyVmFsdWUoZXhwZWN0ZWRWYWx1ZXMsIGJ1ZmZlcikgeworICAg
IGV4cGVjdGVkQnVmZmVyVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZXM7CisgICAgYnVmZmVyVmlldyA9
IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7CisgICAgc2hvdWxkQmUoImJ1ZmZlclZpZXcubGVuZ3Ro
IiwgImV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aCIpOworICAgIHZhciBzdWNjZXNzID0gKGJ1
ZmZlclZpZXcubGVuZ3RoID09IGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aCk7CisgICAgaWYg
KHN1Y2Nlc3MpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBlY3RlZFZhbHVlcy5s
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgaWYgKGV4cGVjdGVkVmFsdWVzW2ldICE9IGJ1ZmZl
clZpZXdbaV0pIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJBcnJheUJ1ZmZlclZpZXdz
IGRpZmZlciBhdCBpbmRleCAiICsgaSArICIuIFNob3VsZCBiZSAiICsgZXhwZWN0ZWRWYWx1ZXNb
aV0gKyAiLiBXYXMgIiArIGJ1ZmZlclZpZXdbaV0pOworICAgICAgICAgICAgICAgIHN1Y2Nlc3Mg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAvLyBvdXRwdXQgdGhlIGZ1
bGwgYnVmZmVyIGZvciBhZGRpbmcgYmFjayBpbnRvIHRoZSB0ZXN0CisgICAgICAgIHZhciBvdXRw
dXQgPSBbXTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGJ1ZmZlclZpZXcubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgICAgIHZhciBoZXhWYWwgPSBidWZmZXJWaWV3W2ldLnRvU3RyaW5nKDE2KTsK
KyAgICAgICAgICAgIGlmIChoZXhWYWwubGVuZ3RoIDwgNCkgeworICAgICAgICAgICAgICAgIGhl
eFZhbCA9ICIwMDAwIi5zbGljZShoZXhWYWwubGVuZ3RoKSArIGhleFZhbDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIG91dHB1dC5wdXNoKCIweCIgKyBoZXhWYWwpOworICAgICAgICB9Cisg
ICAgICAgIGRlYnVnKCJBY3R1YWwgYnVmZmVyOiBbIiArIG91dHB1dC5qb2luKCIsICIpICsgIl0i
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIG1ha2VCdWZmZXIoc2VyaWFsaXplZFZhbHVlcykgewor
ICAgIHZhciBidWZmZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKHNlcmlh
bGl6ZWRWYWx1ZXMubGVuZ3RoKSk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZXJpYWxpemVk
VmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGJ1ZmZlclZpZXdbaV0gPSBzZXJpYWxpemVk
VmFsdWVzW2ldOworICAgIH0KKyAgICByZXR1cm4gYnVmZmVyVmlldy5idWZmZXI7Cit9CisKKwor
ZnVuY3Rpb24gdGVzdFNlcmlhbGl6YXRpb24ob2JqLCB2YWx1ZXMsIHNlcmlhbGl6ZUV4Y2VwdGlv
blZhbHVlKSB7CisgICAgZGVidWcoIiIpOworCisgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25W
YWx1ZSkgeworICAgICAgICBzZWxmLm9iaiA9IG9iajsKKyAgICAgICAgZGVidWcoIkRlc2VyaWFs
aXplIHRvICIgKyBKU09OLnN0cmluZ2lmeShvYmopICsgIjoiKTsKKyAgICAgICAgc2VsZi5uZXdP
YmogPSBpbnRlcm5hbHMuZGVzZXJpYWxpemVCdWZmZXIobWFrZUJ1ZmZlcih2YWx1ZXMpKTsKKyAg
ICAgICAgc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5KG5ld09iaikiLCAiSlNPTi5zdHJpbmdpZnko
b2JqKSIpOworICAgIH0KKworICAgIGRlYnVnKCJTZXJpYWxpemUgIiArIEpTT04uc3RyaW5naWZ5
KG9iaikgKyAiOiIpOworICAgIHRyeSB7CisgICAgICAgIHZhciBzZXJpYWxpemVkID0gaW50ZXJu
YWxzLnNlcmlhbGl6ZU9iamVjdChvYmopOworICAgICAgICBpZiAoc2VyaWFsaXplRXhjZXB0aW9u
VmFsdWUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIHRocm93biBhbiBl
eGNlcHRpb24gb2YgdHlwZSAiLCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSk7CisgICAgICAgIH0K
KyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkg
eworICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhyZXcgZXhjZXB0aW9uICIgKyBlKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNlbGYudGhyb3du
RXhjZXB0aW9uID0gZTsKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRFeGNlcHRpb24gPSBzZXJp
YWxpemVFeGNlcHRpb25WYWx1ZTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJ0aHJvd25FeGNlcHRp
b24uY29kZSIsICJleHBlY3RlZEV4Y2VwdGlvbiIpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfQorICAgIGV4cGVjdEJ1ZmZlclZhbHVlKHZhbHVlcywgc2VyaWFsaXplZCk7
Cit9CisKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBiYXI6IHtiYXo6ICdteU5ld0tl
eSd9fSwKK1sKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAwLCAw
eDAwLAorICAgIDB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAs
CisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKyAg
ICAweDZmLCAweDAwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAwLAorICAgIDB4
NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwg
MHg2MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3YSwgMHgwMCwgMHgxMCwKKyAgICAweDA4LCAweDAw
LCAweDAwLCAweDAwLCAweDZkLCAweDAwLCAweDc5LCAweDAwLAorICAgIDB4NGUsIDB4MDAsIDB4
NjUsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NGIsIDB4MDAsCisgICAgMHg2NSwgMHgwMCwgMHg3OSwg
MHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAweGZmLCAweGZmLCAweGZmLCAweGZm
CitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjogJ215TmV3S2V5J30s
CitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkw
eDAwLCAweDY2LCAweDAwLCAweDZmLCAweDAwLCAweDZmLCAweDAwLCAweDEwLAorCTB4MDMsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NmYsIDB4MDAsCisJMHg2ZiwgMHgwMCwgMHgw
MywgMHgwMCwgMHgwMCwgMHgwMCwgMHg2MiwgMHgwMCwKKwkweDYxLCAweDAwLCAweDcyLCAweDAw
LCAweDEwLCAweDA4LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAs
IDB4NGUsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3NywgMHgwMCwgMHg0YiwgMHgwMCwgMHg2NSwg
MHgwMCwgMHg3OSwKKwkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordGVzdFNl
cmlhbGl6YXRpb24oW10sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwg
MHgwMCwgMHgwMCwKKwkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKHtmb286ICJ6b28ifSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAy
LCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYs
IDB4MDAsIDB4MTAsCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2Ziwg
MHgwMCwKKwkweDZmLCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJp
YWxpemF0aW9uKHtmb286IG51bGx9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIs
IDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2Ziwg
MHgwMCwgMHgwNCwKKwkweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6
YXRpb24oe30sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHhmZiwgMHhmZiwg
MHhmZiwKKwkweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24odW5kZWZpbmVkLAorWworCTB4
MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMKK10pOwordGVzdFNlcmlhbGl6YXRpb24odHJ1ZSwK
K1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA5CitdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KGZhbHNlLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDgKK10pOwordGVzdFNlcmlh
bGl6YXRpb24obmV3IEFycmF5KDEwMCksCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MSwgMHg2NCwgMHgwMCwgMHgwMCwKKwkweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKDEwLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUs
IDB4MGEsIDB4MDAsIDB4MDAsCisJMHgwMAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigtMTAsCitb
CisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHhmNiwgMHhmZiwgMHhmZiwKKwkweGZm
CitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsMzApLAorWworCTB4MDMsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHg0MAorXSk7Cit0ZXN0U2Vy
aWFsaXphdGlvbihNYXRoLnBvdygyLDU1KSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDBhLCAweDAwLCAweDAwLCAweDAwLAorCTB4MDAsIDB4MDAsIDB4MDAsIDB4NjAsIDB4NDMsCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKDEuMjMsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwYSwgMHhhZSwgMHg0NywgMHhlMSwKKwkweDdhLCAweDE0LCAweGFlLCAweGYzLCAweDNmCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKCIiLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MTEKK10pOwordGVzdFNlcmlhbGl6YXRpb24oImFiYyIsCitbCisJMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgxMCwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDYyLCAw
eDAwLCAweDYzLCAweDAwCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtpbnRlZ2VyOiAxMjN9LAor
WworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDcsIDB4MDAsIDB4MDAsCisJMHgw
MCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDY3
LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDA1LAorCTB4N2IsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oe3N0
cmluZzogInN0ciJ9LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDYsIDB4
MDAsIDB4MDAsCisJMHgwMCwgMHg3MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2
OSwKKwkweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDEwLCAweDAzLCAweDAwLAorCTB4
MDAsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsCisJMHhmZiwgMHhm
ZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbih7bGlzdDogWzEsMiwzXX0sCitb
CisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMCwKKwkweDAw
LCAweDZjLCAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDc0LAorCTB4MDAsIDB4MDEs
IDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwNywg
MHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwKKwkweDAyLCAweDAwLCAweDAwLCAweDAwLCAw
eDAyLCAweDAwLCAweDAwLCAweDAwLAorCTB4MDUsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
ZmYsIDB4ZmYsIDB4ZmYsCisJMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0
U2VyaWFsaXphdGlvbihudWxsLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQKK10p
OwordGVzdFNlcmlhbGl6YXRpb24oL2FiYy8sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg
MHgxMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDYyLCAweDAwLCAw
eDYzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4MDAsIDB4MDAKK10pOworCit2YXIgaW5uZXJPYmpl
Y3QgPSB7aGVsbG86ICJ0aGVyZSJ9OwordmFyIG91dGVyT2JqZWN0ID0ge2lubmVyOiBpbm5lck9i
amVjdH07CitvdXRlck9iamVjdFsnb3V0ZXInXSA9IGlubmVyT2JqZWN0OwordGVzdFNlcmlhbGl6
YXRpb24ob3V0ZXJPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgw
NSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAw
LCAweDY1LAorCTB4MDAsIDB4NzIsIDB4MDAsIDB4MDIsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAs
CisJMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2YywgMHgwMCwgMHg2YywgMHgwMCwKKwkweDZm
LCAweDAwLCAweDEwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLCAweDc0LAorCTB4MDAsIDB4Njgs
IDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHhmZiwgMHhmZiwg
MHhmZiwgMHhmZiwgMHgwNSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDZmLCAweDAwLCAweDc1LCAw
eDAwLCAweDc0LCAweDAwLCAweDY1LAorCTB4MDAsIDB4NzIsIDB4MDAsIDB4MTMsIDB4MDEsIDB4
ZmYsIDB4ZmYsIDB4ZmYsCisJMHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihpbm5lck9iamVj
dCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA1LCAweDAwLCAweDAwLAor
CTB4MDAsIDB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NmMsIDB4MDAsIDB4NmMsCisJMHgwMCwg
MHg2ZiwgMHgwMCwgMHgxMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDc0LCAweDAwLCAw
eDY4LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLAorCTB4NjUsIDB4MDAsIDB4ZmYsIDB4
ZmYsIDB4ZmYsIDB4ZmYKK10pOworCit2YXIgdW5pY29kZU9iamVjdCA9IHthOiAnYScsIHU6IFN0
cmluZy5mcm9tQ2hhckNvZGUoMHgwM0IxLDB4MDNCMiksIGQ6IDQyfTsKK3Rlc3RTZXJpYWxpemF0
aW9uKHVuaWNvZGVPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgw
MSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDEwLCAweGZlLCAweGZmLCAweGZm
LCAweGZmLAorCTB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzUsIDB4MDAsIDB4MTAs
CisJMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMSwgMHgwMywgMHhiMiwgMHgwMywKKwkweDAx
LCAweDAwLCAweDAwLCAweDAwLCAweDY0LCAweDAwLCAweDA1LCAweDJhLAorCTB4MDAsIDB4MDAs
IDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordW5pY29kZU9iamVjdC5hID0gJ2Fi
JzsKK3Rlc3RTZXJpYWxpemF0aW9uKHVuaWNvZGVPYmplY3QsCitbCisJMHgwMywgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDYxLCAweDAwLCAweDEw
LCAweDAyLCAweDAwLCAweDAwLCAweDAwLAorCTB4NjEsIDB4MDAsIDB4NjIsIDB4MDAsIDB4MDEs
IDB4MDAsIDB4MDAsIDB4MDAsCisJMHg3NSwgMHgwMCwgMHgxMCwgMHgwMiwgMHgwMCwgMHgwMCwg
MHgwMCwgMHhiMSwKKwkweDAzLCAweGIyLCAweDAzLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAw
eDY0LAorCTB4MDAsIDB4MDUsIDB4MmEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsCisJ
MHhmZiwgMHhmZgorXSk7CisKK3Rlc3RTZXJpYWxpemF0aW9uKGZ1bmN0aW9uKCl7fSwgW10sIERP
TUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ODJlNDhmLi4wNzY0ZjNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0Niw2ICsyNDYs
OSBAQCBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zIFsgV29udEZpeCBdCiBpbnNwZWN0b3Ivc3R5bGVz
L3ZlbmRvci1wcmVmaXhlcy5odG1sIFsgV29udEZpeCBdCiBmYXN0L2Nzcy9hcHBsZS1wcmVmaXgu
aHRtbCBbIFdvbnRGaXggXQogCisjIFRoZXNlIHRlc3RzIGFyZSBzcGVjaWZpYyB0byBKU0MKK2pz
YyBbIFdvbnRGaXggXQorCiAjIFBlcmYgdGVzdHMgYXJlIHJlYWxseSBzbG93IGluIGRlYnVnIGJ1
aWxkcyBhbmQgdGhlcmUgYXJlIGZldyBiZW5lZml0cyBpbgogIyBydW5uaW5nIHRoZW0uCiBbIERl
YnVnIF0gcGVyZiBbIFdvbnRGaXggXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcwYmRiM2IuLmIzOWYzNDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMi0wOCAgTWljaGFlbCBQcnVldHQgIDxt
aWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAgW0pTQ10gQWRkIHRlc3RzIGZvciBleHBsaWNpdCBz
ZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRp
b24gbWVjaGFuaXNtcyBvZgorICAgICAgICB0aGUgSlNDIGltcGxlbWVudGF0aW9uIG9mIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxhciB0ZXN0cworICAgICAgICBhbHJlYWR5IGV4aXN0IGZv
ciB0aGUgVjggaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vanNjL2Zh
c3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sCisKKyAgICAgICAgKiBXZWJD
b3JlLmV4cC5pbjoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OnNlcmlhbGl6ZU9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmRlc2VyaWFsaXplQnVmZmVyKToKKwogMjAxMi0xMi0wNyAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjEzNjk5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNWE0NWQ1ZC4uYTdjOGRh
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI1MSwxMSArMjUxLDkgQEAgX19aTjdXZWJDb3Jl
MTREb2N1bWVudExvYWRlcjE1ZGV0YWNoRnJvbUZyYW1lRXYKIF9fWk43V2ViQ29yZTE0RG9jdW1l
bnRMb2FkZXIxOGFkZEFyY2hpdmVSZXNvdXJjZUVOM1dURjEwUGFzc1JlZlB0cklOU18xNUFyY2hp
dmVSZXNvdXJjZUVFRQogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjMyZGlkQ2FuY2VsQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VFUktOU18yM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRQogX19a
TjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVj
U3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNf
MTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKLV9fWk43
V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTRjcmVhdGVGcm9tV2lyZUVSS04zV1RGNlN0
cmluZ0UKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVQTjNKU0M5
RXhlY1N0YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5TNV82UmVmUHRySU5TXzExTWVz
c2FnZVBvcnRFRUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8xMUFycmF5QnVmZmVyRUVFTG0xRUVFTlNf
MjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRQogX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0
VmFsdWU2Y3JlYXRlRVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2Ny
aXB0VmFsdWU4dG9TdHJpbmdFdgotX19aTks3V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
MTJ0b1dpcmVTdHJpbmdFdgorX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVDMUVS
TjNXVEY2VmVjdG9ySWhMbTBFRUUKIF9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVF
UE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zV1RGMTFBcnJheUJ1ZmZlckUKIF9fWk43V2ViQ29y
ZTE0RG9jdW1lbnRMb2FkZXIyMWFkZFBsdWdJblN0cmVhbUxvYWRlckVQTlNfMTRSZXNvdXJjZUxv
YWRlckUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIyMmFkZEFsbEFyY2hpdmVSZXNvdXJj
ZXNFUE5TXzdBcmNoaXZlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGZm
ODI4OWEuLjkxNWY0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE3
MzIsMTQgKzE3MzIsMjUgQEAgU3RyaW5nIEludGVybmFsczo6Z2V0Q3VycmVudEN1cnNvckluZm8o
RG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIAogUGFzc1JlZlB0cjxBcnJh
eUJ1ZmZlcj4gSW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+IHZhbHVlKSBjb25zdAogeworI2lmIFVTRShWOCkKICAgICBTdHJpbmcgc3Ry
aW5nVmFsdWUgPSB2YWx1ZS0+dG9XaXJlU3RyaW5nKCk7CiAgICAgcmV0dXJuIEFycmF5QnVmZmVy
OjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0cmluZ1ZhbHVlLmltcGwoKS0+Y2hh
cmFjdGVycygpKSwgc3RyaW5nVmFsdWUuc2l6ZUluQnl0ZXMoKSk7CisjZWxzZQorICAgIFZlY3Rv
cjx1aW50OF90PiBieXRlcyA9IHZhbHVlLT5kYXRhKCk7CisgICAgcmV0dXJuIEFycmF5QnVmZmVy
OjpjcmVhdGUoYnl0ZXMuZGF0YSgpLCBieXRlcy5zaXplKCkpOworI2VuZGlmCiB9CiAKIFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBJbnRlcm5hbHM6OmRlc2VyaWFsaXplQnVmZmVy
KFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlcikgY29uc3QKIHsKKyNpZiBVU0UoVjgpCiAg
ICAgU3RyaW5nIHZhbHVlKHN0YXRpY19jYXN0PGNvbnN0IFVDaGFyKj4oYnVmZmVyLT5kYXRhKCkp
LCBidWZmZXItPmJ5dGVMZW5ndGgoKSAvIHNpemVvZihVQ2hhcikpOwogICAgIHJldHVybiBTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKHZhbHVlKTsKKyNlbHNlCisgICAgVmVj
dG9yPHVpbnQ4X3Q+IGJ5dGVzOworICAgIGJ5dGVzLmFwcGVuZChzdGF0aWNfY2FzdDxjb25zdCB1
aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPmJ5dGVMZW5ndGgoKSk7CisgICAgcmV0
dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6YWRvcHQoYnl0ZXMpOworI2VuZGlmCiB9CiAKIHZv
aWQgSW50ZXJuYWxzOjpzZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnMoYm9vbCBlbmFibGVkKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDk2MGIyMjUuLjViYTY3YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMi0xMi0wOCAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAgICAg
W0pTQ10gQWRkIHRlc3RzIGZvciBleHBsaWNpdCBzZXJpYWxpemF0aW9uIHZhbHVlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NDIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBz
ZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gbWVjaGFuaXNtcyBvZgorICAgICAgICB0
aGUgSlNDIGltcGxlbWVudGF0aW9uIG9mIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4gU2ltaWxhciB0
ZXN0cworICAgICAgICBhbHJlYWR5IGV4aXN0IGZvciB0aGUgVjggaW1wbGVtZW50YXRpb24uCisK
KyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWYuaW46CisKIDIwMTItMTItMDcgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMzY5OTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYuaW4gYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4KaW5kZXggNGU2NzE3
OC4uZDk4NjA0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZi5pbgpAQCAtMTYzLDYgKzE2Myw3
IEBAIEVYUE9SVFMKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCX1dAWgogICAgICAgICA/
PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0lAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAVkFT
Q0lJTGl0ZXJhbEAxQEBaCisgICAgICAgID8/MFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3Jl
QEBBQUVAQUFWPyRWZWN0b3JARSQwQUBAV1RGQEBAWgogICAgICAgICA/PzFTZXJpYWxpemVkU2Ny
aXB0VmFsdWVAV2ViQ29yZUBAUUFFQFhaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVj
dEBSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAyQF9OQFoKICAgICAgICAgP2Fi
c29sdXRlQm91bmRpbmdCb3hSZWN0SWdub3JpbmdUcmFuc2Zvcm1zQFJlbmRlck9iamVjdEBXZWJD
b3JlQEBRQkU/QVZJbnRSZWN0QDJAWFoKQEAgLTE3Nyw3ICsxNzgsNiBAQCBFWFBPUlRTCiAgICAg
ICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoK
ICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBh
c3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3Rh
dGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2Vi
Q29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZA
QEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9yTW9kZUAyQEBaCiAgICAgICAgID9jcmVh
dGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2hhZG93Um9vdEBXZWJD
b3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKLSAgICAgICAgP2NyZWF0ZUZyb21XaXJlQFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVh
dGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpT
RE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAgICAgICAgID9kZXNlcmlhbGl6ZUBTZXJp
YWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0
ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRWZWN0b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9y
dEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgog
ICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRQkVBQlY/JFZlY3Rv
ckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBAIC0zMDAsOCArMzAwLDYgQEAgRVhQT1JUUwog
ICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQ
QVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVlJhbmdlQDFAQFoKICAgICAgICAgP3RvSlNAV2ViQ29y
ZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RA
MUBQQVZOb2RlTGlzdEAxQEBaCiAgICAgICAgID90b1JhbmdlQFdlYkNvcmVAQFlBUEFWUmFuZ2VA
MUBWSlNWYWx1ZUBKU0NAQEBaCi0gICAgICAgID90b1N0cmluZ0BTZXJpYWxpemVkU2NyaXB0VmFs
dWVAV2ViQ29yZUBAUUFFP0FWU3RyaW5nQFdURkBAWFoKLSAgICAgICAgP3RvV2lyZVN0cmluZ0BT
ZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUJFP0FWU3RyaW5nQFdURkBAWFoKICAgICAg
ICAgP3RyZWVTY29wZUBOb2RlQFdlYkNvcmVAQFFCRVBBVlRyZWVTY29wZUAyQFhaCiAgICAgICAg
ID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNARG9jdW1lbnRAV2ViQ29yZUBA
UUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQFdlYkNvcmVAQFlBP0FWPyRW
ZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5k
ZXggNWI3Nzc3Ni4uYThjZTdkNSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xz
LmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC04OSw3ICs4
OSw2IEBAIF9aTjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5nQ29udGV4dEMxRVBOU180Tm9kZUU7CiBf
Wk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0NvbnRleHREMUV2OwogX1pON1dlYkNvcmUyMUluc3Bl
Y3RvckNvbnNvbGVBZ2VudDI4Y29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50c0V2OwogX1pON1dl
YkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFf
N0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTGox
RUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxqMUVFRU5TXzIyU2VyaWFsaXphdGlv
bkVycm9yTW9kZUU7Ci1fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlh
bGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9y
SU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMajFFRUVOU18yMlNlcmlhbGl6YXRpb25F
cnJvck1vZGVFOwogX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RP
TUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7CiBfWk43V2ViQ29yZTIyZXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbkVQTlNfN0VsZW1lbnRFajsKIF9aTjdXZWJDb3JlMjJpbnN0cnVtZW50YXRp
b25Gb3JQYWdlRVBOU180UGFnZUU7CkBAIC0yMTgsMTMgKzIxNywxMyBAQCBfWk43V2ViQ29yZTlG
cmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWI7CiBfWk5LN1dlYkNvcmU1RnJhbWUyNXRyYWNr
ZWRSZXBhaW50UmVjdHNBc1RleHRFdjsKIF9aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0
ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNXVEYxMUFycmF5QnVmZmVyRTsKIF9aTjdXZWJD
b3JlMTN0b0FycmF5QnVmZmVyRU4zSlNDN0pTVmFsdWVFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9i
YWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTGox
RUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVk
U2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFs
T2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVF
RU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNj
cmlwdFZhbHVlNmNyZWF0ZUVQTjNKU0M5RXhlY1N0YXRlRU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVj
dG9ySU5TNV82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8x
MUFycmF5QnVmZmVyRUVFTG0xRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsKLV9aTjdX
ZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxNGNyZWF0ZUZyb21XaXJlRVJLTjNXVEY2U3Ry
aW5nRTsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVJLTjNXVEY2
U3RyaW5nRTsKLV9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU4dG9TdHJpbmdFdjsK
LV9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlF
eGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJ
TlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7Citf
Wk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlQzFFUk4zV1RGNlZlY3RvckloTGowRUVF
OworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUMxRVJOM1dURjZWZWN0b3JJaExt
MEVFRTsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVEMUV2OwotX1pOSzdXZWJD
b3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMnRvV2lyZVN0cmluZ0V2OwogX1pON1dlYkNvcmUx
NkNTU1BhcnNlckNvbnRleHRDMUVQTlNfOERvY3VtZW50RVJLTlNfNEtVUkxFUktOM1dURjZTdHJp
bmdFOwogX1pON1dlYkNvcmUxOFN0eWxlU2hlZXRDb250ZW50czExcGFyc2VTdHJpbmdFUktOM1dU
RjZTdHJpbmdFOwogX1pON1dlYkNvcmUxOFN0eWxlU2hlZXRDb250ZW50c0MxRVBOU18xNVN0eWxl
UnVsZUltcG9ydEVSS04zV1RGNlN0cmluZ0VSS05TXzE2Q1NTUGFyc2VyQ29udGV4dEU7Ci0tIAox
LjcuOS41Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178593</attachid>
            <date>2012-12-10 11:02:48 -0800</date>
            <delta_ts>2012-12-10 16:21:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>26298</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogTW9uLCAxMCBEZWMg
MjAxMiAxMDo1NDo1MCAtMDgwMApTdWJqZWN0OiBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0
IHNlcmlhbGl6YXRpb24gdmFsdWVzCgotLS0KIENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKysKIC4uLi9zdG9yYWdlL3NlcmlhbGl6
ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dCAgIHwgIDEzNyArKysrKysrKysrCiAuLi4vZmFz
dC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgICAgICB8ICAyNjQgKysrKysr
KysrKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMgICAgIHwgICAgNCArCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTggKysKIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluICAg
ICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwICAgICAgICAgICAgICAgfCAgIDExICsKIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArCiBTb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYuaW4gICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXIgICAgICAgICAgICAgICAgICAgIHwgICAgOSArLQogMTEgZmlsZXMg
Y2hhbmdlZCwgNDgxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uv
c2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbAoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No
YW5nZUxvZwppbmRleCAxMTZjZjA1Li5iYzUyNWYxIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTItMDggIE1pY2hhZWwgUHJ1ZXR0
ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGlj
aXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNDQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxp
emF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAgYWxyZWFkeSBleGlz
dCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0xMi0wNiAgUmljayBCeWVycyAgPHJieWVyc0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgQ1NTIGN1cnNvciBwcm9wZXJ0eSBzaG91bGQgc3VwcG9ydCB3
ZWJraXQtaW1hZ2Utc2V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDFkZDM5NC4uNmRkZTAzMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxANjhrLm9yZz4KKwor
ICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6YXRpb24gdmFsdWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVz
dHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBtZWNoYW5pc21zIG9mCisg
ICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFsaXplZFNjcmlwdFZhbHVlLiBT
aW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9yIHRoZSBWOCBpbXBsZW1lbnRh
dGlvbi4KKworICAgICAgICAqIGpzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGpzYy9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBFeGNs
dWRlIGpzYyB0ZXN0cy4KKwogMjAxMi0xMi0wNyAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNv
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVuaW5n
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0
LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVk
LXNjcmlwdC12YWx1ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNjY0OTg1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc3RvcmFn
ZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMzcgQEAK
KworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6b28iLCJiYXIiOnsiYmF6IjoibXlOZXdLZXkifX06
CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2Vy
aWFsaXplIHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15TmV3S2V5In19OgorUEFTUyBidWZm
ZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxp
emUgdG8geyJmb28iOiJ6b28iLCJiYXIiOiJteU5ld0tleSJ9OgorUEFTUyBKU09OLnN0cmluZ2lm
eShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyIs
ImJhciI6Im15TmV3S2V5In06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVm
ZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byBbXToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgW106CitQQVNTIGJ1
ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlh
bGl6ZSB0byB7ImZvbyI6InpvbyJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpT
T04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6InpvbyJ9OgorUEFTUyBidWZmZXJW
aWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUg
dG8geyJmb28iOm51bGx9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6bnVsbH06CitQQVNTIGJ1ZmZlclZpZXcubGVu
Z3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUge306CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVz
Lmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB1bmRlZmluZWQ6CitQQVNTIEpTT04uc3RyaW5naWZ5
KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHVuZGVmaW5lZDoKK1BB
U1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rl
c2VyaWFsaXplIHRvIHRydWU6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5z
dHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHRydWU6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlz
IGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byBmYWxzZToKK1BB
U1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxp
emUgZmFsc2U6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVz
Lmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byBbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbF06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJp
bmdpZnkob2JqKQorU2VyaWFsaXplIFtudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsXToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1
ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIDEwOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdP
YmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAxMDoKK1BBU1MgYnVmZmVyVmll
dy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRv
IC0xMDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmop
CitTZXJpYWxpemUgLTEwOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZl
clZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gMTA3Mzc0MTgyNDoKK1BBU1MgSlNPTi5z
dHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMTA3Mzc0
MTgyNDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVu
Z3RoCisKK0Rlc2VyaWFsaXplIHRvIDM2MDI4Nzk3MDE4OTYzOTcwOgorUEFTUyBKU09OLnN0cmlu
Z2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSAzNjAyODc5NzAx
ODk2Mzk3MDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMu
bGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIDEuMjM6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09i
aikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEuMjM6CitQQVNTIGJ1ZmZlclZp
ZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0
byAiIjoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmop
CitTZXJpYWxpemUgIiI6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVy
VmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAiYWJjIjoKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgImFiYyI6CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNl
cmlhbGl6ZSB0byB7ImludGVnZXIiOjEyM306CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiaW50ZWdlciI6MTIzfToKK1BBU1Mg
YnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2Vy
aWFsaXplIHRvIHsic3RyaW5nIjoic3RyIn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsic3RyaW5nIjoic3RyIn06CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNl
cmlhbGl6ZSB0byB7Imxpc3QiOlsxLDIsM119OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmop
IGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7Imxpc3QiOlsxLDIsM119OgorUEFT
UyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVz
ZXJpYWxpemUgdG8gbnVsbDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0
cmluZ2lmeShvYmopCitTZXJpYWxpemUgbnVsbDoKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMg
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHt9OgorUEFTUyBK
U09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7
fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3Ro
CisKK0Rlc2VyaWFsaXplIHRvIHsiaW5uZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9LCJvdXRlciI6eyJo
ZWxsbyI6InRoZXJlIn19OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3Ry
aW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwib3V0ZXIi
OnsiaGVsbG8iOiJ0aGVyZSJ9fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRC
dWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiaGVsbG8iOiJ0aGVyZSJ9Ogor
UEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nlcmlh
bGl6ZSB7ImhlbGxvIjoidGhlcmUifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0
ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiYSI6ImEiLCJ1IjoizrHO
siIsImQiOjQyfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJhIjoiYSIsInUiOiLOsc6yIiwiZCI6NDJ9OgorUEFTUyBidWZm
ZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxp
emUgdG8geyJhIjoiYWIiLCJ1IjoizrHOsiIsImQiOjQyfToKK1BBU1MgSlNPTi5zdHJpbmdpZnko
bmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJhIjoiYWIiLCJ1Ijoi
zrHOsiIsImQiOjQyfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJW
YWx1ZXMubGVuZ3RoCisKK1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIHRocm93bkV4Y2VwdGlv
bi5jb2RlIGlzIGV4cGVjdGVkRXhjZXB0aW9uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zdG9y
YWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3Jh
Z2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40MzM1ZTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
dG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKQEAgLTAsMCArMSwyNjQgQEAKKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxzY3JpcHQ+CitmdW5jdGlvbiBleHBlY3RCdWZmZXJWYWx1ZShleHBlY3RlZFZhbHVlcywgYnVm
ZmVyKSB7CisgICAgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMgPSBleHBlY3RlZFZhbHVlczsKKyAgICBi
dWZmZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKTsKKyAgICBzaG91bGRCZSgiYnVmZmVy
Vmlldy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoIik7CisgICAgdmFyIHN1
Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3Ro
KTsKKyAgICBpZiAoc3VjY2VzcykgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVj
dGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRWYWx1ZXNb
aV0gIT0gYnVmZmVyVmlld1tpXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkFycmF5
QnVmZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4ICIgKyBpICsgIi4gU2hvdWxkIGJlICIgKyBleHBl
Y3RlZFZhbHVlc1tpXSArICIuIFdhcyAiICsgYnVmZmVyVmlld1tpXSk7CisgICAgICAgICAgICAg
ICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgIC8vIG91
dHB1dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFkZGluZyBiYWNrIGludG8gdGhlIHRlc3QKKyAgICAg
ICAgdmFyIG91dHB1dCA9IFtdOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVyVmlldy5s
ZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdbaV0udG9T
dHJpbmcoMTYpOworICAgICAgICAgICAgaWYgKGhleFZhbC5sZW5ndGggPCA0KSB7CisgICAgICAg
ICAgICAgICAgaGV4VmFsID0gIjAwMDAiLnNsaWNlKGhleFZhbC5sZW5ndGgpICsgaGV4VmFsOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgb3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7Cisg
ICAgICAgIH0KKyAgICAgICAgZGVidWcoIkFjdHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4o
IiwgIikgKyAiXSIpOworICAgIH0KK30KKworZnVuY3Rpb24gbWFrZUJ1ZmZlcihzZXJpYWxpemVk
VmFsdWVzKSB7CisgICAgdmFyIGJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheShuZXcgQXJyYXlC
dWZmZXIoc2VyaWFsaXplZFZhbHVlcy5sZW5ndGgpKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHNlcmlhbGl6ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tpXSA9
IHNlcmlhbGl6ZWRWYWx1ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1ZmZl
cjsKK30KKworCitmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmosIHZhbHVlcywgc2VyaWFs
aXplRXhjZXB0aW9uVmFsdWUpIHsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBpZiAoIXNlcmlhbGl6
ZUV4Y2VwdGlvblZhbHVlKSB7CisgICAgICAgIHNlbGYub2JqID0gb2JqOworICAgICAgICBkZWJ1
ZygiRGVzZXJpYWxpemUgdG8gIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgICAg
ICBzZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtlQnVmZmVyKHZh
bHVlcykpOworICAgICAgICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkobmV3T2JqKSIsICJKU09O
LnN0cmluZ2lmeShvYmopIik7CisgICAgfQorCisgICAgZGVidWcoIlNlcmlhbGl6ZSAiICsgSlNP
Ti5zdHJpbmdpZnkob2JqKSArICI6Iik7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHNlcmlhbGl6
ZWQgPSBpbnRlcm5hbHMuc2VyaWFsaXplT2JqZWN0KG9iaik7CisgICAgICAgIGlmIChzZXJpYWxp
emVFeGNlcHRpb25WYWx1ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiU2hvdWxkIGhhdmUg
dGhyb3duIGFuIGV4Y2VwdGlvbiBvZiB0eXBlICIsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKTsK
KyAgICAgICAgfQorICAgIH0gY2F0Y2goZSkgeworICAgICAgICBpZiAoIXNlcmlhbGl6ZUV4Y2Vw
dGlvblZhbHVlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJUaHJldyBleGNlcHRpb24gIiAr
IGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
c2VsZi50aHJvd25FeGNlcHRpb24gPSBlOworICAgICAgICAgICAgc2VsZi5leHBlY3RlZEV4Y2Vw
dGlvbiA9IHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlOworICAgICAgICAgICAgc2hvdWxkQmUoInRo
cm93bkV4Y2VwdGlvbi5jb2RlIiwgImV4cGVjdGVkRXhjZXB0aW9uIik7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgZXhwZWN0QnVmZmVyVmFsdWUodmFsdWVzLCBz
ZXJpYWxpemVkKTsKK30KKwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjoge2Jh
ejogJ215TmV3S2V5J319LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4
MDMsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2Ziwg
MHgwMCwgMHgxMCwKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAweDAwLCAweDZm
LCAweDAwLAorICAgIDB4NmYsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjIsIDB4
MDAsCisgICAgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwK
KyAgICAweDAwLCAweDYyLCAweDAwLCAweDYxLCAweDAwLCAweDdhLCAweDAwLCAweDEwLAorICAg
IDB4MDgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAsCisgICAgMHg0
ZSwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NywgMHgwMCwgMHg0YiwgMHgwMCwKKyAgICAweDY1LCAw
eDAwLCAweDc5LCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmLAorICAgIDB4ZmYsIDB4ZmYs
IDB4ZmYsIDB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbih7Zm9vOiAnem9vJywgYmFyOiAn
bXlOZXdLZXknfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAw
LCAweDAwLAorCTB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAs
CisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKwkweDZm
LCAweDAwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAwLAorCTB4NjEsIDB4MDAs
IDB4NzIsIDB4MDAsIDB4MTAsIDB4MDgsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2ZCwgMHgwMCwg
MHg3OSwgMHgwMCwgMHg0ZSwgMHgwMCwgMHg2NSwKKwkweDAwLCAweDc3LCAweDAwLCAweDRiLCAw
eDAwLCAweDY1LCAweDAwLCAweDc5LAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10p
OworCit0ZXN0U2VyaWFsaXphdGlvbihbXSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAw
eDAxLCAweDAwLCAweDAwLCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10p
OwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogInpvbyJ9LAorWworCTB4MDMsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHg2NiwgMHgwMCwgMHg2Ziwg
MHgwMCwgMHg2ZiwgMHgwMCwgMHgxMCwKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDdhLCAw
eDAwLCAweDZmLCAweDAwLAorCTB4NmYsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10p
OwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogbnVsbH0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMiwgMHgwMywgMHgwMCwgMHgwMCwKKwkweDAwLCAweDY2LCAweDAwLCAweDZmLCAw
eDAwLCAweDZmLCAweDAwLCAweDA0LAorCTB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOworCit0
ZXN0U2VyaWFsaXphdGlvbih7fSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAw
eGZmLCAweGZmLCAweGZmLAorCTB4ZmYKK10pOworCit0ZXN0U2VyaWFsaXphdGlvbih1bmRlZmlu
ZWQsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMworXSk7Cit0ZXN0U2VyaWFsaXph
dGlvbih0cnVlLAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDkKK10pOwordGVzdFNl
cmlhbGl6YXRpb24oZmFsc2UsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwOAorXSk7
Cit0ZXN0U2VyaWFsaXphdGlvbihuZXcgQXJyYXkoMTAwKSwKK1sKKwkweDAzLCAweDAwLCAweDAw
LCAweDAwLCAweDAxLCAweDY0LCAweDAwLCAweDAwLAorCTB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYs
IDB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oMTAsCitbCisJMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwNSwgMHgwYSwgMHgwMCwgMHgwMCwKKwkweDAwCitdKTsKK3Rlc3RTZXJpYWxpemF0
aW9uKC0xMCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweGY2LCAweGZmLCAw
eGZmLAorCTB4ZmYKK10pOwordGVzdFNlcmlhbGl6YXRpb24oTWF0aC5wb3coMiwzMCksCitbCisJ
MHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDQwCitd
KTsKK3Rlc3RTZXJpYWxpemF0aW9uKE1hdGgucG93KDIsNTUpLAorWworCTB4MDMsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MGEsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwMCwgMHg2
MCwgMHg0MywKK10pOwordGVzdFNlcmlhbGl6YXRpb24oMS4yMywKK1sKKwkweDAzLCAweDAwLCAw
eDAwLCAweDAwLCAweDBhLCAweGFlLCAweDQ3LCAweGUxLAorCTB4N2EsIDB4MTQsIDB4YWUsIDB4
ZjMsIDB4M2YKK10pOwordGVzdFNlcmlhbGl6YXRpb24oIiIsCitbCisJMHgwMywgMHgwMCwgMHgw
MCwgMHgwMCwgMHgxMQorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigiYWJjIiwKK1sKKwkweDAzLCAw
eDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4
MDAsIDB4NjIsIDB4MDAsIDB4NjMsIDB4MDAKK10pOwordGVzdFNlcmlhbGl6YXRpb24oe2ludGVn
ZXI6IDEyM30sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNywgMHgwMCwg
MHgwMCwKKwkweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LAor
CTB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDUsCisJMHg3Yiwg
MHgwMCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0U2VyaWFs
aXphdGlvbih7c3RyaW5nOiAic3RyIn0sCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MiwgMHgwNiwgMHgwMCwgMHgwMCwKKwkweDAwLCAweDczLCAweDAwLCAweDc0LCAweDAwLCAweDcy
LCAweDAwLCAweDY5LAorCTB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MTAsIDB4MDMs
IDB4MDAsCisJMHgwMCwgMHgwMCwgMHg3MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwK
KwkweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtsaXN0OiBb
MSwyLDNdfSwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA0LCAweDAwLCAw
eDAwLAorCTB4MDAsIDB4NmMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzQsCisJ
MHgwMCwgMHgwMSwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDAwLCAw
eDAwLCAweDA3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA1LAorCTB4MDIsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHgwNSwgMHgwMywgMHgwMCwgMHgw
MCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZm
CitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKG51bGwsCitbCisJMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwNAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbigvYWJjLywKK1sKKwkweDAzLCAweDAwLCAw
eDAwLCAweDAwLCAweDEyLCAweDAzLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAsIDB4
NjIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MDAsCisJMHgwMCwgMHgwMCwgMHgwMAorXSk7CisKK3Zh
ciBpbm5lck9iamVjdCA9IHtoZWxsbzogInRoZXJlIn07Cit2YXIgb3V0ZXJPYmplY3QgPSB7aW5u
ZXI6IGlubmVyT2JqZWN0fTsKK291dGVyT2JqZWN0WydvdXRlciddID0gaW5uZXJPYmplY3Q7Cit0
ZXN0U2VyaWFsaXphdGlvbihvdXRlck9iamVjdCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAw
LCAweDAyLCAweDA1LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAs
IDB4NmUsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3MiwgMHgwMCwgMHgwMiwgMHgwNSwgMHgwMCwg
MHgwMCwgMHgwMCwKKwkweDY4LCAweDAwLCAweDY1LCAweDAwLCAweDZjLCAweDAwLCAweDZjLCAw
eDAwLAorCTB4NmYsIDB4MDAsIDB4MTAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzQsCisJ
MHgwMCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwKKwkweDAwLCAw
eGZmLCAweGZmLCAweGZmLCAweGZmLCAweDA1LCAweDAwLCAweDAwLAorCTB4MDAsIDB4NmYsIDB4
MDAsIDB4NzUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsCisJMHgwMCwgMHg3MiwgMHgwMCwgMHgx
MywgMHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwKKwkweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9u
KGlubmVyT2JqZWN0LAorWworCTB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDUsIDB4
MDAsIDB4MDAsCisJMHgwMCwgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2YywgMHgwMCwgMHg2
YywKKwkweDAwLCAweDZmLCAweDAwLCAweDEwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLAorCTB4
NzQsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsCisJMHg2NSwgMHgw
MCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7CisKK3ZhciB1bmljb2RlT2JqZWN0ID0ge2E6
ICdhJywgdTogU3RyaW5nLmZyb21DaGFyQ29kZSgweDAzQjEsMHgwM0IyKSwgZDogNDJ9OwordGVz
dFNlcmlhbGl6YXRpb24odW5pY29kZU9iamVjdCwKK1sKKwkweDAzLCAweDAwLCAweDAwLCAweDAw
LCAweDAyLCAweDAxLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEsIDB4MDAsIDB4MTAsIDB4ZmUs
IDB4ZmYsIDB4ZmYsIDB4ZmYsCisJMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NSwg
MHgwMCwgMHgxMCwKKwkweDAyLCAweDAwLCAweDAwLCAweDAwLCAweGIxLCAweDAzLCAweGIyLCAw
eDAzLAorCTB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4MDUsIDB4MmEsCisJ
MHgwMCwgMHgwMCwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit1bmljb2RlT2Jq
ZWN0LmEgPSAnYWInOwordGVzdFNlcmlhbGl6YXRpb24odW5pY29kZU9iamVjdCwKK1sKKwkweDAz
LCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAxLCAweDAwLCAweDAwLAorCTB4MDAsIDB4NjEs
IDB4MDAsIDB4MTAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisJMHg2MSwgMHgwMCwgMHg2Miwg
MHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKKwkweDc1LCAweDAwLCAweDEwLCAweDAyLCAw
eDAwLCAweDAwLCAweDAwLCAweGIxLAorCTB4MDMsIDB4YjIsIDB4MDMsIDB4MDEsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4NjQsCisJMHgwMCwgMHgwNSwgMHgyYSwgMHgwMCwgMHgwMCwgMHgwMCwgMHhm
ZiwgMHhmZiwKKwkweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oZnVuY3Rpb24o
KXt9LCBbXSwgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ODJlNDhmLi42NGZiY2E2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0Niw2
ICsyNDYsMTAgQEAgcGxhdGZvcm0vcXQvZmFzdC9mb3JtcyBbIFdvbnRGaXggXQogaW5zcGVjdG9y
L3N0eWxlcy92ZW5kb3ItcHJlZml4ZXMuaHRtbCBbIFdvbnRGaXggXQogZmFzdC9jc3MvYXBwbGUt
cHJlZml4Lmh0bWwgWyBXb250Rml4IF0KIAorIyBUaGlzIHRlc3QgaXMgc3BlY2lmaWMgdG8gSlND
OyB0aGUgVjggZXF1aXZhbGVudCBpcworIyBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uv
c2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbAorZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2Ny
aXB0LXZhbHVlLmh0bWwgWyBXb250Rml4IF0KKwogIyBQZXJmIHRlc3RzIGFyZSByZWFsbHkgc2xv
dyBpbiBkZWJ1ZyBidWlsZHMgYW5kIHRoZXJlIGFyZSBmZXcgYmVuZWZpdHMgaW4KICMgcnVubmlu
ZyB0aGVtLgogWyBEZWJ1ZyBdIHBlcmYgWyBXb250Rml4IF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MGJkYjNi
Li5iMzlmMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTItMDggIE1pY2hh
ZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0cyBm
b3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBhbmQg
ZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1lbnRh
dGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAgYWxy
ZWFkeSBleGlzdCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFRlc3Q6IHBs
YXRmb3JtL2pzYy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbAorCisg
ICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXJpYWxpemVPYmplY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNlcmlhbGl6ZUJ1ZmZlcik6CisKIDIwMTItMTItMDcg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzY5OTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDVh
NDVkNWQuLmE3YzhkYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yNTEsMTEgKzI1MSw5IEBA
IF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxNWRldGFjaEZyb21GcmFtZUV2CiBfX1pON1dl
YkNvcmUxNERvY3VtZW50TG9hZGVyMThhZGRBcmNoaXZlUmVzb3VyY2VFTjNXVEYxMFBhc3NSZWZQ
dHJJTlNfMTVBcmNoaXZlUmVzb3VyY2VFRUUKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIz
MmRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRVJLTlNfMjNBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZUUKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6
ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5T
Nl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJv
ck1vZGVFCi1fX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTE0Y3JlYXRlRnJvbVdp
cmVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZj
cmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJl
ZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZl
ckVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKIF9fWk43V2ViQ29yZTIxU2Vy
aWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVSS04zV1RGNlN0cmluZ0UKLV9fWk43V2ViQ29yZTIx
U2VyaWFsaXplZFNjcmlwdFZhbHVlOHRvU3RyaW5nRXYKLV9fWk5LN1dlYkNvcmUyMVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTEydG9XaXJlU3RyaW5nRXYKK19fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNj
cmlwdFZhbHVlQzFFUk4zV1RGNlZlY3RvckloTG0wRUVFCiBfX1pON1dlYkNvcmU0dG9KU0VQTjNK
U0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM1dURjExQXJyYXlCdWZmZXJF
CiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjFhZGRQbHVnSW5TdHJlYW1Mb2FkZXJFUE5T
XzE0UmVzb3VyY2VMb2FkZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjJhZGRBbGxB
cmNoaXZlUmVzb3VyY2VzRVBOU183QXJjaGl2ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCBmZjgyODlhLi45MTVmNGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC0xNzMyLDE0ICsxNzMyLDI1IEBAIFN0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJl
bnRDdXJzb3JJbmZvKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAKIFBh
c3NSZWZQdHI8QXJyYXlCdWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKIHsKKyNpZiBVU0UoVjgpCiAg
ICAgU3RyaW5nIHN0cmluZ1ZhbHVlID0gdmFsdWUtPnRvV2lyZVN0cmluZygpOwogICAgIHJldHVy
biBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihzdHJpbmdWYWx1
ZS5pbXBsKCktPmNoYXJhY3RlcnMoKSksIHN0cmluZ1ZhbHVlLnNpemVJbkJ5dGVzKCkpOworI2Vs
c2UKKyAgICBWZWN0b3I8dWludDhfdD4gYnl0ZXMgPSB2YWx1ZS0+ZGF0YSgpOworICAgIHJldHVy
biBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGJ5dGVzLmRhdGEoKSwgYnl0ZXMuc2l6ZSgpKTsKKyNlbmRp
ZgogfQogCiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSW50ZXJuYWxzOjpkZXNl
cmlhbGl6ZUJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIpIGNvbnN0CiB7Cisj
aWYgVVNFKFY4KQogICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+KGJ1
ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXplb2YoVUNoYXIpKTsKICAg
ICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSh2YWx1ZSk7Cisj
ZWxzZQorICAgIFZlY3Rvcjx1aW50OF90PiBieXRlczsKKyAgICBieXRlcy5hcHBlbmQoc3RhdGlj
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3Ro
KCkpOworICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0KGJ5dGVzKTsKKyNl
bmRpZgogfQogCiB2b2lkIEludGVybmFsczo6c2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJvb2wg
ZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NjBiMjI1Li41YmE2N2M2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMTItMDggIE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3Jn
PgorCisgICAgICAgIFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2
YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NDQyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0ZXN0cyBmb3Igc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMg
b2YKKyAgICAgICAgdGhlIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0VmFs
dWUuIFNpbWlsYXIgdGVzdHMKKyAgICAgICAgYWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGltcGxl
bWVudGF0aW9uLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmLmluOgorCiAyMDEyLTEyLTA3
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2OTkzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIuZGVmLmluIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmLmlu
CmluZGV4IDRlNjcxNzguLmQ5ODYwNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4KQEAg
LTE2Myw2ICsxNjMsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9X
QFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCX1dJQFoKICAgICAgICAgPz8wU3RyaW5n
QFdURkBAUUFFQFZBU0NJSUxpdGVyYWxAMUBAWgorICAgICAgICA/PzBTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAQUFFQEFBVj8kVmVjdG9yQEUkMEFAQFdURkBAQFoKICAgICAgICAgPz8x
U2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRUBYWgogICAgICAgICA/YWJzb2x1dGVC
b3VuZGluZ0JveFJlY3RAUmVuZGVyT2JqZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBa
CiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdElnbm9yaW5nVHJhbnNmb3Jtc0BSZW5k
ZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAyQFhaCkBAIC0xNzcsNyArMTc4LDYgQEAg
RVhQT1JUUwogICAgICAgICA/Y3JlYXRlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBT
QT9BVj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFC
VlN0cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNv
cmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdU
RkBAUEFWRXhlY1N0YXRlQEpTQ0BAVkpTVmFsdWVANkBQQVY/JFZlY3RvckBWPyRSZWZQdHJAVk1l
c3NhZ2VQb3J0QFdlYkNvcmVAQEBXVEZAQCQwMEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0ckBWQXJy
YXlCdWZmZXJAV1RGQEBAV1RGQEAkMDBANEBXNFNlcmlhbGl6YXRpb25FcnJvck1vZGVAMkBAWgog
ICAgICAgICA/Y3JlYXRlQFNoYWRvd1Jvb3RAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNo
YWRvd1Jvb3RAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEFBSEBaCi0gICAgICAgID9jcmVh
dGVGcm9tV2lyZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQ
dHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBAV1RGQEBBQlZTdHJpbmdANEBAWgog
ICAgICAgICA/Y3JlYXRlV3JhcHBlckBXZWJDb3JlQEBZQT9BVkpTVmFsdWVASlNDQEBQQVZFeGVj
U3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWgogICAgICAgICA/ZGVz
ZXJpYWxpemVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVkpTVmFsdWVASlND
QEBQQVZFeGVjU3RhdGVANEBQQVZKU0dsb2JhbE9iamVjdEA0QFBBVj8kVmVjdG9yQFY/JFJlZlB0
ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQFdURkBAVzRTZXJpYWxpemF0aW9uRXJy
b3JNb2RlQDJAQFoKICAgICAgICAgP2RvY3VtZW50U3RhdGVASGlzdG9yeUl0ZW1AV2ViQ29yZUBA
UUJFQUJWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpAQCAtMzAwLDggKzMwMCw2
IEBAIEVYUE9SVFMKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFW
RXhlY1N0YXRlQDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZSYW5nZUAxQEBaCiAgICAgICAg
ID90b0pTQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9N
R2xvYmFsT2JqZWN0QDFAUEFWTm9kZUxpc3RAMUBAWgogICAgICAgICA/dG9SYW5nZUBXZWJDb3Jl
QEBZQVBBVlJhbmdlQDFAVkpTVmFsdWVASlNDQEBAWgotICAgICAgICA/dG9TdHJpbmdAU2VyaWFs
aXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFBRT9BVlN0cmluZ0BXVEZAQFhaCi0gICAgICAgID90
b1dpcmVTdHJpbmdAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFFCRT9BVlN0cmluZ0BX
VEZAQFhaCiAgICAgICAgID90cmVlU2NvcGVATm9kZUBXZWJDb3JlQEBRQkVQQVZUcmVlU2NvcGVA
MkBYWgogICAgICAgICA/dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQERvY3Vt
ZW50QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/dXNlclByZWZlcnJlZExhbmd1YWdlc0BXZWJD
b3JlQEBZQT9BVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyCmluZGV4IDViNzc3NzYuLmE4Y2U3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgpAQCAtODksNyArODksNiBAQCBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0NvbnRleHRDMUVQ
TlNfNE5vZGVFOwogX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0RDFFdjsKIF9aTjdX
ZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQyOGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3Vu
dHNFdjsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWU2Y3JlYXRlRVBOM0pTQzlF
eGVjU3RhdGVFTlMxXzdKU1ZhbHVlRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNz
YWdlUG9ydEVFRUxqMUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMajFFRUVOU18y
MlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwotX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTExZGVzZXJpYWxpemVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RF
UE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTGoxRUVFTlNfMjJT
ZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsKIF9aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1
cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FOwogX1pON1dlYkNv
cmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWo7CiBfWk43V2ViQ29yZTIy
aW5zdHJ1bWVudGF0aW9uRm9yUGFnZUVQTlNfNFBhZ2VFOwpAQCAtMjE4LDEzICsyMTcsMTMgQEAg
X1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRUcmFja3NSZXBhaW50c0ViOwogX1pOSzdXZWJDb3Jl
NUZyYW1lMjV0cmFja2VkUmVwYWludFJlY3RzQXNUZXh0RXY7CiBfWk43V2ViQ29yZTR0b0pTRVBO
M0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zV1RGMTFBcnJheUJ1ZmZl
ckU7CiBfWk43V2ViQ29yZTEzdG9BcnJheUJ1ZmZlckVOM0pTQzdKU1ZhbHVlRTsKK19aTjdXZWJD
b3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVF
UE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNz
YWdlUG9ydEVFRUxqMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7CitfWk43V2ViQ29y
ZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBO
UzFfMTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2Fn
ZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwogX1pON1dlYkNvcmUy
MVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFs
dWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5T
Nl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9y
TW9kZUU7Ci1fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTRjcmVhdGVGcm9tV2ly
ZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNy
ZWF0ZUVSS04zV1RGNlN0cmluZ0U7Ci1fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
OHRvU3RyaW5nRXY7Ci1fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlh
bGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9y
SU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25F
cnJvck1vZGVFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUMxRVJOM1dURjZW
ZWN0b3JJaExqMEVFRTsKK19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVDMUVSTjNX
VEY2VmVjdG9ySWhMbTBFRUU7CiBfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlRDFF
djsKLV9aTks3V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTJ0b1dpcmVTdHJpbmdFdjsK
IF9aTjdXZWJDb3JlMTZDU1NQYXJzZXJDb250ZXh0QzFFUE5TXzhEb2N1bWVudEVSS05TXzRLVVJM
RVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHMxMXBhcnNl
U3RyaW5nRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHND
MUVQTlNfMTVTdHlsZVJ1bGVJbXBvcnRFUktOM1dURjZTdHJpbmdFUktOU18xNkNTU1BhcnNlckNv
bnRleHRFOwotLSAKMS43LjkuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178663</attachid>
            <date>2012-12-10 16:21:36 -0800</date>
            <delta_ts>2012-12-11 12:59:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-serialization-tests.patch</filename>
            <type>text/plain</type>
            <size>32066</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogTW9uLCAxMCBEZWMg
MjAxMiAxNjoxNjowNSAtMDgwMApTdWJqZWN0OiBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0
IHNlcmlhbGl6YXRpb24gdmFsdWVzCgotLS0KIENoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKwogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE3ICsrCiAuLi4vc3RvcmFnZS9yZXNvdXJj
ZXMvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuanMgICB8ICAgODMgKysrKysrKysKIC4uLi9zdG9y
YWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dCAgIHwgIDEzNyArKysrKysr
KysrKysrCiAuLi4vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgICAg
ICB8ICAyMDcgKysrKysrKysrKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMgICAgIHwgICAgNCArCiAuLi4vZmFzdC9zdG9yYWdlL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwgICAgICB8ICAgNzUgKy0tLS0tLQogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCAgICAgICAgICAgICAgIHwgICAxMSAr
KwogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDEzICsrCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4gICAgICAgICAgICAgICAg
ICB8ICAgIDQgKy0KIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgICAgICAgICAgICAg
ICAgICAgIHwgICAgOSArLQogMTMgZmlsZXMgY2hhbmdlZCwgNTE1IGluc2VydGlvbnMoKyksIDgw
IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvc3RvcmFn
ZS9yZXNvdXJjZXMvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuanMKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhwZWN0
ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggNDMzMDNkYy4uNjM5MmE0NSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1p
Y2hhZWxANjhrLm9yZz4KKworICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNl
cmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlv
biBtZWNoYW5pc21zIG9mCisgICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFs
aXplZFNjcmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9y
IHRoZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3lt
Ym9scy5maWx0ZXI6CisKIDIwMTItMTItMTAgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbQ1NTMyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVyc10gUmVtb3ZlIENT
UzNfQkFDS0dST1VORCBmZWF0dXJlIGZsYWcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDUzMGVlYy4uNTU3MzMzYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1pY2hhZWxA
NjhrLm9yZz4KKworICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNlcmlhbGl6
YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBtZWNo
YW5pc21zIG9mCisgICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFsaXplZFNj
cmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9yIHRoZSBW
OCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIGZhc3Qvc3RvcmFnZS9yZXNvdXJjZXMvc2Vy
aWFsaXplZC1zY3JpcHQtdmFsdWUuanM6IEFkZGVkIHV0aWxpdHkgZnVuY3Rpb25zIGNvbW1vbiB0
byBib3RoIFY4IGFuZCBKU0MgdGVzdHMuCisgICAgICAgICogZmFzdC9zdG9yYWdlL3NlcmlhbGl6
ZWQtc2NyaXB0LXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zdG9y
YWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IEV4Y2x1ZGVkIG5ldyBKU0Mtc3BlY2lmaWMg
dGVzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXpl
ZC1zY3JpcHQtdmFsdWUuaHRtbDogTW92ZWQgdXRpbGl0eSBmdW5jdGlvbnMgaW50byBmYXN0L3N0
b3JhZ2UvcmVzb3VyY2VzL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmpzLgorCiAyMDEyLTEyLTEw
ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAg
ICAgW0VGTF0gTWFzc2l2ZSByZWJhc2VsaW5lIGFmdGVyIHIxMzcxNDYKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9yZXNvdXJjZXMvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2UvcmVzb3VyY2VzL3NlcmlhbGl6ZWQtc2NyaXB0
LXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNjQ0MTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2UvcmVzb3VyY2VzL3Nlcmlh
bGl6ZWQtc2NyaXB0LXZhbHVlLmpzCkBAIC0wLDAgKzEsODMgQEAKK2Z1bmN0aW9uIGV4cGVjdEJ1
ZmZlclZhbHVlKGJ5dGVzUGVyRWxlbWVudCwgZXhwZWN0ZWRWYWx1ZXMsIGJ1ZmZlcikgeworICAg
IGV4cGVjdGVkQnVmZmVyVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZXM7CisgICAgdmFyIGFycmF5Q2xh
c3M7CisgICAgaWYgKGJ5dGVzUGVyRWxlbWVudCA9PSAxKQorICAgICAgICBhcnJheUNsYXNzID0g
VWludDhBcnJheTsKKyAgICBlbHNlCisgICAgICAgIGFycmF5Q2xhc3MgPSBVaW50MTZBcnJheTsK
KyAgICBidWZmZXJWaWV3ID0gbmV3IGFycmF5Q2xhc3MoYnVmZmVyKTsKKyAgICBzaG91bGRCZSgi
YnVmZmVyVmlldy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoIik7CisgICAg
dmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGggPT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMu
bGVuZ3RoKTsKKyAgICBpZiAoc3VjY2VzcykgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRW
YWx1ZXNbaV0gIT0gYnVmZmVyVmlld1tpXSkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkFycmF5QnVmZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4ICIgKyBpICsgIi4gU2hvdWxkIGJlICIg
KyBleHBlY3RlZFZhbHVlc1tpXSArICIuIFdhcyAiICsgYnVmZmVyVmlld1tpXSk7CisgICAgICAg
ICAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAg
IC8vIG91dHB1dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFkZGluZyBiYWNrIGludG8gdGhlIHRlc3QK
KyAgICAgICAgdmFyIG91dHB1dCA9IFtdOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVy
Vmlldy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdb
aV0udG9TdHJpbmcoMTYpOworICAgICAgICAgICAgaWYgKGhleFZhbC5sZW5ndGggPCBieXRlc1Bl
ckVsZW1lbnQgKiAyKSB7CisgICAgICAgICAgICAgICAgaGV4VmFsID0gIjAwMDAiLnNsaWNlKGhl
eFZhbC5sZW5ndGgsIGJ5dGVzUGVyRWxlbWVudCAqIDIpICsgaGV4VmFsOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgb3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7CisgICAgICAgIH0KKyAg
ICAgICAgZGVidWcoIkFjdHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4oIiwgIikgKyAiXSIp
OworICAgIH0KK30KKworZnVuY3Rpb24gbWFrZUJ1ZmZlcihieXRlc1BlckVsZW1lbnQsIHNlcmlh
bGl6ZWRWYWx1ZXMpIHsKKyAgICB2YXIgYXJyYXlDbGFzczsKKyAgICBpZiAoYnl0ZXNQZXJFbGVt
ZW50ID09IDEpCisgICAgICAgIGFycmF5Q2xhc3MgPSBVaW50OEFycmF5OworICAgIGVsc2UKKyAg
ICAgICAgYXJyYXlDbGFzcyA9IFVpbnQxNkFycmF5OworCisgICAgdmFyIGJ1ZmZlclZpZXcgPSBu
ZXcgYXJyYXlDbGFzcyhuZXcgQXJyYXlCdWZmZXIoc2VyaWFsaXplZFZhbHVlcy5sZW5ndGggKiBi
eXRlc1BlckVsZW1lbnQpKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlcmlhbGl6ZWRWYWx1
ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgYnVmZmVyVmlld1tpXSA9IHNlcmlhbGl6ZWRWYWx1
ZXNbaV07CisgICAgfQorICAgIHJldHVybiBidWZmZXJWaWV3LmJ1ZmZlcjsKK30KKworCitmdW5j
dGlvbiBfdGVzdFNlcmlhbGl6YXRpb24oYnl0ZXNQZXJFbGVtZW50LCBvYmosIHZhbHVlcywgb2xk
Rm9ybWF0LCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgIGRlYnVnKCIiKTsKKworICAg
IGlmICghc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKKyAgICAgICAgc2VsZi5vYmogPSBvYmo7
CisgICAgICAgIGRlYnVnKCJEZXNlcmlhbGl6ZSB0byAiICsgSlNPTi5zdHJpbmdpZnkob2JqKSAr
ICI6Iik7CisgICAgICAgIHNlbGYubmV3T2JqID0gaW50ZXJuYWxzLmRlc2VyaWFsaXplQnVmZmVy
KG1ha2VCdWZmZXIoYnl0ZXNQZXJFbGVtZW50LCB2YWx1ZXMpKTsKKyAgICAgICAgc2hvdWxkQmUo
IkpTT04uc3RyaW5naWZ5KG5ld09iaikiLCAiSlNPTi5zdHJpbmdpZnkob2JqKSIpOworCisgICAg
ICAgIGlmIChvbGRGb3JtYXQpIHsKKyAgICAgICAgICAgIHNlbGYubmV3T2JqID0gaW50ZXJuYWxz
LmRlc2VyaWFsaXplQnVmZmVyKG1ha2VCdWZmZXIoYnl0ZXNQZXJFbGVtZW50LCBvbGRGb3JtYXQp
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJKU09OLnN0cmluZ2lmeShuZXdPYmopIiwgIkpTT04u
c3RyaW5naWZ5KG9iaikiKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGRlYnVnKCJTZXJpYWxp
emUgIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOworICAgIHRyeSB7CisgICAgICAgIHZh
ciBzZXJpYWxpemVkID0gaW50ZXJuYWxzLnNlcmlhbGl6ZU9iamVjdChvYmopOworICAgICAgICBp
ZiAoc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNo
b3VsZCBoYXZlIHRocm93biBhbiBleGNlcHRpb24gb2YgdHlwZSAiLCBzZXJpYWxpemVFeGNlcHRp
b25WYWx1ZSk7CisgICAgICAgIH0KKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgaWYgKCFzZXJp
YWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiVGhyZXcgZXhj
ZXB0aW9uICIgKyBlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHNlbGYudGhyb3duRXhjZXB0aW9uID0gZTsKKyAgICAgICAgICAgIHNlbGYuZXhw
ZWN0ZWRFeGNlcHRpb24gPSBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJ0aHJvd25FeGNlcHRpb24uY29kZSIsICJleHBlY3RlZEV4Y2VwdGlvbiIpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAgIGV4cGVjdEJ1ZmZlclZhbHVl
KGJ5dGVzUGVyRWxlbWVudCwgdmFsdWVzLCBzZXJpYWxpemVkKTsKK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2NDk4NTkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3Jp
cHQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTM3IEBACisKK0Rlc2VyaWFsaXplIHRv
IHsiZm9vIjoiem9vIiwiYmFyIjp7ImJheiI6Im15TmV3S2V5In19OgorUEFTUyBKU09OLnN0cmlu
Z2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB7ImZvbyI6Inpv
byIsImJhciI6eyJiYXoiOiJteU5ld0tleSJ9fToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMg
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjoiem9v
IiwiYmFyIjoibXlOZXdLZXkifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09O
LnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJmb28iOiJ6b28iLCJiYXIiOiJteU5ld0tleSJ9
OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgK
KworRGVzZXJpYWxpemUgdG8gW106CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIFtdOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBp
cyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJmb28iOiJ6
b28ifToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmop
CitTZXJpYWxpemUgeyJmb28iOiJ6b28ifToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhw
ZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiZm9vIjpudWxsfToK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUgeyJmb28iOm51bGx9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1
ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8ge306CitQQVNTIEpTT04uc3RyaW5n
aWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHt9OgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJp
YWxpemUgdG8gdW5kZWZpbmVkOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04u
c3RyaW5naWZ5KG9iaikKK1NlcmlhbGl6ZSB1bmRlZmluZWQ6CitQQVNTIGJ1ZmZlclZpZXcubGVu
Z3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB0cnVl
OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nl
cmlhbGl6ZSB0cnVlOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZh
bHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gZmFsc2U6CitQQVNTIEpTT04uc3RyaW5naWZ5
KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIGZhbHNlOgorUEFTUyBi
dWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJp
YWxpemUgdG8gW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGxdOgor
UEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5KG9iaikKK1Nlcmlh
bGl6ZSBbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51
bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxs
LG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxu
dWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVs
bCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGws
bnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbF06CitQQVNT
IGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNl
cmlhbGl6ZSB0byAxMDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmlu
Z2lmeShvYmopCitTZXJpYWxpemUgMTA6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVj
dGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byAtMTA6CitQQVNTIEpTT04u
c3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIC0xMDoK
K1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisK
K0Rlc2VyaWFsaXplIHRvIDEwNzM3NDE4MjQ6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikg
aXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplIDEwNzM3NDE4MjQ6CitQQVNTIGJ1ZmZl
clZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6
ZSB0byAzNjAyODc5NzAxODk2Mzk3MDoKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBK
U09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgMzYwMjg3OTcwMTg5NjM5NzA6CitQQVNTIGJ1
ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlh
bGl6ZSB0byAxLjIzOgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5n
aWZ5KG9iaikKK1NlcmlhbGl6ZSAxLjIzOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBl
Y3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8gIiI6CitQQVNTIEpTT04u
c3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplICIiOgor
UEFTUyBidWZmZXJWaWV3Lmxlbmd0aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKwor
RGVzZXJpYWxpemUgdG8gImFiYyI6CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNP
Ti5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXplICJhYmMiOgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0
aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJpbnRl
Z2VyIjoxMjN9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7ImludGVnZXIiOjEyM306CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3Ro
IGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7InN0cmlu
ZyI6InN0ciJ9OgorUEFTUyBKU09OLnN0cmluZ2lmeShuZXdPYmopIGlzIEpTT04uc3RyaW5naWZ5
KG9iaikKK1NlcmlhbGl6ZSB7InN0cmluZyI6InN0ciJ9OgorUEFTUyBidWZmZXJWaWV3Lmxlbmd0
aCBpcyBleHBlY3RlZEJ1ZmZlclZhbHVlcy5sZW5ndGgKKworRGVzZXJpYWxpemUgdG8geyJsaXN0
IjpbMSwyLDNdfToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lm
eShvYmopCitTZXJpYWxpemUgeyJsaXN0IjpbMSwyLDNdfToKK1BBU1MgYnVmZmVyVmlldy5sZW5n
dGggaXMgZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIG51bGw6
CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2Vy
aWFsaXplIG51bGw6CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFs
dWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0byB7fToKK1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3
T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUge306CitQQVNTIGJ1ZmZlclZp
ZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitEZXNlcmlhbGl6ZSB0
byB7ImlubmVyIjp7ImhlbGxvIjoidGhlcmUifSwib3V0ZXIiOnsiaGVsbG8iOiJ0aGVyZSJ9fToK
K1BBU1MgSlNPTi5zdHJpbmdpZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJp
YWxpemUgeyJpbm5lciI6eyJoZWxsbyI6InRoZXJlIn0sIm91dGVyIjp7ImhlbGxvIjoidGhlcmUi
fX06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0
aAorCitEZXNlcmlhbGl6ZSB0byB7ImhlbGxvIjoidGhlcmUifToKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkobmV3T2JqKSBpcyBKU09OLnN0cmluZ2lmeShvYmopCitTZXJpYWxpemUgeyJoZWxsbyI6InRo
ZXJlIn06CitQQVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxl
bmd0aAorCitEZXNlcmlhbGl6ZSB0byB7ImEiOiJhIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQQVNT
IEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5zdHJpbmdpZnkob2JqKQorU2VyaWFsaXpl
IHsiYSI6ImEiLCJ1IjoizrHOsiIsImQiOjQyfToKK1BBU1MgYnVmZmVyVmlldy5sZW5ndGggaXMg
ZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoCisKK0Rlc2VyaWFsaXplIHRvIHsiYSI6ImFiIiwi
dSI6Is6xzrIiLCJkIjo0Mn06CitQQVNTIEpTT04uc3RyaW5naWZ5KG5ld09iaikgaXMgSlNPTi5z
dHJpbmdpZnkob2JqKQorU2VyaWFsaXplIHsiYSI6ImFiIiwidSI6Is6xzrIiLCJkIjo0Mn06CitQ
QVNTIGJ1ZmZlclZpZXcubGVuZ3RoIGlzIGV4cGVjdGVkQnVmZmVyVmFsdWVzLmxlbmd0aAorCitT
ZXJpYWxpemUgdW5kZWZpbmVkOgorUEFTUyB0aHJvd25FeGNlcHRpb24uY29kZSBpcyBleHBlY3Rl
ZEV4Y2VwdGlvbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNj
cmlwdC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2Ny
aXB0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRmNmEz
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVk
LXNjcmlwdC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMjA3IEBACis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2VyaWFsaXplZC1zY3JpcHQt
dmFsdWUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNj
cmlwdD4KKy8qCisgICAgU2VlIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3Rv
cmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5qcywKKyAgICB1cG9uIHdoaWNoIHRoaXMgdGVz
dCBpcyBiYXNlZCwgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHRlc3Qgb2YgdGhlIFY4CisgICAgc2Vy
aWFsaXphdGlvbiBmb3JtYXQuCisqLworCitmdW5jdGlvbiB0ZXN0U2VyaWFsaXphdGlvbihvYmos
IHZhbHVlcywgb2xkRm9ybWF0LCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgeworICAgIF90ZXN0
U2VyaWFsaXphdGlvbigxLCBvYmosIHZhbHVlcywgb2xkRm9ybWF0LCBzZXJpYWxpemVFeGNlcHRp
b25WYWx1ZSk7Cit9CisKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICd6b28nLCBiYXI6IHtiYXo6
ICdteU5ld0tleSd9fSwKK1sKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAz
LCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4
MDAsIDB4MTAsCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2Ziwg
MHgwMCwKKyAgICAweDZmLCAweDAwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDYyLCAweDAw
LAorICAgIDB4NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDIsIDB4MDMsIDB4MDAsIDB4MDAsCisg
ICAgMHgwMCwgMHg2MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3YSwgMHgwMCwgMHgxMCwKKyAgICAw
eDA4LCAweDAwLCAweDAwLCAweDAwLCAweDZkLCAweDAwLCAweDc5LCAweDAwLAorICAgIDB4NGUs
IDB4MDAsIDB4NjUsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NGIsIDB4MDAsCisgICAgMHg2NSwgMHgw
MCwgMHg3OSwgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAweGZmLCAweGZmLCAw
eGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oe2ZvbzogJ3pvbycsIGJhcjogJ215
TmV3S2V5J30sCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMywgMHgw
MCwgMHgwMCwKKyAgICAweDAwLCAweDY2LCAweDAwLCAweDZmLCAweDAwLCAweDZmLCAweDAwLCAw
eDEwLAorICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NmYsIDB4MDAs
CisgICAgMHg2ZiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg2MiwgMHgwMCwKKyAg
ICAweDYxLCAweDAwLCAweDcyLCAweDAwLCAweDEwLCAweDA4LCAweDAwLCAweDAwLAorICAgIDB4
MDAsIDB4NmQsIDB4MDAsIDB4NzksIDB4MDAsIDB4NGUsIDB4MDAsIDB4NjUsCisgICAgMHgwMCwg
MHg3NywgMHgwMCwgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwKKyAgICAweDAwLCAweGZm
LCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24oW10sCitbCisgICAg
MHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAw
LCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtmb286ICJ6
b28ifSwKK1sKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAzLCAweDAwLCAw
eDAwLAorICAgIDB4MDAsIDB4NjYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmYsIDB4MDAsIDB4MTAs
CisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMCwgMHg2ZiwgMHgwMCwKKyAg
ICAweDZmLCAweDAwLCAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0
aW9uKHtmb286IG51bGx9LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4
MDMsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHg2NiwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2Ziwg
MHgwMCwgMHgwNCwKKyAgICAweGZmLCAweGZmLCAweGZmLCAweGZmCitdKTsKKwordGVzdFNlcmlh
bGl6YXRpb24oe30sCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHhmZiwg
MHhmZiwgMHhmZiwKKyAgICAweGZmCitdKTsKKwordGVzdFNlcmlhbGl6YXRpb24odW5kZWZpbmVk
LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMKK10pOwordGVzdFNlcmlhbGl6
YXRpb24odHJ1ZSwKK1sKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDA5CitdKTsKK3Rl
c3RTZXJpYWxpemF0aW9uKGZhbHNlLAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDgKK10pOwordGVzdFNlcmlhbGl6YXRpb24obmV3IEFycmF5KDEwMCksCitbCisgICAgMHgwMywg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg2NCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweGZm
LCAweGZmLCAweGZmLCAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKDEwLAorWworICAgIDB4
MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MGEsIDB4MDAsIDB4MDAsCisgICAgMHgwMAor
XSk7Cit0ZXN0U2VyaWFsaXphdGlvbigtMTAsCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwNSwgMHhmNiwgMHhmZiwgMHhmZiwKKyAgICAweGZmCitdKTsKK3Rlc3RTZXJpYWxpemF0
aW9uKE1hdGgucG93KDIsMzApLAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUs
IDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHg0MAorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihNYXRo
LnBvdygyLDU1KSwKK1sKKyAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDBhLCAweDAwLCAw
eDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjAsIDB4NDMsCitdKTsKK3Rlc3RT
ZXJpYWxpemF0aW9uKDEuMjMsCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwg
MHhhZSwgMHg0NywgMHhlMSwKKyAgICAweDdhLCAweDE0LCAweGFlLCAweGYzLCAweDNmCitdKTsK
K3Rlc3RTZXJpYWxpemF0aW9uKCIiLAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MTEKK10pOwordGVzdFNlcmlhbGl6YXRpb24oImFiYyIsCitbCisgICAgMHgwMywgMHgwMCwgMHgw
MCwgMHgwMCwgMHgxMCwgMHgwMywgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDYxLCAweDAwLCAw
eDYyLCAweDAwLCAweDYzLCAweDAwCitdKTsKK3Rlc3RTZXJpYWxpemF0aW9uKHtpbnRlZ2VyOiAx
MjN9LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDcsIDB4MDAsIDB4
MDAsCisgICAgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwK
KyAgICAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDA1LAorICAg
IDB4N2IsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordGVz
dFNlcmlhbGl6YXRpb24oe3N0cmluZzogInN0ciJ9LAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDIsIDB4MDYsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHg3MywgMHgwMCwgMHg3
NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwKKyAgICAweDAwLCAweDZlLCAweDAwLCAweDY3LCAw
eDAwLCAweDEwLCAweDAzLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzQs
IDB4MDAsIDB4NzIsIDB4MDAsCisgICAgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0
U2VyaWFsaXphdGlvbih7bGlzdDogWzEsMiwzXX0sCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDZjLCAweDAwLCAweDY5
LCAweDAwLCAweDczLCAweDAwLCAweDc0LAorICAgIDB4MDAsIDB4MDEsIDB4MDMsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwNywgMHgwMSwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwNSwKKyAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAw
LCAweDAwLCAweDAwLAorICAgIDB4MDUsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4
ZmYsIDB4ZmYsCisgICAgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZgorXSk7Cit0ZXN0U2Vy
aWFsaXphdGlvbihudWxsLAorWworICAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQKK10p
OwordGVzdFNlcmlhbGl6YXRpb24oL2FiYy8sCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgxMiwgMHgwMywgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDYxLCAweDAwLCAweDYyLCAw
eDAwLCAweDYzLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAKK10pOworCit2YXIg
aW5uZXJPYmplY3QgPSB7aGVsbG86ICJ0aGVyZSJ9OwordmFyIG91dGVyT2JqZWN0ID0ge2lubmVy
OiBpbm5lck9iamVjdH07CitvdXRlck9iamVjdFsnb3V0ZXInXSA9IGlubmVyT2JqZWN0OwordGVz
dFNlcmlhbGl6YXRpb24ob3V0ZXJPYmplY3QsCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMiwgMHgwNSwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDY5LCAweDAwLCAweDZlLCAw
eDAwLCAweDZlLCAweDAwLCAweDY1LAorICAgIDB4MDAsIDB4NzIsIDB4MDAsIDB4MDIsIDB4MDUs
IDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHg2OCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2YywgMHgw
MCwgMHg2YywgMHgwMCwKKyAgICAweDZmLCAweDAwLCAweDEwLCAweDA1LCAweDAwLCAweDAwLCAw
eDAwLCAweDc0LAorICAgIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAs
IDB4NjUsCisgICAgMHgwMCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwNSwgMHgwMCwgMHgw
MCwKKyAgICAweDAwLCAweDZmLCAweDAwLCAweDc1LCAweDAwLCAweDc0LCAweDAwLCAweDY1LAor
ICAgIDB4MDAsIDB4NzIsIDB4MDAsIDB4MTMsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAg
MHhmZgorXSk7Cit0ZXN0U2VyaWFsaXphdGlvbihpbm5lck9iamVjdCwKK1sKKyAgICAweDAzLCAw
eDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA1LCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4Njgs
IDB4MDAsIDB4NjUsIDB4MDAsIDB4NmMsIDB4MDAsIDB4NmMsCisgICAgMHgwMCwgMHg2ZiwgMHgw
MCwgMHgxMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDc0LCAweDAwLCAweDY4LCAw
eDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLAorICAgIDB4NjUsIDB4MDAsIDB4ZmYsIDB4ZmYs
IDB4ZmYsIDB4ZmYKK10pOworCit2YXIgdW5pY29kZU9iamVjdCA9IHthOiAnYScsIHU6IFN0cmlu
Zy5mcm9tQ2hhckNvZGUoMHgwM0IxLDB4MDNCMiksIGQ6IDQyfTsKK3Rlc3RTZXJpYWxpemF0aW9u
KHVuaWNvZGVPYmplY3QsCitbCisgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgw
MSwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDYxLCAweDAwLCAweDEwLCAweGZlLCAweGZmLCAw
eGZmLCAweGZmLAorICAgIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzUsIDB4MDAs
IDB4MTAsCisgICAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMSwgMHgwMywgMHhiMiwgMHgw
MywKKyAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDY0LCAweDAwLCAweDA1LCAweDJhLAor
ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK10pOwordW5pY29k
ZU9iamVjdC5hID0gJ2FiJzsKK3Rlc3RTZXJpYWxpemF0aW9uKHVuaWNvZGVPYmplY3QsCitbCisg
ICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwMCwgMHgwMCwKKyAgICAw
eDAwLCAweDYxLCAweDAwLCAweDEwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4NjEs
IDB4MDAsIDB4NjIsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHg3NSwgMHgw
MCwgMHgxMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhiMSwKKyAgICAweDAzLCAweGIyLCAw
eDAzLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDY0LAorICAgIDB4MDAsIDB4MDUsIDB4MmEs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYsCisgICAgMHhmZiwgMHhmZgorXSk7CisKK3Rl
c3RTZXJpYWxpemF0aW9uKGZ1bmN0aW9uKCl7fSwgW10sIG51bGwsIERPTUV4Y2VwdGlvbi5EQVRB
X0NMT05FX0VSUik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYjQ0OTcwZC4uYTcyODM4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNDksNiArMjQ5LDEwIEBAIHBsYXRmb3JtL3F0L2Zh
c3QvZm9ybXMgWyBXb250Rml4IF0KIGluc3BlY3Rvci9zdHlsZXMvdmVuZG9yLXByZWZpeGVzLmh0
bWwgWyBXb250Rml4IF0KIGZhc3QvY3NzL2FwcGxlLXByZWZpeC5odG1sIFsgV29udEZpeCBdCiAK
KyMgVGhpcyB0ZXN0IGlzIHNwZWNpZmljIHRvIEpTQzsgdGhlIFY4IGVxdWl2YWxlbnQgaXMKKyMg
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0
bWwKK2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sIFsgV29udEZpeCBd
CisKICMgUGVyZiB0ZXN0cyBhcmUgcmVhbGx5IHNsb3cgaW4gZGVidWcgYnVpbGRzIGFuZCB0aGVy
ZSBhcmUgZmV3IGJlbmVmaXRzIGluCiAjIHJ1bm5pbmcgdGhlbS4KIFsgRGVidWcgXSBwZXJmIFsg
V29udEZpeCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sCmlu
ZGV4IGVkNzQ2ODIuLjVhOGI4MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlwdC12YWx1ZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qvc3RvcmFnZS9zZXJpYWxpemVkLXNjcmlw
dC12YWx1ZS5odG1sCkBAIC0xLDgwICsxLDE3IEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qvc3Rv
cmFnZS9yZXNvdXJjZXMvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuanMiPjwvc2NyaXB0PgogICAg
IDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlwdD4KLWZ1bmN0aW9uIGV4cGVjdEJ1
ZmZlclZhbHVlKGV4cGVjdGVkVmFsdWVzLCBidWZmZXIpIHsKLSAgICBleHBlY3RlZEJ1ZmZlclZh
bHVlcyA9IGV4cGVjdGVkVmFsdWVzOwotICAgIGJ1ZmZlclZpZXcgPSBuZXcgVWludDE2QXJyYXko
YnVmZmVyKTsKLSAgICBzaG91bGRCZSgiYnVmZmVyVmlldy5sZW5ndGgiLCAiZXhwZWN0ZWRCdWZm
ZXJWYWx1ZXMubGVuZ3RoIik7Ci0gICAgdmFyIHN1Y2Nlc3MgPSAoYnVmZmVyVmlldy5sZW5ndGgg
PT0gZXhwZWN0ZWRCdWZmZXJWYWx1ZXMubGVuZ3RoKTsKLSAgICBpZiAoc3VjY2VzcykgewotICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7Ci0g
ICAgICAgICAgICBpZiAoZXhwZWN0ZWRWYWx1ZXNbaV0gIT0gYnVmZmVyVmlld1tpXSkgewotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkFycmF5QnVmZmVyVmlld3MgZGlmZmVyIGF0IGluZGV4
ICIgKyBpICsgIi4gU2hvdWxkIGJlICIgKyBleHBlY3RlZFZhbHVlc1tpXSArICIuIFdhcyAiICsg
YnVmZmVyVmlld1tpXSk7Ci0gICAgICAgICAgICAgICAgc3VjY2VzcyA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAg
aWYgKCFzdWNjZXNzKSB7Ci0gICAgICAgIC8vIG91dHB1dCB0aGUgZnVsbCBidWZmZXIgZm9yIGFk
ZGluZyBiYWNrIGludG8gdGhlIHRlc3QKLSAgICAgICAgdmFyIG91dHB1dCA9IFtdOwotICAgICAg
ICBmb3IgKGkgPSAwOyBpIDwgYnVmZmVyVmlldy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAg
dmFyIGhleFZhbCA9IGJ1ZmZlclZpZXdbaV0udG9TdHJpbmcoMTYpOwotICAgICAgICAgICAgaWYg
KGhleFZhbC5sZW5ndGggPCA0KSB7Ci0gICAgICAgICAgICAgICAgaGV4VmFsID0gIjAwMDAiLnNs
aWNlKGhleFZhbC5sZW5ndGgpICsgaGV4VmFsOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
b3V0cHV0LnB1c2goIjB4IiArIGhleFZhbCk7Ci0gICAgICAgIH0KLSAgICAgICAgZGVidWcoIkFj
dHVhbCBidWZmZXI6IFsiICsgb3V0cHV0LmpvaW4oIiwgIikgKyAiXSIpOwotICAgIH0KLX0KLQot
ZnVuY3Rpb24gbWFrZUJ1ZmZlcihzZXJpYWxpemVkVmFsdWVzKSB7Ci0gICAgdmFyIGJ1ZmZlclZp
ZXcgPSBuZXcgVWludDE2QXJyYXkobmV3IEFycmF5QnVmZmVyKHNlcmlhbGl6ZWRWYWx1ZXMubGVu
Z3RoICogMikpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VyaWFsaXplZFZhbHVlcy5sZW5n
dGg7IGkrKykgewotICAgICAgICBidWZmZXJWaWV3W2ldID0gc2VyaWFsaXplZFZhbHVlc1tpXTsK
LSAgICB9Ci0gICAgcmV0dXJuIGJ1ZmZlclZpZXcuYnVmZmVyOwotfQotCisvKgorICAgIFNlZSBM
YXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUuanMgZm9yIHRo
ZQorICAgIGNvcnJlc3BvbmRpbmcgdGVzdCBvZiB0aGUgSlNDIHNlcmlhbGl6YXRpb24gZm9ybWF0
LgorKi8KIAogZnVuY3Rpb24gdGVzdFNlcmlhbGl6YXRpb24ob2JqLCB2YWx1ZXMsIG9sZEZvcm1h
dCwgc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKLSAgICBkZWJ1ZygiIik7Ci0KLSAgICBpZiAo
IXNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVlKSB7Ci0gICAgICAgIHNlbGYub2JqID0gb2JqOwotICAg
ICAgICBkZWJ1ZygiRGVzZXJpYWxpemUgdG8gIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIp
OwotICAgICAgICBzZWxmLm5ld09iaiA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihtYWtl
QnVmZmVyKHZhbHVlcykpOwotICAgICAgICBzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkobmV3T2Jq
KSIsICJKU09OLnN0cmluZ2lmeShvYmopIik7Ci0KLSAgICAgICAgaWYgKG9sZEZvcm1hdCkgewot
ICAgICAgICAgICAgc2VsZi5uZXdPYmogPSBpbnRlcm5hbHMuZGVzZXJpYWxpemVCdWZmZXIobWFr
ZUJ1ZmZlcihvbGRGb3JtYXQpKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJKU09OLnN0cmluZ2lm
eShuZXdPYmopIiwgIkpTT04uc3RyaW5naWZ5KG9iaikiKTsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIGRlYnVnKCJTZXJpYWxpemUgIiArIEpTT04uc3RyaW5naWZ5KG9iaikgKyAiOiIpOwotICAg
IHRyeSB7Ci0gICAgICAgIHZhciBzZXJpYWxpemVkID0gaW50ZXJuYWxzLnNlcmlhbGl6ZU9iamVj
dChvYmopOwotICAgICAgICBpZiAoc2VyaWFsaXplRXhjZXB0aW9uVmFsdWUpIHsKLSAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIHRocm93biBhbiBleGNlcHRpb24gb2YgdHlwZSAi
LCBzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSk7Ci0gICAgICAgIH0KLSAgICB9IGNhdGNoKGUpIHsK
LSAgICAgICAgaWYgKCFzZXJpYWxpemVFeGNlcHRpb25WYWx1ZSkgewotICAgICAgICAgICAgdGVz
dEZhaWxlZCgiVGhyZXcgZXhjZXB0aW9uICIgKyBlKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHNlbGYudGhyb3duRXhjZXB0aW9uID0gZTsKLSAg
ICAgICAgICAgIHNlbGYuZXhwZWN0ZWRFeGNlcHRpb24gPSBzZXJpYWxpemVFeGNlcHRpb25WYWx1
ZTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJ0aHJvd25FeGNlcHRpb24uY29kZSIsICJleHBlY3Rl
ZEV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotICAg
IGV4cGVjdEJ1ZmZlclZhbHVlKHZhbHVlcywgc2VyaWFsaXplZCk7CisgICAgX3Rlc3RTZXJpYWxp
emF0aW9uKDIsIG9iaiwgdmFsdWVzLCBvbGRGb3JtYXQsIHNlcmlhbGl6ZUV4Y2VwdGlvblZhbHVl
KTsKIH0KIAogLy8gd2Ugb25seSB0ZXN0IGEgZmV3IGNhc2VzIG9mIHRoZSAib2xkIiBzZXJpYWxp
emF0aW9uIGZvcm1hdCBiZWNhdXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NiNzk1ZS4uZmEwNmYxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTA4ICBNaWNoYWVsIFBydWV0dCAgPG1p
Y2hhZWxANjhrLm9yZz4KKworICAgICAgICBbSlNDXSBBZGQgdGVzdHMgZm9yIGV4cGxpY2l0IHNl
cmlhbGl6YXRpb24gdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDQ0MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVzdHMgZm9yIHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlv
biBtZWNoYW5pc21zIG9mCisgICAgICAgIHRoZSBKU0MgaW1wbGVtZW50YXRpb24gb2YgU2VyaWFs
aXplZFNjcmlwdFZhbHVlLiBTaW1pbGFyIHRlc3RzCisgICAgICAgIGFscmVhZHkgZXhpc3QgZm9y
IHRoZSBWOCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9qc2MvZmFz
dC9zdG9yYWdlL3NlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlLmh0bWwKKworICAgICAgICAqIFdlYkNv
cmUuZXhwLmluOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6ZGVzZXJpYWxpemVCdWZmZXIpOgorCiAyMDEyLTEyLTEwICBaYW4gRG9iZXJzZWsg
IDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjExODczNSk6
IHN2Zy9kb20vY29tcGxleC1zdmdWaWV3LXNwZWNpZmljYXRpb24uaHRtbCwgc3ZnL2RvbS9TVkdW
aWV3U3BlYy5odG1sLCBzdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci5odG1sIGZhaWxpbmcgb24gR1RL
IExpbnV4IDY0LWJpdCBSZWxlYXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDkzYTdjZTQuLmQ0
YWMzYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yNTIsMTEgKzI1Miw5IEBAIF9fWk43V2Vi
Q29yZTE0RG9jdW1lbnRMb2FkZXIxNWRldGFjaEZyb21GcmFtZUV2CiBfX1pON1dlYkNvcmUxNERv
Y3VtZW50TG9hZGVyMThhZGRBcmNoaXZlUmVzb3VyY2VFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTVB
cmNoaXZlUmVzb3VyY2VFRUUKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIzMmRpZENhbmNl
bEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRVJLTlNfMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUUK
IF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5
RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRy
SU5TXzExTWVzc2FnZVBvcnRFRUVMbTFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFCi1f
X1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTE0Y3JlYXRlRnJvbVdpcmVFUktOM1dU
RjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFUE4z
SlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18x
MU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxtMUVF
RU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUUKIF9fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNj
cmlwdFZhbHVlNmNyZWF0ZUVSS04zV1RGNlN0cmluZ0UKLV9fWk43V2ViQ29yZTIxU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOHRvU3RyaW5nRXYKLV9fWk5LN1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTEydG9XaXJlU3RyaW5nRXYKK19fWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
QzFFUk4zV1RGNlZlY3RvckloTG0wRUVFCiBfX1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0
YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM1dURjExQXJyYXlCdWZmZXJFCiBfX1pON1dl
YkNvcmUxNERvY3VtZW50TG9hZGVyMjFhZGRQbHVnSW5TdHJlYW1Mb2FkZXJFUE5TXzE0UmVzb3Vy
Y2VMb2FkZXJFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjJhZGRBbGxBcmNoaXZlUmVz
b3VyY2VzRVBOU183QXJjaGl2ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCBmZjgyODlhLi45MTVmNGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC0xNzMyLDE0ICsxNzMyLDI1IEBAIFN0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJ
bmZvKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAKIFBhc3NSZWZQdHI8
QXJyYXlCdWZmZXI+IEludGVybmFsczo6c2VyaWFsaXplT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiB2YWx1ZSkgY29uc3QKIHsKKyNpZiBVU0UoVjgpCiAgICAgU3RyaW5n
IHN0cmluZ1ZhbHVlID0gdmFsdWUtPnRvV2lyZVN0cmluZygpOwogICAgIHJldHVybiBBcnJheUJ1
ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihzdHJpbmdWYWx1ZS5pbXBsKCkt
PmNoYXJhY3RlcnMoKSksIHN0cmluZ1ZhbHVlLnNpemVJbkJ5dGVzKCkpOworI2Vsc2UKKyAgICBW
ZWN0b3I8dWludDhfdD4gYnl0ZXMgPSB2YWx1ZS0+ZGF0YSgpOworICAgIHJldHVybiBBcnJheUJ1
ZmZlcjo6Y3JlYXRlKGJ5dGVzLmRhdGEoKSwgYnl0ZXMuc2l6ZSgpKTsKKyNlbmRpZgogfQogCiBQ
YXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gSW50ZXJuYWxzOjpkZXNlcmlhbGl6ZUJ1
ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBidWZmZXIpIGNvbnN0CiB7CisjaWYgVVNFKFY4
KQogICAgIFN0cmluZyB2YWx1ZShzdGF0aWNfY2FzdDxjb25zdCBVQ2hhcio+KGJ1ZmZlci0+ZGF0
YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkgLyBzaXplb2YoVUNoYXIpKTsKICAgICByZXR1cm4g
U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGVGcm9tV2lyZSh2YWx1ZSk7CisjZWxzZQorICAg
IFZlY3Rvcjx1aW50OF90PiBieXRlczsKKyAgICBieXRlcy5hcHBlbmQoc3RhdGljX2Nhc3Q8Y29u
c3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5ieXRlTGVuZ3RoKCkpOworICAg
IHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0KGJ5dGVzKTsKKyNlbmRpZgogfQog
CiB2b2lkIEludGVybmFsczo6c2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGJvb2wgZW5hYmxlZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlZmNkNTVjLi44NjI4NDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTItMTItMDggIE1pY2hhZWwgUHJ1ZXR0ICA8bWljaGFlbEA2OGsub3JnPgorCisgICAg
ICAgIFtKU0NdIEFkZCB0ZXN0cyBmb3IgZXhwbGljaXQgc2VyaWFsaXphdGlvbiB2YWx1ZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQyMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBm
b3Igc2VyaWFsaXphdGlvbiBhbmQgZGVzZXJpYWxpemF0aW9uIG1lY2hhbmlzbXMgb2YKKyAgICAg
ICAgdGhlIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuIFNpbWls
YXIgdGVzdHMKKyAgICAgICAgYWxyZWFkeSBleGlzdCBmb3IgdGhlIFY4IGltcGxlbWVudGF0aW9u
LgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmLmluOgorCiAyMDEyLTEyLTEwICBFZHVhcmRv
IExpbWEgTWl0ZXYgIDxlbGltYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEV4cG9zZSBI
aXRUZXN0UmVzdWx0OjpzY3JvbGxiYXIoKSBjb25kaXRpb24gaW4gQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYuaW4gYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0Mi5kZWYuaW4KaW5kZXggZThjZTdkYi4uODgxNmY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LmRlZi5pbgpAQCAtMTYzLDYgKzE2Myw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8wU3RyaW5nQFdU
RkBAUUFFQFBCX1dAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJfV0lAWgogICAgICAg
ICA/PzBTdHJpbmdAV1RGQEBRQUVAVkFTQ0lJTGl0ZXJhbEAxQEBaCisgICAgICAgID8/MFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBBQUVAQUFWPyRWZWN0b3JARSQwQUBAV1RGQEBAWgog
ICAgICAgICA/PzFTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFQFhaCiAgICAgICAg
ID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdEBSZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50
UmVjdEAyQF9OQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdCb3hSZWN0SWdub3JpbmdUcmFu
c2Zvcm1zQFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAWFoKQEAgLTE3Nyw3
ICsxNzgsNiBAQCBFWFBPUlRTCiAgICAgICAgID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVl
QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29y
ZUBAQFdURkBAQUJWU3RyaW5nQDRAQFoKICAgICAgICAgP2NyZWF0ZUBTZXJpYWxpemVkU2NyaXB0
VmFsdWVAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBX
ZWJDb3JlQEBAV1RGQEBQQVZFeGVjU3RhdGVASlNDQEBWSlNWYWx1ZUA2QFBBVj8kVmVjdG9yQFY/
JFJlZlB0ckBWTWVzc2FnZVBvcnRAV2ViQ29yZUBAQFdURkBAJDAwQDRAUEFWPyRWZWN0b3JAVj8k
UmVmUHRyQFZBcnJheUJ1ZmZlckBXVEZAQEBXVEZAQCQwMEA0QFc0U2VyaWFsaXphdGlvbkVycm9y
TW9kZUAyQEBaCiAgICAgICAgID9jcmVhdGVAU2hhZG93Um9vdEBXZWJDb3JlQEBTQT9BVj8kUGFz
c1JlZlB0ckBWU2hhZG93Um9vdEBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJAQUFIQFoKLSAg
ICAgICAgP2NyZWF0ZUZyb21XaXJlQFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQEBXVEZAQEFCVlN0
cmluZ0A0QEBaCiAgICAgICAgID9jcmVhdGVXcmFwcGVyQFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBK
U0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEFWTm9kZUAxQEBaCiAg
ICAgICAgID9kZXNlcmlhbGl6ZUBTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FW
SlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUA0QFBBVkpTR2xvYmFsT2JqZWN0QDRAUEFWPyRWZWN0
b3JAVj8kUmVmUHRyQFZNZXNzYWdlUG9ydEBXZWJDb3JlQEBAV1RGQEAkMDBAV1RGQEBXNFNlcmlh
bGl6YXRpb25FcnJvck1vZGVAMkBAWgogICAgICAgICA/ZG9jdW1lbnRTdGF0ZUBIaXN0b3J5SXRl
bUBXZWJDb3JlQEBRQkVBQlY/JFZlY3RvckBWU3RyaW5nQFdURkBAJDBBQEBXVEZAQFhaCkBAIC0z
MDAsOCArMzAwLDYgQEAgRVhQT1JUUwogICAgICAgICA/dG9KU0BXZWJDb3JlQEBZQT9BVkpTVmFs
dWVASlNDQEBQQVZFeGVjU3RhdGVAM0BQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVlJhbmdlQDFA
QFoKICAgICAgICAgP3RvSlNAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEFWRXhlY1N0YXRl
QDNAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVZOb2RlTGlzdEAxQEBaCiAgICAgICAgID90b1Jh
bmdlQFdlYkNvcmVAQFlBUEFWUmFuZ2VAMUBWSlNWYWx1ZUBKU0NAQEBaCi0gICAgICAgID90b1N0
cmluZ0BTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUFFP0FWU3RyaW5nQFdURkBAWFoK
LSAgICAgICAgP3RvV2lyZVN0cmluZ0BTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAUUJF
P0FWU3RyaW5nQFdURkBAWFoKICAgICAgICAgP3RyZWVTY29wZUBOb2RlQFdlYkNvcmVAQFFCRVBB
VlRyZWVTY29wZUAyQFhaCiAgICAgICAgID91cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHNARG9jdW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID91c2VyUHJlZmVycmVkTGFu
Z3VhZ2VzQFdlYkNvcmVAQFlBP0FWPyRWZWN0b3JAVlN0cmluZ0BXVEZAQCQwQUBAV1RGQEBYWgpk
aWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggNWI3Nzc3Ni4uYThjZTdkNSAxMDA2NDQKLS0tIGEv
U291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyCkBAIC04OSw3ICs4OSw2IEBAIF9aTjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5n
Q29udGV4dEMxRVBOU180Tm9kZUU7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0NvbnRleHRE
MUV2OwogX1pON1dlYkNvcmUyMUluc3BlY3RvckNvbnNvbGVBZ2VudDI4Y29uc29sZU1lc3NhZ2VB
cmd1bWVudENvdW50c0V2OwogX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVh
dGVFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0
cklOU18xMU1lc3NhZ2VQb3J0RUVFTGoxRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVF
RUxqMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7Ci1fWk43V2ViQ29yZTIxU2VyaWFs
aXplZFNjcmlwdFZhbHVlMTFkZXNlcmlhbGl6ZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0ds
b2JhbE9iamVjdEVQTjNXVEY2VmVjdG9ySU5TNl82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRFRUVM
ajFFRUVOU18yMlNlcmlhbGl6YXRpb25FcnJvck1vZGVFOwogX1pON1dlYkNvcmUyMWdldENhY2hl
ZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7
CiBfWk43V2ViQ29yZTIyZXh0ZXJuYWxSZXByZXNlbnRhdGlvbkVQTlNfN0VsZW1lbnRFajsKIF9a
TjdXZWJDb3JlMjJpbnN0cnVtZW50YXRpb25Gb3JQYWdlRVBOU180UGFnZUU7CkBAIC0yMTgsMTMg
KzIxNywxMyBAQCBfWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWI7CiBf
Wk5LN1dlYkNvcmU1RnJhbWUyNXRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHRFdjsKIF9aTjdXZWJD
b3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNXVEYx
MUFycmF5QnVmZmVyRTsKIF9aTjdXZWJDb3JlMTN0b0FycmF5QnVmZmVyRU4zSlNDN0pTVmFsdWVF
OworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTExZGVzZXJpYWxpemVFUE4zSlND
OUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFUE4zV1RGNlZlY3RvcklOUzZfNlJlZlB0
cklOU18xMU1lc3NhZ2VQb3J0RUVFTGoxRUVFTlNfMjJTZXJpYWxpemF0aW9uRXJyb3JNb2RlRTsK
K19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMWRlc2VyaWFsaXplRVBOM0pTQzlF
eGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBOM1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJ
TlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2VyaWFsaXphdGlvbkVycm9yTW9kZUU7CiBf
Wk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVlNmNyZWF0ZUVQTjNKU0M5RXhlY1N0YXRl
RU5TMV83SlNWYWx1ZUVQTjNXVEY2VmVjdG9ySU5TNV82UmVmUHRySU5TXzExTWVzc2FnZVBvcnRF
RUVMbTFFRUVQTlM2X0lOUzdfSU5TNV8xMUFycmF5QnVmZmVyRUVFTG0xRUVFTlNfMjJTZXJpYWxp
emF0aW9uRXJyb3JNb2RlRTsKLV9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxNGNy
ZWF0ZUZyb21XaXJlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2Ny
aXB0VmFsdWU2Y3JlYXRlRVJLTjNXVEY2U3RyaW5nRTsKLV9aTjdXZWJDb3JlMjFTZXJpYWxpemVk
U2NyaXB0VmFsdWU4dG9TdHJpbmdFdjsKLV9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFs
dWUxMWRlc2VyaWFsaXplRVBOM0pTQzlFeGVjU3RhdGVFUE5TMV8xNEpTR2xvYmFsT2JqZWN0RVBO
M1dURjZWZWN0b3JJTlM2XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRU5TXzIyU2Vy
aWFsaXphdGlvbkVycm9yTW9kZUU7CitfWk43V2ViQ29yZTIxU2VyaWFsaXplZFNjcmlwdFZhbHVl
QzFFUk4zV1RGNlZlY3RvckloTGowRUVFOworX1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUMxRVJOM1dURjZWZWN0b3JJaExtMEVFRTsKIF9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2Ny
aXB0VmFsdWVEMUV2OwotX1pOSzdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWUxMnRvV2ly
ZVN0cmluZ0V2OwogX1pON1dlYkNvcmUxNkNTU1BhcnNlckNvbnRleHRDMUVQTlNfOERvY3VtZW50
RVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxOFN0eWxlU2hlZXRDb250
ZW50czExcGFyc2VTdHJpbmdFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxOFN0eWxlU2hl
ZXRDb250ZW50c0MxRVBOU18xNVN0eWxlUnVsZUltcG9ydEVSS04zV1RGNlN0cmluZ0VSS05TXzE2
Q1NTUGFyc2VyQ29udGV4dEU7Ci0tIAoxLjcuOS41Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>