<?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>146624</bug_id>
          
          <creation_ts>2015-07-05 18:13:45 -0700</creation_ts>
          <short_desc>[ES6] Support @@species</short_desc>
          <delta_ts>2016-03-31 10:28:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146796</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>fealebenpae</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1106987</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-05 18:13:45 -0700</bug_when>
    <thetext>Support well-known symbol @species.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107450</commentid>
    <comment_count>1</comment_count>
      <attachid>256300</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-07 07:45:42 -0700</bug_when>
    <thetext>Created attachment 256300
WIP

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107451</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-07 07:52:08 -0700</bug_when>
    <thetext>WIP, still several missing parts.

1. TypedArray&apos;s @@species aware code
2. CloneArrayBuffer and @@species
3. RegExp&apos;s @@species aware code (because @@split is needed)
4. tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107452</commentid>
    <comment_count>3</comment_count>
      <attachid>256301</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-07 08:18:34 -0700</bug_when>
    <thetext>Created attachment 256301
WIP

WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108356</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-09 14:06:59 -0700</bug_when>
    <thetext>Current put_by_val_direct always rewrite the property and don&apos;t check the readonly / nondelete / accessor parameter.
This is OK for native array / object. (So previous Array.prototype.map etc. works fine).
But after this change, the newly created result value from Array.prototype.map is constructed by the user-defined function. So it&apos;s field may have accessors as its own properties.

function ExtendedArray() {
    var result = [];
    Object.defineProperty(result, 0, {
        get: ...
        configurable: false
    });
    result.__proto__ = ExtendedArray.prototype;
    return result;
}
ExtendedArray.prototype.__proto__ = Array.prototype;

var extended = new ExtendedArray();
extended.length;   // =&gt; 1
extended.map(function (value) { return value * value; });  // Should throw an error, but not thrown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108357</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-09 14:07:53 -0700</bug_when>
    <thetext>FIX.


function ExtendedArray() {
    var result = [];
    Object.defineProperty(result, 0, {
        get: ...
        configurable: false
    });
    result.__proto__ = ExtendedArray.prototype;
    return result;
}
ExtendedArray.prototype.__proto__ = Array.prototype;
ExtendedArray.prototype.constructor[Symbol.species] = ExtendedArray;

var extended = new ExtendedArray();
extended.length;   // =&gt; 1
extended.map(function (value) { return value * value; });  // Should throw an error, but not thrown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108724</commentid>
    <comment_count>6</comment_count>
      <attachid>256604</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-10 13:18:13 -0700</bug_when>
    <thetext>Created attachment 256604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108725</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-10 13:18:52 -0700</bug_when>
    <thetext>Now taking the performance results...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108758</commentid>
    <comment_count>8</comment_count>
      <attachid>256604</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-07-10 14:09:26 -0700</bug_when>
    <thetext>Comment on attachment 256604
Patch

Attachment 256604 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5082386471583744

New failing tests:
fast/profiler/built-in-function-calls-user-defined-function.html
fast/profiler/built-in-function-calls-anonymous.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108759</commentid>
    <comment_count>9</comment_count>
      <attachid>256614</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-07-10 14:09:31 -0700</bug_when>
    <thetext>Created attachment 256614
Archive of layout-test-results from ews103 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108773</commentid>
    <comment_count>10</comment_count>
      <attachid>256604</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-07-10 14:42:41 -0700</bug_when>
    <thetext>Comment on attachment 256604
Patch

Attachment 256604 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6229239376379904

New failing tests:
fast/profiler/built-in-function-calls-user-defined-function.html
fast/profiler/built-in-function-calls-anonymous.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108774</commentid>
    <comment_count>11</comment_count>
      <attachid>256615</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-07-10 14:42:44 -0700</bug_when>
    <thetext>Created attachment 256615
Archive of layout-test-results from ews107 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108932</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-11 09:06:44 -0700</bug_when>
    <thetext>Hm, after this change, we need to check @@species and constructor in Array.prototype.splice.
But this incurs new overhead and as a result, splice-to-remove.js in JS regress becomes 1.8x slower...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109036</commentid>
    <comment_count>13</comment_count>
      <attachid>256680</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-12 10:32:37 -0700</bug_when>
    <thetext>Created attachment 256680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109037</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-12 10:44:35 -0700</bug_when>
    <thetext>Here&apos;s performance result.
The most significant slowdown is splice-to-remove.

splice-to-remove                               18.3481+-3.8598     !     23.4905+-0.6645        ! definitely 1.2803x slower

This is because of ArraySpeciesCreate&apos;s &quot;constructor&quot; and &quot;@@species&quot; accesses.
To inline it, first I implemented splice in JS, but it incurs larger overhead because we cannot use the fastSplice etc. methods.
To reduce the overhead, I tuned the implementation, but it still incurs some overhead.
What do you think about this?



Benchmark report for JSRegress on yusuke (MacBookPro8,2).

VMs tested:
&quot;Baseline&quot; at /Users/yusuke/dev/WebKit/WebKitBuild/Release/jsc
&quot;Mine&quot; at /Users/yusuke/dev/WebKit/WebKitBuild/species2/Release/jsc

Collected 4 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to
get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                   Baseline                    Mine                                       

abc-forward-loop-equal                         51.1674+-5.0877           48.6479+-2.2997          might be 1.0518x faster
abc-postfix-backward-loop                      48.0720+-1.3668     ?     50.2568+-4.6837        ? might be 1.0455x slower
abc-simple-backward-loop                       48.7277+-4.8348           48.6290+-4.8311        
abc-simple-forward-loop                        47.3328+-0.1618     ?     47.5566+-0.6689        ?
abc-skippy-loop                                32.9767+-1.0657     ?     33.3420+-0.8988        ? might be 1.0111x slower
abs-boolean                                     3.3467+-0.3422            3.2416+-0.1499          might be 1.0324x faster
adapt-to-double-divide                         17.5082+-1.2464           17.3109+-0.4277          might be 1.0114x faster
aliased-arguments-getbyval                      1.5208+-0.6134            1.3815+-0.0678          might be 1.1008x faster
allocate-big-object                             2.9107+-0.1042     ?      2.9823+-0.0496        ? might be 1.0246x slower
arguments-named-and-reflective                 12.5203+-0.4445     ?     13.1700+-1.9814        ? might be 1.0519x slower
arguments-out-of-bounds                        15.5223+-0.2832     ?     15.6261+-0.7328        ?
arguments-strict-mode                          11.3640+-0.3237     ?     11.3984+-0.5583        ?
arguments                                      10.0442+-0.5525            9.8920+-0.1799          might be 1.0154x faster
arity-mismatch-inlining                         1.2633+-0.4835            1.1205+-0.4605          might be 1.1275x faster
array-access-polymorphic-structure              8.6655+-3.8603            7.1522+-0.2580          might be 1.2116x faster
array-nonarray-polymorhpic-access              35.6836+-5.1369     ?     36.0783+-4.6007        ? might be 1.0111x slower
array-prototype-every                          99.0819+-7.5873           96.6259+-6.6686          might be 1.0254x faster
array-prototype-forEach                        96.5333+-2.4200     ?    100.2927+-2.4066        ? might be 1.0389x slower
array-prototype-map                           115.8750+-5.6120          109.0456+-6.1642          might be 1.0626x faster
array-prototype-reduce                         97.0061+-5.1047           92.5627+-1.0126          might be 1.0480x faster
array-prototype-reduceRight                    93.5405+-4.4484     ?     96.6400+-12.7247       ? might be 1.0331x slower
array-prototype-some                          102.5292+-3.7505          101.3104+-5.2117          might be 1.0120x faster
array-splice-contiguous                        28.6155+-0.3991     ^     27.7042+-0.4182        ^ definitely 1.0329x faster
array-with-double-add                           4.5800+-0.5163            4.4899+-0.1652          might be 1.0201x faster
array-with-double-increment                     3.7712+-0.1361     ?      3.9052+-0.1660        ? might be 1.0355x slower
array-with-double-mul-add                       5.5643+-0.3665     ?      5.7441+-0.1665        ? might be 1.0323x slower
array-with-double-sum                           3.4575+-0.1347     ?      3.5877+-0.3827        ? might be 1.0377x slower
array-with-int32-add-sub                        7.7271+-0.0499            7.6505+-0.0697          might be 1.0100x faster
array-with-int32-or-double-sum                  3.7283+-0.4589            3.5992+-0.1179          might be 1.0358x faster
ArrayBuffer-DataView-alloc-large-long-lived
                                               43.8238+-8.4648           43.2892+-3.7045          might be 1.0123x faster
ArrayBuffer-DataView-alloc-long-lived          16.2089+-1.8744     ?     18.9260+-7.6748        ? might be 1.1676x slower
ArrayBuffer-Int32Array-byteOffset               4.5106+-0.1940     ?      5.6049+-3.3126        ? might be 1.2426x slower
ArrayBuffer-Int8Array-alloc-large-long-lived
                                               39.5417+-5.9477           38.3552+-4.4244          might be 1.0309x faster
ArrayBuffer-Int8Array-alloc-long-lived-buffer
                                               26.0074+-4.7359     ?     38.7400+-33.4758       ? might be 1.4896x slower
ArrayBuffer-Int8Array-alloc-long-lived         15.3567+-3.7855           14.4391+-0.7373          might be 1.0635x faster
ArrayBuffer-Int8Array-alloc                    13.0563+-2.3466           12.1063+-0.4155          might be 1.0785x faster
asmjs_bool_bug                                  7.7920+-0.1119            7.7707+-0.0526        
assign-custom-setter-polymorphic                3.6730+-0.5436            3.3073+-0.0297          might be 1.1106x faster
assign-custom-setter                            4.7817+-0.0494     ^      4.4613+-0.1993        ^ definitely 1.0718x faster
basic-set                                       9.8560+-0.5868            9.7398+-0.5030          might be 1.0119x faster
big-int-mul                                     4.7560+-0.1064            4.7065+-0.1087          might be 1.0105x faster
boolean-test                                    3.4399+-0.1118     ?      3.5587+-0.3267        ? might be 1.0345x slower
branch-fold                                     4.3620+-0.1365            4.3124+-0.0169          might be 1.0115x faster
branch-on-string-as-boolean                    21.9374+-3.1192           20.5452+-0.6545          might be 1.0678x faster
by-val-generic                                  8.8497+-0.2770     ?      9.1335+-0.3761        ? might be 1.0321x slower
call-spread-apply                              35.2812+-4.4013           34.8157+-4.8177          might be 1.0134x faster
call-spread-call                               27.5219+-1.5239     ?     28.4057+-4.1396        ? might be 1.0321x slower
captured-assignments                            0.5105+-0.0294     ?      0.6843+-0.2625        ? might be 1.3404x slower
cast-int-to-double                              5.9463+-0.0463            5.9405+-0.0607        
cell-argument                                   8.8865+-0.5822            8.7803+-0.2321          might be 1.0121x faster
cfg-simplify                                    3.1818+-0.0841     ?      3.2423+-0.0939        ? might be 1.0190x slower
chain-getter-access                             9.9069+-0.2128     ?     10.0364+-0.2194        ? might be 1.0131x slower
cmpeq-obj-to-obj-other                         13.1295+-2.0776     ?     14.4567+-0.5987        ? might be 1.1011x slower
constant-test                                   5.6617+-0.1144            5.6420+-0.0415        
create-lots-of-functions                       12.6418+-0.4441           12.5557+-0.1916        
cse-new-array-buffer                            2.6160+-0.1691     ?      2.6532+-0.1626        ? might be 1.0142x slower
cse-new-array                                   2.7925+-0.1027     ?      2.8260+-0.0659        ? might be 1.0120x slower
DataView-custom-properties                     47.4603+-5.0732           47.0570+-3.8515        
delay-tear-off-arguments-strictmode            15.8235+-0.4411           15.6124+-0.5172          might be 1.0135x faster
deltablue-varargs                             228.3788+-4.5991     ?    230.6522+-5.8565        ?
destructuring-arguments                       225.7043+-8.0653          214.2256+-6.1360          might be 1.0536x faster
destructuring-parameters-overridden-by-function
                                                0.5731+-0.0620     ?      0.7190+-0.2198        ? might be 1.2547x slower
destructuring-swap                              5.4785+-0.2007            5.4449+-0.0623        
direct-arguments-getbyval                       1.5280+-0.5627            1.3352+-0.0465          might be 1.1444x faster
div-boolean-double                              5.6353+-0.3924            5.5660+-0.0375          might be 1.0124x faster
div-boolean                                     8.1622+-0.1571     ?      8.2130+-0.1344        ?
double-get-by-val-out-of-bounds                 4.9652+-0.1209     ?      5.1838+-0.3191        ? might be 1.0440x slower
double-pollution-getbyval                       9.0823+-0.1008     !      9.2288+-0.0409        ! definitely 1.0161x slower
double-pollution-putbyoffset                    4.8811+-0.0500            4.8464+-0.3143        
double-real-use                                32.7520+-4.6939           29.3969+-0.0858          might be 1.1141x faster
double-to-int32-typed-array-no-inline           2.5372+-0.1721            2.5095+-0.0263          might be 1.0110x faster
double-to-int32-typed-array                     2.1870+-0.0868     ?      2.2026+-0.0646        ?
double-to-uint32-typed-array-no-inline          2.5953+-0.1941     ?      2.8913+-0.5459        ? might be 1.1141x slower
double-to-uint32-typed-array                    2.2360+-0.1460            2.2286+-0.0340        
elidable-new-object-dag                        52.9219+-4.3889           52.6348+-7.9135        
elidable-new-object-roflcopter                 52.0895+-6.1912           50.0863+-6.1500          might be 1.0400x faster
elidable-new-object-then-call                  45.1030+-3.1276     ?     45.2753+-2.2391        ?
elidable-new-object-tree                       53.5673+-6.1587           50.5515+-1.6213          might be 1.0597x faster
empty-string-plus-int                           7.2727+-2.8076            6.4325+-0.2649          might be 1.1306x faster
emscripten-cube2hash                           44.2265+-3.6899     ?     44.3325+-6.4660        ?
exit-length-on-plain-object                    18.1479+-6.0160           15.1954+-0.2883          might be 1.1943x faster
external-arguments-getbyval                     1.5792+-0.4745            1.4274+-0.0764          might be 1.1063x faster
external-arguments-putbyval                     2.6688+-0.0897     ?      2.7554+-0.0359        ? might be 1.0325x slower
fixed-typed-array-storage-var-index             1.4006+-0.0372     ?      1.4296+-0.0485        ? might be 1.0207x slower
fixed-typed-array-storage                       1.1635+-0.4086            1.0413+-0.0095          might be 1.1173x faster
Float32Array-matrix-mult                        4.9402+-0.2413     ?      5.4198+-1.8881        ? might be 1.0971x slower
Float32Array-to-Float64Array-set               60.8435+-5.3892           59.2841+-4.2992          might be 1.0263x faster
Float64Array-alloc-long-lived                  80.6738+-2.9583           78.5107+-4.7582          might be 1.0276x faster
Float64Array-to-Int16Array-set                 74.5405+-5.4334     ?     76.5588+-6.2810        ? might be 1.0271x slower
fold-double-to-int                             16.1115+-0.1412     !     16.9905+-0.3938        ! definitely 1.0546x slower
fold-get-by-id-to-multi-get-by-offset-rare-int
                                               11.7969+-1.9320           11.3754+-1.8073          might be 1.0371x faster
fold-get-by-id-to-multi-get-by-offset          10.5375+-2.3555     ?     11.1516+-0.7034        ? might be 1.0583x slower
fold-multi-get-by-offset-to-get-by-offset
                                                9.5123+-0.3961            9.2736+-2.2959          might be 1.0257x faster
fold-multi-get-by-offset-to-poly-get-by-offset
                                                9.4827+-1.3221     ?      9.5403+-1.6944        ?
fold-multi-put-by-offset-to-poly-put-by-offset
                                                9.4886+-1.4953            8.2516+-1.9079          might be 1.1499x faster
fold-multi-put-by-offset-to-put-by-offset
                                                6.9839+-0.9980     ?      7.4333+-0.4895        ? might be 1.0643x slower
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
                                               10.6545+-0.7694     ?     10.7814+-0.3620        ? might be 1.0119x slower
fold-put-by-id-to-multi-put-by-offset          10.1030+-0.4620     ?     10.9438+-0.8494        ? might be 1.0832x slower
fold-put-structure                              7.1495+-0.1483            6.9185+-1.4177          might be 1.0334x faster
for-of-iterate-array-entries                   14.2586+-0.2000           14.2398+-0.4488        
for-of-iterate-array-keys                       4.2325+-0.1989     ?      4.3393+-0.0948        ? might be 1.0252x slower
for-of-iterate-array-values                     4.0314+-0.1235     ?      4.1531+-0.1141        ? might be 1.0302x slower
fround                                         20.3594+-0.2657     ?     20.5345+-0.7880        ?
ftl-library-inlining-dataview                  69.1111+-1.0323     !     76.0564+-1.0427        ! definitely 1.1005x slower
ftl-library-inlining                          115.6121+-0.6738     ?    116.0792+-0.9236        ?
function-dot-apply                              2.6703+-0.8740            2.4854+-0.2571          might be 1.0744x faster
function-test                                   3.2133+-0.0778            3.1530+-0.0475          might be 1.0191x faster
function-with-eval                            117.1010+-5.7903     ?    118.1352+-12.8426       ?
gcse-poly-get-less-obvious                     20.6453+-0.8123           19.7999+-1.5141          might be 1.0427x faster
gcse-poly-get                                  22.2908+-4.5994           21.6628+-2.2984          might be 1.0290x faster
gcse                                            5.0571+-0.2018     ?      5.1951+-0.1785        ? might be 1.0273x slower
get-by-id-bimorphic-check-structure-elimination-simple
                                                2.9423+-0.0549     ?      3.0273+-0.2864        ? might be 1.0289x slower
get-by-id-bimorphic-check-structure-elimination
                                                7.0102+-0.0174     ?      7.0442+-0.0829        ?
get-by-id-chain-from-try-block                  7.0614+-0.0649     ?      8.3909+-4.5758        ? might be 1.1883x slower
get-by-id-check-structure-elimination           5.7550+-0.0541            5.7050+-0.2381        
get-by-id-proto-or-self                        19.3475+-3.5903     ?     20.3898+-3.2110        ? might be 1.0539x slower
get-by-id-quadmorphic-check-structure-elimination-simple
                                                3.1608+-0.0977     ?      3.2031+-0.1112        ? might be 1.0134x slower
get-by-id-self-or-proto                        19.3483+-3.4774           19.2604+-0.6135        
get-by-val-out-of-bounds                        4.7810+-0.0362     !      4.9350+-0.0358        ! definitely 1.0322x slower
get_callee_monomorphic                          3.0508+-0.0336     ?      3.1319+-0.1550        ? might be 1.0266x slower
get_callee_polymorphic                          3.9124+-0.2020            3.8288+-0.1524          might be 1.0218x faster
getter-no-activation                            5.5555+-0.2370     ?      5.6003+-0.2511        ?
getter-prototype                               15.0975+-0.2539     ?     15.7040+-1.0253        ? might be 1.0402x slower
getter-richards                               138.7708+-5.4146          136.5313+-13.8680         might be 1.0164x faster
getter                                          6.5414+-0.1728            6.2948+-0.7803          might be 1.0392x faster
global-var-const-infer-fire-from-opt            0.9728+-0.0733     ?      1.2010+-0.4407        ? might be 1.2347x slower
global-var-const-infer                          1.0331+-0.3399            0.9225+-0.1472          might be 1.1198x faster
HashMap-put-get-iterate-keys                   31.1297+-2.2373     ?     33.1689+-3.3845        ? might be 1.0655x slower
HashMap-put-get-iterate                        32.5198+-4.2749     ?     33.9368+-0.8267        ? might be 1.0436x slower
HashMap-string-put-get-iterate                 30.9950+-2.1298     ?     31.7165+-3.3987        ? might be 1.0233x slower
hoist-make-rope                                14.4787+-4.5339           13.8070+-0.2119          might be 1.0486x faster
hoist-poly-check-structure-effectful-loop
                                                5.7700+-0.4199            5.6454+-0.1181          might be 1.0221x faster
hoist-poly-check-structure                      4.0082+-0.1440     ?      4.0695+-0.2377        ? might be 1.0153x slower
imul-double-only                                9.1344+-1.9537            8.9707+-1.3859          might be 1.0182x faster
imul-int-only                                  11.3337+-0.4867           10.4901+-0.9355          might be 1.0804x faster
imul-mixed                                      7.9788+-0.4193     ?      8.3044+-0.5781        ? might be 1.0408x slower
in-four-cases                                  23.7565+-1.3169           23.3925+-0.1350          might be 1.0156x faster
in-one-case-false                              11.7731+-0.1268     !     12.0448+-0.1018        ! definitely 1.0231x slower
in-one-case-true                               11.7911+-0.0566     ?     11.9901+-0.2940        ? might be 1.0169x slower
in-two-cases                                   12.3968+-0.0314     ^     12.2684+-0.0837        ^ definitely 1.0105x faster
indexed-properties-in-objects                   3.1658+-0.0400     ?      3.3643+-0.1835        ? might be 1.0627x slower
infer-closure-const-then-mov-no-inline          4.2902+-0.2012     ?      4.4118+-0.2994        ? might be 1.0283x slower
infer-closure-const-then-mov                   21.0007+-0.6243     ?     21.2806+-0.8254        ? might be 1.0133x slower
infer-closure-const-then-put-to-scope-no-inline
                                               13.1526+-0.5606     ?     14.0792+-3.0793        ? might be 1.0704x slower
infer-closure-const-then-put-to-scope          24.4416+-0.5000           24.1154+-0.3624          might be 1.0135x faster
infer-closure-const-then-reenter-no-inline
                                               56.3746+-0.7231           56.2324+-0.1454        
infer-closure-const-then-reenter               25.4166+-3.4878           24.3072+-0.3084          might be 1.0456x faster
infer-constant-global-property                  3.7785+-0.1286     ?      3.9555+-0.4543        ? might be 1.0468x slower
infer-constant-property                         2.9985+-0.0986            2.9941+-0.0492        
infer-one-time-closure-ten-vars                13.6138+-2.5697           13.5601+-1.9727        
infer-one-time-closure-two-vars                14.4715+-3.9053           13.5368+-2.7570          might be 1.0690x faster
infer-one-time-closure                         12.3886+-0.3922     ?     13.2678+-2.2578        ? might be 1.0710x slower
infer-one-time-deep-closure                    22.2257+-2.3296           21.2907+-0.6715          might be 1.0439x faster
inline-arguments-access                         5.3005+-2.0333            4.7451+-0.0783          might be 1.1171x faster
inline-arguments-aliased-access                 4.8139+-0.2402            4.7507+-0.1564          might be 1.0133x faster
inline-arguments-local-escape                   4.7078+-0.0973     ?      4.7521+-0.1527        ?
inline-get-scoped-var                           5.4529+-0.2362            5.3143+-0.0455          might be 1.0261x faster
inlined-put-by-id-transition                   13.3478+-0.3210           12.8805+-0.7157          might be 1.0363x faster
int-or-other-abs-then-get-by-val                5.5938+-0.0160            5.5687+-0.0443        
int-or-other-abs-zero-then-get-by-val          19.3352+-0.7068     ?     20.4734+-4.4772        ? might be 1.0589x slower
int-or-other-add-then-get-by-val                5.3635+-0.0577     ?      5.3941+-0.0615        ?
int-or-other-add                                5.7107+-0.0730     ?      5.7377+-0.0121        ?
int-or-other-div-then-get-by-val                4.6301+-0.0674            4.6255+-0.0354        
int-or-other-max-then-get-by-val                4.6966+-0.0212            4.6761+-0.0125        
int-or-other-min-then-get-by-val                4.7226+-0.0508     ?      4.7703+-0.2834        ? might be 1.0101x slower
int-or-other-mod-then-get-by-val                4.5593+-0.3020            4.5075+-0.2691          might be 1.0115x faster
int-or-other-mul-then-get-by-val                4.4155+-0.0517     ?      4.4210+-0.0292        ?
int-or-other-neg-then-get-by-val                5.2968+-0.0369            5.2759+-0.0345        
int-or-other-neg-zero-then-get-by-val          19.3950+-0.3237     ?     20.5134+-2.7149        ? might be 1.0577x slower
int-or-other-sub-then-get-by-val                5.4672+-0.0981            5.4073+-0.0399          might be 1.0111x faster
int-or-other-sub                                4.1741+-0.0141            4.1505+-0.0245        
int-overflow-local                              5.2721+-0.0286            5.2717+-0.0507        
Int16Array-alloc-long-lived                    58.4510+-5.3287           55.9945+-3.0980          might be 1.0439x faster
Int16Array-bubble-sort-with-byteLength         22.7977+-0.5554     ?     24.0722+-2.1430        ? might be 1.0559x slower
Int16Array-bubble-sort                         23.3671+-0.8229           23.2606+-0.9114        
Int16Array-load-int-mul                         1.7358+-0.0383     ?      2.0190+-0.8690        ? might be 1.1632x slower
Int16Array-to-Int32Array-set                   55.1797+-4.6935     ?     61.7037+-5.1532        ? might be 1.1182x slower
Int32Array-alloc-large                         29.1478+-1.2764     ?     30.2090+-3.1441        ? might be 1.0364x slower
Int32Array-alloc-long-lived                    62.3517+-3.5900     ?     62.8486+-6.1778        ?
Int32Array-alloc                                4.3286+-2.1711     ?      5.1019+-2.4830        ? might be 1.1786x slower
Int32Array-Int8Array-view-alloc                 7.8610+-0.7971     ?      8.8644+-1.9986        ? might be 1.1276x slower
int52-spill                                     5.9345+-0.0415     !      6.1303+-0.1497        ! definitely 1.0330x slower
Int8Array-alloc-long-lived                     53.8955+-1.9767           52.8293+-3.2448          might be 1.0202x faster
Int8Array-load-with-byteLength                  3.9980+-0.4423            3.9558+-0.1072          might be 1.0107x faster
Int8Array-load                                  3.9375+-0.1777     ?      4.0128+-0.1649        ? might be 1.0191x slower
integer-divide                                 11.6380+-0.3671           11.5071+-0.0740          might be 1.0114x faster
integer-modulo                                  2.5249+-0.7882            2.3495+-0.2030          might be 1.0746x faster
is-boolean-fold-tricky                          4.7958+-0.2256            4.7132+-0.2002          might be 1.0175x faster
is-boolean-fold                                 3.4342+-0.1979            3.4197+-0.1225        
is-function-fold-tricky-internal-function
                                               13.1902+-1.4097           12.7072+-0.1980          might be 1.0380x faster
is-function-fold-tricky                         4.8187+-0.0986     ?      4.8292+-0.2484        ?
is-function-fold                                3.8640+-0.7508            3.4519+-0.0772          might be 1.1194x faster
is-number-fold-tricky                           4.6400+-0.0472     ?      4.8417+-0.3269        ? might be 1.0435x slower
is-number-fold                                  3.5458+-0.4110            3.4482+-0.1075          might be 1.0283x faster
is-object-or-null-fold-functions                3.4724+-0.0914     ?      3.5499+-0.1769        ? might be 1.0223x slower
is-object-or-null-fold-less-tricky              4.7919+-0.1536     ?      4.8184+-0.1657        ?
is-object-or-null-fold-tricky                   7.1584+-0.5962            7.0140+-0.0521          might be 1.0206x faster
is-object-or-null-fold                          3.4453+-0.1120     ?      3.5259+-0.1947        ? might be 1.0234x slower
is-object-or-null-trickier-function             4.9161+-0.1459            4.8950+-0.0942        
is-object-or-null-trickier-internal-function
                                               13.2007+-0.3926     ?     14.2534+-1.6332        ? might be 1.0797x slower
is-object-or-null-tricky-function               4.8487+-0.0526            4.8119+-0.1802        
is-object-or-null-tricky-internal-function
                                                9.9775+-0.1114            9.9039+-0.1376        
is-string-fold-tricky                           4.8740+-0.6174            4.7403+-0.1361          might be 1.0282x faster
is-string-fold                                  3.3975+-0.2185     ?      3.6407+-0.4438        ? might be 1.0716x slower
is-undefined-fold-tricky                        4.0287+-0.1378     ?      4.1310+-0.2945        ? might be 1.0254x slower
is-undefined-fold                               3.4431+-0.1710     ?      3.5013+-0.0972        ? might be 1.0169x slower
large-int-captured                              5.0450+-0.1648     ?      5.1037+-0.0751        ? might be 1.0116x slower
large-int-neg                                  17.8652+-1.6108           17.3505+-0.4230          might be 1.0297x faster
large-int                                      16.7308+-2.7838           16.5147+-1.9821          might be 1.0131x faster
load-varargs-elimination                       26.2769+-2.0771     ?     27.1285+-3.7109        ? might be 1.0324x slower
logical-not-weird-types                         3.5922+-0.0922            3.5237+-0.1194          might be 1.0194x faster
logical-not                                     5.1602+-0.0753            5.1599+-0.0418        
lots-of-fields                                 13.3710+-3.5234           13.3085+-3.2758        
make-indexed-storage                            3.5892+-0.0980            3.4285+-0.4428          might be 1.0469x faster
make-rope-cse                                   5.7015+-1.3853            5.3895+-1.1643          might be 1.0579x faster
marsaglia-larger-ints                          48.9297+-4.8182           47.0163+-0.9413          might be 1.0407x faster
marsaglia-osr-entry                            24.9987+-0.5570     ?     25.4938+-2.2430        ? might be 1.0198x slower
math-with-out-of-bounds-array-values           28.4045+-4.1150           28.3358+-1.8140        
max-boolean                                     3.0222+-0.0242     !      3.1609+-0.1103        ! definitely 1.0459x slower
method-on-number                               20.6610+-0.8592     ?     21.2917+-3.2234        ? might be 1.0305x slower
min-boolean                                     2.9685+-0.0345     ?      3.0455+-0.1017        ? might be 1.0259x slower
minus-boolean-double                            3.3978+-0.1456     ?      3.5574+-0.5422        ? might be 1.0470x slower
minus-boolean                                   2.8098+-0.0799     ?      3.0652+-0.3992        ? might be 1.0909x slower
misc-strict-eq                                 39.0060+-0.8268           38.5792+-2.4353          might be 1.0111x faster
mod-boolean-double                             12.0683+-1.2205           12.0145+-1.8396        
mod-boolean                                     8.2401+-0.1170     ?      8.2648+-0.0258        ?
mul-boolean-double                              3.8795+-0.2039     ?      3.9979+-0.2669        ? might be 1.0305x slower
mul-boolean                                     3.1879+-0.4006            3.0998+-0.1188          might be 1.0284x faster
neg-boolean                                     3.4128+-0.3139            3.3990+-0.1440        
negative-zero-divide                            0.3915+-0.0132     ?      0.4106+-0.0245        ? might be 1.0486x slower
negative-zero-modulo                            0.3890+-0.0295     ?      0.4098+-0.0108        ? might be 1.0533x slower
negative-zero-negate                            0.3811+-0.0355     ?      0.4013+-0.0120        ? might be 1.0530x slower
nested-function-parsing                        48.2638+-4.9242     ?     48.2748+-5.0253        ?
new-array-buffer-dead                         126.4336+-7.0303     ?    128.4100+-9.1295        ? might be 1.0156x slower
new-array-buffer-push                           8.2579+-2.7587     ?      9.2332+-3.6251        ? might be 1.1181x slower
new-array-dead                                 20.4896+-0.9103           19.8688+-0.7919          might be 1.0312x faster
new-array-push                                  4.5986+-0.1107            4.5793+-0.0991        
no-inline-constructor                          46.7225+-3.7835     ?     47.0183+-3.8460        ?
number-test                                     3.4083+-0.1433            3.3759+-0.0440        
object-closure-call                             6.6946+-0.1563            6.6467+-0.1816        
object-test                                     3.0798+-0.0400     ?      3.5520+-1.1902        ? might be 1.1533x slower
obvious-sink-pathology-taken                  165.2715+-9.1579          162.0740+-1.4243          might be 1.0197x faster
obvious-sink-pathology                        150.8749+-2.8357     ?    153.5462+-10.1717       ? might be 1.0177x slower
obviously-elidable-new-object                  40.9758+-2.7865     ?     41.7504+-5.4044        ? might be 1.0189x slower
plus-boolean-arith                              3.1716+-0.2745            2.9693+-0.0863          might be 1.0681x faster
plus-boolean-double                             3.4141+-0.4841            3.3887+-0.1276        
plus-boolean                                    3.0416+-0.0819     ?      3.2020+-0.4044        ? might be 1.0527x slower
poly-chain-access-different-prototypes-simple
                                                3.5627+-0.4011            3.4307+-0.0339          might be 1.0385x faster
poly-chain-access-different-prototypes          3.0566+-0.1479            3.0318+-0.0767        
poly-chain-access-simpler                       3.3759+-0.0414     ?      3.4938+-0.1309        ? might be 1.0349x slower
poly-chain-access                               3.0464+-0.2671     ?      3.0549+-0.3066        ?
poly-stricteq                                  68.0977+-6.2899           62.3085+-0.2311          might be 1.0929x faster
polymorphic-array-call                          1.4950+-0.0706            1.4813+-0.0929        
polymorphic-get-by-id                           3.6493+-0.6772            3.5420+-0.3806          might be 1.0303x faster
polymorphic-put-by-id                          34.5982+-2.6914           34.3625+-2.8221        
polymorphic-structure                          20.5735+-3.2029           20.3415+-2.7346          might be 1.0114x faster
polyvariant-monomorphic-get-by-id               9.7130+-0.2374            9.5983+-0.1662          might be 1.0119x faster
proto-getter-access                            10.0773+-0.4587            9.9863+-0.1852        
put-by-id-replace-and-transition               10.3818+-0.2851           10.2573+-0.0535          might be 1.0121x faster
put-by-id-slightly-polymorphic                  3.2521+-0.3268            3.1473+-0.0543          might be 1.0333x faster
put-by-id                                      14.5066+-0.3939           14.4962+-0.4231        
put-by-val-direct                               0.4470+-0.1809            0.4395+-0.0383          might be 1.0169x faster
put-by-val-large-index-blank-indexing-type
                                                7.8361+-2.4565            6.3974+-0.2699          might be 1.2249x faster
put-by-val-machine-int                          3.0538+-0.0509            3.0338+-0.1051        
rare-osr-exit-on-local                         16.5535+-0.4537     ?     17.3510+-3.8669        ? might be 1.0482x slower
register-pressure-from-osr                     22.7286+-0.6651           22.7209+-0.4436        
repeat-multi-get-by-offset                     28.2999+-2.4660           26.9391+-0.2785          might be 1.0505x faster
setter-prototype                               10.8003+-0.1932     ?     10.8019+-0.2826        ?
setter                                          6.3200+-0.2029     ?      6.5198+-0.6300        ? might be 1.0316x slower
simple-activation-demo                         27.7877+-2.2760     ?     28.0893+-1.5437        ? might be 1.0109x slower
simple-getter-access                           12.9730+-0.4069     ?     12.9794+-0.3098        ?
simple-poly-call-nested                         8.9308+-0.4853            8.6671+-0.5177          might be 1.0304x faster
simple-poly-call                                1.5047+-0.0697            1.4666+-0.0357          might be 1.0260x faster
sin-boolean                                    23.4382+-2.3527           22.5042+-2.5896          might be 1.0415x faster
singleton-scope                                69.0153+-1.4188     ?     70.7547+-4.7269        ? might be 1.0252x slower
sink-function                                  12.6035+-0.2769           12.3160+-0.3783          might be 1.0233x faster
sink-huge-activation                           21.6096+-5.2983           20.6522+-4.3290          might be 1.0464x faster
sinkable-new-object-dag                        80.8465+-2.5852           79.5187+-5.6095          might be 1.0167x faster
sinkable-new-object-taken                      62.1162+-3.5217           59.5552+-2.9522          might be 1.0430x faster
sinkable-new-object                            44.3579+-1.6776           43.3663+-4.0494          might be 1.0229x faster
slow-array-profile-convergence                  3.1832+-0.1646     ?      3.4024+-0.5158        ? might be 1.0689x slower
slow-convergence                                3.4048+-1.2352            3.0490+-0.1404          might be 1.1167x faster
slow-ternaries                                 25.4820+-0.3896     ^     21.8582+-0.2887        ^ definitely 1.1658x faster
sorting-benchmark                              21.6203+-3.5751           20.3379+-0.4486          might be 1.0631x faster
sparse-conditional                              1.4958+-0.4324            1.3958+-0.0251          might be 1.0717x faster
splice-to-remove                               18.3481+-3.8598     !     23.4905+-0.6645        ! definitely 1.2803x slower
string-char-code-at                            17.4605+-2.3263           16.6463+-0.4286          might be 1.0489x faster
string-concat-object                            2.8137+-0.1763     ?      2.8546+-0.1563        ? might be 1.0145x slower
string-concat-pair-object                       3.1690+-1.4464            2.7800+-0.1084          might be 1.1399x faster
string-concat-pair-simple                      15.3595+-3.4087           15.0612+-3.9431          might be 1.0198x faster
string-concat-simple                           15.9344+-3.5554     ?     17.1306+-3.9281        ? might be 1.0751x slower
string-cons-repeat                             10.8485+-3.9302            8.6591+-0.2601          might be 1.2529x faster
string-cons-tower                               9.9575+-3.6728            9.0510+-0.8888          might be 1.1002x faster
string-equality                                19.2585+-1.5652     ?     20.5383+-3.0469        ? might be 1.0665x slower
string-get-by-val-big-char                      8.7571+-0.3248            8.6016+-0.2437          might be 1.0181x faster
string-get-by-val-out-of-bounds-insane          4.7997+-0.3433            4.6685+-1.4288          might be 1.0281x faster
string-get-by-val-out-of-bounds                 5.7567+-0.0865            5.5769+-0.2388          might be 1.0322x faster
string-get-by-val                               3.8346+-0.2656            3.7640+-0.0761          might be 1.0188x faster
string-hash                                     2.3625+-0.0217     ?      2.3877+-0.0360        ? might be 1.0107x slower
string-long-ident-equality                     15.7426+-0.5974     ?     15.9734+-0.6291        ? might be 1.0147x slower
string-out-of-bounds                           15.8960+-0.2119     ?     16.1041+-0.3901        ? might be 1.0131x slower
string-repeat-arith                            39.4640+-9.7520     ?     39.9523+-8.8069        ? might be 1.0124x slower
string-sub                                     98.4404+-54.0139          81.8928+-4.5657          might be 1.2021x faster
string-test                                     3.3240+-0.4795     ?      3.4445+-0.5979        ? might be 1.0362x slower
string-var-equality                            37.2185+-4.1024           36.5667+-4.6323          might be 1.0178x faster
structure-hoist-over-transitions                3.1306+-0.1386            3.0235+-0.0962          might be 1.0354x faster
substring-concat-weird                         50.9578+-4.8397     ?     52.7658+-8.1374        ? might be 1.0355x slower
substring-concat                               53.9789+-4.7701           52.7458+-0.5691          might be 1.0234x faster
substring                                      58.2697+-4.7638           57.2897+-1.4131          might be 1.0171x faster
switch-char-constant                            2.9512+-0.0307     ?      3.0460+-0.0961        ? might be 1.0321x slower
switch-char                                     6.7322+-0.2312     ?     11.3237+-4.9211        ? might be 1.6820x slower
switch-constant                                 9.0136+-0.2733            8.8683+-0.1042          might be 1.0164x faster
switch-string-basic-big-var                    20.4518+-0.1833     ?     20.5454+-0.4531        ?
switch-string-basic-big                        18.7177+-0.3672     ?     18.8567+-1.5433        ?
switch-string-basic-var                        16.9027+-1.1255     ?     17.3831+-2.2076        ? might be 1.0284x slower
switch-string-basic                            17.0779+-4.6750           15.3719+-0.6182          might be 1.1110x faster
switch-string-big-length-tower-var             21.3321+-0.4502     ?     22.5993+-3.9329        ? might be 1.0594x slower
switch-string-length-tower-var                 19.1685+-3.9527           17.4872+-1.6528          might be 1.0961x faster
switch-string-length-tower                     14.2794+-0.4796           14.2612+-0.3939        
switch-string-short                            14.2692+-0.2386     ?     14.3256+-0.2521        ?
switch                                         14.2190+-2.0238           13.5380+-0.3544          might be 1.0503x faster
tear-off-arguments-simple                       3.7258+-0.1271     ?      3.7506+-0.0416        ?
tear-off-arguments                              5.2222+-0.1883            5.1907+-0.1574        
temporal-structure                             14.4736+-0.7209     ?     15.1275+-1.3551        ? might be 1.0452x slower
to-int32-boolean                               17.8025+-4.5552           16.2881+-0.3326          might be 1.0930x faster
try-catch-get-by-val-cloned-arguments          16.2744+-0.3241     ?     20.2629+-4.2899        ? might be 1.2451x slower
try-catch-get-by-val-direct-arguments           8.5764+-4.4854            7.2100+-0.1342          might be 1.1895x faster
try-catch-get-by-val-scoped-arguments           9.5665+-4.8372     ?     10.7330+-4.7665        ? might be 1.1219x slower
typed-array-get-set-by-val-profiling           32.4724+-3.2402           31.1520+-1.0311          might be 1.0424x faster
undefined-property-access                     372.9011+-14.3163         367.1922+-6.3853          might be 1.0155x faster
undefined-test                                  3.5928+-0.5292            3.4609+-0.1703          might be 1.0381x faster
unprofiled-licm                                23.3285+-0.5466           22.9180+-0.4811          might be 1.0179x faster
varargs-call                                   17.1062+-2.6983           16.9938+-1.7588        
varargs-construct-inline                       30.3489+-0.9283     ?     33.6581+-3.8603        ? might be 1.1090x slower
varargs-construct                              25.2000+-1.6730           24.7381+-0.2962          might be 1.0187x faster
varargs-inline                                 10.0967+-0.2483            9.8735+-0.2247          might be 1.0226x faster
varargs-strict-mode                            10.9113+-0.1975     ?     10.9247+-0.3621        ?
varargs                                        10.8265+-0.2926     ?     11.3025+-1.7037        ? might be 1.0440x slower
weird-inlining-const-prop                       2.5139+-0.1387            2.5134+-0.1990        

&lt;geometric&gt;                                     9.9795+-0.0882     ?     10.0000+-0.0441        ? might be 1.0021x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109038</commentid>
    <comment_count>15</comment_count>
      <attachid>256681</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-12 10:48:05 -0700</bug_when>
    <thetext>Created attachment 256681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109160</commentid>
    <comment_count>16</comment_count>
      <attachid>256711</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-13 12:10:41 -0700</bug_when>
    <thetext>Created attachment 256711
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109165</commentid>
    <comment_count>17</comment_count>
      <attachid>256712</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-13 12:16:43 -0700</bug_when>
    <thetext>Created attachment 256712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109169</commentid>
    <comment_count>18</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-13 12:20:36 -0700</bug_when>
    <thetext>OK, could you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109170</commentid>
    <comment_count>19</comment_count>
      <attachid>256712</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-13 12:22:23 -0700</bug_when>
    <thetext>Comment on attachment 256712
Patch

Oops, still changing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109351</commentid>
    <comment_count>20</comment_count>
      <attachid>256766</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-14 05:06:27 -0700</bug_when>
    <thetext>Created attachment 256766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110863</commentid>
    <comment_count>21</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-20 18:57:09 -0700</bug_when>
    <thetext>Let&apos;s solve the Realm problem before receiving the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110885</commentid>
    <comment_count>22</comment_count>
      <attachid>257158</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-20 21:24:03 -0700</bug_when>
    <thetext>Created attachment 257158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110886</commentid>
    <comment_count>23</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-20 21:25:03 -0700</bug_when>
    <thetext>The patch is completed, I&apos;ll take the performance regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110887</commentid>
    <comment_count>24</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-20 21:51:53 -0700</bug_when>
    <thetext>I&apos;ve taken the benchmark results.

Seeing the result, we can see the several performance regressions.

   array-prototype-forEach                        78.1750+-3.4609     !     83.9658+-1.8677        ! definitely 1.0741x slower
   array-splice-contiguous                        21.2642+-0.5491     !     22.9927+-0.9171        ! definitely 1.0813x slower
   splice-to-remove                               12.7175+-0.5604     !     18.6860+-0.2224        ! definitely 1.4693x slower

I guess forEach is not related. Because there&apos;s no change in Array#forEach code. Array#map / Array#filter code is changed.

Array#splice reports significant performance regression. However, I think this is unavoidable, because before creating the array in splice, we need to look up the @@species&apos;s getter. Since the Array#splice itself takes so small amount of time, adding the processing easily amplifies the overhead...
Current result is reduced by the optimization I implemented. Before this, it reports more significant overhead.
I attempted to minimize this overhead in the following 2 ways,

(1): Implementing the Array#splice in JS and encouraging the inlining of @@species getter call. But it incurs more significant performance regression because current C++ splice is highly tuned and JS generic implementation cannot beat the C++ implementation.
(2): Optimizing C++ code for the most common cases. Just using the builtin Array. Since calling getter is so heavy, instead of calling it, we add the fast path for the Array[@@species] getter case. This reduces the overhead and as the result, the overhead becomes 1.46x.

What do you think about the current status?

Benchmark report for SunSpider, LongSpider, V8Spider, and JSRegress on Yusukes-MBP (MacBookPro11,3).

VMs tested:
&quot;master&quot; at /Users/yusukesuzuki/development/WebKit/WebKitBuild/Release/jsc
&quot;species&quot; at /Users/yusukesuzuki/development/WebKit/WebKitBuild/species/Release/jsc

Collected 4 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get
microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                       master                   species                                      
SunSpider:
   3d-cube                                         4.6397+-0.1793     ?      4.6647+-0.9064        ?
   3d-morph                                        5.7051+-0.2511     ?      5.8360+-0.3686        ? might be 1.0229x slower
   3d-raytrace                                     5.4155+-0.6412     ?      5.5931+-0.7353        ? might be 1.0328x slower
   access-binary-trees                             2.3610+-0.4503            2.2367+-0.3500          might be 1.0556x faster
   access-fannkuch                                 5.4693+-0.3321     ?      5.6689+-0.6604        ? might be 1.0365x slower
   access-nbody                                    2.5060+-0.2949     ?      2.5168+-0.2993        ?
   access-nsieve                                   3.1265+-0.3148     ?      3.3856+-0.3301        ? might be 1.0829x slower
   bitops-3bit-bits-in-byte                        1.5362+-0.1912            1.4747+-0.0499          might be 1.0417x faster
   bitops-bits-in-byte                             3.3882+-0.1348            3.3016+-0.0409          might be 1.0262x faster
   bitops-bitwise-and                              2.2953+-0.3329            2.1833+-0.1703          might be 1.0513x faster
   bitops-nsieve-bits                              2.9532+-0.0956     ?      3.0520+-0.0825        ? might be 1.0335x slower
   controlflow-recursive                           2.0530+-0.2276     ?      2.1127+-0.1632        ? might be 1.0290x slower
   crypto-aes                                      4.1182+-0.5981            3.9283+-0.2585          might be 1.0483x faster
   crypto-md5                                      2.5057+-0.2035     ?      2.5143+-0.3900        ?
   crypto-sha1                                     2.7014+-0.3157            2.3754+-0.2774          might be 1.1372x faster
   date-format-tofte                               6.8363+-0.1478     ?      7.1269+-0.2284        ? might be 1.0425x slower
   date-format-xparb                               5.2943+-1.0982     ?      5.3580+-0.9153        ? might be 1.0120x slower
   math-cordic                                     2.8256+-0.1044     ?      3.0396+-0.7299        ? might be 1.0757x slower
   math-partial-sums                               4.8209+-0.4062            4.7657+-0.1256          might be 1.0116x faster
   math-spectral-norm                              1.8448+-0.1286     ?      2.1925+-1.0945        ? might be 1.1885x slower
   regexp-dna                                      6.5143+-0.3381     ?      6.5463+-0.2968        ?
   string-base64                                   4.7108+-0.3997            4.6280+-0.5450          might be 1.0179x faster
   string-fasta                                    6.0490+-0.1946            5.9106+-0.2927          might be 1.0234x faster
   string-tagcloud                                 8.2849+-0.2672     ?      8.3368+-0.1569        ?
   string-unpack-code                             20.7024+-2.5143     ?     21.2012+-1.2400        ? might be 1.0241x slower
   string-validate-input                           4.8975+-0.5742            4.7844+-0.4370          might be 1.0236x faster

   &lt;arithmetic&gt;                                    4.7521+-0.1988     ?      4.7975+-0.0899        ? might be 1.0095x slower

                                                       master                   species                                      
LongSpider:
   3d-cube                                       865.8730+-20.2949    ^    814.0268+-19.3354       ^ definitely 1.0637x faster
   3d-morph                                     1594.0779+-27.5113        1582.0502+-29.8275       
   3d-raytrace                                   661.5722+-10.7388         642.2330+-9.2222          might be 1.0301x faster
   access-binary-trees                           839.5933+-26.2239    ?    846.5174+-17.7324       ?
   access-fannkuch                               303.8020+-15.1039         293.8181+-5.8101          might be 1.0340x faster
   access-nbody                                  548.2617+-23.5810         531.8057+-13.4813         might be 1.0309x faster
   access-nsieve                                 378.5405+-20.3858         371.7443+-13.9209         might be 1.0183x faster
   bitops-3bit-bits-in-byte                       42.7416+-3.4080     ?     43.1093+-2.5534        ?
   bitops-bits-in-byte                            86.2043+-6.5168     ?     86.5762+-3.2307        ?
   bitops-nsieve-bits                            434.4875+-22.8278         426.5310+-6.3824          might be 1.0187x faster
   controlflow-recursive                         456.6963+-8.4420     ?    459.1497+-10.3488       ?
   crypto-aes                                    608.0745+-10.0730    ?    614.5043+-16.1263       ? might be 1.0106x slower
   crypto-md5                                    494.0414+-14.4328         490.6033+-13.3059       
   crypto-sha1                                   634.5890+-15.7548    ?    638.0769+-24.8984       ?
   date-format-tofte                             536.8860+-33.1416         535.3453+-10.0043       
   date-format-xparb                             680.9835+-28.4433         669.1028+-24.0274         might be 1.0178x faster
   hash-map                                      158.9937+-1.9222          158.3046+-6.4556        
   math-cordic                                   516.9184+-15.9385         516.4730+-20.9359       
   math-partial-sums                             440.3670+-11.8927    ?    443.4025+-5.6691        ?
   math-spectral-norm                            584.3047+-10.7943    ?    587.2163+-16.4798       ?
   string-base64                                 359.2610+-8.7747     ?    367.2711+-11.8073       ? might be 1.0223x slower
   string-fasta                                  379.7192+-15.3530    ?    388.2858+-15.3403       ? might be 1.0226x slower
   string-tagcloud                               186.9117+-3.1661          186.0714+-6.4239        

   &lt;geometric&gt;                                   411.1133+-4.3572          408.6867+-2.5808          might be 1.0059x faster

                                                       master                   species                                      
V8Spider:
   crypto                                         53.2046+-5.1358     ?     55.1498+-5.1298        ? might be 1.0366x slower
   deltablue                                      80.5001+-3.1248     ?     86.7242+-10.3044       ? might be 1.0773x slower
   earley-boyer                                   43.0435+-3.2043           40.8315+-3.5987          might be 1.0542x faster
   raytrace                                       29.4284+-2.8855     ?     29.5345+-3.0181        ?
   regexp                                         67.7715+-4.4002     ?     69.2754+-2.2774        ? might be 1.0222x slower
   richards                                       77.0172+-5.1937           76.1481+-2.2415          might be 1.0114x faster
   splay                                          37.0773+-4.1728           36.9367+-2.4617        

   &lt;geometric&gt;                                    52.1081+-1.1187     ?     52.6182+-1.2810        ? might be 1.0098x slower

                                                       master                   species                                      
JSRegress:
   abc-forward-loop-equal                         30.6308+-2.1123           30.4417+-1.8936        
   abc-postfix-backward-loop                      30.9792+-1.1532           30.6461+-1.0977          might be 1.0109x faster
   abc-simple-backward-loop                       30.7295+-1.9416     ?     31.2311+-0.9469        ? might be 1.0163x slower
   abc-simple-forward-loop                        30.4670+-0.9503     ?     31.2380+-3.5964        ? might be 1.0253x slower
   abc-skippy-loop                                22.0606+-0.7540     ?     22.1315+-1.5081        ?
   abs-boolean                                     2.7179+-0.1868            2.7142+-0.2280        
   adapt-to-double-divide                         16.6190+-0.8897     ?     16.7362+-0.8612        ?
   aliased-arguments-getbyval                      1.2258+-0.1807            1.2094+-0.1468          might be 1.0135x faster
   allocate-big-object                             2.5478+-0.2738            2.3798+-0.3316          might be 1.0706x faster
   arguments-named-and-reflective                 11.3179+-0.2498     ?     12.0914+-2.0255        ? might be 1.0683x slower
   arguments-out-of-bounds                        10.0429+-0.9467     ?     10.0439+-0.4659        ?
   arguments-strict-mode                           9.7150+-0.1626     ?      9.9510+-0.6520        ? might be 1.0243x slower
   arguments                                       8.6073+-0.4767     ?      9.1545+-2.1128        ? might be 1.0636x slower
   arity-mismatch-inlining                         0.8438+-0.0874            0.8104+-0.0858          might be 1.0412x faster
   array-access-polymorphic-structure              5.8573+-0.2656            5.8503+-0.2117        
   array-nonarray-polymorhpic-access              27.0450+-1.0958           26.3271+-0.8197          might be 1.0273x faster
   array-prototype-every                          87.5459+-5.5584           81.2962+-3.2568          might be 1.0769x faster
   array-prototype-forEach                        78.1750+-3.4609     !     83.9658+-1.8677        ! definitely 1.0741x slower
   array-prototype-map                            88.4175+-6.0707           87.0035+-5.4106          might be 1.0163x faster
   array-prototype-reduce                         77.2404+-4.4641           74.8314+-3.4645          might be 1.0322x faster
   array-prototype-reduceRight                    75.7452+-4.4564     ?     76.4235+-3.0861        ?
   array-prototype-some                           83.7669+-6.3195           82.2542+-5.4284          might be 1.0184x faster
   array-splice-contiguous                        21.2642+-0.5491     !     22.9927+-0.9171        ! definitely 1.0813x slower
   array-with-double-add                           3.4947+-0.1665     ?      3.4965+-0.3079        ?
   array-with-double-increment                     3.2897+-0.1732     ^      3.0643+-0.0399        ^ definitely 1.0736x faster
   array-with-double-mul-add                       4.2463+-0.1375     ?      4.2595+-0.1258        ?
   array-with-double-sum                           3.4824+-0.6771            3.2331+-0.0939          might be 1.0771x faster
   array-with-int32-add-sub                        5.7804+-0.2062     ?      5.8984+-0.0810        ? might be 1.0204x slower
   array-with-int32-or-double-sum                  3.2220+-0.1502     ?      3.2895+-0.0637        ? might be 1.0209x slower
   ArrayBuffer-DataView-alloc-large-long-lived
                                                  28.4023+-1.6292     ?     29.0957+-2.8994        ? might be 1.0244x slower
   ArrayBuffer-DataView-alloc-long-lived          13.3746+-0.9096           13.0080+-0.8657          might be 1.0282x faster
   ArrayBuffer-Int32Array-byteOffset               3.8203+-0.2685            3.7440+-0.2057          might be 1.0204x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived
                                                  28.3813+-1.4340     ?     31.0987+-3.5478        ? might be 1.0957x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer
                                                  20.7368+-1.2081     ?     22.5328+-3.4599        ? might be 1.0866x slower
   ArrayBuffer-Int8Array-alloc-long-lived         12.2922+-0.8038     ?     12.4703+-0.5446        ? might be 1.0145x slower
   ArrayBuffer-Int8Array-alloc                    10.3529+-0.5375     ?     10.5434+-1.1455        ? might be 1.0184x slower
   asmjs_bool_bug                                  7.1639+-0.2804            7.1537+-0.1921        
   assign-custom-setter-polymorphic                2.7087+-0.1399     ?      2.7825+-0.1996        ? might be 1.0272x slower
   assign-custom-setter                            3.6122+-0.1609            3.5718+-0.1958          might be 1.0113x faster
   basic-set                                       7.9641+-0.2503     ?      8.7119+-2.0906        ? might be 1.0939x slower
   big-int-mul                                     3.5244+-0.0433            3.4985+-0.1204        
   boolean-test                                    2.9316+-0.0683     ?      2.9324+-0.1806        ?
   branch-fold                                     3.6397+-0.0441            3.6270+-0.0927        
   branch-on-string-as-boolean                    17.2278+-1.1695     ?     17.6193+-2.4234        ? might be 1.0227x slower
   by-val-generic                                  7.4722+-0.2700            7.4257+-0.5257        
   call-spread-apply                              28.2706+-3.4855     ?     28.4568+-2.5116        ?
   call-spread-call                               21.3396+-0.8180     ?     21.6307+-1.2004        ? might be 1.0136x slower
   captured-assignments                            0.4028+-0.0423     ?      0.4243+-0.0540        ? might be 1.0533x slower
   cast-int-to-double                              5.3375+-0.4211            5.2341+-0.2939          might be 1.0198x faster
   cell-argument                                   6.5432+-0.2900            6.5055+-0.4186        
   cfg-simplify                                    2.8724+-0.2208            2.7919+-0.1278          might be 1.0288x faster
   chain-getter-access                             8.4470+-0.5649            8.2903+-0.2088          might be 1.0189x faster
   cmpeq-obj-to-obj-other                         12.6160+-0.3467     ?     12.9370+-1.6895        ? might be 1.0254x slower
   constant-test                                   4.9677+-0.2410            4.8508+-0.0727          might be 1.0241x faster
   create-lots-of-functions                        9.3895+-0.6822     ?      9.4182+-1.1781        ?
   cse-new-array-buffer                            2.2752+-0.2336            2.1965+-0.2653          might be 1.0358x faster
   cse-new-array                                   2.5598+-0.9890            2.3876+-0.3183          might be 1.0721x faster
   DataView-custom-properties                     33.6306+-1.1945           33.4730+-1.2835        
   delay-tear-off-arguments-strictmode            12.1397+-0.3543     ?     12.5726+-0.7794        ? might be 1.0357x slower
   deltablue-varargs                             155.1816+-3.0241          152.5617+-2.8028          might be 1.0172x faster
   destructuring-arguments                       168.7535+-5.7042     ?    170.1786+-8.5576        ?
   destructuring-parameters-overridden-by-function
                                                   0.4481+-0.0789            0.4400+-0.0235          might be 1.0184x faster
   destructuring-swap                              4.7314+-0.0802     ?      4.8835+-0.3181        ? might be 1.0321x slower
   direct-arguments-getbyval                       1.0972+-0.0510     ?      1.1418+-0.1191        ? might be 1.0406x slower
   div-boolean-double                              5.5132+-0.1721     ?      5.5499+-0.3355        ?
   div-boolean                                     8.5010+-0.2299     ?      8.6821+-0.4478        ? might be 1.0213x slower
   double-get-by-val-out-of-bounds                 4.3170+-0.5531            4.2034+-0.2512          might be 1.0270x faster
   double-pollution-getbyval                       9.2127+-0.5169            9.0088+-0.5415          might be 1.0226x faster
   double-pollution-putbyoffset                    3.8490+-0.1076     ?      3.9080+-0.3295        ? might be 1.0153x slower
   double-real-use                                27.3972+-3.0763           25.9609+-2.1026          might be 1.0553x faster
   double-to-int32-typed-array-no-inline           2.1000+-0.2532     ?      2.1157+-0.1191        ?
   double-to-int32-typed-array                     1.8028+-0.1635            1.7653+-0.2420          might be 1.0212x faster
   double-to-uint32-typed-array-no-inline          2.2911+-0.4571            2.1541+-0.2432          might be 1.0636x faster
   double-to-uint32-typed-array                    1.8423+-0.1047            1.8151+-0.1459          might be 1.0150x faster
   elidable-new-object-dag                        34.8457+-1.3133     ?     35.6018+-1.7259        ? might be 1.0217x slower
   elidable-new-object-roflcopter                 33.6877+-1.7656     ?     34.1662+-1.7853        ? might be 1.0142x slower
   elidable-new-object-then-call                  32.0732+-1.2413     ?     33.6742+-5.0522        ? might be 1.0499x slower
   elidable-new-object-tree                       38.1727+-1.7499           38.0540+-3.4017        
   empty-string-plus-int                           5.0812+-0.2363     ?      5.3134+-0.5957        ? might be 1.0457x slower
   emscripten-cube2hash                           28.7787+-1.9379           28.6130+-1.6980        
   exit-length-on-plain-object                    13.0833+-1.6430           12.9778+-2.4549        
   external-arguments-getbyval                     1.1506+-0.0819     ?      1.2387+-0.1853        ? might be 1.0766x slower
   external-arguments-putbyval                     2.1998+-0.2527            2.1890+-0.2055        
   fixed-typed-array-storage-var-index             1.1712+-0.0806            1.1469+-0.0570          might be 1.0212x faster
   fixed-typed-array-storage                       0.8598+-0.1175     ?      0.9364+-0.2292        ? might be 1.0891x slower
   Float32Array-matrix-mult                        4.1810+-0.2228            4.0372+-0.1018          might be 1.0356x faster
   Float32Array-to-Float64Array-set               50.1564+-4.7855           48.4446+-3.9963          might be 1.0353x faster
   Float64Array-alloc-long-lived                  62.0840+-3.4950           61.1926+-4.0125          might be 1.0146x faster
   Float64Array-to-Int16Array-set                 58.9812+-2.4380     ?     59.6548+-1.1394        ? might be 1.0114x slower
   fold-double-to-int                             13.5972+-1.0847     ?     13.8685+-1.0965        ? might be 1.0200x slower
   fold-get-by-id-to-multi-get-by-offset-rare-int
                                                  11.1609+-1.2250           10.4296+-1.0851          might be 1.0701x faster
   fold-get-by-id-to-multi-get-by-offset           9.1035+-1.0579     ?      9.2039+-2.5058        ? might be 1.0110x slower
   fold-multi-get-by-offset-to-get-by-offset
                                                   8.7474+-3.5070     ?      8.8475+-0.9151        ? might be 1.0114x slower
   fold-multi-get-by-offset-to-poly-get-by-offset
                                                   8.2565+-2.2094            8.1372+-0.6744          might be 1.0147x faster
   fold-multi-put-by-offset-to-poly-put-by-offset
                                                   8.6972+-0.7382     ?      8.9457+-3.8308        ? might be 1.0286x slower
   fold-multi-put-by-offset-to-put-by-offset
                                                   5.0182+-1.1147     ?      5.9503+-1.4714        ? might be 1.1857x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
                                                   8.2334+-0.5254     ?      8.4780+-1.1637        ? might be 1.0297x slower
   fold-put-by-id-to-multi-put-by-offset           9.2020+-0.5754            9.0363+-0.9131          might be 1.0183x faster
   fold-put-structure                              5.8771+-1.2234            5.7643+-1.1375          might be 1.0196x faster
   for-of-iterate-array-entries                   11.9426+-1.4168           11.8662+-0.7881        
   for-of-iterate-array-keys                       3.6066+-0.4347     ?      3.6140+-0.0946        ?
   for-of-iterate-array-values                     3.6837+-0.4372            3.6617+-0.2511        
   fround                                         19.0955+-1.1511     ?     19.8185+-1.5573        ? might be 1.0379x slower
   ftl-library-inlining-dataview                  61.1722+-3.5429     ?     61.5187+-3.0303        ?
   ftl-library-inlining                          119.2195+-2.7902     ?    119.5007+-4.9601        ?
   function-dot-apply                              2.0648+-0.2350     ?      2.1032+-0.3324        ? might be 1.0186x slower
   function-test                                   2.6289+-0.0705     ?      2.7265+-0.1032        ? might be 1.0371x slower
   function-with-eval                             96.6832+-2.0049           96.2818+-3.3923        
   gcse-poly-get-less-obvious                     15.3004+-1.0105           14.8565+-0.9559          might be 1.0299x faster
   gcse-poly-get                                  14.7183+-0.7881     ?     15.2389+-1.6728        ? might be 1.0354x slower
   gcse                                            4.1563+-0.7027            3.9061+-0.1509          might be 1.0640x faster
   get-by-id-bimorphic-check-structure-elimination-simple
                                                   2.6190+-0.0610     ?      2.6994+-0.1761        ? might be 1.0307x slower
   get-by-id-bimorphic-check-structure-elimination
                                                   6.1422+-0.4005            5.9756+-0.4788          might be 1.0279x faster
   get-by-id-chain-from-try-block                  6.9539+-0.6685            6.8260+-0.5340          might be 1.0187x faster
   get-by-id-check-structure-elimination           4.5591+-0.2092     ?      5.0588+-1.1998        ? might be 1.1096x slower
   get-by-id-proto-or-self                        14.9103+-2.1168     ?     15.3737+-2.3287        ? might be 1.0311x slower
   get-by-id-quadmorphic-check-structure-elimination-simple
                                                   2.9562+-0.1629            2.9534+-0.1724        
   get-by-id-self-or-proto                        14.9348+-0.4967           14.6528+-0.9430          might be 1.0192x faster
   get-by-val-out-of-bounds                        3.8189+-0.2012     ?      4.0129+-0.1078        ? might be 1.0508x slower
   get_callee_monomorphic                          2.3346+-0.1668     ?      2.7105+-0.8807        ? might be 1.1610x slower
   get_callee_polymorphic                          3.1796+-0.3387     ?      3.3393+-0.1694        ? might be 1.0502x slower
   getter-no-activation                            4.9050+-0.3057            4.8215+-0.2122          might be 1.0173x faster
   getter-prototype                               10.1512+-0.2974            9.9534+-0.1468          might be 1.0199x faster
   getter-richards                               127.1381+-5.0670     ?    136.7812+-13.4210       ? might be 1.0758x slower
   getter                                          5.5690+-1.2754            5.5435+-0.8296        
   global-var-const-infer-fire-from-opt            0.8452+-0.1016     ?      0.9109+-0.1396        ? might be 1.0777x slower
   global-var-const-infer                          0.7767+-0.1982            0.7720+-0.1480        
   HashMap-put-get-iterate-keys                   26.8763+-5.1367     ?     27.5261+-3.5267        ? might be 1.0242x slower
   HashMap-put-get-iterate                        27.6733+-2.3297     ?     28.2029+-3.6770        ? might be 1.0191x slower
   HashMap-string-put-get-iterate                 27.4150+-7.1638           26.8157+-3.7712          might be 1.0223x faster
   hoist-make-rope                                 8.2728+-1.0437            8.2322+-1.3400        
   hoist-poly-check-structure-effectful-loop
                                                   4.2018+-0.2242            4.1865+-0.0863        
   hoist-poly-check-structure                      3.5112+-0.4224            3.2944+-0.1385          might be 1.0658x faster
   imul-double-only                                7.2053+-0.4041     ?      7.4029+-0.7171        ? might be 1.0274x slower
   imul-int-only                                   9.2919+-0.6421            8.9046+-0.8689          might be 1.0435x faster
   imul-mixed                                      6.8585+-0.2174     ?      6.9083+-0.4134        ?
   in-four-cases                                  18.0436+-1.8516           17.8105+-0.7308          might be 1.0131x faster
   in-one-case-false                               9.9841+-0.4685     ?     10.2790+-1.2781        ? might be 1.0295x slower
   in-one-case-true                               10.3692+-1.9211           10.0775+-0.8528          might be 1.0289x faster
   in-two-cases                                   10.0229+-0.4467            9.9413+-0.2407        
   indexed-properties-in-objects                   2.8306+-0.1928            2.7729+-0.0845          might be 1.0208x faster
   infer-closure-const-then-mov-no-inline          3.1968+-0.0255     ?      3.5794+-0.9003        ? might be 1.1197x slower
   infer-closure-const-then-mov                   17.7460+-0.9712           17.6793+-0.7727        
   infer-closure-const-then-put-to-scope-no-inline
                                                  11.4857+-1.4188           11.3494+-0.4667          might be 1.0120x faster
   infer-closure-const-then-put-to-scope          23.0065+-1.5334           22.5119+-1.4406          might be 1.0220x faster
   infer-closure-const-then-reenter-no-inline
                                                  55.1023+-3.9128           52.9169+-3.1574          might be 1.0413x faster
   infer-closure-const-then-reenter               23.5038+-0.7557     ?     23.6729+-3.1959        ?
   infer-constant-global-property                  3.5468+-0.2205     ?      3.5682+-0.1082        ?
   infer-constant-property                         2.8917+-0.7699            2.7518+-0.3544          might be 1.0509x faster
   infer-one-time-closure-ten-vars                 9.6000+-1.3148            8.7493+-0.6170          might be 1.0972x faster
   infer-one-time-closure-two-vars                 8.0408+-1.0613     ?      8.4761+-0.2468        ? might be 1.0541x slower
   infer-one-time-closure                          8.2296+-1.0349     ?      8.3055+-0.8109        ?
   infer-one-time-deep-closure                    13.5363+-0.4971     ?     13.5785+-1.8285        ?
   inline-arguments-access                         3.6340+-0.3626     ?      3.7558+-0.1983        ? might be 1.0335x slower
   inline-arguments-aliased-access                 3.8202+-0.2288            3.6924+-0.2748          might be 1.0346x faster
   inline-arguments-local-escape                   3.5599+-0.1851     ?      4.1354+-1.1851        ? might be 1.1617x slower
   inline-get-scoped-var                           4.7667+-0.2170     ?      5.0333+-0.8582        ? might be 1.0559x slower
   inlined-put-by-id-transition                   10.0485+-1.4835     ?     10.5231+-1.4982        ? might be 1.0472x slower
   int-or-other-abs-then-get-by-val                4.9099+-0.3353            4.9071+-0.2716        
   int-or-other-abs-zero-then-get-by-val          16.6671+-0.5578     ?     16.8765+-0.7953        ? might be 1.0126x slower
   int-or-other-add-then-get-by-val                4.1757+-0.1091     ?      4.2474+-0.3027        ? might be 1.0172x slower
   int-or-other-add                                5.1857+-0.8311            4.9406+-0.1149          might be 1.0496x faster
   int-or-other-div-then-get-by-val                3.6895+-0.0637     ?      3.9733+-0.7814        ? might be 1.0769x slower
   int-or-other-max-then-get-by-val                4.0524+-0.0843     ?      4.3150+-0.7741        ? might be 1.0648x slower
   int-or-other-min-then-get-by-val                4.3037+-0.1840     ?      4.4311+-0.1898        ? might be 1.0296x slower
   int-or-other-mod-then-get-by-val                3.6108+-0.2113            3.5961+-0.2556        
   int-or-other-mul-then-get-by-val                3.6572+-0.0635     ?      3.7078+-0.2136        ? might be 1.0138x slower
   int-or-other-neg-then-get-by-val                4.5643+-0.2473            4.5534+-0.1808        
   int-or-other-neg-zero-then-get-by-val          16.3941+-0.9090           16.2990+-0.3630        
   int-or-other-sub-then-get-by-val                4.3734+-0.7733            4.2962+-0.4072          might be 1.0180x faster
   int-or-other-sub                                3.5273+-0.1999     ?      3.5797+-0.2244        ? might be 1.0148x slower
   int-overflow-local                              4.4055+-0.2277     ?      4.4632+-0.2562        ? might be 1.0131x slower
   Int16Array-alloc-long-lived                    45.7755+-3.0796           45.3834+-4.8123        
   Int16Array-bubble-sort-with-byteLength         18.5520+-0.6181     ?     18.8460+-1.1258        ? might be 1.0158x slower
   Int16Array-bubble-sort                         17.6884+-0.7844     ?     18.0992+-0.7020        ? might be 1.0232x slower
   Int16Array-load-int-mul                         1.6268+-0.5835            1.4447+-0.0938          might be 1.1261x faster
   Int16Array-to-Int32Array-set                   45.3284+-1.8145     ?     46.1998+-2.7800        ? might be 1.0192x slower
   Int32Array-alloc-large                         11.9802+-0.4352     ?     12.2917+-0.8129        ? might be 1.0260x slower
   Int32Array-alloc-long-lived                    49.2996+-2.1316     ?     51.7129+-3.0585        ? might be 1.0490x slower
   Int32Array-alloc                                3.0256+-0.3778     ?      3.1031+-0.5474        ? might be 1.0256x slower
   Int32Array-Int8Array-view-alloc                 6.8737+-0.8877            6.4724+-0.2265          might be 1.0620x faster
   int52-spill                                     4.8322+-0.3603            4.6203+-0.0654          might be 1.0459x faster
   Int8Array-alloc-long-lived                     41.0182+-5.8880           39.4912+-1.5175          might be 1.0387x faster
   Int8Array-load-with-byteLength                  3.4796+-0.1731            3.4214+-0.1124          might be 1.0170x faster
   Int8Array-load                                  3.4847+-0.2186     ?      3.5432+-0.1291        ? might be 1.0168x slower
   integer-divide                                 10.7173+-0.6205           10.6110+-0.5447          might be 1.0100x faster
   integer-modulo                                  1.6998+-0.0303            1.6923+-0.1316        
   is-boolean-fold-tricky                          3.9009+-0.2162            3.8938+-0.2906        
   is-boolean-fold                                 2.7681+-0.2348            2.7060+-0.1956          might be 1.0230x faster
   is-function-fold-tricky-internal-function
                                                  10.3923+-0.5518     ?     10.4577+-0.9355        ?
   is-function-fold-tricky                         4.2537+-0.2002     ?      4.3597+-0.4547        ? might be 1.0249x slower
   is-function-fold                                2.7282+-0.1228            2.6689+-0.0476          might be 1.0222x faster
   is-number-fold-tricky                           4.1889+-0.0974     ?      4.1907+-0.2436        ?
   is-number-fold                                  2.6712+-0.1991     ?      2.7914+-0.3104        ? might be 1.0450x slower
   is-object-or-null-fold-functions                2.8112+-0.4236            2.7801+-0.2633          might be 1.0112x faster
   is-object-or-null-fold-less-tricky              4.3762+-0.2839            4.2629+-0.2220          might be 1.0266x faster
   is-object-or-null-fold-tricky                   5.4650+-0.2042            5.3240+-0.0660          might be 1.0265x faster
   is-object-or-null-fold                          2.8358+-0.5577     ?      2.8440+-0.2427        ?
   is-object-or-null-trickier-function             4.2402+-0.0852     ?      4.6212+-1.0861        ? might be 1.0899x slower
   is-object-or-null-trickier-internal-function
                                                  10.7426+-0.4466     ?     10.8244+-0.6079        ?
   is-object-or-null-tricky-function               4.2512+-0.2049     ?      4.5143+-0.4523        ? might be 1.0619x slower
   is-object-or-null-tricky-internal-function
                                                   8.2646+-0.2058            8.1055+-0.3086          might be 1.0196x faster
   is-string-fold-tricky                           4.2925+-0.3726     ?      4.4419+-0.8233        ? might be 1.0348x slower
   is-string-fold                                  2.6716+-0.1347     ?      2.6878+-0.1418        ?
   is-undefined-fold-tricky                        3.4908+-0.2045            3.4702+-0.0931        
   is-undefined-fold                               2.7381+-0.2321            2.6434+-0.0511          might be 1.0358x faster
   large-int-captured                              3.9583+-0.0758     ?      4.1697+-0.5053        ? might be 1.0534x slower
   large-int-neg                                  14.3669+-0.7772     ?     14.5571+-0.8882        ? might be 1.0132x slower
   large-int                                      14.5917+-1.5876           14.4317+-1.3590          might be 1.0111x faster
   load-varargs-elimination                       21.5273+-1.1411     ?     22.1186+-0.6034        ? might be 1.0275x slower
   logical-not-weird-types                         2.8876+-0.1210     ?      2.8929+-0.0932        ?
   logical-not                                     4.2241+-0.0856     ?      4.3425+-0.1552        ? might be 1.0280x slower
   lots-of-fields                                  9.7599+-0.2332            9.3467+-0.3845          might be 1.0442x faster
   make-indexed-storage                            2.9604+-0.4250     ?      3.0490+-0.7112        ? might be 1.0299x slower
   make-rope-cse                                   3.7341+-0.3345     ?      3.7474+-0.4014        ?
   marsaglia-larger-ints                          34.5341+-2.1804     ?     34.8051+-2.1487        ?
   marsaglia-osr-entry                            21.4885+-0.6651     ?     22.1136+-1.2381        ? might be 1.0291x slower
   math-with-out-of-bounds-array-values           22.2075+-1.2078           22.1369+-0.6523        
   max-boolean                                     2.5148+-0.2437     ?      2.5305+-0.2024        ?
   method-on-number                               17.8637+-0.5572     ^     16.2560+-0.9763        ^ definitely 1.0989x faster
   min-boolean                                     2.5271+-0.0874     ?      2.5549+-0.1738        ? might be 1.0110x slower
   minus-boolean-double                            3.1478+-0.1424     ?      3.2007+-0.3128        ? might be 1.0168x slower
   minus-boolean                                   2.4442+-0.2842            2.4221+-0.2734        
   misc-strict-eq                                 33.5015+-1.6256           32.2480+-1.8060          might be 1.0389x faster
   mod-boolean-double                             12.1179+-1.6488           11.4337+-0.2043          might be 1.0598x faster
   mod-boolean                                     8.6657+-0.2720     ?      8.8600+-1.0658        ? might be 1.0224x slower
   mul-boolean-double                              3.6593+-0.0629     ?      3.8563+-0.3372        ? might be 1.0538x slower
   mul-boolean                                     2.8182+-0.0666     ?      2.8914+-0.2320        ? might be 1.0259x slower
   neg-boolean                                     3.2555+-0.1974            3.1684+-0.2489          might be 1.0275x faster
   negative-zero-divide                            0.3534+-0.1097            0.3360+-0.0125          might be 1.0518x faster
   negative-zero-modulo                            0.3293+-0.0369            0.3223+-0.0155          might be 1.0220x faster
   negative-zero-negate                            0.3151+-0.0444     ?      0.3238+-0.0576        ? might be 1.0275x slower
   nested-function-parsing                        45.4780+-1.9793     ?     45.6772+-2.3931        ?
   new-array-buffer-dead                          90.8531+-2.8721           90.3092+-2.1379        
   new-array-buffer-push                           5.6890+-0.4176            5.6771+-0.4314        
   new-array-dead                                 14.5987+-1.2264     ?     14.9840+-2.4325        ? might be 1.0264x slower
   new-array-push                                  3.6390+-0.2055     ?      3.6559+-0.5723        ?
   no-inline-constructor                          33.9115+-2.0071           32.7023+-1.7001          might be 1.0370x faster
   number-test                                     2.8502+-0.0877     ?      3.0783+-0.5939        ? might be 1.0800x slower
   object-closure-call                             4.8364+-0.1756     ?      4.9060+-0.1461        ? might be 1.0144x slower
   object-test                                     2.7113+-0.3934            2.6437+-0.0901          might be 1.0256x faster
   obvious-sink-pathology-taken                  104.6143+-0.9629          103.4897+-1.9630          might be 1.0109x faster
   obvious-sink-pathology                         97.8745+-2.6423     ?     99.7551+-3.3864        ? might be 1.0192x slower
   obviously-elidable-new-object                  29.5198+-1.4735     ?     29.7646+-1.6857        ?
   plus-boolean-arith                              2.3571+-0.0520     ?      2.3688+-0.0358        ?
   plus-boolean-double                             3.1370+-0.1388            3.0818+-0.1450          might be 1.0179x faster
   plus-boolean                                    2.5806+-0.1547            2.5186+-0.0399          might be 1.0246x faster
   poly-chain-access-different-prototypes-simple
                                                   2.7297+-0.0629     ?      2.7635+-0.0983        ? might be 1.0124x slower
   poly-chain-access-different-prototypes          2.5756+-0.1619            2.5604+-0.1494        
   poly-chain-access-simpler                       2.7697+-0.0943     ?      2.8865+-0.2022        ? might be 1.0422x slower
   poly-chain-access                               2.6085+-0.1890            2.5522+-0.1392          might be 1.0221x faster
   poly-stricteq                                  54.0745+-1.6743           53.9318+-3.4000        
   polymorphic-array-call                          1.2237+-0.0334     ?      1.2720+-0.1661        ? might be 1.0395x slower
   polymorphic-get-by-id                           2.8825+-0.0408            2.8622+-0.1389        
   polymorphic-put-by-id                          26.7205+-0.8030     ?     26.8306+-2.9693        ?
   polymorphic-structure                          13.8288+-0.4005           13.7807+-1.1036        
   polyvariant-monomorphic-get-by-id               6.7480+-0.5914            6.6821+-0.6674        
   proto-getter-access                             8.5566+-0.4723            8.3458+-0.0768          might be 1.0253x faster
   put-by-id-replace-and-transition                7.7712+-0.9715            7.4006+-0.7134          might be 1.0501x faster
   put-by-id-slightly-polymorphic                  2.6740+-0.0532     ?      2.7023+-0.0942        ? might be 1.0106x slower
   put-by-id                                       9.8860+-0.2689            9.7032+-0.4055          might be 1.0188x faster
   put-by-val-direct                               0.3305+-0.0383     ?      0.3663+-0.0551        ? might be 1.1084x slower
   put-by-val-large-index-blank-indexing-type
                                                   5.5471+-0.4363            5.2346+-0.9190          might be 1.0597x faster
   put-by-val-machine-int                          2.4368+-0.1139            2.3676+-0.1337          might be 1.0293x faster
   rare-osr-exit-on-local                         15.4320+-0.5398           15.0226+-0.4403          might be 1.0272x faster
   register-pressure-from-osr                     17.0845+-0.7432     ?     17.5200+-1.1689        ? might be 1.0255x slower
   repeat-multi-get-by-offset                     22.4772+-2.0367           21.4642+-0.7472          might be 1.0472x faster
   setter-prototype                                7.8550+-0.9774     ?      8.0924+-0.9839        ? might be 1.0302x slower
   setter                                          6.0054+-0.5001            5.8464+-1.2859          might be 1.0272x faster
   simple-activation-demo                         25.8759+-2.1154     ?     26.4595+-3.6770        ? might be 1.0226x slower
   simple-getter-access                           10.4220+-0.1406     ?     10.7503+-0.2869        ? might be 1.0315x slower
   simple-poly-call-nested                         9.6382+-1.2445            8.7598+-1.5502          might be 1.1003x faster
   simple-poly-call                                1.2748+-0.1680            1.2510+-0.0300          might be 1.0190x faster
   sin-boolean                                    18.7355+-0.9398     ?     20.4578+-4.5385        ? might be 1.0919x slower
   singleton-scope                                61.3751+-2.7783           59.8097+-3.0690          might be 1.0262x faster
   sink-function                                   9.5502+-1.5961     ?     10.1224+-1.4389        ? might be 1.0599x slower
   sink-huge-activation                           17.1740+-0.5228           16.6813+-1.1826          might be 1.0295x faster
   sinkable-new-object-dag                        58.8848+-0.9270           57.9203+-1.7987          might be 1.0167x faster
   sinkable-new-object-taken                      43.8206+-2.6156     ?     44.3859+-3.2418        ? might be 1.0129x slower
   sinkable-new-object                            30.7947+-1.5130           30.0220+-0.8723          might be 1.0257x faster
   slow-array-profile-convergence                  2.6351+-0.1271            2.5497+-0.0231          might be 1.0335x faster
   slow-convergence                                2.4680+-0.1344            2.4677+-0.1408        
   slow-ternaries                                 18.3859+-0.5743     ?     18.5526+-0.2871        ?
   sorting-benchmark                              17.6708+-0.7926     ?     18.1884+-2.4458        ? might be 1.0293x slower
   sparse-conditional                              1.1251+-0.0511            1.0830+-0.0190          might be 1.0388x faster
   splice-to-remove                               12.7175+-0.5604     !     18.6860+-0.2224        ! definitely 1.4693x slower
   string-char-code-at                            14.9210+-0.5616           14.5087+-0.3771          might be 1.0284x faster
   string-concat-object                            2.3310+-0.1797            2.3237+-0.3169        
   string-concat-pair-object                       2.1600+-0.3075            2.0895+-0.1390          might be 1.0337x faster
   string-concat-pair-simple                       9.2237+-0.5228     ?      9.7812+-1.0569        ? might be 1.0604x slower
   string-concat-simple                            9.4330+-0.6951            9.2542+-0.3518          might be 1.0193x faster
   string-cons-repeat                              6.7068+-0.3225            6.5337+-0.2744          might be 1.0265x faster
   string-cons-tower                               6.8787+-0.7305            6.8435+-0.4212        
   string-equality                                15.7780+-1.1035     ?     16.6545+-3.1473        ? might be 1.0556x slower
   string-get-by-val-big-char                      6.9794+-0.3542            6.8514+-0.1909          might be 1.0187x faster
   string-get-by-val-out-of-bounds-insane          3.4442+-0.3647     ?      3.7012+-0.6294        ? might be 1.0746x slower
   string-get-by-val-out-of-bounds                 4.4109+-0.7233            4.1399+-0.1972          might be 1.0655x faster
   string-get-by-val                               2.9019+-0.1946            2.8218+-0.0242          might be 1.0284x faster
   string-hash                                     1.8853+-0.1344            1.8007+-0.0532          might be 1.0469x faster
   string-long-ident-equality                     13.0250+-0.7856     ?     13.6515+-0.8653        ? might be 1.0481x slower
   string-out-of-bounds                           10.8946+-0.4884     ?     10.9384+-0.3865        ?
   string-repeat-arith                            28.1650+-1.8964     ?     29.2441+-1.7952        ? might be 1.0383x slower
   string-sub                                     57.3679+-4.3768           56.7574+-6.0798          might be 1.0108x faster
   string-test                                     2.8104+-0.1548            2.7025+-0.0851          might be 1.0400x faster
   string-var-equality                            27.3523+-3.5986           25.9758+-1.1544          might be 1.0530x faster
   structure-hoist-over-transitions                2.4467+-0.1132     ?      2.7930+-1.0725        ? might be 1.1415x slower
   substring-concat-weird                         37.1087+-0.6504     ?     38.4500+-2.2716        ? might be 1.0361x slower
   substring-concat                               41.9688+-1.9683     ?     42.4694+-2.6758        ? might be 1.0119x slower
   substring                                      47.5715+-2.4733     ?     48.1570+-3.8117        ? might be 1.0123x slower
   switch-char-constant                            2.6589+-0.0582     ?      2.6971+-0.1305        ? might be 1.0144x slower
   switch-char                                     5.9620+-0.7159            5.8514+-0.5977          might be 1.0189x faster
   switch-constant                                 6.9959+-0.9211     ?      7.7549+-1.4383        ? might be 1.1085x slower
   switch-string-basic-big-var                    16.3603+-0.7872           15.9948+-0.8618          might be 1.0228x faster
   switch-string-basic-big                        16.5251+-1.0819           15.7113+-1.6642          might be 1.0518x faster
   switch-string-basic-var                        14.2267+-1.4825           14.0467+-0.8764          might be 1.0128x faster
   switch-string-basic                            13.2199+-0.5796     ?     13.4973+-0.5002        ? might be 1.0210x slower
   switch-string-big-length-tower-var             19.1143+-1.1867           19.0159+-2.5596        
   switch-string-length-tower-var                 13.6938+-0.3744     ?     14.4777+-1.7869        ? might be 1.0572x slower
   switch-string-length-tower                     12.8243+-1.2221           12.3723+-0.1466          might be 1.0365x faster
   switch-string-short                            12.4389+-0.5038     ?     12.8896+-1.1877        ? might be 1.0362x slower
   switch                                         11.0336+-1.0035     ?     11.2183+-1.1883        ? might be 1.0167x slower
   tear-off-arguments-simple                       3.0972+-0.2813     ?      3.1639+-0.2024        ? might be 1.0215x slower
   tear-off-arguments                              4.0361+-0.2296            4.0270+-0.3388        
   temporal-structure                             14.0725+-1.0966           13.7852+-2.3030          might be 1.0208x faster
   to-int32-boolean                               13.8091+-0.6075     ?     13.8937+-0.6109        ?
   try-catch-get-by-val-cloned-arguments          14.4568+-0.4019     ?     14.8981+-1.8405        ? might be 1.0305x slower
   try-catch-get-by-val-direct-arguments           6.9498+-0.1785            6.4225+-0.4784          might be 1.0821x faster
   try-catch-get-by-val-scoped-arguments           8.1380+-1.0802            8.0938+-0.7173        
   typed-array-get-set-by-val-profiling           28.2303+-0.9736     ?     29.4235+-2.9349        ? might be 1.0423x slower
   undefined-property-access                     244.8132+-6.4512          243.9741+-7.4433        
   undefined-test                                  2.8702+-0.2141     ?      2.9349+-0.1565        ? might be 1.0225x slower
   unprofiled-licm                                14.9841+-0.8481           14.7387+-0.5627          might be 1.0167x faster
   varargs-call                                   13.8173+-0.4612           13.5337+-0.1828          might be 1.0210x faster
   varargs-construct-inline                       23.1620+-1.9638     ?     23.7725+-2.3886        ? might be 1.0264x slower
   varargs-construct                              20.5775+-1.8553     ?     20.8192+-0.9316        ? might be 1.0117x slower
   varargs-inline                                  8.3324+-0.1070     ?      8.5037+-0.2230        ? might be 1.0206x slower
   varargs-strict-mode                             9.7341+-0.4556     ?      9.7747+-0.5458        ?
   varargs                                         9.7253+-0.8018            9.4700+-0.1921          might be 1.0270x faster
   weird-inlining-const-prop                       2.3152+-0.5339            2.1182+-0.1943          might be 1.0930x faster

   &lt;geometric&gt;                                     8.0052+-0.0318     ?      8.0401+-0.0127        ? might be 1.0044x slower

                                                       master                   species                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                                30.0434+-0.2761     ?     30.1776+-0.1012        ? might be 1.0045x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110888</commentid>
    <comment_count>25</comment_count>
      <attachid>257158</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-20 21:54:12 -0700</bug_when>
    <thetext>Comment on attachment 257158
Patch

I&apos;ll update the patch with profiler test results. It just updates the test expectation files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110890</commentid>
    <comment_count>26</comment_count>
      <attachid>257159</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-20 21:56:44 -0700</bug_when>
    <thetext>Created attachment 257159
Patch

Just updated the patch for profiler tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112606</commentid>
    <comment_count>27</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-07-27 17:05:15 -0700</bug_when>
    <thetext>&gt; This is because of ArraySpeciesCreate&apos;s &quot;constructor&quot; and &quot;@@species&quot;
&gt; accesses.
&gt; To inline it, first I implemented splice in JS, but it incurs larger
&gt; overhead because we cannot use the fastSplice etc. methods.

Can we expose fastSplice as a private intrinsic?

Our long-term vision is that all of these helpers should be written in JavaScript. It&apos;s a lot easier to get the details right that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112817</commentid>
    <comment_count>28</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-28 12:51:46 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Can we expose fastSplice as a private intrinsic?
&gt; 
&gt; Our long-term vision is that all of these helpers should be written in
&gt; JavaScript. It&apos;s a lot easier to get the details right that way.

OK, now, I&apos;m prototyping it.
The most naive approach, all in JS case is the following.

   array-splice-contiguous                        21.5453+-1.4867     !    236.8323+-14.3171       ! definitely 10.9923x slower
   splice-to-remove                               12.7059+-0.4697     !    685.1591+-55.3648       ! definitely 53.9243x slower


Benchmark report for SunSpider, LongSpider, V8Spider, and JSRegress on Yusukes-MacBook-Pro (MacBookPro11,3).

VMs tested:
&quot;master&quot; at /Users/yusukesuzuki/development/WebKit/WebKitBuild/master-for-species/Release/jsc
&quot;species&quot; at /Users/yusukesuzuki/development/WebKit/WebKitBuild/species3/Release/jsc

Collected 4 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get
microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                       master                   species                                      
SunSpider:
   3d-cube                                         4.7382+-0.2676            4.4768+-0.2324          might be 1.0584x faster
   3d-morph                                        5.5721+-0.6897            5.5148+-0.2386          might be 1.0104x faster
   3d-raytrace                                     5.3688+-0.2824     ?      5.4684+-0.1992        ? might be 1.0186x slower
   access-binary-trees                             2.0991+-0.1350     ?      2.2285+-0.3423        ? might be 1.0617x slower
   access-fannkuch                                 5.5226+-0.2382            5.4521+-0.0577          might be 1.0129x faster
   access-nbody                                    2.5840+-0.1863     ?      2.6710+-0.3974        ? might be 1.0336x slower
   access-nsieve                                   3.2244+-0.4503     ?      3.2535+-0.2719        ?
   bitops-3bit-bits-in-byte                        1.4745+-0.0194            1.4709+-0.0235        
   bitops-bits-in-byte                             3.2526+-0.1059     ?      3.3683+-0.2679        ? might be 1.0356x slower
   bitops-bitwise-and                              2.3031+-0.2993            2.1295+-0.0233          might be 1.0815x faster
   bitops-nsieve-bits                              3.0259+-0.2630     ?      3.1816+-0.3756        ? might be 1.0515x slower
   controlflow-recursive                           2.0745+-0.0608     ?      2.3367+-0.3461        ? might be 1.1264x slower
   crypto-aes                                      4.0434+-0.2219            4.0040+-0.2369        
   crypto-md5                                      2.4399+-0.1027     ?      2.5341+-0.1423        ? might be 1.0386x slower
   crypto-sha1                                     2.4803+-0.0932            2.3898+-0.2333          might be 1.0379x faster
   date-format-tofte                               6.7893+-0.6521            6.7735+-0.2830        
   date-format-xparb                               4.7589+-0.5344     ?      5.6274+-2.5842        ? might be 1.1825x slower
   math-cordic                                     2.9203+-0.3476     ?      2.9337+-0.1676        ?
   math-partial-sums                               4.5792+-0.1175     ?      4.6779+-0.3762        ? might be 1.0215x slower
   math-spectral-norm                              1.8544+-0.1982     ?      1.8859+-0.1170        ? might be 1.0170x slower
   regexp-dna                                      7.0932+-2.0707            6.4645+-0.7171          might be 1.0972x faster
   string-base64                                   4.6115+-0.7536            4.5154+-0.4240          might be 1.0213x faster
   string-fasta                                    5.9393+-0.3274     ?      6.0062+-0.8872        ? might be 1.0113x slower
   string-tagcloud                                 8.6990+-0.4568            8.3432+-0.2692          might be 1.0426x faster
   string-unpack-code                             20.3668+-0.9611     ?     20.6302+-0.6889        ? might be 1.0129x slower
   string-validate-input                           4.6745+-0.2982            4.5865+-0.3274          might be 1.0192x faster

   &lt;arithmetic&gt;                                    4.7111+-0.1083     ?      4.7279+-0.1156        ? might be 1.0035x slower

                                                       master                   species                                      
LongSpider:
   3d-cube                                       837.2696+-33.2729    ?    857.4637+-24.6907       ? might be 1.0241x slower
   3d-morph                                     1652.1528+-51.7735        1609.6976+-112.2903        might be 1.0264x faster
   3d-raytrace                                   639.9998+-14.6988    ?    660.4681+-44.4900       ? might be 1.0320x slower
   access-binary-trees                           840.5773+-32.5618    ?    850.1714+-42.5073       ? might be 1.0114x slower
   access-fannkuch                               319.1740+-70.4269         296.7835+-22.9838         might be 1.0754x faster
   access-nbody                                  569.4497+-71.0886         566.9645+-37.4389       
   access-nsieve                                 370.0339+-13.7748    ?    382.2575+-20.4916       ? might be 1.0330x slower
   bitops-3bit-bits-in-byte                       41.3172+-0.7269     ?     43.4328+-4.4453        ? might be 1.0512x slower
   bitops-bits-in-byte                            90.2487+-20.2761          85.8193+-2.7762          might be 1.0516x faster
   bitops-nsieve-bits                            428.7062+-17.9436         427.0158+-10.0445       
   controlflow-recursive                         447.5049+-17.3346    ?    459.3065+-33.9299       ? might be 1.0264x slower
   crypto-aes                                    610.5984+-23.0606         610.2912+-16.2532       
   crypto-md5                                    494.2714+-19.8573    ?    508.1578+-15.9282       ? might be 1.0281x slower
   crypto-sha1                                   679.4043+-14.8479         672.0342+-32.3290         might be 1.0110x faster
   date-format-tofte                             536.1331+-28.4708    ?    547.9348+-20.6548       ? might be 1.0220x slower
   date-format-xparb                             677.9062+-21.8821    ?    681.0893+-63.8037       ?
   hash-map                                      162.9310+-11.1104         159.3087+-8.6393          might be 1.0227x faster
   math-cordic                                   520.1147+-16.1291         506.0953+-19.8643         might be 1.0277x faster
   math-partial-sums                             437.5676+-12.5598    ?    443.2532+-37.2176       ? might be 1.0130x slower
   math-spectral-norm                            589.7308+-22.5370    ?    618.5571+-26.8226       ? might be 1.0489x slower
   string-base64                                 371.5610+-31.6235    ?    385.5643+-30.7904       ? might be 1.0377x slower
   string-fasta                                  398.4608+-25.0216         397.7803+-23.1289       
   string-tagcloud                               190.4803+-18.7000         186.2422+-9.2123          might be 1.0228x faster

   &lt;geometric&gt;                                   414.6404+-3.5111     ?    416.3623+-6.7098        ? might be 1.0042x slower

                                                       master                   species                                      
V8Spider:
   crypto                                         51.0355+-3.4346     ?     57.4481+-18.9399       ? might be 1.1256x slower
   deltablue                                      84.0064+-3.3037     ?     84.6790+-4.4955        ?
   earley-boyer                                   40.6704+-0.8340     ?     40.9666+-1.2491        ?
   raytrace                                       30.4503+-0.6817     ?     31.6982+-3.8372        ? might be 1.0410x slower
   regexp                                         69.7512+-8.9950           69.4749+-5.6588        
   richards                                       69.2996+-5.2767           68.4197+-2.7667          might be 1.0129x faster
   splay                                          36.0097+-3.2168     ?     36.1717+-6.1081        ?

   &lt;geometric&gt;                                    51.1816+-1.6172     ?     52.2727+-3.3960        ? might be 1.0213x slower

                                                       master                   species                                      
JSRegress:
   abc-forward-loop-equal                         31.6718+-0.9278     ?     31.7048+-3.6201        ?
   abc-postfix-backward-loop                      30.3093+-1.3798     ?     31.5845+-2.6355        ? might be 1.0421x slower
   abc-simple-backward-loop                       29.6942+-1.8037     ?     30.1176+-0.4311        ? might be 1.0143x slower
   abc-simple-forward-loop                        30.8351+-5.2522           29.5883+-1.2998          might be 1.0421x faster
   abc-skippy-loop                                21.6877+-1.0670     ?     21.8779+-0.7855        ?
   abs-boolean                                     2.7621+-0.2737     ?      2.7883+-0.1420        ?
   adapt-to-double-divide                         17.1661+-1.6870           16.6413+-0.2589          might be 1.0315x faster
   aliased-arguments-getbyval                      1.1121+-0.1002     ?      1.1382+-0.0595        ? might be 1.0235x slower
   allocate-big-object                             2.4547+-0.4629     ?      2.4741+-0.0769        ?
   arguments-named-and-reflective                 11.6606+-2.1442           11.4322+-1.1254          might be 1.0200x faster
   arguments-out-of-bounds                        10.2556+-0.7955           10.0215+-0.1728          might be 1.0234x faster
   arguments-strict-mode                           9.8754+-0.4085     ?      9.9114+-0.3972        ?
   arguments                                       8.6236+-0.0858            8.5742+-0.4913        
   arity-mismatch-inlining                         0.8107+-0.0411     ?      0.8494+-0.0549        ? might be 1.0477x slower
   array-access-polymorphic-structure              6.0930+-0.4048            5.9888+-0.1851          might be 1.0174x faster
   array-nonarray-polymorhpic-access              26.3015+-3.6380           25.5682+-0.9681          might be 1.0287x faster
   array-prototype-every                          79.6628+-1.6277           79.1058+-6.7478        
   array-prototype-forEach                        77.5939+-3.9308           76.4120+-6.4713          might be 1.0155x faster
   array-prototype-map                            89.2155+-5.6468           83.0982+-2.8970          might be 1.0736x faster
   array-prototype-reduce                         80.9276+-3.7968     ^     73.5475+-3.2282        ^ definitely 1.1003x faster
   array-prototype-reduceRight                    74.1220+-4.3907           73.3310+-4.9390          might be 1.0108x faster
   array-prototype-some                           84.5535+-9.4312           76.9886+-3.5206          might be 1.0983x faster
   array-splice-contiguous                        21.5453+-1.4867     !    236.8323+-14.3171       ! definitely 10.9923x slower
   array-with-double-add                           3.4713+-0.0849     ?      3.4738+-0.1441        ?
   array-with-double-increment                     3.3281+-0.5134            3.0780+-0.0889          might be 1.0813x faster
   array-with-double-mul-add                       4.2843+-0.0497     ?      4.4083+-0.4552        ? might be 1.0289x slower
   array-with-double-sum                           3.3697+-0.2213            3.2874+-0.2725          might be 1.0250x faster
   array-with-int32-add-sub                        5.9518+-0.1593     ?      6.3256+-1.0902        ? might be 1.0628x slower
   array-with-int32-or-double-sum                  3.2980+-0.0787     ?      3.5167+-0.3361        ? might be 1.0663x slower
   ArrayBuffer-DataView-alloc-large-long-lived
                                                  27.6571+-1.4213     ?     29.1535+-1.5591        ? might be 1.0541x slower
   ArrayBuffer-DataView-alloc-long-lived          13.1240+-0.9896     ?     13.2820+-1.0975        ? might be 1.0120x slower
   ArrayBuffer-Int32Array-byteOffset               4.0859+-0.6926            3.7271+-0.1297          might be 1.0963x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived
                                                  29.4850+-4.0013           28.7812+-1.4989          might be 1.0245x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer
                                                  22.6585+-2.4930           21.9194+-1.8017          might be 1.0337x faster
   ArrayBuffer-Int8Array-alloc-long-lived         12.1642+-0.2807           12.0132+-0.4516          might be 1.0126x faster
   ArrayBuffer-Int8Array-alloc                    10.5277+-1.0123     ?     11.2382+-0.9487        ? might be 1.0675x slower
   asmjs_bool_bug                                  7.9406+-0.7148            7.6290+-0.3274          might be 1.0408x faster
   assign-custom-setter-polymorphic                2.7409+-0.4189     ?      2.7772+-0.1836        ? might be 1.0132x slower
   assign-custom-setter                            3.8820+-0.3603            3.7236+-0.1239          might be 1.0425x faster
   basic-set                                       8.4632+-1.3871            7.8823+-0.3770          might be 1.0737x faster
   big-int-mul                                     3.5853+-0.0863     ?      3.6188+-0.2350        ?
   boolean-test                                    2.9659+-0.1665     ?      2.9893+-0.1216        ?
   branch-fold                                     3.8443+-0.5647            3.6661+-0.1424          might be 1.0486x faster
   branch-on-string-as-boolean                    16.9341+-1.3123     ?     17.1458+-1.6259        ? might be 1.0125x slower
   by-val-generic                                  7.9066+-1.0118            7.3755+-0.5706          might be 1.0720x faster
   call-spread-apply                              26.6345+-0.6705     ?     27.2153+-2.3780        ? might be 1.0218x slower
   call-spread-call                               21.7495+-1.2823     ?     23.1557+-4.0939        ? might be 1.0647x slower
   captured-assignments                            0.4295+-0.0185            0.4042+-0.0213          might be 1.0625x faster
   cast-int-to-double                              5.1022+-0.0892     ?      5.1809+-0.1485        ? might be 1.0154x slower
   cell-argument                                   6.4999+-0.2264     ?      6.5362+-0.4154        ?
   cfg-simplify                                    2.9128+-0.1952            2.8282+-0.1169          might be 1.0299x faster
   chain-getter-access                             8.2032+-0.1750     ?      8.5245+-0.5492        ? might be 1.0392x slower
   cmpeq-obj-to-obj-other                         11.4089+-1.5677           11.3932+-2.7209        
   constant-test                                   4.8577+-0.0207     ?      5.0884+-0.3566        ? might be 1.0475x slower
   create-lots-of-functions                        9.9934+-1.8539            9.4948+-1.3700          might be 1.0525x faster
   cse-new-array-buffer                            2.3464+-0.4253            2.2800+-0.6600          might be 1.0292x faster
   cse-new-array                                   2.4271+-0.1297            2.3372+-0.2423          might be 1.0385x faster
   DataView-custom-properties                     33.3519+-1.0371           33.2648+-1.3389        
   delay-tear-off-arguments-strictmode            12.7145+-0.3943     ?     13.4339+-1.1295        ? might be 1.0566x slower
   deltablue-varargs                             166.1880+-21.5712         154.3867+-2.6438          might be 1.0764x faster
   destructuring-arguments                       172.4592+-19.1698    ?    175.2915+-22.3763       ? might be 1.0164x slower
   destructuring-parameters-overridden-by-function
                                                   0.5311+-0.1186            0.4468+-0.0544          might be 1.1887x faster
   destructuring-swap                              4.8334+-0.2502     ?      5.0350+-0.9607        ? might be 1.0417x slower
   direct-arguments-getbyval                       1.3067+-0.5433            1.1085+-0.0552          might be 1.1788x faster
   div-boolean-double                              5.4343+-0.0732     ?      5.6342+-0.2659        ? might be 1.0368x slower
   div-boolean                                     8.4731+-0.4105            8.3820+-0.2608          might be 1.0109x faster
   double-get-by-val-out-of-bounds                 4.0883+-0.1422     ?      4.1832+-0.3368        ? might be 1.0232x slower
   double-pollution-getbyval                       9.0380+-0.5428            8.8453+-0.2179          might be 1.0218x faster
   double-pollution-putbyoffset                    3.6817+-0.1815     ?      3.8257+-0.2019        ? might be 1.0391x slower
   double-real-use                                29.4739+-4.1068           26.0756+-3.3866          might be 1.1303x faster
   double-to-int32-typed-array-no-inline           2.1848+-0.3270            2.0715+-0.0920          might be 1.0547x faster
   double-to-int32-typed-array                     1.8170+-0.1150     ?      1.9445+-0.5751        ? might be 1.0702x slower
   double-to-uint32-typed-array-no-inline          2.1480+-0.1195     ?      2.1985+-0.1091        ? might be 1.0235x slower
   double-to-uint32-typed-array                    1.9513+-0.1928            1.8665+-0.1111          might be 1.0454x faster
   elidable-new-object-dag                        35.8897+-2.3050           34.7122+-1.7438          might be 1.0339x faster
   elidable-new-object-roflcopter                 33.9053+-0.9420     ?     35.0414+-3.3147        ? might be 1.0335x slower
   elidable-new-object-then-call                  31.4927+-0.7430     ?     31.8367+-3.2497        ? might be 1.0109x slower
   elidable-new-object-tree                       38.7212+-3.8779           36.9894+-0.9441          might be 1.0468x faster
   empty-string-plus-int                           5.0300+-0.2693     ?      5.0954+-0.5881        ? might be 1.0130x slower
   emscripten-cube2hash                           25.7941+-2.2282     ?     31.0209+-3.7089        ? might be 1.2026x slower
   exit-length-on-plain-object                    12.5787+-0.2266     ?     12.7993+-0.5179        ? might be 1.0175x slower
   external-arguments-getbyval                     1.1927+-0.0406     ?      1.2139+-0.0536        ? might be 1.0178x slower
   external-arguments-putbyval                     2.2397+-0.1988     ?      2.3222+-0.3664        ? might be 1.0368x slower
   fixed-typed-array-storage-var-index             1.1825+-0.0213     ?      1.2175+-0.1211        ? might be 1.0296x slower
   fixed-typed-array-storage                       0.9003+-0.1116     ?      1.2007+-0.5435        ? might be 1.3338x slower
   Float32Array-matrix-mult                        5.2272+-3.7904            4.1022+-0.6634          might be 1.2742x faster
   Float32Array-to-Float64Array-set               46.4791+-0.3377     ?     48.0423+-2.4885        ? might be 1.0336x slower
   Float64Array-alloc-long-lived                  60.2108+-1.6715     ?     60.6917+-1.1992        ?
   Float64Array-to-Int16Array-set                 70.7998+-33.5747          58.5312+-4.4553          might be 1.2096x faster
   fold-double-to-int                             13.9420+-1.4257           13.2275+-0.3508          might be 1.0540x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int
                                                  11.0620+-2.1486     ?     11.7365+-1.8859        ? might be 1.0610x slower
   fold-get-by-id-to-multi-get-by-offset           9.6054+-1.8689            9.3713+-0.4869          might be 1.0250x faster
   fold-multi-get-by-offset-to-get-by-offset
                                                   8.4855+-0.8419            8.3888+-1.6243          might be 1.0115x faster
   fold-multi-get-by-offset-to-poly-get-by-offset
                                                   8.0760+-1.2231     ?      8.5338+-1.1399        ? might be 1.0567x slower
   fold-multi-put-by-offset-to-poly-put-by-offset
                                                   8.7752+-0.8146            7.9718+-1.2203          might be 1.1008x faster
   fold-multi-put-by-offset-to-put-by-offset
                                                   5.8560+-0.7803            5.7319+-0.8396          might be 1.0216x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
                                                   8.1940+-0.1747     ?      9.0081+-1.2375        ? might be 1.0993x slower
   fold-put-by-id-to-multi-put-by-offset           9.0875+-1.2484     ?     10.1387+-3.8101        ? might be 1.1157x slower
   fold-put-structure                              5.4855+-0.7195     ?      5.5405+-0.3860        ? might be 1.0100x slower
   for-of-iterate-array-entries                   12.1334+-1.3452           11.8787+-0.7353          might be 1.0214x faster
   for-of-iterate-array-keys                       3.3429+-0.0972     ?      3.6083+-0.5194        ? might be 1.0794x slower
   for-of-iterate-array-values                     3.4470+-0.3077            3.3459+-0.1867          might be 1.0302x faster
   fround                                         20.2337+-1.8902           19.2166+-0.6193          might be 1.0529x faster
   ftl-library-inlining-dataview                  62.2709+-11.1926          58.4275+-3.0208          might be 1.0658x faster
   ftl-library-inlining                          112.7617+-6.9712     ?    114.5066+-9.5126        ? might be 1.0155x slower
   function-dot-apply                              2.0911+-0.1737     ?      2.2482+-0.1335        ? might be 1.0752x slower
   function-test                                   2.9205+-0.3593            2.8958+-0.3353        
   function-with-eval                            102.9243+-5.9481          102.0060+-5.4180        
   gcse-poly-get-less-obvious                     14.8010+-0.3043     ?     15.0472+-0.6098        ? might be 1.0166x slower
   gcse-poly-get                                  14.5364+-0.4164     ?     14.6837+-0.3485        ? might be 1.0101x slower
   gcse                                            3.8705+-0.0727     ?      3.9929+-0.2327        ? might be 1.0316x slower
   get-by-id-bimorphic-check-structure-elimination-simple
                                                   2.6736+-0.2207            2.6223+-0.0612          might be 1.0196x faster
   get-by-id-bimorphic-check-structure-elimination
                                                   5.9462+-0.3044     ?      5.9522+-0.2313        ?
   get-by-id-chain-from-try-block                  6.7534+-0.4452            6.6674+-0.4068          might be 1.0129x faster
   get-by-id-check-structure-elimination           4.4490+-0.1093     ?      4.5422+-0.1647        ? might be 1.0209x slower
   get-by-id-proto-or-self                        15.6008+-2.1376           15.0990+-1.0360          might be 1.0332x faster
   get-by-id-quadmorphic-check-structure-elimination-simple
                                                   3.0484+-0.2612            3.0035+-0.2929          might be 1.0149x faster
   get-by-id-self-or-proto                        18.0320+-6.2269           15.5189+-0.5207          might be 1.1619x faster
   get-by-val-out-of-bounds                        3.8638+-0.2747     ?      4.0697+-0.3903        ? might be 1.0533x slower
   get_callee_monomorphic                          2.2815+-0.1647            2.1595+-0.2652          might be 1.0565x faster
   get_callee_polymorphic                          3.3102+-0.2485            3.1333+-0.2398          might be 1.0565x faster
   getter-no-activation                            5.0875+-0.2319            4.8990+-0.2482          might be 1.0385x faster
   getter-prototype                               10.4896+-0.6147            9.8926+-0.1046          might be 1.0603x faster
   getter-richards                               136.2650+-4.8353     ?    138.1830+-21.6567       ? might be 1.0141x slower
   getter                                          5.2941+-0.2874     ?      6.5833+-1.9209        ? might be 1.2435x slower
   global-var-const-infer-fire-from-opt            0.9647+-0.0895            0.8653+-0.0888          might be 1.1149x faster
   global-var-const-infer                          0.7443+-0.1769     ?      0.7858+-0.1633        ? might be 1.0558x slower
   HashMap-put-get-iterate-keys                   27.2595+-1.4272     ?     28.8832+-6.4330        ? might be 1.0596x slower
   HashMap-put-get-iterate                        27.4440+-1.9192           26.4373+-0.5891          might be 1.0381x faster
   HashMap-string-put-get-iterate                 25.8207+-1.7597           25.2794+-0.8936          might be 1.0214x faster
   hoist-make-rope                                 7.9622+-0.4210     ?      8.7621+-1.6352        ? might be 1.1005x slower
   hoist-poly-check-structure-effectful-loop
                                                   4.2513+-0.1507     ?      4.2592+-0.1889        ?
   hoist-poly-check-structure                      3.3336+-0.0672     ?      3.3945+-0.1472        ? might be 1.0183x slower
   imul-double-only                                7.2925+-0.2317            7.2477+-0.3079        
   imul-int-only                                   8.7172+-1.4921     ?      9.1594+-1.7001        ? might be 1.0507x slower
   imul-mixed                                      7.2800+-0.8432            7.0571+-0.8064          might be 1.0316x faster
   in-four-cases                                  18.1301+-1.3150           17.7930+-0.3788          might be 1.0189x faster
   in-one-case-false                               9.3477+-0.3572     ?      9.5265+-0.6267        ? might be 1.0191x slower
   in-one-case-true                               10.4525+-2.4460            9.4293+-0.3582          might be 1.1085x faster
   in-two-cases                                    9.6261+-0.2619     ?     10.6185+-2.5384        ? might be 1.1031x slower
   indexed-properties-in-objects                   2.7898+-0.0581     ?      2.8575+-0.0717        ? might be 1.0243x slower
   infer-closure-const-then-mov-no-inline          3.2437+-0.1045            3.2015+-0.0805          might be 1.0132x faster
   infer-closure-const-then-mov                   17.3795+-0.9068     ?     18.9202+-2.4935        ? might be 1.0886x slower
   infer-closure-const-then-put-to-scope-no-inline
                                                  13.1042+-6.3503           10.9985+-0.2676          might be 1.1915x faster
   infer-closure-const-then-put-to-scope          25.3353+-2.8331           21.6392+-1.4287          might be 1.1708x faster
   infer-closure-const-then-reenter-no-inline
                                                  54.3965+-5.8021           54.2079+-6.6406        
   infer-closure-const-then-reenter               23.0618+-2.0609     ?     23.5423+-3.2309        ? might be 1.0208x slower
   infer-constant-global-property                  3.4967+-0.1227     ?      3.6050+-0.4354        ? might be 1.0310x slower
   infer-constant-property                         2.6528+-0.0991     ?      2.7087+-0.0951        ? might be 1.0211x slower
   infer-one-time-closure-ten-vars                 8.8251+-1.3827            8.4285+-0.3027          might be 1.0471x faster
   infer-one-time-closure-two-vars                 9.3002+-2.2244            8.1262+-0.4522          might be 1.1445x faster
   infer-one-time-closure                          7.9857+-0.1863     ?      8.0563+-0.3450        ?
   infer-one-time-deep-closure                    13.8300+-2.2161           13.1238+-0.3060          might be 1.0538x faster
   inline-arguments-access                         4.1113+-1.8260            3.5772+-0.0996          might be 1.1493x faster
   inline-arguments-aliased-access                 3.7873+-0.3622            3.5676+-0.1772          might be 1.0616x faster
   inline-arguments-local-escape                   3.6823+-0.2678            3.6076+-0.2878          might be 1.0207x faster
   inline-get-scoped-var                           4.6968+-0.2475     ?      4.8008+-0.1968        ? might be 1.0222x slower
   inlined-put-by-id-transition                   10.3712+-0.5909     ?     11.2136+-1.0384        ? might be 1.0812x slower
   int-or-other-abs-then-get-by-val                4.9028+-0.1719     ?      5.0570+-0.2461        ? might be 1.0315x slower
   int-or-other-abs-zero-then-get-by-val          16.8961+-0.6039           16.6705+-0.8795          might be 1.0135x faster
   int-or-other-add-then-get-by-val                4.0995+-0.0708     ?      5.0173+-1.1992        ? might be 1.2239x slower
   int-or-other-add                                5.2193+-0.3541            5.0117+-0.2814          might be 1.0414x faster
   int-or-other-div-then-get-by-val                4.0455+-0.6871            3.7473+-0.0948          might be 1.0796x faster
   int-or-other-max-then-get-by-val                4.1108+-0.0674     ?      4.1140+-0.1554        ?
   int-or-other-min-then-get-by-val                4.4041+-0.1425     ?      4.4553+-0.2073        ? might be 1.0116x slower
   int-or-other-mod-then-get-by-val                3.6257+-0.1564            3.5771+-0.2786          might be 1.0136x faster
   int-or-other-mul-then-get-by-val                3.8326+-0.2408            3.6492+-0.0768          might be 1.0503x faster
   int-or-other-neg-then-get-by-val                4.7994+-0.5991            4.4885+-0.0663          might be 1.0693x faster
   int-or-other-neg-zero-then-get-by-val          16.9778+-0.6301           16.6105+-1.6016          might be 1.0221x faster
   int-or-other-sub-then-get-by-val                4.2573+-0.2908            4.2233+-0.1548        
   int-or-other-sub                                3.5775+-0.0860     ?      3.6322+-0.3649        ? might be 1.0153x slower
   int-overflow-local                              4.7077+-1.0463            4.4408+-0.0953          might be 1.0601x faster
   Int16Array-alloc-long-lived                    44.5302+-3.3993     ?     44.7206+-2.3612        ?
   Int16Array-bubble-sort-with-byteLength         18.5587+-1.8242           18.0222+-0.2750          might be 1.0298x faster
   Int16Array-bubble-sort                         18.9767+-2.0462           17.8263+-2.1250          might be 1.0645x faster
   Int16Array-load-int-mul                         1.4820+-0.1129            1.4150+-0.0783          might be 1.0474x faster
   Int16Array-to-Int32Array-set                   44.3485+-1.9003     ?     44.9427+-4.8982        ? might be 1.0134x slower
   Int32Array-alloc-large                         12.9500+-0.6991           12.5182+-0.9352          might be 1.0345x faster
   Int32Array-alloc-long-lived                    49.7863+-0.9489           49.2485+-1.7503          might be 1.0109x faster
   Int32Array-alloc                                2.8920+-0.3921     ?      2.9500+-0.3572        ? might be 1.0200x slower
   Int32Array-Int8Array-view-alloc                 8.2004+-3.4198            6.3915+-0.1433          might be 1.2830x faster
   int52-spill                                     4.8298+-0.1963     ?      4.9570+-0.4618        ? might be 1.0263x slower
   Int8Array-alloc-long-lived                     40.1569+-1.6097     ?     40.7699+-1.3156        ? might be 1.0153x slower
   Int8Array-load-with-byteLength                  3.6716+-0.3580            3.4307+-0.0673          might be 1.0702x faster
   Int8Array-load                                  3.4611+-0.1206     ?      3.5025+-0.2409        ? might be 1.0120x slower
   integer-divide                                 10.6733+-0.3664     ?     10.7542+-0.4081        ?
   integer-modulo                                  2.0058+-0.7303            1.6716+-0.0790          might be 1.1999x faster
   is-boolean-fold-tricky                          3.8279+-0.2078     ?      3.8739+-0.1957        ? might be 1.0120x slower
   is-boolean-fold                                 2.6793+-0.1063            2.6536+-0.1509        
   is-function-fold-tricky-internal-function
                                                  10.3981+-0.5257           10.3312+-0.5572        
   is-function-fold-tricky                         4.1440+-0.1924     ?      4.2820+-0.1892        ? might be 1.0333x slower
   is-function-fold                                2.6211+-0.0407     ?      2.6736+-0.0398        ? might be 1.0200x slower
   is-number-fold-tricky                           4.2407+-0.4154            4.1354+-0.1595          might be 1.0254x faster
   is-number-fold                                  2.6655+-0.2307            2.6432+-0.1013        
   is-object-or-null-fold-functions                2.6884+-0.1019     ?      2.8498+-0.2217        ? might be 1.0600x slower
   is-object-or-null-fold-less-tricky              4.1292+-0.1328     ?      4.2854+-0.3619        ? might be 1.0378x slower
   is-object-or-null-fold-tricky                   5.4415+-0.3129            5.3812+-0.0894          might be 1.0112x faster
   is-object-or-null-fold                          2.7052+-0.1331            2.7013+-0.0925        
   is-object-or-null-trickier-function             4.3558+-0.3102            4.2540+-0.2605          might be 1.0239x faster
   is-object-or-null-trickier-internal-function
                                                  10.7153+-0.9347           10.5086+-0.3609          might be 1.0197x faster
   is-object-or-null-tricky-function               4.2238+-0.1246     ?      4.2801+-0.1680        ? might be 1.0133x slower
   is-object-or-null-tricky-internal-function
                                                   8.1285+-0.3583            8.0419+-0.1387          might be 1.0108x faster
   is-string-fold-tricky                           4.0963+-0.2006     ?      4.3694+-0.5282        ? might be 1.0667x slower
   is-string-fold                                  2.7130+-0.1617            2.6921+-0.0262        
   is-undefined-fold-tricky                        3.4313+-0.0755            3.4233+-0.2281        
   is-undefined-fold                               2.6454+-0.0329     ?      2.6777+-0.1813        ? might be 1.0122x slower
   large-int-captured                              3.9720+-0.3047            3.9533+-0.1016        
   large-int-neg                                  15.2706+-1.8371           14.4087+-0.3065          might be 1.0598x faster
   large-int                                      13.9264+-0.7862     ?     14.3340+-2.1825        ? might be 1.0293x slower
   load-varargs-elimination                       21.8359+-1.3418           21.3945+-0.5544          might be 1.0206x faster
   logical-not-weird-types                         2.8861+-0.1026     ?      3.0122+-0.3604        ? might be 1.0437x slower
   logical-not                                     4.4796+-0.7372            4.2460+-0.0199          might be 1.0550x faster
   lots-of-fields                                  9.9062+-0.3506     ?      9.9560+-0.3968        ?
   make-indexed-storage                            2.9269+-0.0762            2.9003+-0.4374        
   make-rope-cse                                   3.6819+-0.1968     ?      3.8490+-0.4573        ? might be 1.0454x slower
   marsaglia-larger-ints                          34.8482+-3.2381     ?     34.8734+-3.1151        ?
   marsaglia-osr-entry                            21.6148+-0.9295     ?     22.1832+-1.2467        ? might be 1.0263x slower
   math-with-out-of-bounds-array-values           22.4140+-1.2006           22.0548+-0.5217          might be 1.0163x faster
   max-boolean                                     2.5137+-0.1057     ?      2.6228+-0.3227        ? might be 1.0434x slower
   method-on-number                               17.2457+-0.8290     ?     18.1115+-2.9851        ? might be 1.0502x slower
   min-boolean                                     2.5479+-0.1581            2.5263+-0.2220        
   minus-boolean-double                            3.2271+-0.1640            3.1996+-0.1614        
   minus-boolean                                   2.3969+-0.0656            2.3367+-0.0684          might be 1.0258x faster
   misc-strict-eq                                 32.8052+-2.1427           31.1614+-0.3227          might be 1.0528x faster
   mod-boolean-double                             11.3974+-0.1875     ?     11.6387+-0.7189        ? might be 1.0212x slower
   mod-boolean                                     8.4874+-0.0816     ?      8.6828+-0.3319        ? might be 1.0230x slower
   mul-boolean-double                              3.6505+-0.1702     ?      3.7208+-0.1088        ? might be 1.0193x slower
   mul-boolean                                     2.8328+-0.1270     ?      2.8975+-0.3507        ? might be 1.0228x slower
   neg-boolean                                     3.1585+-0.1280     ?      3.2640+-0.1741        ? might be 1.0334x slower
   negative-zero-divide                            0.3287+-0.0164     ?      0.3547+-0.0864        ? might be 1.0791x slower
   negative-zero-modulo                            0.3182+-0.0134     ?      0.3309+-0.0269        ? might be 1.0399x slower
   negative-zero-negate                            0.3102+-0.0379            0.3035+-0.0174          might be 1.0221x faster
   nested-function-parsing                        46.4080+-3.4018           44.2745+-2.4858          might be 1.0482x faster
   new-array-buffer-dead                          89.6866+-0.8756           89.3870+-1.6577        
   new-array-buffer-push                           6.2768+-0.7759            6.1184+-0.2556          might be 1.0259x faster
   new-array-dead                                 14.4509+-1.4001     ?     14.5654+-0.8007        ?
   new-array-push                                  3.4128+-0.2421            3.3700+-0.0521          might be 1.0127x faster
   no-inline-constructor                          32.1044+-0.5807     ?     33.0631+-2.3078        ? might be 1.0299x slower
   number-test                                     2.8760+-0.1380     ?      2.9492+-0.1060        ? might be 1.0254x slower
   object-closure-call                             4.9543+-0.1534     ?      5.2960+-1.3617        ? might be 1.0690x slower
   object-get-own-property-symbols-on-large-array
                                                   4.1317+-0.5096     ?      4.1585+-0.1661        ?
   object-test                                     2.6196+-0.0648     ?      2.6679+-0.0752        ? might be 1.0185x slower
   obvious-sink-pathology-taken                  103.1733+-3.8014     ?    103.4700+-1.7383        ?
   obvious-sink-pathology                        104.3093+-8.5838          103.8588+-9.3344        
   obviously-elidable-new-object                  29.1117+-1.2743     ?     29.1796+-1.4677        ?
   plus-boolean-arith                              2.3987+-0.1172     ?      2.4657+-0.1767        ? might be 1.0279x slower
   plus-boolean-double                             3.3045+-0.1358     ?      3.3416+-0.5225        ? might be 1.0112x slower
   plus-boolean                                    2.6475+-0.2461     ?      2.6843+-0.2347        ? might be 1.0139x slower
   poly-chain-access-different-prototypes-simple
                                                   2.7720+-0.1080     ?      2.8267+-0.0735        ? might be 1.0197x slower
   poly-chain-access-different-prototypes          2.7710+-0.4947            2.5530+-0.0984          might be 1.0854x faster
   poly-chain-access-simpler                       2.7371+-0.0885     ?      2.9156+-0.3541        ? might be 1.0652x slower
   poly-chain-access                               2.5523+-0.1484     ?      2.6079+-0.2359        ? might be 1.0218x slower
   poly-stricteq                                  52.2130+-4.3982     ?     54.1613+-10.6502       ? might be 1.0373x slower
   polymorphic-array-call                          1.2036+-0.0822     ?      1.3094+-0.2768        ? might be 1.0880x slower
   polymorphic-get-by-id                           2.9883+-0.1137            2.8735+-0.0797          might be 1.0399x faster
   polymorphic-put-by-id                          25.9598+-1.8125           25.1890+-1.3576          might be 1.0306x faster
   polymorphic-structure                          14.0809+-1.6427           13.4601+-0.6257          might be 1.0461x faster
   polyvariant-monomorphic-get-by-id               6.8522+-1.1801            6.5302+-0.5838          might be 1.0493x faster
   proto-getter-access                             8.4285+-0.2774     ?      8.5443+-0.7459        ? might be 1.0137x slower
   put-by-id-replace-and-transition                7.2720+-0.4375     ?      7.4904+-0.7936        ? might be 1.0300x slower
   put-by-id-slightly-polymorphic                  2.7363+-0.3266            2.6923+-0.1558          might be 1.0164x faster
   put-by-id                                      10.6841+-3.3169            9.6100+-0.3032          might be 1.1118x faster
   put-by-val-direct                               0.3383+-0.0323     ?      0.3690+-0.0685        ? might be 1.0907x slower
   put-by-val-large-index-blank-indexing-type
                                                   6.1031+-2.1249            5.3026+-0.3791          might be 1.1510x faster
   put-by-val-machine-int                          2.4394+-0.1935     ?      2.4462+-0.2165        ?
   rare-osr-exit-on-local                         15.4474+-1.1781           14.8763+-0.5938          might be 1.0384x faster
   register-pressure-from-osr                     16.7865+-0.7658     ?     16.8303+-0.4209        ?
   repeat-multi-get-by-offset                     21.1649+-0.7911     ?     21.3752+-0.6963        ?
   setter-prototype                                7.7183+-0.2293     ?      7.9295+-0.4726        ? might be 1.0274x slower
   setter                                          6.3179+-1.5786            5.5377+-0.6135          might be 1.1409x faster
   simple-activation-demo                         25.3773+-1.9220           25.1866+-0.7148        
   simple-getter-access                           10.5391+-0.2011     ?     10.6686+-0.7314        ? might be 1.0123x slower
   simple-poly-call-nested                         8.8823+-0.4219            8.5233+-0.4236          might be 1.0421x faster
   simple-poly-call                                1.3250+-0.2859            1.2087+-0.0508          might be 1.0962x faster
   sin-boolean                                    18.8954+-1.8014           18.6107+-0.3210          might be 1.0153x faster
   singleton-scope                                59.1802+-4.9476           57.6442+-3.1429          might be 1.0266x faster
   sink-function                                   9.7467+-0.5806            9.7081+-1.2078        
   sink-huge-activation                           16.6836+-0.9505     ?     16.7906+-0.7171        ?
   sinkable-new-object-dag                        59.7346+-4.0354           59.3590+-3.5277        
   sinkable-new-object-taken                      43.6026+-0.8159     ?     44.0547+-3.5970        ? might be 1.0104x slower
   sinkable-new-object                            31.6796+-4.0045           30.7733+-1.5199          might be 1.0294x faster
   slow-array-profile-convergence                  2.9084+-0.8449            2.8055+-0.8068          might be 1.0367x faster
   slow-convergence                                3.0106+-1.4340            2.4158+-0.0785          might be 1.2462x faster
   slow-ternaries                                 17.9096+-0.6572           17.2332+-0.9474          might be 1.0392x faster
   sorting-benchmark                              17.4337+-0.3305     ?     18.4734+-1.1370        ? might be 1.0596x slower
   sparse-conditional                              1.2006+-0.1581            1.1190+-0.0450          might be 1.0729x faster
   splice-to-remove                               12.7059+-0.4697     !    685.1591+-55.3648       ! definitely 53.9243x slower
   string-char-code-at                            15.3640+-1.6734           14.9540+-0.7814          might be 1.0274x faster
   string-concat-object                            2.3553+-0.1763     ?      2.3669+-0.5629        ?
   string-concat-pair-object                       2.0627+-0.1174     ?      2.1738+-0.3012        ? might be 1.0539x slower
   string-concat-pair-simple                       9.1757+-0.2829     ?      9.5005+-1.2872        ? might be 1.0354x slower
   string-concat-simple                            9.8515+-1.0258     ?      9.9772+-2.0446        ? might be 1.0128x slower
   string-cons-repeat                              6.5629+-0.3366     ?      6.7534+-0.4072        ? might be 1.0290x slower
   string-cons-tower                               6.7333+-0.4796     ?      6.7455+-0.1557        ?
   string-equality                                15.8303+-1.1285     ?     16.0711+-1.4025        ? might be 1.0152x slower
   string-get-by-val-big-char                      6.9313+-0.3556            6.7636+-0.0333          might be 1.0248x faster
   string-get-by-val-out-of-bounds-insane          3.3517+-0.0792     ?      3.4048+-0.3853        ? might be 1.0158x slower
   string-get-by-val-out-of-bounds                 4.1997+-0.2790     ?      4.3560+-0.3621        ? might be 1.0372x slower
   string-get-by-val                               2.8665+-0.1309     ?      2.8688+-0.1855        ?
   string-hash                                     1.9087+-0.1401     ?      1.9453+-0.3364        ? might be 1.0192x slower
   string-long-ident-equality                     12.9771+-0.6386     ?     13.2325+-0.5687        ? might be 1.0197x slower
   string-out-of-bounds                           10.8791+-0.3573     ?     11.2937+-0.7943        ? might be 1.0381x slower
   string-repeat-arith                            30.1476+-4.6939           28.1298+-0.3661          might be 1.0717x faster
   string-sub                                     57.4010+-1.2999           57.0776+-5.4156        
   string-test                                     2.7925+-0.1320            2.7790+-0.0687        
   string-var-equality                            26.9938+-4.9330     ?     27.8495+-2.8718        ? might be 1.0317x slower
   structure-hoist-over-transitions                2.3967+-0.1535     ?      2.4433+-0.1886        ? might be 1.0194x slower
   substring-concat-weird                         40.7150+-8.7544           37.8016+-1.1507          might be 1.0771x faster
   substring-concat                               42.1586+-3.9728     ?     42.8580+-5.4077        ? might be 1.0166x slower
   substring                                      46.6796+-2.6527     ?     47.9755+-2.4036        ? might be 1.0278x slower
   switch-char-constant                            2.8383+-0.0774            2.7591+-0.0335          might be 1.0287x faster
   switch-char                                     5.8222+-0.7689            5.7257+-1.0171          might be 1.0169x faster
   switch-constant                                 7.6849+-0.2719            7.6767+-1.5120        
   switch-string-basic-big-var                    17.0920+-2.1699           16.0334+-0.5884          might be 1.0660x faster
   switch-string-basic-big                        15.3539+-0.0629           15.1050+-0.3051          might be 1.0165x faster
   switch-string-basic-var                        16.4178+-7.6020           14.1339+-0.5017          might be 1.1616x faster
   switch-string-basic                            13.9711+-1.1515           13.5045+-0.6792          might be 1.0346x faster
   switch-string-big-length-tower-var             18.8572+-0.5996     ^     17.8665+-0.3797        ^ definitely 1.0554x faster
   switch-string-length-tower-var                 14.0861+-1.2279           13.6489+-1.0066          might be 1.0320x faster
   switch-string-length-tower                     12.2870+-0.7391     ?     12.4035+-1.6368        ?
   switch-string-short                            12.3504+-0.5841     ?     12.7238+-1.3480        ? might be 1.0302x slower
   switch                                         11.3576+-0.5509     ?     11.5719+-1.0102        ? might be 1.0189x slower
   tear-off-arguments-simple                       3.0112+-0.2243     ?      3.1932+-0.2906        ? might be 1.0604x slower
   tear-off-arguments                              4.1306+-0.2983            3.9926+-0.1249          might be 1.0346x faster
   temporal-structure                             13.3612+-0.4320     ?     13.4767+-0.9136        ?
   to-int32-boolean                               13.7648+-0.9958           13.6888+-0.2772        
   try-catch-get-by-val-cloned-arguments          14.4779+-0.5103     ?     14.6125+-1.5183        ?
   try-catch-get-by-val-direct-arguments           6.4882+-0.1747     ?      6.6946+-0.4166        ? might be 1.0318x slower
   try-catch-get-by-val-scoped-arguments           8.0375+-0.3566            7.8724+-0.4757          might be 1.0210x faster
   typed-array-get-set-by-val-profiling           28.0098+-2.4363     ?     29.0980+-3.2147        ? might be 1.0388x slower
   undefined-property-access                     248.3815+-18.1730    ?    254.8881+-27.0313       ? might be 1.0262x slower
   undefined-test                                  2.9736+-0.2248            2.9647+-0.1789        
   unprofiled-licm                                14.2568+-0.6570     ?     14.5725+-1.2445        ? might be 1.0221x slower
   varargs-call                                   14.7407+-1.1202           13.9066+-0.4802          might be 1.0600x faster
   varargs-construct-inline                       23.8011+-5.1265           22.9222+-1.0210          might be 1.0383x faster
   varargs-construct                              20.6894+-1.1134     ?     21.0269+-1.0762        ? might be 1.0163x slower
   varargs-inline                                  8.5138+-0.1704     ?      8.5682+-0.4617        ?
   varargs-strict-mode                             9.4662+-0.2221     ?     11.5987+-5.1956        ? might be 1.2253x slower
   varargs                                         9.5871+-0.7661     ?      9.6200+-0.4402        ?
   weird-inlining-const-prop                       1.9807+-0.1717     ?      2.0727+-0.3143        ? might be 1.0465x slower

   &lt;geometric&gt;                                     8.0384+-0.0738     ?      8.1468+-0.0352        ? might be 1.0135x slower

                                                       master                   species                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                                29.9400+-0.3419     ?     30.2547+-0.5824        ? might be 1.0105x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112898</commentid>
    <comment_count>29</comment_count>
      <attachid>257693</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-28 15:27:20 -0700</bug_when>
    <thetext>Created attachment 257693
Patch

prototyped one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112903</commentid>
    <comment_count>30</comment_count>
      <attachid>257693</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-28 15:33:28 -0700</bug_when>
    <thetext>Comment on attachment 257693
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=257693&amp;action=review

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:686
&gt; +        return @arraySpliceFast.@apply(this, arguments);

This is the prototyped one. This patch is not correct because we didn&apos;t modify the arraySpliceFast code yet.
Since argument type coercion involves some user observable operations (like ToPrimitive), we cannot check the fast path earlier.

Even the above small size of code, it already incurs large overhead...

   array-splice-contiguous                        22.2392+-1.3699     !     27.7694+-2.4260        ! definitely 1.2487x slower
   splice-to-remove                               12.4391+-0.8469     !     66.2187+-3.1632        ! definitely 5.3234x slower

Especially, @arraySpeciesConstructor operation incurs 30~ms overhead in splice-to-remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112959</commentid>
    <comment_count>31</comment_count>
      <attachid>257693</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-07-28 17:22:57 -0700</bug_when>
    <thetext>Comment on attachment 257693
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=257693&amp;action=review

&gt;&gt; Source/JavaScriptCore/builtins/Array.prototype.js:686
&gt;&gt; +        return @arraySpliceFast.@apply(this, arguments);
&gt; 
&gt; This is the prototyped one. This patch is not correct because we didn&apos;t modify the arraySpliceFast code yet.
&gt; Since argument type coercion involves some user observable operations (like ToPrimitive), we cannot check the fast path earlier.
&gt; 
&gt; Even the above small size of code, it already incurs large overhead...
&gt; 
&gt;    array-splice-contiguous                        22.2392+-1.3699     !     27.7694+-2.4260        ! definitely 1.2487x slower
&gt;    splice-to-remove                               12.4391+-0.8469     !     66.2187+-3.1632        ! definitely 5.3234x slower
&gt; 
&gt; Especially, @arraySpeciesConstructor operation incurs 30~ms overhead in splice-to-remove.

To make this a fair performance comparison, we need the JS fast path to call something lower level than arraySpliceFast and arraySpeciesConstructor. Calling those functions adds pure overhead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113405</commentid>
    <comment_count>32</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-30 10:44:20 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; 
&gt; To make this a fair performance comparison, we need the JS fast path to call
&gt; something lower level than arraySpliceFast and arraySpeciesConstructor.
&gt; Calling those functions adds pure overhead.

OK, based on your suggestion, I&apos;m now planning to implement it like the following. What do you think of?

function splice(...)
{
    &quot;use strict&quot;;
    var result = @arraySpliceFast.@apply(this, arguments);
    if (result)
      return result;
    ... do generic path.
}

And in @arraySpliceFast, we&apos;ll check the array fast case with *non user-observable form*.
I&apos;ll prototype it and measure the overhead. If the overhead is so large, I&apos;ll introduce some intrinsics to improve the performance. (I think some sort of intrinsic calling C++ function directly from the byte code is nice, like @callRuntime(&quot;functionName&quot;, ...)).


To explain the motivation of the above proposal, I show the current patch&apos;s implementation.
In the current patch&apos;s splice code is like the following,

function splice(...)
{
    1. arguments value validation. Since it may involve ToPrimitive (it leads toString call), this validation sequence is user observable.
    2. use @arraySpeciesConstructor to check the constructor. Currently, it is implemented in JS because it includes user-observable property look up and possible getter calling.
    3. If the extracted constructor is Array, we use @arraySpliceFast, array fast path implemented in C++
    4. Use generic path for non Array case.
}

And in the given splice-to-remove test,

(1) takes 10~ms overhead
(2) takes 30~ms overhead
(3) takes 10~ms overhead

Since splice-to-remove does not use (4) for the Array, the accumulated time becomes 60~ms or so (other operations like push are involved in the test).

We cannot decide whether we should use the array fast path until (2) because (1) and (2) are user observable.
As the result, even if (2), (3), (4) is implemented as fast as the original C++ code, we still observe some overhead caused by (1).

To eliminate this overhead, I&apos;ll perform some non user-observable array fast path check in C++ side at first; Only look up the property slot (don&apos;t call getter/setter), check the variable with non-observable way. This is the proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113492</commentid>
    <comment_count>33</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-07-30 14:22:16 -0700</bug_when>
    <thetext>&gt; &gt; To make this a fair performance comparison, we need the JS fast path to call
&gt; &gt; something lower level than arraySpliceFast and arraySpeciesConstructor.
&gt; &gt; Calling those functions adds pure overhead.
&gt; 
&gt; OK, based on your suggestion, I&apos;m now planning to implement it like the
&gt; following. What do you think of?
&gt; 
&gt; function splice(...)
&gt; {
&gt;     &quot;use strict&quot;;
&gt;     var result = @arraySpliceFast.@apply(this, arguments);
&gt;     if (result)
&gt;       return result;
&gt;     ... do generic path.
&gt; }

Long-term, what I have in mind is that we should migrate all the C++ splice code into JS. 

I expect that we will need a fastSlice intrinsic because there&apos;s no way for JavaScript to match the performance of SIMD memmove.

Short-term, I think we should test a JS splice implementation that assumes valid input and just calls fastSlice. We should verify that this is as fast as -- or faster than -- the existing C++ implementation. Once we have a viable fast implementation, we should merge more features into it until we have a complete implementation.

I don&apos;t think the call to fastSlice should use @apply. @apply is slower than a direct call. I think we should arrange for the calling convention of the intrinsic to allow for a direct call.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256300</attachid>
            <date>2015-07-07 07:45:42 -0700</date>
            <delta_ts>2015-07-07 08:18:29 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-146624-20150707234443.patch</filename>
            <type>text/plain</type>
            <size>63270</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NTc0MzRjY2YxZmUyNTQ1NTQ3NzczOThkNTMzNjVkMjUwOTZjZDYyLi5iNjJhYjk0MmM5MThkMjUz
MTE3ZGJlZjFhOTMzNTk0NWI3NmMwOTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NCBAQAorMjAxNS0wNy0wNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBTdXBwb3J0IEBAc3BlY2llcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBidWlsdGlucy9BcnJheS5wcm90b3R5
cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToKKyAgICAgICAgKiBidWls
dGlucy9BcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9s
U3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qczoKKyAgICAg
ICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2JhbE9iamVjdC5qczoK
KyAgICAgICAgKHNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYnVpbHRpbnMvSXRlcmF0
b3IucHJvdG90eXBlLmpzOgorICAgICAgICAoc3ltYm9sSXRlcmF0b3IpOgorICAgICAgICAoU3lt
Ym9sSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJ1aWx0aW5zL01hcENvbnN0cnVjdG9y
LmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3Iu
cHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogYnVpbHRp
bnMvT3BlcmF0aW9ucy5BcnJheS5qczogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcy4KKyAgICAgICAgKGFycmF5U3BlY2llc0NyZWF0ZSk6
CisgICAgICAgICogYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanM6CisgICAgICAgICogYnVp
bHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAocmFjZSk6CisgICAgICAgIChz
eW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9SZWdFeHBDb25zdHJ1Y3Rvci5qczog
Q29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3Rv
dHlwZS5qcy4KKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL1Nl
dENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAg
ICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6QXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheVNw
ZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU2xpY2UpOgor
ICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY1NwbGljZSk6CisgICAgICAgICogcnVudGltZS9C
b29sZWFuQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6Qm9vbGVhbkNvbnN0cnVjdG9yOjpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAg
KiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpEYXRlQ29uc3RydWN0
b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAg
ICAgIChKU0M6OkVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9K
U0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVy
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlckNv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAg
ICAgIChKU0M6OmlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6Cisg
ICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjphcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAg
KiBydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9t
aXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL01hcENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6
Ok1hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlJlZ0V4
cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToK
KyAgICAgICAgKiBydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1NldENvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlNldENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U3RyaW5nQ29u
c3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAoSlNDOjpTeW1ib2xDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBy
dW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFrTWFwQ29uc3Ry
dWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaDoK
KyAgICAgICAgKEpTQzo6V2Vha1NldENvbnN0cnVjdG9yOjpjcmVhdGUpOgorCiAyMDE1LTA3LTA2
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFycmF5LmNvbmNh
dCBzaG91bGQgYmUgZmFzdCBmb3IgaW50ZWdlciBvciBkb3VibGUgYXJyYXlzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwppbmRleCBhZjQ2
ZGQ4ZmVmZmU1MzRiY2Q0MDUzNGYzNGY3YmYyNWZhNWJlNDQzLi4xMjA5ZDU3NjYxMWQ4ZGNlZTI3
ODUwN2M2MGUyODdlZDY5MGQ4ZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlvbiBm
aWx0ZXIoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBl
RXJyb3IoIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9u
Iik7CiAgICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3Vt
ZW50c1sxXSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3Vs
dCA9IEBhcnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIDApOwogICAgIHZhciBuZXh0SW5kZXggPSAw
OwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgaWYgKCEo
aSBpbiBhcnJheSkpCkBAIC0xOTAsNyArMTkwLDcgQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8q
LCB0aGlzQXJnICovKSB7CiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90
b3R5cGUubWFwIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpOwogICAgIAogICAgIHZhciB0
aGlzQXJnID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7
Ci0gICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHZhciByZXN1bHQgPSBAYXJyYXlTcGVjaWVzQ3Jl
YXRlKGFycmF5LCBsZW5ndGgpOwogICAgIHJlc3VsdC5sZW5ndGggPSBsZW5ndGg7CiAgICAgdmFy
IG5leHRJbmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5QnVmZmVyQ29u
c3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlCdWZmZXJD
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFm
ZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0FycmF5QnVmZmVyQ29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+Lgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBzeW1i
b2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVj
dG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKaW5kZXggNWE1NTFmNzM5OGY3OGYwYzI5YjBmNDNkOWVmY2MzN2VhYTIyZTMyNS4uMzRkZjYy
NDAyNGJiZGFjOWFiMjc4MDU2YWRhZmMxNmE5MjYzNjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMKQEAgLTEwNywzICsxMDcs
MTAgQEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRoaXNBcmcgKi8pIHsKICAgICBy
ZXN1bHQubGVuZ3RoID0gYXJyYXlMaWtlTGVuZ3RoOwogICAgIHJldHVybiByZXN1bHQ7CiB9CisK
K2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJl
dHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0dsb2JhbE9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxP
YmplY3QuanMKaW5kZXggNmFkYWRlZmJkOWE5NzAxNzc5MzY2MGFmZGIyM2E3NTUyYTIwN2FmOS4u
NDUxOGIyM2Q2YTU4ZWNmMzYyODUxMGU2NTlmZDZiNTRkZDRlZGY3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCkBAIC01NSwzICs1NSwyMiBA
QCBmdW5jdGlvbiBpc09iamVjdChvYmplY3QpCiAKICAgICByZXR1cm4gKG9iamVjdCAhPT0gbnVs
bCAmJiB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IikgfHwgdHlwZW9mIG9iamVjdCA9PT0gImZ1
bmN0aW9uIjsKIH0KKworZnVuY3Rpb24gc3BlY2llc0NvbnN0cnVjdG9yKG9iamVjdCwgZGVmYXVs
dENvbnN0cnVjdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHZhciBjb25zdHJ1Y3Rv
ciA9IG9iamVjdC5jb25zdHJ1Y3RvcjsKKyAgICBpZiAoY29uc3RydWN0b3IgPT09IHVuZGVmaW5l
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIm9iamVjdCBkb2VzIG5vdCBoYXZlIFwi
Y29uc3RydWN0b3JcIiBwcm9wZXJ0eSIpOworCisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3Rv
cltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVj
aWVzICE9PSBudWxsKQorICAgICAgICByZXR1cm4gZGVmYXVsdENvbnN0cnVjdG9yOworCisgICAg
Ly8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKHNwZWNpZXMpLgorICAgIGlmICh0eXBlb2Ygc3Bl
Y2llcyAhPT0gJ2Z1bmN0aW9uJykKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImNvbnN0
cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3RvciIpOworCisgICAgcmV0dXJuIHNw
ZWNpZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRl
cmF0b3IucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJh
dG9yLnByb3RvdHlwZS5qcwppbmRleCBkYzcyYTY0MDhiNDM2NzBhOTM2MTlmYzYxZjJiZWMzMjc1
ZTM5NWQ1Li4xZTliOThjODQzZDg2NzU1YzQ3NjMzNzY1NzlmNDk4YTkyMDAyZGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpz
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotZnVuY3Rpb24gU3lt
Ym9sSXRlcmF0b3IoKQorZnVuY3Rpb24gc3ltYm9sSXRlcmF0b3IoKQogewogICAgICd1c2Ugc3Ry
aWN0JzsKICAgICByZXR1cm4gdGhpczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJm
OWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL01hcENvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gc3lt
Ym9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5B
cnJheS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmE3MGRjMmVlNDg1NWQzY2JiOGNjZTBmNDQ0YjdjNTgyZjUyYTg5NzgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0
aW9ucy5BcnJheS5qcwpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIGFycmF5U3BlY2llc0NyZWF0ZShv
cmlnaW5hbEFycmF5LCBsZW5ndGgpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgaWYgKCFA
aXNBcnJheShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAgcmV0dXJuIG5ldyBAQXJyYXkobGVuZ3Ro
KTsKKworICAgIHZhciBjb25zdHJ1Y3RvciA9IG9yaWdpbmFsQXJyYXkuY29uc3RydWN0b3I7CisK
KyAgICAvLyBFYXJseSBjaGVjayBmb3IgdGhlIGNvbW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1
Y3RvciAhPT0gQEFycmF5KSB7CisgICAgICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikuCisgICAgICAgIGlmICh0eXBlb2YgY29uc3RydWN0b3IgPT09ICJmdW5jdGlv
biIpIHsKKyAgICAgICAgICAgIGlmIChAaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFs
bShjb25zdHJ1Y3RvcikpCisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBAQXJyYXkobGVuZ3Ro
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChAaXNPYmplY3QoY29uc3RydWN0b3IpKSB7
CisgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAg
ICAgICBpZiAoY29uc3RydWN0b3IgPT09IG51bGwpCisgICAgICAgICAgICBjb25zdHJ1Y3RvciA9
IHVuZGVmaW5lZDsKKyAgICB9CisKKyAgICBpZiAoY29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCkK
KyAgICAgICAgcmV0dXJuIG5ldyBAQXJyYXkobGVuZ3RoKTsKKworICAgIC8vIEZJWE1FOiBVc2Ug
aXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikuCisgICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3RvciAh
PT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImdpdmVuIGNvbnN0
cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworICAgIHJldHVybiBuZXcg
Y29uc3RydWN0b3IobGVuZ3RoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcwppbmRleCA4NTYzZGYwZDkyN2ZiMjMzOTY4OTM5
ZTE0OTQyMzk2ZWM4NWU2NWFhLi5jZjZhMjBmZDgzMjViODNjMWI5MDc1YjU5MTJjNDM1OTA0MDE2
M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZS5w
cm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2Uu
cHJvdG90eXBlLmpzCkBAIC0zNyw5ICszNyw3IEBAIGZ1bmN0aW9uIHRoZW4ob25GdWxmaWxsZWQs
IG9uUmVqZWN0ZWQpCiAgICAgaWYgKCFAaXNQcm9taXNlKHRoaXMpKQogICAgICAgICB0aHJvdyBu
ZXcgQFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6
IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVk
LgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQK
LSAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yOworICAgIHZhciBjb25zdHJ1
Y3RvciA9IEBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgQFByb21pc2UpOwogCiAgICAgdmFyIHJl
c3VsdENhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVj
dG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rv
ci5qcwppbmRleCAxZjgzYjQ3Zjc5MGE3NWU1YmY4YzkzZDVlNjY0OTYxOGNiMWFlYzY3Li4zZjk4
ZWJmMzNhZTI5Nzg4MzZjZjE3MjEyODY1ODVjYTE3ZTBmYjEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKQEAgLTMwLDkg
KzMwLDEwIEBAIGZ1bmN0aW9uIGFsbChpdGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0aGlz
KSkKICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIp
OwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93
biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDY2MjQKICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZhciBz
cGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzICE9
PSB1bmRlZmluZWQgJiYgc3BlY2llcyAhPT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3IgPSBz
cGVjaWVzOwogCiAgICAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmls
aXR5KGNvbnN0cnVjdG9yKTsKIApAQCAtODYsOSArODcsMTAgQEAgZnVuY3Rpb24gcmFjZShpdGVy
YWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5cGVF
cnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlz
IGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2YXIg
Y29uc3RydWN0b3IgPSB0aGlzOworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJv
bFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAhPT0g
bnVsbCkKKyAgICAgICAgY29uc3RydWN0b3IgPSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21pc2VD
YXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAtMTM3
LDMgKzEzOSwxMCBAQCBmdW5jdGlvbiByZXNvbHZlKHZhbHVlKQogCiAgICAgcmV0dXJuIHByb21p
c2VDYXBhYmlsaXR5LkBwcm9taXNlOwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sK
KyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9SZWdFeHBDb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9SZWdFeHBDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZ0V4cENvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVr
aSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJp
Y3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRkNjhhNTUzNjE1
YjgyZjljMGI0YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9u
IHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlz
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVj
dG9yLmNwcAppbmRleCAxOTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4ODAwODM2Li4x
NjZiODk3NzNmMDgzOTkyNWU2ODMyNzQzZGU3ZDg1Yjk4MGE5MjY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAtMjksMTcg
KzI5LDEyIEBACiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJy
b3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0
dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJMb29rdXAuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5hbWVzcGFjZSBK
U0MgewotCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVj
dG9ySXNBcnJheShFeGVjU3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlDb25zdHJ1Y3Rv
ci5sdXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAKIHsKIH0KIAot
dm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFycmF5UHJvdG90
eXBlKiBhcnJheVByb3RvdHlwZSkKK3ZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJheVByb3RvdHlwZSog
YXJyYXlQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5UHJv
dG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhcnJheVByb3RvdHlwZSwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFk
T25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVz
QWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBz
cGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpj
cmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGFycmF5Q29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29k
ZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOwor
ICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNp
ZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIGJv
b2wgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
ICZzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1
Y3Rvci5oCmluZGV4IDA0MGYyNmM0Yzk5MDVhNDU3Njk0YzA1Yzg1NDQ3MDYwN2JiNDg0YTcuLjFk
MjkzZGFmOTc4NjNiZGE3NjQ0OTQ1NDZhYTBkYjhkMDg2MTgyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTM0LDEwICszNCwx
MCBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
ICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVy
bmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCi0gICAgc3RhdGljIEFycmF5Q29uc3RydWN0
b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSog
YXJyYXlQcm90b3R5cGUpCisgICAgc3RhdGljIEFycmF5Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBB
cnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUpCiAgICAgewogICAgICAgICBBcnJheUNvbnN0
cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEFycmF5Q29u
c3RydWN0b3I+KHZtLmhlYXApKSBBcnJheUNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAg
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5UHJvdG90eXBlKTsKKyAg
ICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIGFycmF5
UHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNDks
NyArNDksNyBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rp
b24gewogICAgIH0KIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBB
cnJheVByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCosIEFycmF5UHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgQXJyYXlDb25zdHJ1Y3Rv
cihWTSYsIFN0cnVjdHVyZSopOwpAQCAtNjAsNiArNjAsNyBAQCBjbGFzcyBBcnJheUNvbnN0cnVj
dG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogfTsKIAogSlNPYmplY3QqIGNvbnN0cnVj
dEFycmF5V2l0aFNpemVRdWlyayhFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwg
SlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlDb25zdHJ1Y3RvcklzQXJyYXkoRXhlY1N0YXRlKik7CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAKaW5kZXggODdjZWFlMWNiZWY1NWNmNzZiZTg1ODFlMTdjMmIzOWM3NTgwM2FkZS4uM2YyODk4
N2RiYjUxZjMzYWY2NjBjMTdiYjI5Y2JjZmM5NWVmM2M1NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFycmF5UHJvdG90eXBlLmgiCiAKKyNpbmNs
dWRlICJBcnJheUNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiQnV0dGVyZmx5SW5saW5lcy5oIgog
I2luY2x1ZGUgIkNhY2hlZENhbGwuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKQEAgLTcyMCw2
ICs3MjEsNDYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1No
aWZ0KEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CiB9CiAKK3N0YXRpYyBKU1ZhbHVlIGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSog
ZXhlYywgSlNPYmplY3QqIG9yaWdpbmFsQXJyYXkpCit7CisgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKworICAgIGlmICghaXNK
U0FycmF5KG9yaWdpbmFsQXJyYXkpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJh
eUNvbnN0cnVjdG9yKCk7CisKKyAgICBKU0FycmF5KiBhcnJheSA9IGpzQ2FzdDxKU0FycmF5Kj4o
b3JpZ2luYWxBcnJheSk7CisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gYXJyYXktPkpT
QXJyYXk6OmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IpOworICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CisKKyAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgQ29uc3RydWN0VHlwZSBj
b25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvclZhbHVlLCBjb25zdHJ1
Y3REYXRhKTsKKyAgICBpZiAoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlTm9uZSkgewor
ICAgICAgICBpZiAoSlNPYmplY3QqIGNvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxKU09iamVj
dCo+KGNvbnN0cnVjdG9yVmFsdWUpKSB7CisgICAgICAgICAgICBpZiAoY29uc3RydWN0b3ItPmds
b2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAmJiBjb25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rv
ci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgIGNvbnN0
cnVjdG9yVmFsdWUgPSBqc0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKS0+Z2V0KGV4
ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKKyAgICAgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cisg
ICAgICAgIGlmIChjb25zdHJ1Y3RvclZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJu
IGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworICAgIH0KKworICAgIGlmIChjb25z
dHJ1Y3RvclZhbHVlLmlzVW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3Qt
PmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIENvbnN0cnVjdERhdGEgc3BlY2llc0RhdGE7Cisg
ICAgQ29uc3RydWN0VHlwZSBzcGVjaWVzVHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0
b3JWYWx1ZSwgc3BlY2llc0RhdGEpOworICAgIGlmIChzcGVjaWVzVHlwZSA9PSBDb25zdHJ1Y3RU
eXBlTm9uZSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJh
bCgiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpKTsKKwor
ICAgIHJldHVybiBjb25zdHJ1Y3RvclZhbHVlOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGFycmF5UHJvdG9GdW5jU2xpY2UoRXhlY1N0YXRlKiBleGVjKQogewogICAgIC8vIGh0
dHA6Ly9kZXZlbG9wZXIubmV0c2NhcGUuY29tL2RvY3MvbWFudWFscy9qcy9jbGllbnQvanNyZWYv
YXJyYXkuaHRtIzExOTM3MTMgb3IgMTUuNC40LjEwCkBAIC03MzAsMTMgKzc3MSw0MSBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jU2xpY2UoRXhlY1N0YXRlKiBl
eGVjKQogCiAgICAgdW5zaWduZWQgYmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFy
dE9yRW5kKGV4ZWMsIDAsIGxlbmd0aCk7CiAgICAgdW5zaWduZWQgZW5kID0gYXJndW1lbnRDbGFt
cGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAxLCBsZW5ndGgsIGxlbmd0aCk7CisgICAgdW5z
aWduZWQgY291bnQgPSBlbmQgLSBiZWdpbjsKIAotICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikp
IHsKLSAgICAgICAgaWYgKEpTQXJyYXkqIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RT
bGljZSgqZXhlYywgYmVnaW4sIGVuZCAtIGJlZ2luKSkKLSAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVj
aWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iaik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisg
ICAgaWYgKEpTVmFsdWU6OnN0cmljdEVxdWFsKGV4ZWMsIGNvbnN0cnVjdG9yLCBleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkpIHsKKyAgICAgICAgaWYgKGlz
SlNBcnJheSh0aGlzT2JqKSkgeworICAgICAgICAgICAgaWYgKEpTQXJyYXkqIHJlc3VsdCA9IGFz
QXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGNvdW50KSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgICAgIH0KKworICAg
ICAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIs
IGNvdW50KTsKKworICAgICAgICB1bnNpZ25lZCBuID0gMDsKKyAgICAgICAgZm9yICh1bnNpZ25l
ZCBrID0gYmVnaW47IGsgPCBlbmQ7IGsrKywgbisrKSB7CisgICAgICAgICAgICBKU1ZhbHVlIHYg
PSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKKyAgICAgICAgICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworICAgICAgICAgICAgaWYgKHYpCisgICAgICAgICAgICAgICAgcmVzdWx0
LT5wdXREaXJlY3RJbmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQt
PnNldExlbmd0aChleGVjLCBuKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1
bHQpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5QXJyYXko
ZXhlYywgbnVsbHB0ciwgZW5kIC0gYmVnaW4pOworICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0
RGF0YTsKKyAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRh
KGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGNv
bnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlwZU5vbmUsICJhcnJheVNwZWNpZXNDb25zdHJ1Y3Rv
ciBhbHdheXMgcmV0dXJucyBhIGNvbnN0cnVjdG9yIGlmIGl0IGRvZXMgbm90IHJhaXNlIGFuIGVy
cm9yLiIpOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVu
ZChqc051bWJlcihjb3VudCkpOworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3QoZXhl
YywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUsIGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIHVuc2lnbmVkIG4gPSAwOwogICAgIGZvciAodW5zaWdu
ZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4rKykgewpAQCAtNzQ2LDcgKzgxNSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTbGljZShFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgICAgIGlmICh2KQogICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRl
eChleGVjLCBuLCB2KTsKICAgICB9Ci0gICAgcmVzdWx0LT5zZXRMZW5ndGgoZXhlYywgbik7Cisg
ICAgcHV0TGVuZ3RoKGV4ZWMsIHJlc3VsdCwganNOdW1iZXIobikpOwogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApAQCAtNzc3LDIyICs4NDYsNTQgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1NwbGljZShFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgICAgICAgICBkZWxldGVDb3VudCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZWxldGVE
b3VibGUpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIHJlc3VsdCA9IG51bGxwdHI7CisgICAgSlNW
YWx1ZSBjb25zdHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKGV4ZWMsIHRoaXNPYmop
OworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBudWxscHRy
OworICAgIGlmIChKU1ZhbHVlOjpzdHJpY3RFcXVhbChleGVjLCBjb25zdHJ1Y3RvciwgZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpKSB7CisgICAgICAgIEpT
QXJyYXkqIHJlc3VsdEFycmF5ID0gbnVsbHB0cjsKIAotICAgIGlmIChpc0pTQXJyYXkodGhpc09i
aikpCi0gICAgICAgIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywg
YmVnaW4sIGRlbGV0ZUNvdW50KTsKKyAgICAgICAgaWYgKGlzSlNBcnJheSh0aGlzT2JqKSkKKyAg
ICAgICAgICAgIHJlc3VsdEFycmF5ID0gYXNBcnJheSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVj
LCBiZWdpbiwgZGVsZXRlQ291bnQpOwogCi0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmVz
dWx0ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRp
b24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgZGVsZXRlQ291bnQpOwotICAgICAgICBpZiAoIXJlc3Vs
dCkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVy
cm9yKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFyZXN1bHRBcnJheSkgeworICAgICAgICAgICAgcmVz
dWx0QXJyYXkgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxs
b2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCBkZWxldGVDb3VudCk7CisgICAgICAgICAgICBp
ZiAoIXJlc3VsdEFycmF5KQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGsg
PSAwOyBrIDwgZGVsZXRlQ291bnQ7ICsraykgewotICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0
UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArIGJlZ2luKTsKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgayA9IDA7IGsgPCBkZWxldGVDb3VudDsgKytrKSB7CisgICAgICAgICAgICAgICAgSlNW
YWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArIGJlZ2luKTsKKyAgICAgICAg
ICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgcmVz
dWx0QXJyYXktPmluaXRpYWxpemVJbmRleCh2bSwgaywgdik7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICAgICAgcmVzdWx0ID0gcmVzdWx0QXJyYXk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBlIGNv
bnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRh
KTsKKyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVj
dFR5cGVOb25lLCAiYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IgYWx3YXlzIHJldHVybnMgYSBjb25z
dHJ1Y3RvciBpZiBpdCBkb2VzIG5vdCByYWlzZSBhbiBlcnJvci4iKTsKKworICAgICAgICBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICBhcmdzLmFwcGVuZChqc051bWJlcihkZWxl
dGVDb3VudCkpOworICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3Is
IGNvbnN0cnVjdFR5cGUsIGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAgICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOworCisgICAgICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCBkZWxldGVDb3Vu
dDsgaysrKSB7CisgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZ2V0UHJvcGVydHkoZXhlYywg
dGhpc09iaiwgayk7CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAg
ICAgICAgIHJlc3VsdC0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsKKyAgICAgICAgICAgIGlm
ICh2YWx1ZSkgeworICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywg
aywgdmFsdWUsIDAsIFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cpOworICAgICAgICAgICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQor
ICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBqc051bWJlcihkZWxldGVDb3VudCkpOwor
ICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KIAogICAgIHVuc2lnbmVkIGFkZGl0
aW9uYWxBcmdzID0gc3RkOjptYXg8aW50PihleGVjLT5hcmd1bWVudENvdW50KCkgLSAyLCAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1
Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9y
LmgKaW5kZXggMTc3ZjY5ZTVjYjQ4MmNhNWNkM2NkNTA2YWQxYTQwMzI3MDM4Nzc3Mi4uOGYxNjAw
NGE2NWFjNzAxN2E4MThiYjA3YTJiYmY2OTNjYTcyNzk1YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKQEAgLTMxLDcgKzMxLDcg
QEAgY2xhc3MgQm9vbGVhbkNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
cHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGlj
IEJvb2xlYW5Db25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUpCisgICAgc3RhdGljIEJvb2xlYW5D
b25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVhblByb3RvdHlwZSkKICAgICB7CiAgICAg
ICAgIEJvb2xlYW5Db25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9j
YXRlQ2VsbDxCb29sZWFuQ29uc3RydWN0b3I+KHZtLmhlYXApKSBCb29sZWFuQ29uc3RydWN0b3Io
dm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwg
Ym9vbGVhblByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaAppbmRleCA0MWI5NGYxYmY0N2JmYzY2ZDg3NjQ1MGMwMTMwMWU1
NTIxZmY5NTZkLi45MjE2MmFiMjczMDMxYWVlYjA0YmJlMWQ2ZmI1ZDk5NGEyMzNmMjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
QEAgLTIzNywxMyArMjM3LDEzIEBACiAgICAgbWFjcm8obWF0Y2gpIFwKICAgICBtYWNybyhyZXBs
YWNlKSBcCiAgICAgbWFjcm8oc2VhcmNoKSBcCi0gICAgbWFjcm8oc3BlY2llcykgXAogICAgIG1h
Y3JvKHNwbGl0KSBcCiAgICAgbWFjcm8odG9QcmltaXRpdmUpIFwKICAgICBtYWNybyh0b1N0cmlu
Z1RhZykKIAogI2RlZmluZSBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxM
X0tOT1dOX1NZTUJPTChtYWNybykgXAogICAgIG1hY3JvKGl0ZXJhdG9yKSBcCisgICAgbWFjcm8o
c3BlY2llcykgXAogICAgIG1hY3JvKHVuc2NvcGFibGVzKQogCiAjZGVmaW5lIEpTQ19DT01NT05f
QllURUNPREVfSU5UUklOU0lDU19FQUNIX05BTUUobWFjcm8pIFwKQEAgLTI1Miw3ICsyNTIsNiBA
QAogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZ
X05BTUUobWFjcm8pIFwKICAgICBKU0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJQ1NfRUFDSF9O
QU1FKG1hY3JvKSBcCi0gICAgbWFjcm8oc3ltYm9sSXRlcmF0b3IpIFwKICAgICBtYWNybyhpdGVy
YXRlZE9iamVjdCkgXAogICAgIG1hY3JvKGFycmF5SXRlcmF0b3JOZXh0SW5kZXgpIFwKICAgICBt
YWNybyhhcnJheUl0ZXJhdGlvbktpbmQpIFwKQEAgLTI4MCw2ICsyNzksNyBAQAogICAgIG1hY3Jv
KGFicykgXAogICAgIG1hY3JvKGZsb29yKSBcCiAgICAgbWFjcm8oaXNGaW5pdGUpIFwKKyAgICBt
YWNybyhpc0FycmF5KSBcCiAgICAgbWFjcm8oZ2V0UHJvdG90eXBlT2YpIFwKICAgICBtYWNybyhn
ZXRPd25Qcm9wZXJ0eU5hbWVzKSBcCiAgICAgbWFjcm8oVHlwZUVycm9yKSBcCkBAIC0yOTcsNiAr
Mjk3LDcgQEAKICAgICBtYWNybyhwcm9taXNlUmVqZWN0UmVhY3Rpb25zKSBcCiAgICAgbWFjcm8o
cHJvbWlzZVJlc3VsdCkgXAogICAgIG1hY3JvKGNhcGFiaWxpdGllcykgXAorICAgIG1hY3JvKGlz
QXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pIFwKIAogCiBuYW1lc3BhY2UgSlNDIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5k
ZXggMDU0ZjU3MWQ1NzllOGNlNGYzNGI1NDA5MTdiOGQwMjhiNTBkZmI5Yi4uNzU5NmZhZDk2MWVh
MjhlOGZlNjI5ZjQ1MjQ3ZjU2OTAzOGQzMTA0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgRGF0
ZUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50
ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
OwogCi0gICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIERhdGVQcm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCisgICAgc3RhdGljIERh
dGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKICAgICB7CiAgICAgICAg
IERhdGVDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxEYXRlQ29uc3RydWN0b3I+KHZtLmhlYXApKSBEYXRlQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVy
ZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZGF0ZVByb3RvdHlw
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9y
LmgKaW5kZXggYjExODk0ZGJlNGI1NjE0ZmQyMzBiNjBmNmFlM2JjOGJiMzVkMjkyZS4uYmZlZDdj
ODczNTExY2I1YzliY2E5MWYyYmEyMzM2ZjcyYjEyN2FhZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBj
bGFzcyBFcnJvckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGlj
OgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIEVycm9y
Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclBy
b3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCisgICAgc3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9y
UHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEVycm9yQ29uc3RydWN0
b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJyb3JDb25zdHJ1
Y3Rvcj4odm0uaGVhcCkpIEVycm9yQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAg
IGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZXJyb3JQcm90b3R5cGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggM2QxNGE5ZWY1NWY0YzMzMGMwZWU3OGYwZjg2Mzc3M2QwNWRjZjhj
OS4uZGI5YmZhN2IwMWQ5Mzc4Y2JjMDI2NjMyZDhhMjI3MjZlMzA3NTkzNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IuY3BwCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUu
aCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCkBAIC00NywyMiArNDksMjMgQEAKIHsKIH0KIAot
dm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNB
cnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQordm9pZCBKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIkFycmF5QnVmZmVyIikpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3Rv
dHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEp
LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7Ci0KLSAgICBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgSlNDX05BVElWRV9G
VU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pc1ZpZXcsIGFycmF5QnVmZmVyRnVuY0lzVmlldywg
RG9udEVudW0sIDEpOworICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVy
U2V0dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5z
ZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0
aW9uKHZtLCBhcnJheUJ1ZmZlckNvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0b3Io
dm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKKyAgICBwdXREaXJl
Y3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBz
cGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCi1KU0FycmF5QnVmZmVy
Q29uc3RydWN0b3IqIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKK0pT
QXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEpTQXJyYXlCdWZm
ZXJDb25zdHJ1Y3RvciogcmVzdWx0ID0KICAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yPih2bS5oZWFwKSkKICAgICAgICAgSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRp
b24odm0sIHByb3RvdHlwZSk7CisgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
LmgKaW5kZXggYjY1YjUyM2I2NGM0YmRjN2FlMjE2NTJmMWNlMjAyMzQ5MTU5YjM0MS4uNjQ5MTQ5
NDU1NmY4OGEyODg4NWU1OTU3OGJmZmRkMTVjNmYyYzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKQEAg
LTM4LDEwICszOCwxMCBAQCBjbGFzcyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiAKIHByb3RlY3RlZDoKICAgICBKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNB
cnJheUJ1ZmZlclByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKIAogcHVibGljOgotICAgIHN0
YXRpYyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKKyAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVj
dG9yKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZm
ZXJQcm90b3R5cGUqKTsKICAgICAKICAgICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTBiZjE3
NzgyMDIyYzQ3OTRkMzBlNzBlZmIyYmVmNWRmMjQyY2UxOC4uNDQ0NWY1M2Y0YjZkZWMwYjUxN2Uz
NjMzYzE1ZDVhZGZlZWMzMjgyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTk1LDYgKzE5NSwxNyBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBlbnF1ZXVlSm9iKEV4ZWNTdGF0ZSogZXhlYykKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxt
KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOworCisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZh
bHVlID0gZXhlYy0+YXJndW1lbnQoMCk7CisgICAgaWYgKEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9
IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKSkKKyAgICAgICAgSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0ICYmIGNvbnN0cnVjdG9yID09IGNvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKS0+
YXJyYXlDb25zdHJ1Y3RvcigpKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9v
bGVhbihmYWxzZSkpOworfQorCiBKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqIGds
b2JhbE9iamVjdE1ldGhvZFRhYmxlKQogICAgIDogQmFzZSh2bSwgc3RydWN0dXJlLCAwKQogICAg
ICwgbV92bSh2bSkKQEAgLTM3NywxMiArMzg4LDEyIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6Omlu
aXQoVk0mIHZtKQogICAgIG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5zZXQodm0sIHRoaXMsIGRl
ZmluZVByb3BlcnR5RnVuY3Rpb24pOwogCiAgICAgSlNDZWxsKiBmdW5jdGlvbkNvbnN0cnVjdG9y
ID0gRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBGdW5jdGlvbkNvbnN0cnVjdG9yOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2Z1
bmN0aW9uUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwqIGFycmF5Q29uc3RydWN0b3IgPSBB
cnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQcm90b3R5
cGUuZ2V0KCkpOworICAgIG1fYXJyYXlDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEFycmF5Q29u
c3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0
dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9hcnJheVByb3RvdHlw
ZS5nZXQoKSkpOwogICAgIAotICAgIG1fcmVnRXhwQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBS
ZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9yZWdFeHBQcm90
b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3JlZ0V4cENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgUmVn
RXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhw
UHJvdG90eXBlLmdldCgpKSk7CiAgICAgCiAjZGVmaW5lIENSRUFURV9DT05TVFJVQ1RPUl9GT1Jf
U0lNUExFX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VU
eXBlLCBqc05hbWUpIFwKLWNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5hbWUgIyMg
Q29uc3RydWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBjYXBp
dGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0
aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5nZXQoKSk7
IFwKK2NhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3Ig
PSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBjYXBpdGFsTmFt
ZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJv
dG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5nZXQoKSk7IFwKIG1f
ICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgbG93ZXJOYW1lICMjIENvbnN0cnVjdG9y
LCBEb250RW51bSk7IFwKIAogICAgIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUoQ1JFQVRF
X0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQRSkKQEAgLTQwNSw3ICs0MTYsNyBAQCB2b2lkIEpT
R2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAKICAgICBtX29iamVjdFByb3RvdHlwZS0+
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVj
dG9yLCBvYmplY3RDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIG1fZnVuY3Rpb25Qcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3RvciwgZnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIG1fYXJyYXlQcm90
b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5j
b25zdHJ1Y3RvciwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOworICAgIG1fYXJyYXlQcm90
b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5j
b25zdHJ1Y3RvciwgbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgbV9y
ZWdFeHBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvciwgbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0p
OwogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICBtX3Byb21pc2VQcm90b3R5cGUtPnB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgbV9w
cm9taXNlQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKQEAgLTQxMyw3ICs0MjQsNyBAQCB2
b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+T2JqZWN0LCBvYmplY3RDb25zdHJ1
Y3RvciwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5GdW5jdGlvbiwgZnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9udEVudW0pOwot
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5BcnJh
eSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheSwgbV9hcnJheUNvbnN0cnVjdG9yLmdl
dCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPlJlZ0V4cCwgbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0p
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5F
dmFsRXJyb3IsIG1fZXZhbEVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+UmFuZ2VFcnJv
ciwgbV9yYW5nZUVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKQEAgLTQ5Myw5ICs1
MDQsMTAgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5vYmplY3RHZXRPd25Qcm9wZXJ0eVN5bWJv
bHNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNPYmplY3RHZXRPd25Qcm9wZXJ0eVN5bWJvbHMsIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFRlbXBsYXRlT2JqZWN0UHJpdmF0ZU5hbWUsIHByaXZh
dGVGdW5jR2V0VGVtcGxhdGVPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmVucXVldWVK
b2JQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwg
ZW5xdWV1ZUpvYiksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlDb25zdHJ1Y3Rvcklu
RGlmZmVyZW50UmVhbG1Qcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAx
LCBTdHJpbmcoKSwgaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPlR5cGVFcnJvclByaXZhdGVOYW1lLCBtX3R5cGVFcnJvckNvbnN0cnVj
dG9yLmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5CdWlsdGluTG9nUHJpdmF0ZU5hbWUs
IGJ1aWx0aW5Mb2csIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJpdmF0ZU5hbWUsIGFy
cmF5Q29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJpdmF0ZU5hbWUs
IG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+TnVtYmVy
UHJpdmF0ZU5hbWUsIG51bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5T
dHJpbmdQcml2YXRlTmFtZSwgc3RyaW5nQ29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmFic1ByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0FicywgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLApAQCAtNTAzLDEwICs1MTUsMTIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5nZXRQcm90b3R5cGVPZlByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0Zsb29yLCBEb250RW51bSB8
IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5w
cm9wZXJ0eU5hbWVzLT5nZXRPd25Qcm9wZXJ0eU5hbWVzUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5j
Rmxvb3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzRmluaXRlUHJpdmF0ZU5hbWUsIHByaXZh
dGVGdW5jSXNGaW5pdGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlQcml2YXRlTmFt
ZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwgYXJyYXlDb25zdHJ1
Y3RvcklzQXJyYXkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRL
ZXlQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5KSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJy
YXlJdGVyYXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktp
bmRLZXlWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXlWYWx1ZSksIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUsIFN5bWJvbDo6
Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPml0
ZXJhdG9yU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFt
ZXMoKS5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lKCksIFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0
aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmlt
cGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zeW1ib2xTcGVj
aWVzUHJpdmF0ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbElt
cGwmPigqdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlByb21pc2VQcml2YXRlTmFtZSwg
bV9wcm9taXNlQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnByb21p
c2VQZW5kaW5nUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1By
b21pc2U6OlN0YXR1czo6UGVuZGluZykpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCkBAIC01MTYsNiArNTMwLDggQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0p
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFt
ZXMoKS50b0xlbmd0aFByaXZhdGVOYW1lKCksIHByaXZhdGVGdW5jVG9MZW5ndGgsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnRvSW50ZWdlclByaXZhdGVOYW1lKCksIHBy
aXZhdGVGdW5jVG9JbnRlZ2VyLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMo
KS5pc09iamVjdFByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlv
bih2bSwgZ2xvYmFsT2JqZWN0SXNPYmplY3RDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRF
bnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZv
KHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnNwZWNpZXNDb25zdHJ1Y3RvclByaXZh
dGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgZ2xvYmFsT2Jq
ZWN0U3BlY2llc0NvbnN0cnVjdG9yQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8
IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5w
cm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hcnJheVNwZWNpZXNDcmVhdGVQcml2YXRlTmFt
ZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIG9wZXJhdGlvbnNBcnJh
eUFycmF5U3BlY2llc0NyZWF0ZUNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNQcm9taXNlUHJpdmF0ZU5hbWUoKSwgSlNGdW5j
dGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZUlzUHJvbWlz
ZUNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkubmV3UHJvbWlzZVJlYWN0aW9uUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3Jl
YXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VSZWFjdGlv
bkNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkubmV3UHJvbWlzZUNhcGFiaWxpdHlQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpj
cmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIG9wZXJhdGlvbnNQcm9taXNlTmV3UHJvbWlzZUNhcGFi
aWxpdHlDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKQEAgLTUzMSw3ICs1NDcsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZN
JiB2bSkKICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpDYWxsRnVuY3Rpb25dID0gbV9j
YWxsRnVuY3Rpb24uZ2V0KCk7CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6QXBwbHlG
dW5jdGlvbl0gPSBtX2FwcGx5RnVuY3Rpb24uZ2V0KCk7CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNb
U3BlY2lhbDo6T2JqZWN0Q29uc3RydWN0b3JdID0gb2JqZWN0Q29uc3RydWN0b3I7Ci0gICAgbV9z
cGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBhcnJheUNvbnN0cnVj
dG9yOworICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3RydWN0b3JdID0g
bV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOwogCiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6RGVmaW5lUHJvcGVydHlGdW5jdGlv
bildID0gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLmdldCgpOwogCkBAIC03NjEsNiArNzc3LDcg
QEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2dsb2Jh
bFRoaXMpOwogCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xvYmFsQ2FsbGVl
KTsKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJheUNvbnN0cnVjdG9yKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBDb25zdHJ1Y3Rvcik7CiAg
ICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZXJyb3JDb25zdHJ1Y3Rvcik7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZXZhbEVycm9yQ29uc3RydWN0b3IpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNTk0
ZDk2NjIyMzM3OGQxZDFhYWI4ZjQ3NTk1YWRlMDgyMmMxODIyMy4uZGQ2MzkyYzM0ZjNjNzAyOGNm
NDk5YzJlZWU3M2YxMDUwM2U0Y2FhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC01NSw2ICs1NSw3IEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCitjbGFzcyBBcnJheUNvbnN0cnVjdG9yOwogY2xhc3MgQXJyYXlQcm90b3R5cGU7CiBjbGFz
cyBCb29sZWFuUHJvdG90eXBlOwogY2xhc3MgQ29uc29sZUNsaWVudDsKQEAgLTE3OCw2ICsxNzks
NyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2Jq
ZWN0IHsKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fZ2xvYmFsVGhpczsKIAogICAgIFdy
aXRlQmFycmllcjxKU09iamVjdD4gbV9nbG9iYWxDYWxsZWU7CisgICAgV3JpdGVCYXJyaWVyPEFy
cmF5Q29uc3RydWN0b3I+IG1fYXJyYXlDb25zdHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8UmVn
RXhwQ29uc3RydWN0b3I+IG1fcmVnRXhwQ29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPEVy
cm9yQ29uc3RydWN0b3I+IG1fZXJyb3JDb25zdHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8TmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvcj4gbV9ldmFsRXJyb3JDb25zdHJ1Y3RvcjsKQEAgLTM5Myw2ICsz
OTUsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxl
T2JqZWN0IHsKICAgICAvLyBUaGUgZm9sbG93aW5nIGFjY2Vzc29ycyByZXR1cm4gcHJpc3RpbmUg
dmFsdWVzLCBldmVuIGlmIGEgc2NyaXB0IAogICAgIC8vIHJlcGxhY2VzIHRoZSBnbG9iYWwgb2Jq
ZWN0J3MgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KIAorICAgIEFycmF5Q29uc3RydWN0b3IqIGFycmF5
Q29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCk7IH0K
ICAgICBSZWdFeHBDb25zdHJ1Y3RvciogcmVnRXhwQ29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVy
biBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpOyB9CiAKICAgICBFcnJvckNvbnN0cnVjdG9yKiBl
cnJvckNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvckNvbnN0cnVjdG9yLmdldCgp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggNjg5NWVkODJmYWQ4MDc3Y2Q3Y2ZjMzA0NDFlNDY5MTA0Y2Iy
ZWYyYy4uOGI1NWMxNjEwMDdjNGE3Njc1MzA0MjU3N2E0OTBmMjliODg2YzdkOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9y
LmNwcApAQCAtODMsNiArODMsOSBAQCB2b2lkIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVBybwogICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIlByb21pc2UiKSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJv
bWlzZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpz
TnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVy
U2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgdGhpcyk7
CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNy
ZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgcHJvbWlzZUNvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0Nv
ZGVHZW5lcmF0b3Iodm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsK
KyAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVj
aWVzU3ltYm9sLCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RQcm9taXNlKEV4ZWNT
dGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0
cnVjdG9yLmNwcAppbmRleCBmYWQ1MmMwNTYwNDhlMThiN2VlYzQ5OGZmMTQ5NTNmZDkwZmNmZWRk
Li4wMGZlOThlN2FjMmQ5YzkyMjM0NWU3YTE1OWRlYmZkNTU5NzJmZGMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCkBAIC0yNyw3ICsy
Nyw5IEBACiAjaW5jbHVkZSAiTWFwQ29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgi
CisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25z
LmgiCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5l
cy5oIgogI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dC5oIgpAQCAtMzksMTEgKzQxLDE0IEBACiAKIGNvbnN0IENsYXNzSW5mbyBNYXBDb25zdHJ1Y3Rv
cjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKE1hcENvbnN0cnVjdG9yKSB9OwogCi12b2lkIE1hcENvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQordm9pZCBNYXBDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSwgbWFwUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBt
YXBQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051
bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOworICAgIEdldHRlclNl
dHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwg
SlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBtYXBDb25zdHJ1Y3RvclN5bWJv
bFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3Bl
Y2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVt
KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbE1hcChFeGVj
U3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3Ry
dWN0b3IuaAppbmRleCAxYTg1ZGU1YjE1YjAwN2QxZTlkZmM4YjljYjY1NjExMDhjNzYzNzgwLi5i
NjU5NWY4ODQ0Yzk2NGJlOGU2NjM4ZmZkNDRhMTFmZDUzYWE5Y2QxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmgKQEAgLTM2LDEwICszNiwxMCBA
QCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBNYXBD
b25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE1hcFByb3Rv
dHlwZSogbWFwUHJvdG90eXBlKQorICAgIHN0YXRpYyBNYXBDb25zdHJ1Y3RvciogY3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgTWFwQ29uc3RydWN0
b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8TWFwQ29uc3RydWN0
b3I+KHZtLmhlYXApKSBNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAgY29u
c3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBtYXBQcm90b3R5cGUpOworICAgICAgICBjb25z
dHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWFwUHJvdG90eXBlKTsK
ICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyArNTUsNyBAQCBj
bGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAgICAg
OiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgTWFwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgTWFwUHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUg
Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGljIENh
bGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKaW5kZXggZjhiMWY3
ZjQ0MzcwM2FiNDE5OGRkNDMyMWUyMDlkZmU2Njg4MmEzYy4uYThiMTczNWE2MDg2YjIzMTk5YjRh
NjdiZjI2MjA1MjIzM2UzNmIwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIE51bWJlckNv
bnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJu
YWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
SW1wbGVtZW50c0hhc0luc3RhbmNlOwogCi0gICAgc3RhdGljIE51bWJlckNvbnN0cnVjdG9yKiBj
cmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBlKiBudW1i
ZXJQcm90b3R5cGUpCisgICAgc3RhdGljIE51bWJlckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOdW1iZXJQcm90b3R5cGUq
IG51bWJlclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE51bWJlckNvbnN0cnVjdG9yKiBjb25z
dHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE51bWJlckNvbnN0cnVjdG9yPih2
bS5oZWFwKSkgTnVtYmVyQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0
cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbnVtYmVyUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBl
ZTFkOGIzZmM2OWY5NDNiOTRhNTI1OWNmN2MxODZjYWM2MzczZjc0Li5iM2NkOTc3Mjk0YWQ1ZmRl
N2EzYzM3OTRkMjEwYTA4MTYwZTJiMTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCkBAIC0yMyw2ICsyMyw4IEBACiAjaW5j
bHVkZSAiUmVnRXhwQ29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVk
ZSAiR2V0dGVyU2V0dGVyLmgiCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJK
U0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVnRXhwTWF0Y2hlc0FycmF5LmgiCiAjaW5jbHVkZSAi
UmVnRXhwUHJvdG90eXBlLmgiCkBAIC04OSw3ICs5MSw3IEBACiB7CiB9CiAKLXZvaWQgUmVnRXhw
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVnRXhwUHJvdG90eXBlKiByZWdF
eHBQcm90b3R5cGUpCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhw
UHJvdG90eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCByZWdFeHBQcm90b3R5
cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkp
KTsKQEAgLTk5LDYgKzEwMSwxMCBAQCB2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQogCiAgICAgLy8g
bm8uIG9mIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IKICAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigyKSwgUmVhZE9u
bHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0pOworCisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVz
QWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBz
cGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpj
cmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHJlZ0V4cENvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0Nv
ZGVHZW5lcmF0b3Iodm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsK
KyAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVj
aWVzU3ltYm9sLCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiB2
b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IGNhYmVl
MTljOTNkOWIyNDZjODA4ODUxZjJhZmY0ZTJhZDEwNDZhMWEuLjY0MjQwZWRjNTQwYTk5YzY1NDc1
ZTZiYjFjMGZkMDY1MDI5ZDU4YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtMzUsMTAgKzM1LDEwIEBAIGNsYXNzIFJlZ0V4
cENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50
ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
OwogCi0gICAgc3RhdGljIFJlZ0V4cENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUpCisgICAgc3Rh
dGljIFJlZ0V4cENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQ
cm90b3R5cGUpCiAgICAgewogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvciogY29uc3RydWN0b3Ig
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxSZWdFeHBDb25zdHJ1Y3Rvcj4odm0uaGVhcCkp
IFJlZ0V4cENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUsIHJlZ0V4cFByb3RvdHlwZSk7Ci0gICAg
ICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcmVnRXhwUHJvdG90eXBlKTsKKyAg
ICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIHJlZ0V4
cFByb3RvdHlwZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTY4
LDcgKzY4LDcgQEAgY2xhc3MgUmVnRXhwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5j
dGlvbiB7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRv
ciYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZ0V4cFBy
b3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCos
IFJlZ0V4cFByb3RvdHlwZSopOwogCiBwcml2YXRlOgogICAgIFJlZ0V4cENvbnN0cnVjdG9yKFZN
JiwgU3RydWN0dXJlKiwgUmVnRXhwUHJvdG90eXBlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmI5N2I2ZDlmYTBkMGVlNjNh
MWQ1MmE5ODg3ZWM3NzY5OGY3NTNkZi4uZDFiMDM1MTQwYjFhZGM3OWQ2MTkwMzZiYWI1NzlkM2Iz
ZTE2OGEzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0
cnVjdG9yLmNwcApAQCAtMjcsNyArMjcsOSBAQAogI2luY2x1ZGUgIlNldENvbnN0cnVjdG9yLmgi
CiAKICNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1
ZGUgIkl0ZXJhdG9yT3BlcmF0aW9ucy5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5j
bHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIKICNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKQEAgLTQwLDExICs0MiwxNSBAQAogCiBjb25zdCBD
bGFzc0luZm8gU2V0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNf
aW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShTZXRDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBT
ZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTZXRQcm90b3R5cGUqIHNldFBy
b3RvdHlwZSkKK3ZvaWQgU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiB7
CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHNldFByb3RvdHlwZS0+Y2xhc3NJbmZvKCkt
PmNsYXNzTmFtZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgc2V0UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250
RGVsZXRlKTsKKworICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRH
ZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9u
KHZtLCBzZXRDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFs
T2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhB
Y2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vz
c29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgY2FsbFNldChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuaAppbmRleCBlZmJkODhiYjMyMmZkZGFhYjli
NzU2NDM5MDNhOTdkZTc4NWU1ODAwLi5iNjg0MWY3MzUwZmNkMzIzYzdmMzMxOTJkYmI5ZDE5MTAw
YjY5MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVj
dG9yLmgKQEAgLTM2LDEwICszNiwxMCBAQCBjbGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJ
bnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKIAotICAgIHN0YXRpYyBTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQorICAgIHN0YXRpYyBT
ZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQogICAg
IHsKICAgICAgICAgU2V0Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBh
bGxvY2F0ZUNlbGw8U2V0Q29uc3RydWN0b3I+KHZtLmhlYXApKSBTZXRDb25zdHJ1Y3Rvcih2bSwg
c3RydWN0dXJlKTsKLSAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzZXRQ
cm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2Jh
bE9iamVjdCwgc2V0UHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAg
IH0KIApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRl
cm5hbEZ1bmN0aW9uIHsKICAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAg
IH0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgU2V0UHJvdG90eXBlKik7CisgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU2V0UHJvdG90eXBlKik7CiAg
ICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1
Y3REYXRhJik7CiAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxE
YXRhJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0Nv
bnN0cnVjdG9yLmgKaW5kZXggMzU3NTExYTU3NjU0ZTE2ODI1ZmQyMmIwYWU2NzczODlkMjAzYzIw
My4uZDJhMjE1MmRmZjZkODhiYmRkNmM1ZmFmZmQxMjJiMDA3NTkyNjNiOSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3
ICszMiw3IEBAIGNsYXNzIFN0cmluZ0NvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rp
b24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIFN0cmluZ0NvbnN0cnVjdG9yKiBj
cmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJp
bmdQcm90b3R5cGUpCisgICAgc3RhdGljIFN0cmluZ0NvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdQcm90b3R5cGUq
IHN0cmluZ1Byb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFN0cmluZ0NvbnN0cnVjdG9yKiBjb25z
dHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cmluZ0NvbnN0cnVjdG9yPih2
bS5oZWFwKSkgU3RyaW5nQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0
cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgc3RyaW5nUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCmluZGV4IDM0NGE5
NzhhYjBhYzc0ZTE1NDgzYjNlZTJlNTc5ZmFkMDFkN2NlMzQuLjNiMzkzZmQxYTBhNzRmMDMwMzNk
ZmRhOTQyN2QxYWU0ZDczNWFiMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBTeW1ib2xD
b25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVy
bmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsK
IAotICAgIHN0YXRpYyBTeW1ib2xDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFN5bWJvbFByb3RvdHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBTeW1i
b2xDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBT
eW1ib2xDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxTeW1ib2xDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFN5bWJvbENvbnN0cnVjdG9yKHZtLCBzdHJ1
Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlw
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29u
c3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1
Y3Rvci5oCmluZGV4IDY2ZWRiY2IxNmQ4OWE1YjY2NDgwYWVkYTMzNjMzYjY4NTJlZTQ4OTYuLjZj
OWFkMzllNTFlNTdiYzQ0OWUyMWU4ZWQ3YmZlNjBhMmFlZDgxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiw3ICsz
Niw3IEBAIGNsYXNzIFdlYWtNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9u
IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0
YXRpYyBXZWFrTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBXZWFrTWFwUHJvdG90eXBlKiBwcm90b3R5cGUpCisgICAgc3RhdGljIFdlYWtNYXBDb25z
dHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgV2Vha01hcFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgV2Vha01h
cENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFdl
YWtNYXBDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFdlYWtNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0
dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0
b3IuaAppbmRleCA3ZjZmYjZhNWU3NjhlYmY0MDhjYTZjZTc1YWQ1MmU2ZWM1ODM5OTY0Li4yODg5
YzljMDkwOWE5NTQwNmUwNzgyNzg4ZmNkYTNkMDk0MmZkYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYs
NyBAQCBjbGFzcyBXZWFrU2V0Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7
CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0
aWMgV2Vha1NldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgV2Vha1NldFByb3RvdHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrU2V0Q29uc3Ry
dWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFdlYWtTZXRQcm90b3R5cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtTZXRD
b25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFr
U2V0Q29uc3RydWN0b3I+KHZtLmhlYXApKSBXZWFrU2V0Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVy
ZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256301</attachid>
            <date>2015-07-07 08:18:34 -0700</date>
            <delta_ts>2015-07-10 13:18:04 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-146624-20150708001734.patch</filename>
            <type>text/plain</type>
            <size>70303</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NTc0MzRjY2YxZmUyNTQ1NTQ3NzczOThkNTMzNjVkMjUwOTZjZDYyLi43YWRkYTkwODRhZDIyNjA5
YTgxYmQ3MmEzMmE5ZjYyYTQyMDM5M2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxNS0wNy0wNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBTdXBwb3J0IEBAc3BlY2llcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBidWlsdGlucy9BcnJheS5wcm90b3R5
cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToKKyAgICAgICAgKiBidWls
dGlucy9BcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9s
U3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qczoKKyAgICAg
ICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2JhbE9iamVjdC5qczoK
KyAgICAgICAgKHNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYnVpbHRpbnMvSXRlcmF0
b3IucHJvdG90eXBlLmpzOgorICAgICAgICAoc3ltYm9sSXRlcmF0b3IpOgorICAgICAgICAoU3lt
Ym9sSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJ1aWx0aW5zL01hcENvbnN0cnVjdG9y
LmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3Iu
cHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogYnVpbHRp
bnMvT3BlcmF0aW9ucy5BcnJheS5qczogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcy4KKyAgICAgICAgKGFycmF5U3BlY2llc0NyZWF0ZSk6
CisgICAgICAgICogYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanM6CisgICAgICAgICogYnVp
bHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAocmFjZSk6CisgICAgICAgIChz
eW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9SZWdFeHBDb25zdHJ1Y3Rvci5qczog
Q29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3Rv
dHlwZS5qcy4KKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL1Nl
dENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAg
ICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6QXJyYXlD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheVNw
ZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jQ29uY2F0KToK
KyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTbGljZSk6CisgICAgICAgIChKU0M6OmFycmF5
UHJvdG9GdW5jU3BsaWNlKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5o
OgorICAgICAgICAoSlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAg
ICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6RXJyb3JDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0
ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6aXNBcnJheUNv
bnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9i
YWxPYmplY3Q6OmFycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNl
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvTWFwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3RydWN0b3I6OmNy
ZWF0ZSk6CisgICAgICAgICogcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oOgorICAgICAgICAo
SlNDOjpOdW1iZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmg6CisgICAg
ICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
U2V0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuaDoKKyAgICAgICAg
KEpTQzo6U2V0Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToK
KyAgICAgICAgKiBydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN5
bWJvbENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha01hcENvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OldlYWtNYXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAg
ICAgICAgKiBydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFr
U2V0Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisKIDIwMTUtMDctMDYgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQXJyYXkuY29uY2F0IHNob3VsZCBiZSBmYXN0IGZv
ciBpbnRlZ2VyIG9yIGRvdWJsZSBhcnJheXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCmluZGV4IGFmNDZkZDhmZWZmZTUzNGJjZDQwNTM0
ZjM0ZjdiZjI1ZmE1YmU0NDMuLjEyMDlkNTc2NjExZDhkY2VlMjc4NTA3YzYwZTI4N2VkNjkwZDhm
OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90
b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3Rv
dHlwZS5qcwpAQCAtMTYxLDcgKzE2MSw3IEBAIGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFjayAvKiwg
dGhpc0FyZyAqLykgewogICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90
eXBlLmZpbHRlciBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTsKICAgICAKICAgICB2YXIg
dGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVk
OwotICAgIHZhciByZXN1bHQgPSBbXTsKKyAgICB2YXIgcmVzdWx0ID0gQGFycmF5U3BlY2llc0Ny
ZWF0ZShhcnJheSwgMCk7CiAgICAgdmFyIG5leHRJbmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICBpZiAoIShpIGluIGFycmF5KSkKQEAgLTE5
MCw3ICsxOTAsNyBAQCBmdW5jdGlvbiBtYXAoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAg
ICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5tYXAgY2FsbGJhY2sg
bXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAgICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMu
bGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0g
W107CisgICAgdmFyIHJlc3VsdCA9IEBhcnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIGxlbmd0aCk7
CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGxlbmd0aDsKICAgICB2YXIgbmV4dEluZGV4ID0gMDsKICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI3ZDg3YTlkZDY4YTU1MzYxNWI4MmY5YzBiNGM5MWZkN2VmYTNkMjIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1
c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAg
ICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qcwppbmRleCA1YTU1MWY3Mzk4
Zjc4ZjBjMjliMGY0M2Q5ZWZjYzM3ZWFhMjJlMzI1Li4zNGRmNjI0MDI0YmJkYWM5YWIyNzgwNTZh
ZGFmYzE2YTkyNjM2OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvQXJyYXlDb25zdHJ1Y3Rvci5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvQXJyYXlDb25zdHJ1Y3Rvci5qcwpAQCAtMTA3LDMgKzEwNywxMCBAQCBmdW5jdGlvbiBmcm9t
KGl0ZW1zIC8qLCBtYXBGbiwgdGhpc0FyZyAqLykgewogICAgIHJlc3VsdC5sZW5ndGggPSBhcnJh
eUxpa2VMZW5ndGg7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KKworZnVuY3Rpb24gc3ltYm9sU3Bl
Y2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwppbmRleCA2YWRh
ZGVmYmQ5YTk3MDE3NzkzNjYwYWZkYjIzYTc1NTJhMjA3YWY5Li40NTE4YjIzZDZhNThlY2YzNjI4
NTEwZTY1OWZkNmI1NGRkNGVkZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9HbG9iYWxPYmplY3QuanMKQEAgLTU1LDMgKzU1LDIyIEBAIGZ1bmN0aW9uIGlzT2JqZWN0
KG9iamVjdCkKIAogICAgIHJldHVybiAob2JqZWN0ICE9PSBudWxsICYmIHR5cGVvZiBvYmplY3Qg
PT09ICJvYmplY3QiKSB8fCB0eXBlb2Ygb2JqZWN0ID09PSAiZnVuY3Rpb24iOwogfQorCitmdW5j
dGlvbiBzcGVjaWVzQ29uc3RydWN0b3Iob2JqZWN0LCBkZWZhdWx0Q29uc3RydWN0b3IpCit7Cisg
ICAgInVzZSBzdHJpY3QiOworCisgICAgdmFyIGNvbnN0cnVjdG9yID0gb2JqZWN0LmNvbnN0cnVj
dG9yOworICAgIGlmIChjb25zdHJ1Y3RvciA9PT0gdW5kZWZpbmVkKQorICAgICAgICB0aHJvdyBu
ZXcgQFR5cGVFcnJvcigib2JqZWN0IGRvZXMgbm90IGhhdmUgXCJjb25zdHJ1Y3RvclwiIHByb3Bl
cnR5Iik7CisKKyAgICB2YXIgc3BlY2llcyA9IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsK
KyAgICBpZiAoc3BlY2llcyAhPT0gdW5kZWZpbmVkICYmIHNwZWNpZXMgIT09IG51bGwpCisgICAg
ICAgIHJldHVybiBkZWZhdWx0Q29uc3RydWN0b3I7CisKKyAgICAvLyBGSVhNRTogVXNlIGlzQ29u
c3RydWN0b3Ioc3BlY2llcykuCisgICAgaWYgKHR5cGVvZiBzcGVjaWVzICE9PSAnZnVuY3Rpb24n
KQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiY29uc3RydWN0b3IuQEBzcGVjaWVzIGlz
IG5vdCBhIGNvbnN0cnVjdG9yIik7CisKKyAgICByZXR1cm4gc3BlY2llczsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzCmlu
ZGV4IGRjNzJhNjQwOGI0MzY3MGE5MzYxOWZjNjFmMmJlYzMyNzVlMzk1ZDUuLjFlOWI5OGM4NDNk
ODY3NTVjNDc2MzM3NjU3OWY0OThhOTIwMDJkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcwpAQCAtMjMsNyArMjMsNyBA
QAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1mdW5jdGlvbiBTeW1ib2xJdGVyYXRvcigpCitmdW5j
dGlvbiBzeW1ib2xJdGVyYXRvcigpCiB7CiAgICAgJ3VzZSBzdHJpY3QnOwogICAgIHJldHVybiB0
aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcENvbnN0
cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcENvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI3ZDg3YTlkZDY4YTU1MzYxNWI4MmY5YzBiNGM5MWZkN2VmYTNkMjIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFwQ29u
c3RydWN0b3IuanMKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZ
dXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAg
ICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5LmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcw
ZGMyZWU0ODU1ZDNjYmI4Y2NlMGY0NDRiN2M1ODJmNTJhODk3OAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5LmpzCkBAIC0w
LDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZnVuY3Rpb24gYXJyYXlTcGVjaWVzQ3JlYXRlKG9yaWdpbmFsQXJyYXksIGxlbmd0
aCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoIUBpc0FycmF5KG9yaWdpbmFsQXJy
YXkpKQorICAgICAgICByZXR1cm4gbmV3IEBBcnJheShsZW5ndGgpOworCisgICAgdmFyIGNvbnN0
cnVjdG9yID0gb3JpZ2luYWxBcnJheS5jb25zdHJ1Y3RvcjsKKworICAgIC8vIEVhcmx5IGNoZWNr
IGZvciB0aGUgY29tbW9uIHBhdGguCisgICAgaWYgKGNvbnN0cnVjdG9yICE9PSBAQXJyYXkpIHsK
KyAgICAgICAgLy8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKS4KKyAgICAg
ICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3RvciA9PT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAg
aWYgKEBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKGNvbnN0cnVjdG9yKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gbmV3IEBBcnJheShsZW5ndGgpOworICAgICAgICB9CisgICAg
fQorCisgICAgaWYgKEBpc09iamVjdChjb25zdHJ1Y3RvcikpIHsKKyAgICAgICAgY29uc3RydWN0
b3IgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgICAgIGlmIChjb25zdHJ1Y3Rv
ciA9PT0gbnVsbCkKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gdW5kZWZpbmVkOworICAgIH0K
KworICAgIGlmIChjb25zdHJ1Y3RvciA9PT0gdW5kZWZpbmVkKQorICAgICAgICByZXR1cm4gbmV3
IEBBcnJheShsZW5ndGgpOworCisgICAgLy8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKS4KKyAgICBpZiAodHlwZW9mIGNvbnN0cnVjdG9yICE9PSAiZnVuY3Rpb24iKQorICAg
ICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBp
cyBub3QgYSBmdW5jdGlvbiIpOworCisgICAgcmV0dXJuIG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgp
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2Uu
cHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJv
dG90eXBlLmpzCmluZGV4IDg1NjNkZjBkOTI3ZmIyMzM5Njg5MzllMTQ5NDIzOTZlYzg1ZTY1YWEu
LmNmNmEyMGZkODMyNWI4M2MxYjkwNzViNTkxMmM0MzU5MDQwMTYzZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcworKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanMKQEAgLTM3
LDkgKzM3LDcgQEAgZnVuY3Rpb24gdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkKICAgICBp
ZiAoIUBpc1Byb21pc2UodGhpcykpCiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJ8dGhp
c3wgaXMgbm90IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVu
IEBAc3BlY2llcyB3ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAotICAgIHZhciBjb25zdHJ1Y3Rv
ciA9IHRoaXMuY29uc3RydWN0b3I7CisgICAgdmFyIGNvbnN0cnVjdG9yID0gQHNwZWNpZXNDb25z
dHJ1Y3Rvcih0aGlzLCBAUHJvbWlzZSk7CiAKICAgICB2YXIgcmVzdWx0Q2FwYWJpbGl0eSA9IEBu
ZXdQcm9taXNlQ2FwYWJpbGl0eShjb25zdHJ1Y3Rvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCmluZGV4IDFmODNiNDdm
NzkwYTc1ZTViZjhjOTNkNWU2NjQ5NjE4Y2IxYWVjNjcuLjNmOThlYmYzM2FlMjk3ODgzNmNmMTcy
MTI4NjU4NWNhMTdlMGZiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qcwpAQCAtMzAsOSArMzAsMTAgQEAgZnVuY3Rpb24g
YWxsKGl0ZXJhYmxlKQogICAgIGlmICghQGlzT2JqZWN0KHRoaXMpKQogICAgICAgICB0aHJvdyBu
ZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTog
Rml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQu
Ci0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAog
ICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXM7CisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3Rv
cltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVj
aWVzICE9PSBudWxsKQorICAgICAgICBjb25zdHJ1Y3RvciA9IHNwZWNpZXM7CiAKICAgICB2YXIg
cHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwog
CkBAIC04Niw5ICs4NywxMCBAQCBmdW5jdGlvbiByYWNlKGl0ZXJhYmxlKQogICAgIGlmICghQGlz
T2JqZWN0KHRoaXMpKQogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90
IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2ll
cyB3ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAogICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXM7
CisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgaWYg
KHNwZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVjaWVzICE9PSBudWxsKQorICAgICAgICBjb25z
dHJ1Y3RvciA9IHNwZWNpZXM7CiAKICAgICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJv
bWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwogCkBAIC0xMzcsMyArMTM5LDEwIEBAIGZ1bmN0
aW9uIHJlc29sdmUodmFsdWUpCiAKICAgICByZXR1cm4gcHJvbWlzZUNhcGFiaWxpdHkuQHByb21p
c2U7CiB9CisKK2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsK
KworICAgIHJldHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1JlZ0V4cENvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL1JlZ0V4cENvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3ZDg3YTlkZDY4YTU1MzYx
NWI4MmY5YzBiNGM5MWZkN2VmYTNkMjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvUmVnRXhwQ29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5j
dGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4g
dGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRD
b25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFmZDdlZmEz
ZDIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Nl
dENvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7
CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IDE5NGY5
MjE3YzFjMjE4NjAzNjllYzBlNGVlNDRkODdjOTg4MDA4MzYuLjE2NmI4OTc3M2YwODM5OTI1ZTY4
MzI3NDNkZTdkODViOTgwYTkyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCkBAIC0yOSwxNyArMjksMTIgQEAKICNpbmNsdWRl
ICJDb3BpZWRTcGFjZUlubGluZXMuaCIKICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJK
U0FycmF5LmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkxvb2t1cC5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKIAotbmFtZXNwYWNlIEpTQyB7Ci0KLXN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5Q29uc3RydWN0b3JJc0FycmF5KEV4ZWNTdGF0
ZSopOwotCi19Ci0KICNpbmNsdWRlICJBcnJheUNvbnN0cnVjdG9yLmx1dC5oIgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTYxLDExICs1NiwxNCBAQAogewogfQogCi12b2lkIEFycmF5Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBl
KQordm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKIHsK
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90b3R5cGUtPmNsYXNzSW5mbygp
LT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGFycmF5UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxl
dGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBE
b250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNl
dHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0
R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlv
bih2bSwgYXJyYXlDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xv
YmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5k
ZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0Fj
Y2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogYm9vbCBBcnJheUNvbnN0cnVjdG9y
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKaW5kZXggMDQwZjI2
YzRjOTkwNWE0NTc2OTRjMDVjODU0NDcwNjA3YmI0ODRhNy4uMWQyOTNkYWY5Nzg2M2JkYTc2NDQ5
NDU0NmFhMGRiOGQwODYxODJlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtMzQsMTAgKzM0LDEwIEBAIGNsYXNzIEFycmF5Q29u
c3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5h
bEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0
dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKKyAg
ICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJh
eVByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEFycmF5Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9y
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8QXJyYXlDb25zdHJ1Y3Rvcj4odm0uaGVhcCkp
IEFycmF5Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5m
aW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+
ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgYXJyYXlQcm90b3R5cGUpOwogICAgICAg
ICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEFy
cmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgfQogCiBwcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEFycmF5UHJvdG90eXBlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlQcm90b3R5
cGUqKTsKIAogcHJpdmF0ZToKICAgICBBcnJheUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7
CkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJu
YWxGdW5jdGlvbiB7CiB9OwogCiBKU09iamVjdCogY29uc3RydWN0QXJyYXlXaXRoU2l6ZVF1aXJr
KEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBKU0dsb2JhbE9iamVjdCosIEpT
VmFsdWUpOworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9ySXNB
cnJheShFeGVjU3RhdGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCA4N2NlYWUxY2Jl
ZjU1Y2Y3NmJlODU4MWUxN2MyYjM5Yzc1ODAzYWRlLi5kNjFhNjkyYzg2ZTRhODdlZTllYTQwZmYx
ZGM3NWRmYWQ2ZTAxMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQXJyYXlQcm90b3R5cGUuaCIKIAorI2luY2x1ZGUgIkFycmF5Q29uc3RydWN0
b3IuaCIKICNpbmNsdWRlICJCdXR0ZXJmbHlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ2Fs
bC5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgpAQCAtNDk5LDEzICs1MDAsNjEgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0pvaW4oRXhlY1N0YXRlKiBleGVj
KQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoam9pbigqZXhlYywgdGhpc09iamVjdCwgc2Vw
YXJhdG9yLT52aWV3KGV4ZWMpKSk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlIGFycmF5U3BlY2llc0Nv
bnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIG9yaWdpbmFsQXJyYXkpCit7Cisg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKTsKKworICAgIGlmICghaXNKU0FycmF5KG9yaWdpbmFsQXJyYXkpKQorICAgICAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBKU0FycmF5KiBhcnJh
eSA9IGpzQ2FzdDxKU0FycmF5Kj4ob3JpZ2luYWxBcnJheSk7CisgICAgSlNWYWx1ZSBjb25zdHJ1
Y3RvclZhbHVlID0gYXJyYXktPkpTQXJyYXk6OmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkuY29uc3RydWN0b3IpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7
CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25z
dHJ1Y3RvclZhbHVlLCBjb25zdHJ1Y3REYXRhKTsKKyAgICBpZiAoY29uc3RydWN0VHlwZSAhPSBD
b25zdHJ1Y3RUeXBlTm9uZSkgeworICAgICAgICBpZiAoSlNPYmplY3QqIGNvbnN0cnVjdG9yID0g
anNEeW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpKSB7CisgICAgICAgICAg
ICBpZiAoY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAmJiBjb25z
dHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3Io
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9y
KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5pc09iamVj
dCgpKSB7CisgICAgICAgIGNvbnN0cnVjdG9yVmFsdWUgPSBqc0Nhc3Q8SlNPYmplY3QqPihjb25z
dHJ1Y3RvclZhbHVlKS0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3lt
Ym9sKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgICAgIGlmIChjb25zdHJ1Y3RvclZhbHVlLmlzTnVsbCgp
KQorICAgICAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOwor
ICAgIH0KKworICAgIGlmIChjb25zdHJ1Y3RvclZhbHVlLmlzVW5kZWZpbmVkKCkpCisgICAgICAg
IHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIENvbnN0cnVj
dERhdGEgc3BlY2llc0RhdGE7CisgICAgQ29uc3RydWN0VHlwZSBzcGVjaWVzVHlwZSA9IGdldENv
bnN0cnVjdERhdGEoY29uc3RydWN0b3JWYWx1ZSwgc3BlY2llc0RhdGEpOworICAgIGlmIChzcGVj
aWVzVHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVy
cm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBu
b3QgYSBmdW5jdGlvbiIpKTsKKworICAgIHJldHVybiBjb25zdHJ1Y3RvclZhbHVlOworfQorCiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jQ29uY2F0KEV4ZWNTdGF0
ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPnRoaXNWYWx1ZSgpLnRv
VGhpcyhleGVjLCBTdHJpY3RNb2RlKTsKKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9IHRoaXNW
YWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBKU1ZhbHVl
IGNvbnN0cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iamVjdCk7
CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGJvb2wgaXNBcnJheUNvbnN0cnVjdG9yID0gSlNW
YWx1ZTo6c3RyaWN0RXF1YWwoZXhlYywgY29uc3RydWN0b3IsIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKTsKKworICAgIEpTVmFsdWUgY3VyQXJnID0gdGhp
c09iamVjdDsKICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsK
LSAgICBKU1ZhbHVlIGN1ckFyZyA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKICAgICBDaGVj
a2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gZmluYWxBcnJheVNpemUgPSAwOwotCiAgICAg
SlNBcnJheSogY3VycmVudEFycmF5ID0gbnVsbHB0cjsKICAgICBKU0FycmF5KiBwcmV2aW91c0Fy
cmF5ID0gbnVsbHB0cjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyA7ICsraSkgewpAQCAtNTI2
LDE3ICs1NzUsMzAgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVu
Y0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGZpbmFsQXJyYXlTaXplLmhhc092ZXJm
bG93ZWQoKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5
RXJyb3IoZXhlYykpOwogCi0gICAgaWYgKGFyZ0NvdW50ID09IDEgJiYgcHJldmlvdXNBcnJheSAm
JiBjdXJyZW50QXJyYXkgJiYgZmluYWxBcnJheVNpemUudW5zYWZlR2V0KCkgPCBNSU5fU1BBUlNF
X0FSUkFZX0lOREVYKSB7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1Y3RvciAmJiBhcmdDb3VudCA9
PSAxICYmIHByZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYmIGZpbmFsQXJyYXlTaXplLnVu
c2FmZUdldCgpIDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgewogICAgICAgICBJbmRleGluZ1R5
cGUgdHlwZSA9IEpTQXJyYXk6OmZhc3RDb25jYXRUeXBlKGV4ZWMtPnZtKCksICpwcmV2aW91c0Fy
cmF5LCAqY3VycmVudEFycmF5KTsKICAgICAgICAgaWYgKHR5cGUgIT0gTm9uQXJyYXkpCiAgICAg
ICAgICAgICByZXR1cm4gcHJldmlvdXNBcnJheS0+ZmFzdENvbmNhdFdpdGgoKmV4ZWMsICpjdXJy
ZW50QXJyYXkpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIGFyciA9IGNvbnN0cnVjdEVtcHR5QXJy
YXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0KCkpOwotICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBpZiAoaXNB
cnJheUNvbnN0cnVjdG9yKSB7CisgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5QXJyYXko
ZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0KCkpOworICAgICAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIENvbnN0cnVjdERhdGEgY29u
c3RydWN0RGF0YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29u
c3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlTm9uZSwgImFycmF5U3Bl
Y2llc0NvbnN0cnVjdG9yIGFsd2F5cyByZXR1cm5zIGEgY29uc3RydWN0b3IgaWYgaXQgZG9lcyBu
b3QgcmFpc2UgYW4gZXJyb3IuIik7CisKKyAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJn
czsKKyAgICAgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoMCkpOworICAgICAgICByZXN1bHQgPSBj
b25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUsIGNvbnN0cnVjdERhdGEs
IGFyZ3MpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0KIAotICAgIGN1ckFy
ZyA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBjdXJBcmcgPSB0aGlzT2JqZWN0Owog
ICAgIHVuc2lnbmVkIG4gPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IDsgKytpKSB7CiAg
ICAgICAgIGlmIChKU0FycmF5KiBjdXJyZW50QXJyYXkgPSBqc0R5bmFtaWNDYXN0PEpTQXJyYXkq
PihjdXJBcmcpKSB7CkBAIC01NDgsMjAgKzYxMCwzMCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGFycmF5UHJvdG9GdW5jQ29uY2F0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAg
ICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCBjdXJyZW50QXJyYXksIGspOwogICAg
ICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAodikKLSAgICAgICAgICAgICAgICAgICAgYXJyLT5wdXREaXJlY3RJbmRleChleGVjLCBu
LCB2KTsKKyAgICAgICAgICAgICAgICBpZiAodikgeworICAgICAgICAgICAgICAgICAgICByZXN1
bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYsIDAsIFB1dERpcmVjdEluZGV4U2hvdWxkVGhy
b3cpOworICAgICAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBuKys7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBhcnItPnB1dERpcmVjdEluZGV4KGV4ZWMs
IG4sIGN1ckFyZyk7CisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4s
IGN1ckFyZywgMCwgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyk7CisgICAgICAgICAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgICAgIG4rKzsKICAgICAgICAgfQogICAgICAg
ICBpZiAoaSA9PSBhcmdDb3VudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjdXJBcmcg
PSBleGVjLT51bmNoZWNrZWRBcmd1bWVudChpKTsKICAgICB9Ci0gICAgYXJyLT5zZXRMZW5ndGgo
ZXhlYywgbik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhcnIpOworCisgICAgaWYgKGlz
QXJyYXlDb25zdHJ1Y3RvcikKKyAgICAgICAganNDYXN0PEpTQXJyYXkqPihyZXN1bHQpLT5zZXRM
ZW5ndGgoZXhlYywgbik7CisgICAgZWxzZQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0
LCBqc051bWJlcihuKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9
CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNQb3AoRXhlY1N0
YXRlKiBleGVjKQpAQCAtNzMwLDEzICs4MDIsNDEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRnVuY1NsaWNlKEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIHVuc2lnbmVk
IGJlZ2luID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBsZW5n
dGgpOwogICAgIHVuc2lnbmVkIGVuZCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JF
bmQoZXhlYywgMSwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHVuc2lnbmVkIGNvdW50ID0gZW5kIC0g
YmVnaW47CiAKLSAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKSB7Ci0gICAgICAgIGlmIChKU0Fy
cmF5KiByZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBl
bmQgLSBiZWdpbikpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKGV4ZWMs
IHRoaXNPYmopOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKworICAgIGlmIChKU1ZhbHVlOjpzdHJp
Y3RFcXVhbChleGVjLCBjb25zdHJ1Y3RvciwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5h
cnJheUNvbnN0cnVjdG9yKCkpKSB7CisgICAgICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpIHsK
KyAgICAgICAgICAgIGlmIChKU0FycmF5KiByZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0
U2xpY2UoKmV4ZWMsIGJlZ2luLCBjb3VudCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShyZXN1bHQpOworICAgICAgICB9CisKKyAgICAgICAgSlNBcnJheSogcmVzdWx0
ID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCBudWxscHRyLCBjb3VudCk7CisKKyAgICAgICAg
dW5zaWduZWQgbiA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQgayA9IGJlZ2luOyBrIDwgZW5k
OyBrKyssIG4rKykgeworICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywg
dGhpc09iaiwgayk7CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAg
ICAgICAgIGlmICh2KQorICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhl
Yywgbiwgdik7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LT5zZXRMZW5ndGgoZXhlYywgbik7
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKICAgICB9CiAKLSAgICBK
U0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGVuZCAt
IGJlZ2luKTsKKyAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgQ29uc3RydWN0
VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3Ry
dWN0RGF0YSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShjb25zdHJ1Y3RUeXBlICE9IENvbnN0
cnVjdFR5cGVOb25lLCAiYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IgYWx3YXlzIHJldHVybnMgYSBj
b25zdHJ1Y3RvciBpZiBpdCBkb2VzIG5vdCByYWlzZSBhbiBlcnJvci4iKTsKKworICAgIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoY291bnQpKTsK
KyAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25z
dHJ1Y3RUeXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdzKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAK
ICAgICB1bnNpZ25lZCBuID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGsgPSBiZWdpbjsgayA8IGVu
ZDsgaysrLCBuKyspIHsKQEAgLTc0Niw3ICs4NDYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGFycmF5UHJvdG9GdW5jU2xpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBpZiAo
dikKICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CiAgICAg
fQotICAgIHJlc3VsdC0+c2V0TGVuZ3RoKGV4ZWMsIG4pOworICAgIHB1dExlbmd0aChleGVjLCBy
ZXN1bHQsIGpzTnVtYmVyKG4pKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CiB9CiAKQEAgLTc3NywyMiArODc3LDU0IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgZGVsZXRl
Q291bnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVsZXRlRG91YmxlKTsKICAgICB9CiAKLSAg
ICBKU0FycmF5KiByZXN1bHQgPSBudWxscHRyOworICAgIEpTVmFsdWUgY29uc3RydWN0b3IgPSBh
cnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqKTsKKyAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBpZiAoSlNWYWx1ZTo6
c3RyaWN0RXF1YWwoZXhlYywgY29uc3RydWN0b3IsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3Qo
KS0+YXJyYXlDb25zdHJ1Y3RvcigpKSkgeworICAgICAgICBKU0FycmF5KiByZXN1bHRBcnJheSA9
IG51bGxwdHI7CiAKLSAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKQotICAgICAgICByZXN1bHQg
PSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBkZWxldGVDb3VudCk7
CisgICAgICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpCisgICAgICAgICAgICByZXN1bHRBcnJh
eSA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGRlbGV0ZUNvdW50
KTsKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJlc3VsdCA9IEpTQXJyYXk6OnRyeUNy
ZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlT
dHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRl
ZCksIGRlbGV0ZUNvdW50KTsKLSAgICAgICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjKSk7CisgICAgICAg
IGlmICghcmVzdWx0QXJyYXkpIHsKKyAgICAgICAgICAgIHJlc3VsdEFycmF5ID0gSlNBcnJheTo6
dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5h
cnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5k
ZWNpZGVkKSwgZGVsZXRlQ291bnQpOworICAgICAgICAgICAgaWYgKCFyZXN1bHRBcnJheSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlFcnJv
cihleGVjKSk7CisKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCBkZWxldGVD
b3VudDsgKytrKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhl
YywgdGhpc09iaiwgayArIGJlZ2luKTsKKyAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgcmVzdWx0QXJyYXktPmluaXRpYWxpemVJbmRl
eCh2bSwgaywgdik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0ID0g
cmVzdWx0QXJyYXk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1
Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1
Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKTsKKyAgICAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRShjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGVOb25lLCAiYXJyYXlTcGVjaWVz
Q29uc3RydWN0b3IgYWx3YXlzIHJldHVybnMgYSBjb25zdHJ1Y3RvciBpZiBpdCBkb2VzIG5vdCBy
YWlzZSBhbiBlcnJvci4iKTsKIAotICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgZGVs
ZXRlQ291bnQ7ICsraykgewotICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhl
YywgdGhpc09iaiwgayArIGJlZ2luKTsKKyAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJn
czsKKyAgICAgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoZGVsZXRlQ291bnQpKTsKKyAgICAgICAg
cmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25z
dHJ1Y3REYXRhLCBhcmdzKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgZGVsZXRlQ291bnQ7IGsrKykgeworICAgICAgICAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOwogICAgICAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgICAgICByZXN1bHQtPmluaXRp
YWxpemVJbmRleCh2bSwgaywgdik7CisgICAgICAgICAgICBpZiAodmFsdWUpIHsKKyAgICAgICAg
ICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGssIHZhbHVlLCAwLCBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93KTsKKyAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgcHV0TGVuZ3RoKGV4
ZWMsIHJlc3VsdCwganNOdW1iZXIoZGVsZXRlQ291bnQpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKICAgICB9CiAKICAgICB1bnNpZ25lZCBhZGRpdGlvbmFsQXJncyA9IHN0ZDo6bWF4
PGludD4oZXhlYy0+YXJndW1lbnRDb3VudCgpIC0gMiwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IDE3N2Y2OWU1Y2I0
ODJjYTVjZDNjZDUwNmFkMWE0MDMyNzAzODc3NzIuLjhmMTYwMDRhNjVhYzcwMTdhODE4YmIwN2Ey
YmJmNjkzY2E3Mjc5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw3IEBAIGNsYXNzIEJvb2xlYW5Db25z
dHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVm
IEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBCb29sZWFuQ29uc3RydWN0b3Iq
IGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBlKiBi
b29sZWFuUHJvdG90eXBlKQorICAgIHN0YXRpYyBCb29sZWFuQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90
b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUpCiAgICAgewogICAgICAgICBCb29sZWFuQ29uc3RydWN0
b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8Qm9vbGVhbkNvbnN0
cnVjdG9yPih2bS5oZWFwKSkgQm9vbGVhbkNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAg
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGJvb2xlYW5Qcm90b3R5cGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
aW5kZXggNDFiOTRmMWJmNDdiZmM2NmQ4NzY0NTBjMDEzMDFlNTUyMWZmOTU2ZC4uOTIxNjJhYjI3
MzAzMWFlZWIwNGJiZTFkNmZiNWQ5OTRhMjMzZjI5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMzcsMTMgKzIzNywxMyBA
QAogICAgIG1hY3JvKG1hdGNoKSBcCiAgICAgbWFjcm8ocmVwbGFjZSkgXAogICAgIG1hY3JvKHNl
YXJjaCkgXAotICAgIG1hY3JvKHNwZWNpZXMpIFwKICAgICBtYWNybyhzcGxpdCkgXAogICAgIG1h
Y3JvKHRvUHJpbWl0aXZlKSBcCiAgICAgbWFjcm8odG9TdHJpbmdUYWcpCiAKICNkZWZpbmUgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wobWFjcm8p
IFwKICAgICBtYWNybyhpdGVyYXRvcikgXAorICAgIG1hY3JvKHNwZWNpZXMpIFwKICAgICBtYWNy
byh1bnNjb3BhYmxlcykKIAogI2RlZmluZSBKU0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJQ1Nf
RUFDSF9OQU1FKG1hY3JvKSBcCkBAIC0yNTIsNyArMjUyLDYgQEAKIAogI2RlZmluZSBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKG1hY3JvKSBcCiAgICAg
SlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNTX0VBQ0hfTkFNRShtYWNybykgXAotICAgIG1h
Y3JvKHN5bWJvbEl0ZXJhdG9yKSBcCiAgICAgbWFjcm8oaXRlcmF0ZWRPYmplY3QpIFwKICAgICBt
YWNybyhhcnJheUl0ZXJhdG9yTmV4dEluZGV4KSBcCiAgICAgbWFjcm8oYXJyYXlJdGVyYXRpb25L
aW5kKSBcCkBAIC0yODAsNiArMjc5LDcgQEAKICAgICBtYWNybyhhYnMpIFwKICAgICBtYWNybyhm
bG9vcikgXAogICAgIG1hY3JvKGlzRmluaXRlKSBcCisgICAgbWFjcm8oaXNBcnJheSkgXAogICAg
IG1hY3JvKGdldFByb3RvdHlwZU9mKSBcCiAgICAgbWFjcm8oZ2V0T3duUHJvcGVydHlOYW1lcykg
XAogICAgIG1hY3JvKFR5cGVFcnJvcikgXApAQCAtMjk3LDYgKzI5Nyw3IEBACiAgICAgbWFjcm8o
cHJvbWlzZVJlamVjdFJlYWN0aW9ucykgXAogICAgIG1hY3JvKHByb21pc2VSZXN1bHQpIFwKICAg
ICBtYWNybyhjYXBhYmlsaXRpZXMpIFwKKyAgICBtYWNybyhpc0FycmF5Q29uc3RydWN0b3JJbkRp
ZmZlcmVudFJlYWxtKSBcCiAKIAogbmFtZXNwYWNlIEpTQyB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IDA1NGY1NzFkNTc5ZThjZTRm
MzRiNTQwOTE3YjhkMDI4YjUwZGZiOWIuLjc1OTZmYWQ5NjFlYTI4ZThmZTYyOWY0NTI0N2Y1Njkw
MzhkMzEwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVD
b25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25z
dHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIERhdGVDb25zdHJ1Y3RvciA6IHB1Ymxp
YyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsK
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1
cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBEYXRl
Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRlUHJv
dG90eXBlKiBkYXRlUHJvdG90eXBlKQorICAgIHN0YXRpYyBEYXRlQ29uc3RydWN0b3IqIGNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90
b3R5cGUqIGRhdGVQcm90b3R5cGUpCiAgICAgewogICAgICAgICBEYXRlQ29uc3RydWN0b3IqIGNv
bnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RGF0ZUNvbnN0cnVjdG9yPih2
bS5oZWFwKSkgRGF0ZUNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGRhdGVQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IGIxMTg5NGRiZTRi
NTYxNGZkMjMwYjYwZjZhZTNiYzhiYjM1ZDI5MmUuLmJmZWQ3Yzg3MzUxMWNiNWM5YmNhOTFmMmJh
MjMzNmY3MmIxMjdhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckNvbnN0cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgRXJyb3JDb25zdHJ1Y3Rv
ciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVy
bmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBFcnJvckNvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90
eXBlKQorICAgIHN0YXRpYyBFcnJvckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90
b3R5cGUpCiAgICAgewogICAgICAgICBFcnJvckNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5l
dyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEVycm9yQ29uc3RydWN0b3I+KHZtLmhlYXApKSBFcnJv
ckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNo
Q3JlYXRpb24odm0sIGVycm9yUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCmluZGV4IDNk
MTRhOWVmNTVmNGMzMzBjMGVlNzhmMGY4NjM3NzNkMDVkY2Y4YzkuLmRiOWJmYTdiMDFkOTM3OGNi
YzAyNjYzMmQ4YTIyNzI2ZTMwNzU5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcApAQCAtMjgsOCAr
MjgsMTAgQEAKIAogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVy
cy5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXIu
aCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCisjaW5jbHVkZSAiSlNDQnVp
bHRpbnMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKIApAQCAtNDcsMjIgKzQ5LDIzIEBACiB7CiB9CiAKLXZvaWQgSlNBcnJheUJ1ZmZlckNv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUq
IHByb3RvdHlwZSkKK3ZvaWQgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQXJyYXlCdWZmZXJQcm90
b3R5cGUqIHByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVNDSUlM
aXRlcmFsKCJBcnJheUJ1ZmZlciIpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpOwotCi0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRo
aXMtPmdsb2JhbE9iamVjdCgpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04odm0ucHJvcGVydHlO
YW1lcy0+aXNWaWV3LCBhcnJheUJ1ZmZlckZ1bmNJc1ZpZXcsIERvbnRFbnVtLCAxKTsKKyAgICBH
ZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxP
YmplY3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgYXJyYXlCdWZmZXJD
b25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAi
Z2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nl
c3NvciB8IERvbnRFbnVtKTsKIH0KIAotSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBKU0FycmF5
QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBK
U0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUpCitKU0FycmF5QnVmZmVyQ29uc3RydWN0
b3IqIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90
b3R5cGUqIHByb3RvdHlwZSkKIHsKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIHJlc3Vs
dCA9CiAgICAgICAgIG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvcj4odm0uaGVhcCkpCiAgICAgICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcih2bSwg
c3RydWN0dXJlKTsKLSAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwor
ICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGI2NWI1MjNiNjRj
NGJkYzdhZTIxNjUyZjFjZTIwMjM0OTE1OWIzNDEuLjY0OTE0OTQ1NTZmODhhMjg4ODVlNTk1Nzhi
ZmZkZDE1YzZmMmM0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCkBAIC0zOCwxMCArMzgsMTAgQEAgY2xh
c3MgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
CiBwcm90ZWN0ZWQ6CiAgICAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJl
Kik7Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUq
KTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0FycmF5
QnVmZmVyUHJvdG90eXBlKik7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNv
bnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqLCBKU0FycmF5QnVmZmVyUHJvdG90eXBl
Kik7CisgICAgc3RhdGljIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKik7CiAgICAg
CiAgICAgREVDTEFSRV9JTkZPOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDEwYmYxNzc4MjAyMmM0Nzk0ZDMwZTcwZWZi
MmJlZjVkZjI0MmNlMTguLjQ0NDVmNTNmNGI2ZGVjMGI1MTdlMzYzM2MxNWQ1YWRmZWVjMzI4MmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHAKQEAgLTE5NSw2ICsxOTUsMTcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZW5xdWV1ZUpvYihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKIH0KIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbShFeGVjU3RhdGUqIGV4ZWMpCit7
CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKTsKKworICAgIEpTVmFsdWUgY29uc3RydWN0b3JWYWx1ZSA9IGV4ZWMtPmFyZ3VtZW50
KDApOworICAgIGlmIChKU09iamVjdCogY29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4oY29uc3RydWN0b3JWYWx1ZSkpCisgICAgICAgIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xl
YW4oY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAmJiBjb25zdHJ1
Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkp
OworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oZmFsc2UpKTsKK30KKwog
SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKiBnbG9iYWxPYmplY3RNZXRob2RUYWJs
ZSkKICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgMCkKICAgICAsIG1fdm0odm0pCkBAIC0zNzcs
MTIgKzM4OCwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBtX2Rl
ZmluZVByb3BlcnR5RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9u
KTsKIAogICAgIEpTQ2VsbCogZnVuY3Rpb25Db25zdHJ1Y3RvciA9IEZ1bmN0aW9uQ29uc3RydWN0
b3I6OmNyZWF0ZSh2bSwgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQo
KSk7Ci0gICAgSlNDZWxsKiBhcnJheUNvbnN0cnVjdG9yID0gQXJyYXlDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlKHZtLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90eXBlLmdldCgpKTsKKyAgICBtX2Fy
cmF5Q29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0s
IHRoaXMsIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAKLSAg
ICBtX3JlZ0V4cENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNy
ZWF0ZSh2bSwgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9m
dW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CisgICAg
bV9yZWdFeHBDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVh
dGUodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFByb3RvdHlwZS5nZXQoKSkpOwog
ICAgIAogI2RlZmluZSBDUkVBVEVfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKGNhcGl0YWxO
YW1lLCBsb3dlck5hbWUsIHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCi1jYXBp
dGFsTmFtZSAjIyBDb25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRh
bE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0
b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSks
IG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCitjYXBpdGFsTmFtZSAjIyBD
b25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29u
c3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMj
IGxvd2VyTmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCiBtXyAjIyBsb3dlck5hbWUgIyMgUHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3IsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciwgRG9udEVudW0pOyBcCiAKICAg
ICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKENSRUFURV9DT05TVFJVQ1RPUl9GT1JfU0lN
UExFX1RZUEUpCkBAIC00MDUsNyArNDE2LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChW
TSYgdm0pCiAgICAgCiAgICAgbV9vYmplY3RQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rvciwgb2JqZWN0Q29uc3RydWN0
b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGZ1bmN0aW9uQ29u
c3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBtX2FycmF5UHJvdG90eXBlLT5wdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGFycmF5Q29u
c3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBtX2FycmF5UHJvdG90eXBlLT5wdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG1fYXJyYXlD
b25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIG1fcmVnRXhwUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3Is
IG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICNpZiBFTkFCTEUoUFJPTUlT
RVMpCiAgICAgbV9wcm9taXNlUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdl
dCgpLCBEb250RW51bSk7CkBAIC00MTMsNyArNDI0LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAgICAgCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPk9iamVjdCwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RnVuY3Rp
b24sIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXksIGFycmF5Q29uc3RydWN0b3Is
IERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+QXJyYXksIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SZWdFeHAs
IG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RXZhbEVycm9yLCBtX2V2YWxFcnJv
ckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJhbmdlRXJyb3IsIG1fcmFuZ2VFcnJvckNvbnN0
cnVjdG9yLmdldCgpLCBEb250RW51bSk7CkBAIC00OTMsOSArNTA0LDEwIEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+b2JqZWN0R2V0T3duUHJvcGVydHlTeW1ib2xzUHJpdmF0ZU5hbWUsIHByaXZh
dGVGdW5jT2JqZWN0R2V0T3duUHJvcGVydHlTeW1ib2xzLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5nZXRUZW1wbGF0ZU9iamVjdFByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0dldFRlbXBsYXRlT2Jq
ZWN0LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5lbnF1ZXVlSm9iUHJpdmF0ZU5hbWUsIEpTRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwgU3RyaW5nKCksIGVucXVldWVKb2IpLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2
bS5wcm9wZXJ0eU5hbWVzLT5pc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtUHJpdmF0
ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIGlzQXJyYXlD
b25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5UeXBl
RXJyb3JQcml2YXRlTmFtZSwgbV90eXBlRXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+QnVpbHRpbkxvZ1ByaXZhdGVOYW1lLCBidWlsdGluTG9nLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2
bS5wcm9wZXJ0eU5hbWVzLT5BcnJheVByaXZhdGVOYW1lLCBhcnJheUNvbnN0cnVjdG9yLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheVByaXZhdGVOYW1lLCBtX2FycmF5Q29uc3RydWN0b3Iu
Z2V0KCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPk51bWJlclByaXZhdGVOYW1lLCBudW1iZXJD
b25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+U3RyaW5nUHJpdmF0ZU5hbWUsIHN0
cmluZ0NvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hYnNQcml2YXRlTmFtZSwg
cHJpdmF0ZUZ1bmNBYnMsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKQEAgLTUw
MywxMCArNTE1LDEyIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+Z2V0UHJvdG90eXBlT2ZQcml2
YXRlTmFtZSwgcHJpdmF0ZUZ1bmNGbG9vciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+Z2V0T3du
UHJvcGVydHlOYW1lc1ByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0Zsb29yLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5pc0Zpbml0ZVByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0lzRmluaXRlLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5pc0FycmF5UHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIGFycmF5Q29uc3RydWN0b3JJc0FycmF5KSwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kS2V5UHJpdmF0ZU5hbWUsIGpzTnVt
YmVyKEFycmF5SXRlcmF0ZUtleSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwK
ICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0
aW9uS2luZFZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZVZhbHVlKSwgRG9u
dEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUlu
Zm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kS2V5VmFsdWVQcml2YXRlTmFt
ZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5VmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVz
LT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nh
c3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkp
KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9w
ZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3ltYm9sSXRlcmF0b3JQ
cml2YXRlTmFtZSgpLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+
KCp2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3ltYm9sU3BlY2llc1ByaXZhdGVOYW1lKCksIFN5
bWJvbDo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5TmFt
ZXMtPnNwZWNpZXNTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2
bS5wcm9wZXJ0eU5hbWVzLT5Qcm9taXNlUHJpdmF0ZU5hbWUsIG1fcHJvbWlzZUNvbnN0cnVjdG9y
LmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5wcm9taXNlUGVuZGluZ1ByaXZhdGVOYW1l
LCBqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRp
bmcpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTE2LDYgKzUzMCw4
IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9iYWxQcm9w
ZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudG9MZW5ndGhQcml2YXRl
TmFtZSgpLCBwcml2YXRlRnVuY1RvTGVuZ3RoLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWls
dGluTmFtZXMoKS50b0ludGVnZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvSW50ZWdlciwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNPYmplY3RQcml2YXRlTmFt
ZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdElz
T2JqZWN0Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS5zcGVjaWVzQ29uc3RydWN0b3JQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9u
OjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdFNwZWNpZXNDb25zdHJ1Y3Rv
ckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkuYXJyYXlTcGVjaWVzQ3JlYXRlUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3Jl
YXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zQXJyYXlBcnJheVNwZWNpZXNDcmVhdGVD
b2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5O
YW1lcygpLmlzUHJvbWlzZVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5G
dW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJc1Byb21pc2VDb2RlR2VuZXJhdG9yKHZtKSwg
dGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLm5ld1Byb21pc2VS
ZWFjdGlvblByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2
bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlUmVhY3Rpb25Db2RlR2VuZXJhdG9yKHZtKSwg
dGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLm5ld1Byb21pc2VD
YXBhYmlsaXR5UHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9u
KHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VDYXBhYmlsaXR5Q29kZUdlbmVyYXRvcih2
bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCkBAIC01MzEsNyAr
NTQ3LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgbV9zcGVjaWFs
UG9pbnRlcnNbU3BlY2lhbDo6Q2FsbEZ1bmN0aW9uXSA9IG1fY2FsbEZ1bmN0aW9uLmdldCgpOwog
ICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFwcGx5RnVuY3Rpb25dID0gbV9hcHBseUZ1
bmN0aW9uLmdldCgpOwogICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6Ok9iamVjdENvbnN0
cnVjdG9yXSA9IG9iamVjdENvbnN0cnVjdG9yOwotICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNp
YWw6OkFycmF5Q29uc3RydWN0b3JdID0gYXJyYXlDb25zdHJ1Y3RvcjsKKyAgICBtX3NwZWNpYWxQ
b2ludGVyc1tTcGVjaWFsOjpBcnJheUNvbnN0cnVjdG9yXSA9IG1fYXJyYXlDb25zdHJ1Y3Rvci5n
ZXQoKTsKIAogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExp
bmtUaW1lQ29uc3RhbnQ6OkRlZmluZVByb3BlcnR5RnVuY3Rpb24pXSA9IG1fZGVmaW5lUHJvcGVy
dHlGdW5jdGlvbi5nZXQoKTsKIApAQCAtNzYxLDYgKzc3Nyw3IEBAIHZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9nbG9iYWxUaGlzKTsKIAogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2dsb2JhbENhbGxlZSk7CisgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fYXJyYXlDb25zdHJ1Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fcmVnRXhwQ29uc3RydWN0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX2Vycm9yQ29uc3RydWN0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX2V2YWxFcnJvckNvbnN0cnVjdG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDU5NGQ5NjYyMjMzNzhkMWQxYWFiOGY0
NzU5NWFkZTA4MjJjMTgyMjMuLmRkNjM5MmMzNGYzYzcwMjhjZjQ5OWMyZWVlNzNmMTA1MDNlNGNh
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aApAQCAtNTUsNiArNTUsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgQXJyYXlDb25z
dHJ1Y3RvcjsKIGNsYXNzIEFycmF5UHJvdG90eXBlOwogY2xhc3MgQm9vbGVhblByb3RvdHlwZTsK
IGNsYXNzIENvbnNvbGVDbGllbnQ7CkBAIC0xNzgsNiArMTc5LDcgQEAgY2xhc3MgSlNHbG9iYWxP
YmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJy
aWVyPEpTT2JqZWN0PiBtX2dsb2JhbFRoaXM7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+
IG1fZ2xvYmFsQ2FsbGVlOworICAgIFdyaXRlQmFycmllcjxBcnJheUNvbnN0cnVjdG9yPiBtX2Fy
cmF5Q29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPFJlZ0V4cENvbnN0cnVjdG9yPiBtX3Jl
Z0V4cENvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxFcnJvckNvbnN0cnVjdG9yPiBtX2Vy
cm9yQ29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPE5hdGl2ZUVycm9yQ29uc3RydWN0b3I+
IG1fZXZhbEVycm9yQ29uc3RydWN0b3I7CkBAIC0zOTMsNiArMzk1LDcgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgLy8gVGhl
IGZvbGxvd2luZyBhY2Nlc3NvcnMgcmV0dXJuIHByaXN0aW5lIHZhbHVlcywgZXZlbiBpZiBhIHNj
cmlwdCAKICAgICAvLyByZXBsYWNlcyB0aGUgZ2xvYmFsIG9iamVjdCdzIGFzc29jaWF0ZWQgcHJv
cGVydHkuCiAKKyAgICBBcnJheUNvbnN0cnVjdG9yKiBhcnJheUNvbnN0cnVjdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOyB9CiAgICAgUmVnRXhwQ29uc3RydWN0
b3IqIHJlZ0V4cENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9yZWdFeHBDb25zdHJ1Y3Rv
ci5nZXQoKTsgfQogCiAgICAgRXJyb3JDb25zdHJ1Y3RvciogZXJyb3JDb25zdHJ1Y3RvcigpIGNv
bnN0IHsgcmV0dXJuIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCmluZGV4
IDY4OTVlZDgyZmFkODA3N2NkN2NmYzMwNDQxZTQ2OTEwNGNiMmVmMmMuLjhiNTVjMTYxMDA3YzRh
NzY3NTMwNDI1NzdhNDkwZjI5Yjg4NmM3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKQEAgLTgzLDYgKzgzLDkg
QEAgdm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1By
b21pc2VQcm90b3R5cGUqIHByb21pc2VQcm8KICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
QVNDSUlMaXRlcmFsKCJQcm9taXNlIikpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb21pc2VQcm90b3R5cGUsIERvbnRF
bnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkg
fCBEb250RW51bSB8IERvbnREZWxldGUpOworICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vz
c29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIHRoaXMpOworICAgIHNwZWNpZXNBY2Nlc3Nv
ci0+c2V0R2V0dGVyKHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24o
dm0sIHByb21pc2VDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xv
YmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5k
ZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0Fj
Y2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgY29uc3RydWN0UHJvbWlzZShFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmFk
NTJjMDU2MDQ4ZTE4YjdlZWM0OThmZjE0OTUzZmQ5MGZjZmVkZC4uMDBmZTk4ZTdhYzJkOWM5MjIz
NDVlN2ExNTlkZWJmZDU1OTcyZmRjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hcENvbnN0cnVjdG9yLmNwcApAQCAtMjcsNyArMjcsOSBAQAogI2luY2x1ZGUgIk1h
cENvbnN0cnVjdG9yLmgiCiAKICNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkdldHRlclNl
dHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0aW9ucy5oIgorI2luY2x1ZGUgIkpTQ0J1
aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIKICNpbmNsdWRlICJKU0Nl
bGxJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKQEAgLTM5LDExICs0MSwx
NCBAQAogCiBjb25zdCBDbGFzc0luZm8gTWFwQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0
aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXBDb25zdHJ1Y3Rv
cikgfTsKIAotdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBNYXBQ
cm90b3R5cGUqIG1hcFByb3RvdHlwZSkKK3ZvaWQgTWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgTWFwUHJvdG90eXBlKiBt
YXBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIG1hcFByb3RvdHlw
ZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbWFwUHJvdG90eXBlLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFJlYWRPbmx5IHwg
RG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3Nv
ciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNB
Y2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1
aWx0aW5GdW5jdGlvbih2bSwgbWFwQ29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRv
cih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERp
cmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2ws
IHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNYXAoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmgKaW5kZXggMWE4NWRl
NWIxNWIwMDdkMWU5ZGZjOGI5Y2I2NTYxMTA4Yzc2Mzc4MC4uYjY1OTVmODg0NGM5NjRiZThlNjYz
OGZmZDQ0YTExZmQ1M2FhOWNkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYsMTAgQEAgY2xhc3MgTWFwQ29uc3RydWN0
b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRl
cm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkK
KyAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBNYXBQcm90b3R5cGUqIG1hcFBy
b3RvdHlwZSkKICAgICB7CiAgICAgICAgIE1hcENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5l
dyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE1hcENvbnN0cnVjdG9yPih2bS5oZWFwKSkgTWFwQ29u
c3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVh
dGlvbih2bSwgbWFwUHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0
aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1hcFByb3RvdHlwZSk7CiAgICAgICAgIHJldHVybiBjb25z
dHJ1Y3RvcjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcgQEAgY2xhc3MgTWFwQ29uc3RydWN0b3Ig
OiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJl
KQogICAgIHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE1hcFByb3RvdHlw
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIE1hcFBy
b3RvdHlwZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlND
ZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShK
U0NlbGwqLCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGY4YjFmN2Y0NDM3MDNhYjQxOThkZDQzMjFl
MjA5ZGZlNjY4ODJhM2MuLmE4YjE3MzVhNjA4NmIyMzE5OWI0YTY3YmYyNjIwNTIyMzNlMzZiMDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0
b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBOdW1iZXJDb25zdHJ1Y3RvciA6IHB1YmxpYyBJ
bnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG
bGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEltcGxlbWVudHNIYXNJbnN0YW5j
ZTsKIAotICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQorICAgIHN0
YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBlKiBudW1iZXJQcm90b3R5cGUpCiAg
ICAgewogICAgICAgICBOdW1iZXJDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxOdW1iZXJDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIE51bWJlckNvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0sIG51bWJlclByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZWUxZDhiM2ZjNjlmOTQzYjk0YTUy
NTljZjdjMTg2Y2FjNjM3M2Y3NC4uYjNjZDk3NzI5NGFkNWZkZTdhM2MzNzk0ZDIxMGEwODE2MGUy
YjE4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENv
bnN0cnVjdG9yLmNwcApAQCAtMjMsNiArMjMsOCBAQAogI2luY2x1ZGUgIlJlZ0V4cENvbnN0cnVj
dG9yLmgiCiAKICNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgor
I2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1
ZGUgIlJlZ0V4cE1hdGNoZXNBcnJheS5oIgogI2luY2x1ZGUgIlJlZ0V4cFByb3RvdHlwZS5oIgpA
QCAtODksNyArOTEsNyBAQAogewogfQogCi12b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQordm9pZCBS
ZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKIHsKICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgcmVnRXhwUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xh
c3NOYW1lKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CkBAIC05OSw2ICsxMDEsMTAg
QEAgdm9pZCBSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBSZWdFeHBQ
cm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKIAogICAgIC8vIG5vLiBvZiBhcmd1bWVudHMgZm9y
IGNvbnN0cnVjdG9yCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMiksIFJlYWRPbmx5IHwgRG9udERlbGV0ZSB8IERv
bnRFbnVtKTsKKworICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRH
ZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9u
KHZtLCByZWdFeHBDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xv
YmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5k
ZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0Fj
Y2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogdm9pZCBSZWdFeHBDb25zdHJ1Y3Rv
cjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCBjYWJlZTE5YzkzZDliMjQ2YzgwODg1MWYy
YWZmNGUyYWQxMDQ2YTFhLi42NDI0MGVkYzU0MGE5OWM2NTQ3NWU2YmIxYzBmZDA2NTAyOWQ1OGJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVj
dG9yLmgKQEAgLTM1LDEwICszNSwxMCBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6IHB1Ymxp
YyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsK
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1
cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBSZWdF
eHBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4
cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQorICAgIHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQogICAgIHsKICAg
ICAgICAgUmVnRXhwQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxv
Y2F0ZUNlbGw8UmVnRXhwQ29uc3RydWN0b3I+KHZtLmhlYXApKSBSZWdFeHBDb25zdHJ1Y3Rvcih2
bSwgc3RydWN0dXJlLCByZWdFeHBQcm90b3R5cGUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+Zmlu
aXNoQ3JlYXRpb24odm0sIHJlZ0V4cFByb3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5m
aW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCByZWdFeHBQcm90b3R5cGUpOwogICAgICAg
ICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBAIC02OCw3ICs2OCw3IEBAIGNsYXNzIFJl
Z0V4cENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHN0YXRpYyB2
b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBSZWdFeHBQcm90b3R5cGUqKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBSZWdFeHBQcm90b3R5cGUqKTsK
IAogcHJpdmF0ZToKICAgICBSZWdFeHBDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSosIFJlZ0V4
cFByb3RvdHlwZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2V0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29u
c3RydWN0b3IuY3BwCmluZGV4IGZiOTdiNmQ5ZmEwZDBlZTYzYTFkNTJhOTg4N2VjNzc2OThmNzUz
ZGYuLmQxYjAzNTE0MGIxYWRjNzlkNjE5MDM2YmFiNTc5ZDNiM2UxNjhhMzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTI3LDcg
KzI3LDkgQEAKICNpbmNsdWRlICJTZXRDb25zdHJ1Y3Rvci5oIgogCiAjaW5jbHVkZSAiRXJyb3Iu
aCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJdGVyYXRvck9wZXJhdGlv
bnMuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNDZWxsSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCkBAIC00MCwxMSArNDIsMTUgQEAKIAogY29uc3QgQ2xhc3NJbmZvIFNldENvbnN0cnVj
dG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoU2V0Q29uc3RydWN0b3IpIH07CiAKLXZvaWQgU2V0Q29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCit2b2lkIFNldENv
bnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCBzZXRQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IHNldFByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpz
TnVtYmVyKDApLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisKKyAgICBHZXR0
ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmpl
Y3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgc2V0Q29uc3RydWN0b3JT
eW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9s
LnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250
RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxTZXQo
RXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2V0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENv
bnN0cnVjdG9yLmgKaW5kZXggZWZiZDg4YmIzMjJmZGRhYWI5Yjc1NjQzOTAzYTk3ZGU3ODVlNTgw
MC4uYjY4NDFmNzM1MGZjZDMyM2M3ZjMzMTkyZGJiOWQxOTEwMGI2OTJkNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYs
MTAgQEAgY2xhc3MgU2V0Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMg
U2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTZXRQ
cm90b3R5cGUqIHNldFByb3RvdHlwZSkKKyAgICBzdGF0aWMgU2V0Q29uc3RydWN0b3IqIGNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFNldENvbnN0
cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFNldENvbnN0
cnVjdG9yPih2bS5oZWFwKSkgU2V0Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAg
IGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgc2V0UHJvdG90eXBlKTsKKyAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIHNldFByb3RvdHlw
ZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcg
QEAgY2xhc3MgU2V0Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAg
ICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIFNldFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCosIFNldFByb3RvdHlwZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRp
YyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4IDM1
NzUxMWE1NzY1NGUxNjgyNWZkMjJiMGFlNjc3Mzg5ZDIwM2MyMDMuLmQyYTIxNTJkZmY2ZDg4YmJk
ZDZjNWZhZmZkMTIyYjAwNzU5MjYzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBTdHJp
bmdDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIElu
dGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dDsKIAotICAgIHN0YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQorICAgIHN0
YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCiAg
ICAgewogICAgICAgICBTdHJpbmdDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxTdHJpbmdDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFN0cmluZ0NvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0sIHN0cmluZ1Byb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAppbmRleCAzNDRhOTc4YWIwYWM3NGUxNTQ4M2IzZWUy
ZTU3OWZhZDAxZDdjZTM0Li4zYjM5M2ZkMWEwYTc0ZjAzMDMzZGZkYTk0MjdkMWFlNGQ3MzVhYjBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVj
dG9yLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgU3ltYm9sQ29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlTbG90IHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgU3ltYm9s
Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1ib2xQ
cm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMgU3ltYm9sQ29uc3RydWN0b3IqIGNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN5bWJvbFBy
b3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3ltYm9sQ29uc3RydWN0b3IqIGNv
bnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3ltYm9sQ29uc3RydWN0b3I+
KHZtLmhlYXApKSBTeW1ib2xDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29u
c3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAppbmRleCA2NmVkYmNi
MTZkODlhNWI2NjQ4MGFlZGEzMzYzM2I2ODUyZWU0ODk2Li42YzlhZDM5ZTUxZTU3YmM0NDllMjFl
OGVkN2JmZTYwYTJhZWQ4MWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBXZWFrTWFw
Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgV2Vha01hcENvbnN0cnVj
dG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha01hcFByb3RvdHlw
ZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90b3R5
cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtNYXBDb25zdHJ1Y3RvciogY29uc3Ry
dWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrTWFwQ29uc3RydWN0b3I+KHZt
LmhlYXApKSBXZWFrTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0
cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKaW5kZXggN2Y2ZmI2YTVl
NzY4ZWJmNDA4Y2E2Y2U3NWFkNTJlNmVjNTgzOTk2NC4uMjg4OWM5YzA5MDlhOTU0MDZlMDc4Mjc4
OGZjZGEzZDA5NDJmZGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha1NldENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha1NldENv
bnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVk
ZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIFdlYWtTZXRDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtTZXRQcm90b3R5cGUq
IHByb3RvdHlwZSkKKyAgICBzdGF0aWMgV2Vha1NldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90eXBl
KiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBXZWFrU2V0Q29uc3RydWN0b3IqIGNvbnN0cnVj
dG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8V2Vha1NldENvbnN0cnVjdG9yPih2bS5o
ZWFwKSkgV2Vha1NldENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzY2NDQyMGQ5Njhh
ZDI2ZGI0OWNhOGYzOWFiMjExMDkwNTY1NzMyNC4uZWZjYmVjYjhjZjBkY2FmNmJmYjVlNzNhNmZh
MjZmOGRiYjcyZmJlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA3LTA3ICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIFN1cHBvcnQg
QEBzcGVjaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDY2MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGpzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBqcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanM6CisKIDIwMTUt
MDctMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAg
ICAgICBQcm9taXNlLXJldHVybmluZyBmdW5jdGlvbnMgc2hvdWxkIHJlamVjdCBwcm9taXNlcyBp
ZiB0aGUgY2FsbGVlIGlzIG5vdCBvZiB0aGUgZXhwZWN0ZWQgdHlwZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4
IGIwNTQ0Y2VmZjQ5OGUwZGI3ZTJmYzYyMjQwOGU1ZDBmYjVlYTFmMDguLmQ1MTg2MjY0M2Q2MThi
NTJkNzZlZTIyNWVjZWIyNjQzMzIzZjAwMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL09i
amVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9q
cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQKQEAgLTYxLDcgKzYxLDcg
QEAgUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEVycm9yKSBpcyBbJ2xlbmd0aCcsICdu
YW1lJywgJ3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRXJyb3Iu
cHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0b1N0cmlu
ZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoTWF0aCkgaXMgWydFJywnTE4xMCcs
J0xOMicsJ0xPRzEwRScsJ0xPRzJFJywnUEknLCdTUVJUMV8yJywnU1FSVDInLCdhYnMnLCdhY29z
JywnYWNvc2gnLCdhc2luJywnYXNpbmgnLCdhdGFuJywnYXRhbjInLCdhdGFuaCcsJ2NicnQnLCdj
ZWlsJywnY2x6MzInLCdjb3MnLCdjb3NoJywnZXhwJywnZXhwbTEnLCdmbG9vcicsJ2Zyb3VuZCcs
J2h5cG90JywnaW11bCcsJ2xvZycsJ2xvZzEwJywnbG9nMXAnLCdsb2cyJywnbWF4JywnbWluJywn
cG93JywncmFuZG9tJywncm91bmQnLCdzaWduJywnc2luJywnc2luaCcsJ3NxcnQnLCd0YW4nLCd0
YW5oJywndHJ1bmMnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEpTT04pIGlzIFsn
cGFyc2UnLCAnc3RyaW5naWZ5J10KLVBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1i
b2wpIGlzIFsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdw
cm90b3R5cGUnLCAndW5zY29wYWJsZXMnXQorUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVz
KFN5bWJvbCkgaXMgWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0aCcsICduYW1l
JywgJ3Byb3RvdHlwZScsICdzcGVjaWVzJywgJ3Vuc2NvcGFibGVzJ10KIFBBU1MgZ2V0U29ydGVk
T3duUHJvcGVydHlOYW1lcyhTeW1ib2wucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9yJywgJ3Rv
U3RyaW5nJywgJ3ZhbHVlT2YnXQogUEFTUyBnbG9iYWxQcm9wZXJ0eU5hbWVzLmluZGV4T2YoJ05h
TicpICE9IC0xIGlzIHRydWUKIFBBU1MgZ2xvYmFsUHJvcGVydHlOYW1lcy5pbmRleE9mKCdJbmZp
bml0eScpICE9IC0xIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3Njcmlw
dC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcwppbmRleCBmNzlkZmFiNmE2YWY4
MjhjNDgzMDJkMGE3YWU1YTRiNWNlOWQ5OTI4Li41M2Q1ZjBkYTRjZmZmYmY4MDBkYjJlMDgzZmQ5
ZWZhZWJmMDY5Y2FmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2Jq
ZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRl
c3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCkBAIC03MCw3ICs3MCw3IEBACiAgICAg
IkVycm9yLnByb3RvdHlwZSI6ICJbJ2NvbnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0
b1N0cmluZyddIiwKICAgICAiTWF0aCI6ICJbJ0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywnTE9H
MkUnLCdQSScsJ1NRUlQxXzInLCdTUVJUMicsJ2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4nLCdh
c2luaCcsJ2F0YW4nLCdhdGFuMicsJ2F0YW5oJywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2Nvcycs
J2Nvc2gnLCdleHAnLCdleHBtMScsJ2Zsb29yJywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywnbG9n
JywnbG9nMTAnLCdsb2cxcCcsJ2xvZzInLCdtYXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdyb3Vu
ZCcsJ3NpZ24nLCdzaW4nLCdzaW5oJywnc3FydCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddIiwKICAg
ICAiSlNPTiI6ICJbJ3BhcnNlJywgJ3N0cmluZ2lmeSddIiwKLSAgICAiU3ltYm9sIjogIlsnZm9y
JywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAn
dW5zY29wYWJsZXMnXSIsCisgICAgIlN5bWJvbCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlG
b3InLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29wYWJs
ZXMnXSIsCiAgICAgIlN5bWJvbC5wcm90b3R5cGUiOiAiWydjb25zdHJ1Y3RvcicsICd0b1N0cmlu
ZycsICd2YWx1ZU9mJ10iCiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256604</attachid>
            <date>2015-07-10 13:18:13 -0700</date>
            <delta_ts>2015-07-12 10:32:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150711051710.patch</filename>
            <type>text/plain</type>
            <size>117325</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
OWZhNzg4ZjIxZjdmOTg5ZDI1NDdkMTQwYTMyNDRlY2RmNjcwZGI0Li42Mzg5YmQzMTc5YTRlNTZk
ZGRhNmI4NzY0ZWJhMjY0OTg5YWE0ODE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjggQEAKKzIwMTUtMDctMTAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToK
KyAgICAgICAgKiBidWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAoc3ltYm9s
U3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzOgorICAgICAgICAo
c3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBidWlsdGlucy9JdGVyYXRvci5wcm90b3R5
cGUuanM6CisgICAgICAgIChzeW1ib2xJdGVyYXRvcik6CisgICAgICAgIChTeW1ib2xJdGVyYXRv
cik6IERlbGV0ZWQuCisgICAgICAgICogYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanM6IENvcGll
ZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMuCisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9PcGVyYXRp
b25zLkFycmF5LmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
R2xvYmFsT2JqZWN0LmpzLgorICAgICAgICAoYXJyYXlTcGVjaWVzQ3JlYXRlKToKKyAgICAgICAg
KiBidWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qczoKKyAgICAgICAgKiBidWlsdGlucy9Qcm9t
aXNlQ29uc3RydWN0b3IuanM6CisgICAgICAgIChyYWNlKToKKyAgICAgICAgKHN5bWJvbFNwZWNp
ZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAg
ICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OnB1dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRp
b25QdXRCeVZhbEludGVybmFsKToKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6Cisg
ICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6
TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToK
KyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6QXJy
YXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlTcGVjaWVzQ29uc3RydWN0b3IpOgorICAgICAgICAo
SlNDOjpjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90
b0Z1bmNDb25jYXQpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY1NsaWNlKToKKyAgICAg
ICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTcGxpY2UpOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5Db25zdHJ1Y3Rvcjo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICogcnVu
dGltZS9EYXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAo
SlNDOjpFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1
Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjppc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyYXlDb25zdHJ1Y3Rvcik6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25JbmRl
eGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlv
bmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJv
bWlzZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oOgorICAgICAg
ICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpNYXBDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3Iu
aDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpOdW1iZXJDb25zdHJ1Y3Rv
cjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oOgorICAg
ICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpSZWdF
eHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlNl
dENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9TZXRDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpTZXRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAg
ICAgKiBydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwOgorICAgICAgICAoSlNDOjpTcGFy
c2VBcnJheVZhbHVlTWFwOjpwdXREaXJlY3QpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29u
c3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U3RyaW5nQ29uc3RydWN0b3I6OmNyZWF0ZSk6Cisg
ICAgICAgICogcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpTeW1i
b2xDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtNYXBDb25zdHJ1
Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFrTWFwQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6V2Vha1Nl
dENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9zeW1ib2wtc3Bl
Y2llcy5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAgIChzaG91bGRUaHJv
dyk6CisgICAgICAgICguZ2V0IEV4dGVuZGVkQXJyYXkpOgorICAgICAgICAoLmdldCBzaG91bGRC
ZSk6CisgICAgICAgICguc2V0IHNob3VsZEJlKToKKyAgICAgICAgKFRlc3QpOgorICAgICAgICAo
Lik6CisKIDIwMTUtMDctMDggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggZ3JhbW1hciBpc3N1ZSBpbiBUeXBlRXJyb3IgYXR0ZW1wdGluZyB0byBj
aGFuZ2UgYW4gdW5jb25maWd1cmFibGUgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCmluZGV4IGFmNDZkZDhmZWZmZTUzNGJj
ZDQwNTM0ZjM0ZjdiZjI1ZmE1YmU0NDMuLjEyMDlkNTc2NjExZDhkY2VlMjc4NTA3YzYwZTI4N2Vk
NjkwZDhmOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5
LnByb3RvdHlwZS5qcwpAQCAtMTYxLDcgKzE2MSw3IEBAIGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFj
ayAvKiwgdGhpc0FyZyAqLykgewogICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXku
cHJvdG90eXBlLmZpbHRlciBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTsKICAgICAKICAg
ICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5k
ZWZpbmVkOwotICAgIHZhciByZXN1bHQgPSBbXTsKKyAgICB2YXIgcmVzdWx0ID0gQGFycmF5U3Bl
Y2llc0NyZWF0ZShhcnJheSwgMCk7CiAgICAgdmFyIG5leHRJbmRleCA9IDA7CiAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICBpZiAoIShpIGluIGFycmF5KSkK
QEAgLTE5MCw3ICsxOTAsNyBAQCBmdW5jdGlvbiBtYXAoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8p
IHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5tYXAgY2Fs
bGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAgICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1
bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVz
dWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9IEBhcnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIGxl
bmd0aCk7CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGxlbmd0aDsKICAgICB2YXIgbmV4dEluZGV4ID0g
MDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCmluZGV4IDVhNTUx
ZjczOThmNzhmMGMyOWIwZjQzZDllZmNjMzdlYWEyMmUzMjUuLjM0ZGY2MjQwMjRiYmRhYzlhYjI3
ODA1NmFkYWZjMTZhOTI2MzY5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCkBAIC0xMDcsMyArMTA3LDEwIEBAIGZ1bmN0aW9u
IGZyb20oaXRlbXMgLyosIG1hcEZuLCB0aGlzQXJnICovKSB7CiAgICAgcmVzdWx0Lmxlbmd0aCA9
IGFycmF5TGlrZUxlbmd0aDsKICAgICByZXR1cm4gcmVzdWx0OwogfQorCitmdW5jdGlvbiBzeW1i
b2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3Qu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCmluZGV4
IDZhZGFkZWZiZDlhOTcwMTc3OTM2NjBhZmRiMjNhNzU1MmEyMDdhZjkuLmNjN2IyY2E5MWJmMGJl
MDY5ZWU0NDFjY2FkMWIzOThlZDM2M2U5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwpAQCAtNTUsMyArNTUsMjIgQEAgZnVuY3Rpb24gaXNP
YmplY3Qob2JqZWN0KQogCiAgICAgcmV0dXJuIChvYmplY3QgIT09IG51bGwgJiYgdHlwZW9mIG9i
amVjdCA9PT0gIm9iamVjdCIpIHx8IHR5cGVvZiBvYmplY3QgPT09ICJmdW5jdGlvbiI7CiB9CisK
K2Z1bmN0aW9uIHNwZWNpZXNDb25zdHJ1Y3RvcihvYmplY3QsIGRlZmF1bHRDb25zdHJ1Y3RvcikK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2YXIgY29uc3RydWN0b3IgPSBvYmplY3QuY29u
c3RydWN0b3I7CisgICAgaWYgKGNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQpCisgICAgICAgIHRo
cm93IG5ldyBAVHlwZUVycm9yKCJvYmplY3QgZG9lcyBub3QgaGF2ZSBcImNvbnN0cnVjdG9yXCIg
cHJvcGVydHkiKTsKKworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNp
ZXNdOworICAgIGlmIChzcGVjaWVzID09PSB1bmRlZmluZWQgfHwgc3BlY2llcyA9PT0gbnVsbCkK
KyAgICAgICAgcmV0dXJuIGRlZmF1bHRDb25zdHJ1Y3RvcjsKKworICAgIC8vIEZJWE1FOiBVc2Ug
aXNDb25zdHJ1Y3RvcihzcGVjaWVzKS4KKyAgICBpZiAodHlwZW9mIHNwZWNpZXMgIT09ICdmdW5j
dGlvbicpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJjb25zdHJ1Y3Rvci5AQHNwZWNp
ZXMgaXMgbm90IGEgY29uc3RydWN0b3IiKTsKKworICAgIHJldHVybiBzcGVjaWVzOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlw
ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMKaW5kZXggZGM3MmE2NDA4YjQzNjcwYTkzNjE5ZmM2MWYyYmVjMzI3NWUzOTVkNS4uMWU5Yjk4
Yzg0M2Q4Njc1NWM0NzYzMzc2NTc5ZjQ5OGE5MjAwMmRhMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzCkBAIC0yMyw3ICsy
Myw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWZ1bmN0aW9uIFN5bWJvbEl0ZXJhdG9yKCkK
K2Z1bmN0aW9uIHN5bWJvbEl0ZXJhdG9yKCkKIHsKICAgICAndXNlIHN0cmljdCc7CiAgICAgcmV0
dXJuIHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFw
Q29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFwQ29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRkNjhhNTUzNjE1YjgyZjljMGI0YzkxZmQ3ZWZh
M2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9N
YXBDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQor
eworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNzBkYzJlZTQ4NTVkM2NiYjhjY2UwZjQ0NGI3YzU4MmY1MmE4OTc4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanMK
QEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtp
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitmdW5jdGlvbiBhcnJheVNwZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwg
bGVuZ3RoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIGlmICghQGlzQXJyYXkob3JpZ2lu
YWxBcnJheSkpCisgICAgICAgIHJldHVybiBuZXcgQEFycmF5KGxlbmd0aCk7CisKKyAgICB2YXIg
Y29uc3RydWN0b3IgPSBvcmlnaW5hbEFycmF5LmNvbnN0cnVjdG9yOworCisgICAgLy8gRWFybHkg
Y2hlY2sgZm9yIHRoZSBjb21tb24gcGF0aC4KKyAgICBpZiAoY29uc3RydWN0b3IgIT09IEBBcnJh
eSkgeworICAgICAgICAvLyBGSVhNRTogVXNlIGlzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpLgor
ICAgICAgICBpZiAodHlwZW9mIGNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iKSB7CisgICAgICAg
ICAgICBpZiAoQGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0oY29uc3RydWN0b3Ip
KQorICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQEFycmF5KGxlbmd0aCk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBpZiAoQGlzT2JqZWN0KGNvbnN0cnVjdG9yKSkgeworICAgICAgICBjb25z
dHJ1Y3RvciA9IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsKKyAgICAgICAgaWYgKGNvbnN0
cnVjdG9yID09PSBudWxsKQorICAgICAgICAgICAgY29uc3RydWN0b3IgPSB1bmRlZmluZWQ7Cisg
ICAgfQorCisgICAgaWYgKGNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQpCisgICAgICAgIHJldHVy
biBuZXcgQEFycmF5KGxlbmd0aCk7CisKKyAgICAvLyBGSVhNRTogVXNlIGlzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpLgorICAgIGlmICh0eXBlb2YgY29uc3RydWN0b3IgIT09ICJmdW5jdGlvbiIp
CisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVj
aWVzIGlzIG5vdCBhIGZ1bmN0aW9uIik7CisKKyAgICByZXR1cm4gbmV3IGNvbnN0cnVjdG9yKGxl
bmd0aCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJv
bWlzZS5wcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlz
ZS5wcm90b3R5cGUuanMKaW5kZXggODU2M2RmMGQ5MjdmYjIzMzk2ODkzOWUxNDk0MjM5NmVjODVl
NjVhYS4uY2Y2YTIwZmQ4MzI1YjgzYzFiOTA3NWI1OTEyYzQzNTkwNDAxNjNmYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcwpA
QCAtMzcsOSArMzcsNyBAQCBmdW5jdGlvbiB0aGVuKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKQog
ICAgIGlmICghQGlzUHJvbWlzZSh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3Io
Inx0aGlzfCBpcyBub3QgYSBvYmplY3QiKTsKIAotICAgIC8vIEZJWE1FOiBGaXggdGhpcyBjb2Rl
IHdoZW4gQEBzcGVjaWVzIHdlbGwta25vd24gc3ltYm9sIGlzIGxhbmRlZC4KLSAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0Ci0gICAgdmFyIGNvbnN0
cnVjdG9yID0gdGhpcy5jb25zdHJ1Y3RvcjsKKyAgICB2YXIgY29uc3RydWN0b3IgPSBAc3BlY2ll
c0NvbnN0cnVjdG9yKHRoaXMsIEBQcm9taXNlKTsKIAogICAgIHZhciByZXN1bHRDYXBhYmlsaXR5
ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKaW5kZXggMWY4
M2I0N2Y3OTBhNzVlNWJmOGM5M2Q1ZTY2NDk2MThjYjFhZWM2Ny4uM2Y5OGViZjMzYWUyOTc4ODM2
Y2YxNzIxMjg2NTg1Y2ExN2UwZmIxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCkBAIC0zMCw5ICszMCwxMCBAQCBmdW5j
dGlvbiBhbGwoaXRlcmFibGUpCiAgICAgaWYgKCFAaXNPYmplY3QodGhpcykpCiAgICAgICAgIHRo
cm93IG5ldyBUeXBlRXJyb3IoInx0aGlzfCBpcyBub3QgYSBvYmplY3QiKTsKIAotICAgIC8vIEZJ
WE1FOiBGaXggdGhpcyBjb2RlIHdoZW4gQEBzcGVjaWVzIHdlbGwta25vd24gc3ltYm9sIGlzIGxh
bmRlZC4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2
NjI0CiAgICAgdmFyIGNvbnN0cnVjdG9yID0gdGhpczsKKyAgICB2YXIgc3BlY2llcyA9IGNvbnN0
cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsKKyAgICBpZiAoc3BlY2llcyAhPT0gdW5kZWZpbmVkICYm
IHNwZWNpZXMgIT09IG51bGwpCisgICAgICAgIGNvbnN0cnVjdG9yID0gc3BlY2llczsKIAogICAg
IHZhciBwcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShjb25zdHJ1Y3Rv
cik7CiAKQEAgLTg2LDkgKzg3LDEwIEBAIGZ1bmN0aW9uIHJhY2UoaXRlcmFibGUpCiAgICAgaWYg
KCFAaXNPYmplY3QodGhpcykpCiAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoInx0aGlzfCBp
cyBub3QgYSBvYmplY3QiKTsKIAotICAgIC8vIEZJWE1FOiBGaXggdGhpcyBjb2RlIHdoZW4gQEBz
cGVjaWVzIHdlbGwta25vd24gc3ltYm9sIGlzIGxhbmRlZC4KLSAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0CiAgICAgdmFyIGNvbnN0cnVjdG9yID0g
dGhpczsKKyAgICB2YXIgc3BlY2llcyA9IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsKKyAg
ICBpZiAoc3BlY2llcyAhPT0gdW5kZWZpbmVkICYmIHNwZWNpZXMgIT09IG51bGwpCisgICAgICAg
IGNvbnN0cnVjdG9yID0gc3BlY2llczsKIAogICAgIHZhciBwcm9taXNlQ2FwYWJpbGl0eSA9IEBu
ZXdQcm9taXNlQ2FwYWJpbGl0eShjb25zdHJ1Y3Rvcik7CiAKQEAgLTEzNywzICsxMzksMTAgQEAg
ZnVuY3Rpb24gcmVzb2x2ZSh2YWx1ZSkKIAogICAgIHJldHVybiBwcm9taXNlQ2FwYWJpbGl0eS5A
cHJvbWlzZTsKIH0KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJp
Y3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRkNjhhNTUzNjE1
YjgyZjljMGI0YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9u
IHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlz
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXgg
NmY5NTEyYmE1MzRjNDkwZDRiZjk5OGFmNWQwODI0NDEyZGJiOTE0ZS4uZjlhNTNjMTM4ZmZkODRl
OWU4NGE1MWI2Yjg2YTlhMGFjMjQxM2UwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09wZXJhdGlvbnMuY3BwCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBw
dXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCB1aW50MzJfdCBpbmRl
eCwKICAgICBBU1NFUlQoaXNJbmRleChpbmRleCkpOwogICAgIGlmIChkaXJlY3QpIHsKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwotICAgICAgICBhc09iamVj
dChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgdmFsdWUsIDAsIHN0cmlj
dCA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRo
cm93KTsKKyAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywg
aW5kZXgsIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0KCkpIHsKQEAgLTEyNCw3ICsxMjQs
NyBAQCBBTFdBWVNfSU5MSU5FIHN0YXRpYyB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlWYWxJbnRlcm5hbChFeGVjU3RhdGUqIGV4ZQogICAgIGlmIChkaXJlY3QpIHsKICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgICAgICBpZiAoT3B0aW9u
YWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICAg
ICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgudmFsdWUo
KSwgdmFsdWUsIDAsIHN0cmljdCA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJl
Y3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSkt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBzdHJpY3QgPyBQ
dXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNo
b3VsZE5vdFRocm93KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYXNPYmplY3QoYmFzZVZh
bHVlKS0+cHV0RGlyZWN0KCp2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgfSBl
bHNlCkBAIC01MDEsNyArNTAxLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QoRXhlY1N0YXRlKiBleGUKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKICAgICBpZiAoaW5kZXggPj0gMCkgewotICAgICAgICBhcnJheS0+cHV0RGlyZWN0SW5k
ZXgoZXhlYywgaW5kZXgsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCAwLCBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93KTsKKyAgICAgICAgYXJyYXktPnB1dERpcmVjdEluZGV4KGV4ZWMs
IGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgMCwgUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDM4MDE1
ZDJkODA0ZjkzNTkyMGY5NzU2YTcxY2EyZmRmZWExNzk1OTAuLjFlNjQ1MmVjZWZhNDExNzQ0MDVl
OWY0ZTM2MGE0YTIxOTAyYjM3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBAIHN0YXRpYyB2b2lkIGRpcmVjdFB1dEJ5
VmFsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSBz
CiAgICAgICAgIH0KIAogICAgICAgICBhcnJheVByb2ZpbGUtPnNldE91dE9mQm91bmRzKCk7Ci0g
ICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgsIHZhbHVl
LCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0
SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4
KGNhbGxGcmFtZSwgaW5kZXgsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRl
eENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTQ0LDcgKzU0NCw3IEBAIHN0YXRpYyB2
b2lkIGRpcmVjdFB1dEJ5VmFsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU09iamVjdCogYmFzZU9i
amVjdCwgSlNWYWx1ZSBzCiAgICAgICAgIGRvdWJsZSBzdWJzY3JpcHRBc0RvdWJsZSA9IHN1YnNj
cmlwdC5hc0RvdWJsZSgpOwogICAgICAgICB1aW50MzJfdCBzdWJzY3JpcHRBc1VJbnQzMiA9IHN0
YXRpY19jYXN0PHVpbnQzMl90PihzdWJzY3JpcHRBc0RvdWJsZSk7CiAgICAgICAgIGlmIChzdWJz
Y3JpcHRBc0RvdWJsZSA9PSBzdWJzY3JpcHRBc1VJbnQzMiAmJiBpc0luZGV4KHN1YnNjcmlwdEFz
VUludDMyKSkgewotICAgICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoY2FsbEZy
YW1lLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVj
dEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAg
ICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgc3Vic2NyaXB0QXNV
SW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTU1NSw3ICs1NTUsNyBAQCBzdGF0aWMg
dm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VP
YmplY3QsIEpTVmFsdWUgcwogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoT3B0aW9uYWw8dWlu
dDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eSkpCi0gICAgICAgIGJhc2VPYmplY3Qt
PnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3Ry
aWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3Vs
ZE5vdFRocm93KTsKKyAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoY2FsbEZyYW1l
LCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CiAgICAgZWxzZSB7CiAgICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGlz
U3RyaWN0TW9kZSk7CiAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChjYWxsRnJhbWUtPnZt
KCksIHByb3BlcnR5LCB2YWx1ZSwgc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCA5Y2NjMWNlNDk3ODhkNzEwZmM2OWE2OTE1NDM0
MjcxYThjMDlkMmU0Li42ZDA2ZTg1OGVjZDRmMDZlMjRmNTM0ZTRjNjhiYWM2MTg3MjI3NjIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAg
LTgwMCw3ICs4MDAsNyBAQCBpbmxpbmUgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgYmFzZVZhbHVlLCBKU1ZhbHVlIHN1YnNjcmlwdCkKICAgICBpZiAoTElLRUxZKHN1
YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAgICAgICAvLyBEZXNwaXRlIGl0cyBuYW1lLCBKU1Zh
bHVlOjppc1VJbnQzMiB3aWxsIHJldHVybiB0cnVlIG9ubHkgZm9yIHBvc2l0aXZlIGJveGVkIGlu
dDMyX3Q7IGFsbCB0aG9zZSB2YWx1ZXMgYXJlIHZhbGlkIGFycmF5IGluZGljZXMuCiAgICAgICAg
IEFTU0VSVChpc0luZGV4KHN1YnNjcmlwdC5hc1VJbnQzMigpKSk7Ci0gICAgICAgIGJhc2VPYmpl
Y3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdC5hc1VJbnQzMigpLCB2YWx1ZSwgMCwg
aXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4
U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVj
LCBzdWJzY3JpcHQuYXNVSW50MzIoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVj
dEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90
VGhyb3cpOwogICAgICAgICBMTElOVF9FTkQoKTsKICAgICB9CiAKQEAgLTgwOCw3ICs4MDgsNyBA
QCBpbmxpbmUgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZh
bHVlLCBKU1ZhbHVlIHN1YnNjcmlwdCkKICAgICAgICAgZG91YmxlIHN1YnNjcmlwdEFzRG91Ymxl
ID0gc3Vic2NyaXB0LmFzRG91YmxlKCk7CiAgICAgICAgIHVpbnQzMl90IHN1YnNjcmlwdEFzVUlu
dDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN1YnNjcmlwdEFzRG91YmxlKTsKICAgICAgICAg
aWYgKHN1YnNjcmlwdEFzRG91YmxlID09IHN1YnNjcmlwdEFzVUludDMyICYmIGlzSW5kZXgoc3Vi
c2NyaXB0QXNVSW50MzIpKSB7Ci0gICAgICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRl
eChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERp
cmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAg
ICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdEFzVUlu
dDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgICAg
ICBMTElOVF9FTkQoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTgxOSw3ICs4MTksNyBAQCBpbmxp
bmUgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBK
U1ZhbHVlIHN1YnNjcmlwdCkKICAgICAgICAgTExJTlRfRU5EKCk7CiAKICAgICBpZiAoT3B0aW9u
YWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eSkpCi0gICAgICAgIGJhc2VP
YmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBpc1N0
cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91
bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGlu
ZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleENyZWF0
ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAg
ICBlbHNlIHsKICAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgaXNTdHJp
Y3RNb2RlKTsKICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIHByb3Bl
cnR5LCB2YWx1ZSwgc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IDE5NGY5MjE3YzFjMjE4NjAzNjllYzBlNGVlNDRk
ODdjOTg4MDA4MzYuLjE2NmI4OTc3M2YwODM5OTI1ZTY4MzI3NDNkZTdkODViOTgwYTkyNjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3Iu
Y3BwCkBAIC0yOSwxNyArMjksMTIgQEAKICNpbmNsdWRlICJDb3BpZWRTcGFjZUlubGluZXMuaCIK
ICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNs
dWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNG
dW5jdGlvbi5oIgogI2luY2x1ZGUgIkxvb2t1cC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
IAotbmFtZXNwYWNlIEpTQyB7Ci0KLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycmF5Q29uc3RydWN0b3JJc0FycmF5KEV4ZWNTdGF0ZSopOwotCi19Ci0KICNpbmNsdWRlICJB
cnJheUNvbnN0cnVjdG9yLmx1dC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTYxLDExICs1Niwx
NCBAQAogewogfQogCi12b2lkIEFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQordm9pZCBBcnJheUNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFy
cmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSwgYXJyYXlQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGFy
cmF5UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJT
ZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3Qs
IEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgYXJyYXlDb25zdHJ1Y3RvclN5
bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wu
c3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRF
bnVtKTsKIH0KIAogYm9vbCBBcnJheUNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNP
YmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
LCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUNvbnN0cnVjdG9yLmgKaW5kZXggMDQwZjI2YzRjOTkwNWE0NTc2OTRjMDVjODU0NDcw
NjA3YmI0ODRhNy4uMWQyOTNkYWY5Nzg2M2JkYTc2NDQ5NDU0NmFhMGRiOGQwODYxODJlYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApA
QCAtMzQsMTAgKzM0LDEwIEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJu
YWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMg
QXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFy
cmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKKyAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKICAgICB7CiAgICAg
ICAgIEFycmF5Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8QXJyYXlDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEFycmF5Q29uc3RydWN0b3Iodm0sIHN0
cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQ
cm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2Jh
bE9iamVjdCwgYXJyYXlQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAg
ICAgfQogCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEFycmF5UHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlQcm90b3R5cGUqKTsKIAogcHJpdmF0ZToKICAgICBB
cnJheUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CkBAIC02MCw2ICs2MCw3IEBAIGNsYXNz
IEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiB9OwogCiBKU09i
amVjdCogY29uc3RydWN0QXJyYXlXaXRoU2l6ZVF1aXJrKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2Nh
dGlvblByb2ZpbGUqLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOworRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9ySXNBcnJheShFeGVjU3RhdGUqKTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAppbmRleCA4N2NlYWUxY2JlZjU1Y2Y3NmJlODU4MWUxN2MyYjM5Yzc1
ODAzYWRlLi43NzBmNzU5YmUwMzU2NWU0NTE3ZGJiZDMyZTdhZjdiZTgxYTJkODI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0y
NCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQXJyYXlQcm90b3R5
cGUuaCIKIAorI2luY2x1ZGUgIkFycmF5Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJCdXR0ZXJm
bHlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ2FsbC5oIgogI2luY2x1ZGUgIkNvZGVCbG9j
ay5oIgpAQCAtNDk5LDEzICs1MDAsNjYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBh
cnJheVByb3RvRnVuY0pvaW4oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoam9pbigqZXhlYywgdGhpc09iamVjdCwgc2VwYXJhdG9yLT52aWV3KGV4ZWMpKSk7CiB9
CiAKK3N0YXRpYyBKU1ZhbHVlIGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhl
YywgSlNPYmplY3QqIG9yaWdpbmFsQXJyYXkpCit7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKworICAgIGlmICghaXNKU0Fy
cmF5KG9yaWdpbmFsQXJyYXkpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNv
bnN0cnVjdG9yKCk7CisKKyAgICBKU0FycmF5KiBhcnJheSA9IGpzQ2FzdDxKU0FycmF5Kj4ob3Jp
Z2luYWxBcnJheSk7CisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gYXJyYXktPkpTQXJy
YXk6OmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IpOworICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisK
KyAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgQ29uc3RydWN0VHlwZSBjb25z
dHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvclZhbHVlLCBjb25zdHJ1Y3RE
YXRhKTsKKyAgICBpZiAoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlTm9uZSkgeworICAg
ICAgICBpZiAoSlNPYmplY3QqIGNvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KGNvbnN0cnVjdG9yVmFsdWUpKSB7CisgICAgICAgICAgICBpZiAoY29uc3RydWN0b3ItPmdsb2Jh
bE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAmJiBjb25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+
Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5pc09iamVjdCgpKSB7CisgICAgICAgIGNvbnN0cnVj
dG9yVmFsdWUgPSBqc0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKS0+Z2V0KGV4ZWMs
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKKyAgICAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAg
ICAgIGlmIChjb25zdHJ1Y3RvclZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGds
b2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworICAgIH0KKworICAgIGlmIChjb25zdHJ1
Y3RvclZhbHVlLmlzVW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFy
cmF5Q29uc3RydWN0b3IoKTsKKworICAgIENvbnN0cnVjdERhdGEgc3BlY2llc0RhdGE7CisgICAg
Q29uc3RydWN0VHlwZSBzcGVjaWVzVHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3JW
YWx1ZSwgc3BlY2llc0RhdGEpOworICAgIGlmIChzcGVjaWVzVHlwZSA9PSBDb25zdHJ1Y3RUeXBl
Tm9uZSkKKyAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgi
Z2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpKTsKKworICAg
IHJldHVybiBjb25zdHJ1Y3RvclZhbHVlOworfQorCitzdGF0aWMgYm9vbCBjcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQg
aW5kZXgsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0dXJuIG9iamVjdC0+cHV0RGlyZWN0SW5k
ZXgoZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3cpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9G
dW5jQ29uY2F0KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4
ZWMtPnRoaXNWYWx1ZSgpLnRvVGhpcyhleGVjLCBTdHJpY3RNb2RlKTsKKyAgICBKU09iamVjdCog
dGhpc09iamVjdCA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisKKyAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3Io
ZXhlYywgdGhpc09iamVjdCk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGJvb2wgaXNBcnJh
eUNvbnN0cnVjdG9yID0gSlNWYWx1ZTo6c3RyaWN0RXF1YWwoZXhlYywgY29uc3RydWN0b3IsIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKTsKKworICAgIEpT
VmFsdWUgY3VyQXJnID0gdGhpc09iamVjdDsKICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGV4ZWMt
PmFyZ3VtZW50Q291bnQoKTsKLSAgICBKU1ZhbHVlIGN1ckFyZyA9IHRoaXNWYWx1ZS50b09iamVj
dChleGVjKTsKICAgICBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gZmluYWxBcnJh
eVNpemUgPSAwOwotCiAgICAgSlNBcnJheSogY3VycmVudEFycmF5ID0gbnVsbHB0cjsKICAgICBK
U0FycmF5KiBwcmV2aW91c0FycmF5ID0gbnVsbHB0cjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyA7ICsraSkgewpAQCAtNTI2LDE3ICs1ODAsMzAgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGZpbmFs
QXJyYXlTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOwogCi0gICAgaWYgKGFyZ0NvdW50ID09IDEg
JiYgcHJldmlvdXNBcnJheSAmJiBjdXJyZW50QXJyYXkgJiYgZmluYWxBcnJheVNpemUudW5zYWZl
R2V0KCkgPCBNSU5fU1BBUlNFX0FSUkFZX0lOREVYKSB7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1
Y3RvciAmJiBhcmdDb3VudCA9PSAxICYmIHByZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYm
IGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpIDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgewog
ICAgICAgICBJbmRleGluZ1R5cGUgdHlwZSA9IEpTQXJyYXk6OmZhc3RDb25jYXRUeXBlKGV4ZWMt
PnZtKCksICpwcmV2aW91c0FycmF5LCAqY3VycmVudEFycmF5KTsKICAgICAgICAgaWYgKHR5cGUg
IT0gTm9uQXJyYXkpCiAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNBcnJheS0+ZmFzdENvbmNh
dFdpdGgoKmV4ZWMsICpjdXJyZW50QXJyYXkpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIGFyciA9
IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZl
R2V0KCkpOwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVs
bHB0cjsKKyAgICBpZiAoaXNBcnJheUNvbnN0cnVjdG9yKSB7CisgICAgICAgIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0
KCkpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0gZWxzZSB7CisgICAgICAg
IENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25z
dHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7
CisgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RU
eXBlTm9uZSwgImFycmF5U3BlY2llc0NvbnN0cnVjdG9yIGFsd2F5cyByZXR1cm5zIGEgY29uc3Ry
dWN0b3IgaWYgaXQgZG9lcyBub3QgcmFpc2UgYW4gZXJyb3IuIik7CiAKLSAgICBjdXJBcmcgPSB0
aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFy
Z3M7CisgICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKDApKTsKKyAgICAgICAgcmVzdWx0ID0g
Y29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25zdHJ1Y3REYXRh
LCBhcmdzKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9CisKKyAgICBjdXJB
cmcgPSB0aGlzT2JqZWN0OwogICAgIHVuc2lnbmVkIG4gPSAwOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IDsgKytpKSB7CiAgICAgICAgIGlmIChKU0FycmF5KiBjdXJyZW50QXJyYXkgPSBqc0R5
bmFtaWNDYXN0PEpTQXJyYXkqPihjdXJBcmcpKSB7CkBAIC01NDgsMjAgKzYxNSwzMCBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jQ29uY2F0KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCBjdXJy
ZW50QXJyYXksIGspOwogICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKLSAgICAgICAgICAgICAgICBpZiAodikKLSAgICAgICAgICAgICAgICAgICAgYXJyLT5wdXRE
aXJlY3RJbmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgICAgICAgICBpZiAodikgeworICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgbiwg
dik7CisgICAgICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIG4rKzsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGFyci0+cHV0RGlyZWN0SW5kZXgoZXhlYywg
biwgY3VyQXJnKTsKKyAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywg
cmVzdWx0LCBuLCBjdXJBcmcpOworICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CiAgICAgICAgICAgICBuKys7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGkgPT0gYXJnQ291bnQp
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY3VyQXJnID0gZXhlYy0+dW5jaGVja2VkQXJn
dW1lbnQoaSk7CiAgICAgfQotICAgIGFyci0+c2V0TGVuZ3RoKGV4ZWMsIG4pOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoYXJyKTsKKworICAgIGlmIChpc0FycmF5Q29uc3RydWN0b3IpCisg
ICAgICAgIGpzQ2FzdDxKU0FycmF5Kj4ocmVzdWx0KS0+c2V0TGVuZ3RoKGV4ZWMsIG4pOworICAg
IGVsc2UKKyAgICAgICAgcHV0TGVuZ3RoKGV4ZWMsIHJlc3VsdCwganNOdW1iZXIobikpOworCisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jUG9wKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTczMCwy
MyArODA3LDU0IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNT
bGljZShFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICB1bnNpZ25lZCBiZWdpbiA9IGFyZ3VtZW50Q2xh
bXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZXhlYywgMCwgbGVuZ3RoKTsKICAgICB1bnNpZ25lZCBl
bmQgPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMsIDEsIGxlbmd0aCwg
bGVuZ3RoKTsKKyAgICB1bnNpZ25lZCBjb3VudCA9IGVuZCAtIGJlZ2luOwogCi0gICAgaWYgKGlz
SlNBcnJheSh0aGlzT2JqKSkgewotICAgICAgICBpZiAoSlNBcnJheSogcmVzdWx0ID0gYXNBcnJh
eSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgZW5kIC0gYmVnaW4pKQotICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgIEpTVmFsdWUgY29uc3Ry
dWN0b3IgPSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqKTsKKyAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7CisKKyAgICBpZiAoSlNWYWx1ZTo6c3RyaWN0RXF1YWwoZXhlYywgY29uc3Ry
dWN0b3IsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSkg
eworICAgICAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKSB7CisgICAgICAgICAgICBpZiAoSlNB
cnJheSogcmVzdWx0ID0gYXNBcnJheSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwg
Y291bnQpKQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsK
KyAgICAgICAgfQorCisgICAgICAgIEpTQXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5QXJy
YXkoZXhlYywgbnVsbHB0ciwgY291bnQpOworCisgICAgICAgIHVuc2lnbmVkIG4gPSAwOworICAg
ICAgICBmb3IgKHVuc2lnbmVkIGsgPSBiZWdpbjsgayA8IGVuZDsgaysrLCBuKyspIHsKKyAgICAg
ICAgICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOworICAgICAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICBpZiAodikKKyAgICAg
ICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICB9
CisgICAgICAgIHJlc3VsdC0+c2V0TGVuZ3RoKGV4ZWMsIG4pOworICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgfQogCi0gICAgSlNBcnJheSogcmVzdWx0ID0gY29u
c3RydWN0RW1wdHlBcnJheShleGVjLCBudWxscHRyLCBlbmQgLSBiZWdpbik7CisgICAgQ29uc3Ry
dWN0RGF0YSBjb25zdHJ1Y3REYXRhOworICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9
IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOworICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlTm9uZSwgImFycmF5
U3BlY2llc0NvbnN0cnVjdG9yIGFsd2F5cyByZXR1cm5zIGEgY29uc3RydWN0b3IgaWYgaXQgZG9l
cyBub3QgcmFpc2UgYW4gZXJyb3IuIik7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdz
OworICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGNvdW50KSk7CisgICAgSlNPYmplY3QqIHJlc3Vs
dCA9IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3RydWN0
RGF0YSwgYXJncyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAgdW5zaWduZWQgbiA9IDA7
CiAgICAgZm9yICh1bnNpZ25lZCBrID0gYmVnaW47IGsgPCBlbmQ7IGsrKywgbisrKSB7Ci0gICAg
ICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOworICAgICAgICBK
U1ZhbHVlIHZhbHVlID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CiAgICAgICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgIGlmICh2KQotICAgICAgICAgICAgcmVzdWx0LT5w
dXREaXJlY3RJbmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgaWYgKHZhbHVlKSB7CisgICAgICAg
ICAgICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgbiwgdmFsdWUpOwor
ICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgIH0KICAgICB9Ci0g
ICAgcmVzdWx0LT5zZXRMZW5ndGgoZXhlYywgbik7CisgICAgcHV0TGVuZ3RoKGV4ZWMsIHJlc3Vs
dCwganNOdW1iZXIobikpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0K
IApAQCAtNzc3LDIyICs4ODUsNTQgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRnVuY1NwbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBkZWxldGVDb3Vu
dCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZWxldGVEb3VibGUpOwogICAgIH0KIAotICAgIEpT
QXJyYXkqIHJlc3VsdCA9IG51bGxwdHI7CisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvciA9IGFycmF5
U3BlY2llc0NvbnN0cnVjdG9yKGV4ZWMsIHRoaXNPYmopOworICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
KworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBudWxscHRyOworICAgIGlmIChKU1ZhbHVlOjpzdHJp
Y3RFcXVhbChleGVjLCBjb25zdHJ1Y3RvciwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5h
cnJheUNvbnN0cnVjdG9yKCkpKSB7CisgICAgICAgIEpTQXJyYXkqIHJlc3VsdEFycmF5ID0gbnVs
bHB0cjsKIAotICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpCi0gICAgICAgIHJlc3VsdCA9IGFz
QXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGRlbGV0ZUNvdW50KTsKKyAg
ICAgICAgaWYgKGlzSlNBcnJheSh0aGlzT2JqKSkKKyAgICAgICAgICAgIHJlc3VsdEFycmF5ID0g
YXNBcnJheSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgZGVsZXRlQ291bnQpOwog
Ci0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmVzdWx0ID0gSlNBcnJheTo6dHJ5Q3JlYXRl
VW5pbml0aWFsaXplZCh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVj
dHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwg
ZGVsZXRlQ291bnQpOwotICAgICAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKKyAgICAgICAgaWYg
KCFyZXN1bHRBcnJheSkgeworICAgICAgICAgICAgcmVzdWx0QXJyYXkgPSBKU0FycmF5Ojp0cnlD
cmVhdGVVbmluaXRpYWxpemVkKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5
U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lk
ZWQpLCBkZWxldGVDb3VudCk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdEFycmF5KQorICAgICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4
ZWMpKTsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50
OyArK2spIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0
aGlzT2JqLCBrICsgYmVnaW4pOworICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgICAgICAgICByZXN1bHRBcnJheS0+aW5pdGlhbGl6ZUluZGV4KHZt
LCBrLCB2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSByZXN1
bHRBcnJheTsKKyAgICB9IGVsc2UgeworICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERh
dGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERh
dGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOworICAgICAgICBBU1NFUlRfV0lUSF9NRVNT
QUdFKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlwZU5vbmUsICJhcnJheVNwZWNpZXNDb25z
dHJ1Y3RvciBhbHdheXMgcmV0dXJucyBhIGNvbnN0cnVjdG9yIGlmIGl0IGRvZXMgbm90IHJhaXNl
IGFuIGVycm9yLiIpOworCisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAg
ICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIHJlc3VsdCA9
IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3RydWN0RGF0
YSwgYXJncyk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICAgICAgZm9yICh1
bnNpZ25lZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50OyArK2spIHsKLSAgICAgICAgICAgIEpTVmFs
dWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyBiZWdpbik7CisgICAgICAgICAg
ICBKU1ZhbHVlIHZhbHVlID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArICBiZWdpbik7
CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgICAgIHJlc3Vs
dC0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsKKyAgICAgICAgICAgIGlmICh2YWx1ZSkgewor
ICAgICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0LCBr
LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIHB1dExlbmd0aChleGVjLCByZXN1bHQs
IGpzTnVtYmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAg
ICAgfQogCiAgICAgdW5zaWduZWQgYWRkaXRpb25hbEFyZ3MgPSBzdGQ6Om1heDxpbnQ+KGV4ZWMt
PmFyZ3VtZW50Q291bnQoKSAtIDIsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAppbmRleCAxNzdmNjllNWNiNDgyY2E1Y2QzY2Q1
MDZhZDFhNDAzMjcwMzg3NzcyLi44ZjE2MDA0YTY1YWM3MDE3YTgxOGJiMDdhMmJiZjY5M2NhNzI3
OTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29u
c3RydWN0b3IuaApAQCAtMzEsNyArMzEsNyBAQCBjbGFzcyBCb29sZWFuQ29uc3RydWN0b3IgOiBw
dWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1
bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVhblByb3Rv
dHlwZSkKKyAgICBzdGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBlKiBib29s
ZWFuUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgQm9vbGVhbkNvbnN0cnVjdG9yKiBjb25zdHJ1
Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rvcj4odm0u
aGVhcCkpIEJvb2xlYW5Db25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3Ry
dWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBib29sZWFuUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQxYjk0
ZjFiZjQ3YmZjNjZkODc2NDUwYzAxMzAxZTU1MjFmZjk1NmQuLjkyMTYyYWIyNzMwMzFhZWViMDRi
YmUxZDZmYjVkOTk0YTIzM2YyOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMjM3LDEzICsyMzcsMTMgQEAKICAgICBtYWNy
byhtYXRjaCkgXAogICAgIG1hY3JvKHJlcGxhY2UpIFwKICAgICBtYWNybyhzZWFyY2gpIFwKLSAg
ICBtYWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8oc3BsaXQpIFwKICAgICBtYWNybyh0b1ByaW1p
dGl2ZSkgXAogICAgIG1hY3JvKHRvU3RyaW5nVGFnKQogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJ
VkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKG1hY3JvKSBcCiAgICAgbWFj
cm8oaXRlcmF0b3IpIFwKKyAgICBtYWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8odW5zY29wYWJs
ZXMpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNTX0VBQ0hfTkFNRSht
YWNybykgXApAQCAtMjUyLDcgKzI1Miw2IEBACiAKICNkZWZpbmUgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShtYWNybykgXAogICAgIEpTQ19DT01NT05f
QllURUNPREVfSU5UUklOU0lDU19FQUNIX05BTUUobWFjcm8pIFwKLSAgICBtYWNybyhzeW1ib2xJ
dGVyYXRvcikgXAogICAgIG1hY3JvKGl0ZXJhdGVkT2JqZWN0KSBcCiAgICAgbWFjcm8oYXJyYXlJ
dGVyYXRvck5leHRJbmRleCkgXAogICAgIG1hY3JvKGFycmF5SXRlcmF0aW9uS2luZCkgXApAQCAt
MjgwLDYgKzI3OSw3IEBACiAgICAgbWFjcm8oYWJzKSBcCiAgICAgbWFjcm8oZmxvb3IpIFwKICAg
ICBtYWNybyhpc0Zpbml0ZSkgXAorICAgIG1hY3JvKGlzQXJyYXkpIFwKICAgICBtYWNybyhnZXRQ
cm90b3R5cGVPZikgXAogICAgIG1hY3JvKGdldE93blByb3BlcnR5TmFtZXMpIFwKICAgICBtYWNy
byhUeXBlRXJyb3IpIFwKQEAgLTI5Nyw2ICsyOTcsNyBAQAogICAgIG1hY3JvKHByb21pc2VSZWpl
Y3RSZWFjdGlvbnMpIFwKICAgICBtYWNybyhwcm9taXNlUmVzdWx0KSBcCiAgICAgbWFjcm8oY2Fw
YWJpbGl0aWVzKSBcCisgICAgbWFjcm8oaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFs
bSkgXAogCiAKIG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9EYXRlQ29uc3RydWN0b3IuaAppbmRleCAwNTRmNTcxZDU3OWU4Y2U0ZjM0YjU0MDkxN2I4
ZDAyOGI1MGRmYjliLi43NTk2ZmFkOTYxZWEyOGU4ZmU2MjlmNDUyNDdmNTY5MDM4ZDMxMDQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3Iu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaApA
QCAtMzIsNyArMzIsNyBAQCBjbGFzcyBEYXRlQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxG
dW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgRGF0ZUNvbnN0cnVjdG9y
KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0
ZVByb3RvdHlwZSkKKyAgICBzdGF0aWMgRGF0ZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRlUHJvdG90eXBlKiBkYXRl
UHJvdG90eXBlKQogICAgIHsKICAgICAgICAgRGF0ZUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPERhdGVDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIERh
dGVDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlz
aENyZWF0aW9uKHZtLCBkYXRlUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaAppbmRleCBiMTE4OTRkYmU0YjU2MTRmZDIzMGI2
MGY2YWUzYmM4YmIzNWQyOTJlLi5iZmVkN2M4NzM1MTFjYjVjOWJjYTkxZjJiYTIzMzZmNzJiMTI3
YWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1
Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIEVycm9yQ29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9u
IEJhc2U7CiAKLSAgICBzdGF0aWMgRXJyb3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKKyAgICBz
dGF0aWMgRXJyb3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQogICAg
IHsKICAgICAgICAgRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxFcnJvckNvbnN0cnVjdG9yPih2bS5oZWFwKSkgRXJyb3JDb25zdHJ1Y3Rv
cih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZt
LCBlcnJvclByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAppbmRleCAzZDE0YTllZjU1ZjRj
MzMwYzBlZTc4ZjBmODYzNzczZDA1ZGNmOGM5Li4xNzk0Yjg0YjRkYmUyOGRmNzNiYTRhNGM0ZGQx
YmY4YjU4OTU2M2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTI4LDggKzI4LDEwIEBACiAK
ICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNs
dWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVk
ZSAiSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAj
aW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKQEAg
LTQ3LDIyICs0OSwyMCBAQAogewogfQogCi12b2lkIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUp
Cit2b2lkIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90
b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiQXJy
YXlCdWZmZXIiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KTsKLQotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxP
YmplY3QoKTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmlzVmll
dywgYXJyYXlCdWZmZXJGdW5jSXNWaWV3LCBEb250RW51bSwgMSk7CiB9CiAKLUpTQXJyYXlCdWZm
ZXJDb25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQor
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7CiAgICAgSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yKiByZXN1bHQgPQogICAgICAgICBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I+KHZtLmhlYXApKQogICAgICAgICBKU0FycmF5
QnVmZmVyQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgcmVzdWx0LT5maW5pc2hDcmVh
dGlvbih2bSwgcHJvdG90eXBlKTsKKyAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0
b3IuaAppbmRleCBiNjViNTIzYjY0YzRiZGM3YWUyMTY1MmYxY2UyMDIzNDkxNTliMzQxLi42NDkx
NDk0NTU2Zjg4YTI4ODg1ZTU5NTc4YmZmZGQxNWM2ZjJjNDkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaApA
QCAtMzgsMTAgKzM4LDEwIEBAIGNsYXNzIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciA6IHB1Ymxp
YyBJbnRlcm5hbEZ1bmN0aW9uIHsKIAogcHJvdGVjdGVkOgogICAgIEpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0FycmF5QnVmZmVyUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOwogCiBwdWJsaWM6Ci0gICAg
c3RhdGljIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgU3RydWN0dXJlKiwg
SlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOworICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNBcnJheUJ1
ZmZlclByb3RvdHlwZSopOwogICAgIAogICAgIERFQ0xBUkVfSU5GTzsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCAxMGJm
MTc3ODIwMjJjNDc5NGQzMGU3MGVmYjJiZWY1ZGYyNDJjZTE4Li40NTZlOTdhMWE2ZjM5MTc2Yzc5
MTNiZGJmNGU2MzA3NzllMGI0NjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0xOTUsNiArMTk1LDE3IEBAIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGVucXVldWVKb2IoRXhlY1N0YXRlKiBleGVjKQogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK3N0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVh
bG0oRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisKKyAgICBKU1ZhbHVlIGNvbnN0cnVjdG9y
VmFsdWUgPSBleGVjLT5hcmd1bWVudCgwKTsKKyAgICBpZiAoSlNPYmplY3QqIGNvbnN0cnVjdG9y
ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpKQorICAgICAgICBK
U1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGNvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKSAhPSBn
bG9iYWxPYmplY3QgJiYgY29uc3RydWN0b3IgPT0gY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgp
LT5hcnJheUNvbnN0cnVjdG9yKCkpKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNC
b29sZWFuKGZhbHNlKSk7Cit9CisKIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSog
Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIDApCiAg
ICAgLCBtX3ZtKHZtKQpAQCAtMzc3LDEyICszODgsMTIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAgICAgbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLnNldCh2bSwgdGhpcywg
ZGVmaW5lUHJvcGVydHlGdW5jdGlvbik7CiAKICAgICBKU0NlbGwqIGZ1bmN0aW9uQ29uc3RydWN0
b3IgPSBGdW5jdGlvbkNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEZ1bmN0aW9uQ29uc3RydWN0b3I6
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpOwotICAgIEpTQ2VsbCogYXJyYXlDb25zdHJ1Y3RvciA9
IEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9hcnJheVByb3Rv
dHlwZS5nZXQoKSk7CisgICAgbV9hcnJheUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgQXJyYXlD
b25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90
eXBlLmdldCgpKSk7CiAgICAgCi0gICAgbV9yZWdFeHBDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMs
IFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVT
dHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFBy
b3RvdHlwZS5nZXQoKSkpOworICAgIG1fcmVnRXhwQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBS
ZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9yZWdF
eHBQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAKICNkZWZpbmUgQ1JFQVRFX0NPTlNUUlVDVE9SX0ZP
Ul9TSU1QTEVfVFlQRShjYXBpdGFsTmFtZSwgbG93ZXJOYW1lLCBwcm9wZXJOYW1lLCBpbnN0YW5j
ZVR5cGUsIGpzTmFtZSkgXAotY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAj
IyBDb25zdHJ1Y3RvciA9IGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIGNh
cGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgp
KTsgXAorY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3Rv
ciA9IGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIGNhcGl0YWxO
YW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgpKTsgXAog
bV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0
b3IsIERvbnRFbnVtKTsgXAogCiAgICAgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShDUkVB
VEVfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKQpAQCAtNDAwLDEyICs0MTEsMTIgQEAgdm9p
ZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgbV90eXBlRXJyb3JDb25zdHJ1Y3Rv
ci5zZXQodm0sIHRoaXMsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywg
bmF0aXZlRXJyb3JTdHJ1Y3R1cmUsIG5hdGl2ZUVycm9yUHJvdG90eXBlU3RydWN0dXJlLCBBU0NJ
SUxpdGVyYWwoIlR5cGVFcnJvciIpKSk7CiAgICAgbV9VUklFcnJvckNvbnN0cnVjdG9yLnNldCh2
bSwgdGhpcywgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVF
cnJvclN0cnVjdHVyZSwgbmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJh
bCgiVVJJRXJyb3IiKSkpOwogI2lmIEVOQUJMRShQUk9NSVNFUykKLSAgICBtX3Byb21pc2VDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpT
UHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3Byb21p
c2VDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUo
dm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsK
ICNlbmRpZgogICAgIAogICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG9iamVjdENvbnN0cnVj
dG9yLCBEb250RW51bSk7CiAgICAgbV9mdW5jdGlvblByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBmdW5jdGlvbkNv
bnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBhcnJheUNv
bnN0cnVjdG9yLCBEb250RW51bSk7CisgICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX2FycmF5
Q29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBtX3JlZ0V4cFByb3RvdHlwZS0+cHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9y
LCBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAjaWYgRU5BQkxFKFBST01J
U0VTKQogICAgIG1fcHJvbWlzZVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5n
ZXQoKSwgRG9udEVudW0pOwpAQCAtNDEzLDcgKzQyNCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OmluaXQoVk0mIHZtKQogICAgIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5PYmplY3QsIG9iamVjdENvbnN0cnVjdG9yLCBEb250RW51bSk7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkZ1bmN0
aW9uLCBmdW5jdGlvbkNvbnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkFycmF5LCBhcnJheUNvbnN0cnVjdG9y
LCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPkFycmF5LCBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+UmVnRXhw
LCBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkV2YWxFcnJvciwgbV9ldmFsRXJy
b3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SYW5nZUVycm9yLCBtX3JhbmdlRXJyb3JDb25z
dHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwpAQCAtNDkzLDkgKzUwNCwxMCBAQCB2b2lkIEpTR2xv
YmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPm9iamVjdEdldE93blByb3BlcnR5U3ltYm9sc1ByaXZhdGVOYW1lLCBwcml2
YXRlRnVuY09iamVjdEdldE93blByb3BlcnR5U3ltYm9scywgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+Z2V0VGVtcGxhdGVPYmplY3RQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNHZXRUZW1wbGF0ZU9i
amVjdCwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+ZW5xdWV1ZUpvYlByaXZhdGVOYW1lLCBKU0Z1
bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBlbnF1ZXVlSm9iKSwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+aXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbVByaXZh
dGVOYW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBpc0FycmF5
Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+VHlw
ZUVycm9yUHJpdmF0ZU5hbWUsIG1fdHlwZUVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPkJ1aWx0aW5Mb2dQcml2YXRlTmFtZSwgYnVpbHRpbkxvZywgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+QXJyYXlQcml2YXRlTmFtZSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9u
dEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUlu
Zm8odm0ucHJvcGVydHlOYW1lcy0+QXJyYXlQcml2YXRlTmFtZSwgbV9hcnJheUNvbnN0cnVjdG9y
LmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5OdW1iZXJQcml2YXRlTmFtZSwgbnVtYmVy
Q29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlN0cmluZ1ByaXZhdGVOYW1lLCBz
dHJpbmdDb25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAg
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YWJzUHJpdmF0ZU5hbWUs
IHByaXZhdGVGdW5jQWJzLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCkBAIC01
MDMsMTAgKzUxNSwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFByb3RvdHlwZU9mUHJp
dmF0ZU5hbWUsIHByaXZhdGVGdW5jRmxvb3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldE93
blByb3BlcnR5TmFtZXNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNGbG9vciwgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+aXNGaW5pdGVQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNJc0Zpbml0ZSwgRG9u
dEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUlu
Zm8odm0ucHJvcGVydHlOYW1lcy0+aXNBcnJheVByaXZhdGVOYW1lLCBKU0Z1bmN0aW9uOjpjcmVh
dGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBhcnJheUNvbnN0cnVjdG9ySXNBcnJheSksIERvbnRF
bnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZv
KHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVByaXZhdGVOYW1lLCBqc051
bWJlcihBcnJheUl0ZXJhdGVLZXkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJh
dGlvbktpbmRWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVWYWx1ZSksIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVZhbHVlUHJpdmF0ZU5h
bWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+c3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19j
YXN0PFN5bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgp
KSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbEl0ZXJhdG9y
UHJpdmF0ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbEltcGwm
Pigqdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbFNwZWNpZXNQcml2YXRlTmFtZSgpLCBT
eW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5h
bWVzLT5zcGVjaWVzU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+UHJvbWlzZVByaXZhdGVOYW1lLCBtX3Byb21pc2VDb25zdHJ1Y3Rv
ci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+cHJvbWlzZVBlbmRpbmdQcml2YXRlTmFt
ZSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5k
aW5nKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKQEAgLTUxNiw2ICs1MzAs
OCBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnRvTGVuZ3RoUHJpdmF0
ZU5hbWUoKSwgcHJpdmF0ZUZ1bmNUb0xlbmd0aCwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVp
bHRpbk5hbWVzKCkudG9JbnRlZ2VyUHJpdmF0ZU5hbWUoKSwgcHJpdmF0ZUZ1bmNUb0ludGVnZXIs
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmlzT2JqZWN0UHJpdmF0ZU5h
bWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3RJ
c09iamVjdENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+
YnVpbHRpbk5hbWVzKCkuc3BlY2llc0NvbnN0cnVjdG9yUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlv
bjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3RTcGVjaWVzQ29uc3RydWN0
b3JDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0
aW5OYW1lcygpLmFycmF5U3BlY2llc0NyZWF0ZVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNy
ZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc0FycmF5QXJyYXlTcGVjaWVzQ3JlYXRl
Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGlu
TmFtZXMoKS5pc1Byb21pc2VQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGlu
RnVuY3Rpb24odm0sIG9wZXJhdGlvbnNQcm9taXNlSXNQcm9taXNlQ29kZUdlbmVyYXRvcih2bSks
IHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5uZXdQcm9taXNl
UmVhY3Rpb25Qcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24o
dm0sIG9wZXJhdGlvbnNQcm9taXNlTmV3UHJvbWlzZVJlYWN0aW9uQ29kZUdlbmVyYXRvcih2bSks
IHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5uZXdQcm9taXNl
Q2FwYWJpbGl0eVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlv
bih2bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlQ2FwYWJpbGl0eUNvZGVHZW5lcmF0b3Io
dm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTMxLDcg
KzU0Nyw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIG1fc3BlY2lh
bFBvaW50ZXJzW1NwZWNpYWw6OkNhbGxGdW5jdGlvbl0gPSBtX2NhbGxGdW5jdGlvbi5nZXQoKTsK
ICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpBcHBseUZ1bmN0aW9uXSA9IG1fYXBwbHlG
dW5jdGlvbi5nZXQoKTsKICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpPYmplY3RDb25z
dHJ1Y3Rvcl0gPSBvYmplY3RDb25zdHJ1Y3RvcjsKLSAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVj
aWFsOjpBcnJheUNvbnN0cnVjdG9yXSA9IGFycmF5Q29uc3RydWN0b3I7CisgICAgbV9zcGVjaWFs
UG9pbnRlcnNbU3BlY2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBtX2FycmF5Q29uc3RydWN0b3Iu
Z2V0KCk7CiAKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihM
aW5rVGltZUNvbnN0YW50OjpEZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKV0gPSBtX2RlZmluZVByb3Bl
cnR5RnVuY3Rpb24uZ2V0KCk7CiAKQEAgLTc2MSw2ICs3NzcsNyBAQCB2b2lkIEpTR2xvYmFsT2Jq
ZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAg
ICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xvYmFsVGhpcyk7CiAKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9nbG9iYWxDYWxsZWUpOworICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5Q29uc3RydWN0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cENvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9lcnJvckNvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9ldmFsRXJyb3JDb25zdHJ1Y3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA1OTRkOTY2MjIzMzc4ZDFkMWFhYjhm
NDc1OTVhZGUwODIyYzE4MjIzLi5kZDYzOTJjMzRmM2M3MDI4Y2Y0OTljMmVlZTczZjEwNTAzZTRj
YWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKQEAgLTU1LDYgKzU1LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEFycmF5Q29u
c3RydWN0b3I7CiBjbGFzcyBBcnJheVByb3RvdHlwZTsKIGNsYXNzIEJvb2xlYW5Qcm90b3R5cGU7
CiBjbGFzcyBDb25zb2xlQ2xpZW50OwpAQCAtMTc4LDYgKzE3OSw3IEBAIGNsYXNzIEpTR2xvYmFs
T2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFdyaXRlQmFy
cmllcjxKU09iamVjdD4gbV9nbG9iYWxUaGlzOwogCiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0
PiBtX2dsb2JhbENhbGxlZTsKKyAgICBXcml0ZUJhcnJpZXI8QXJyYXlDb25zdHJ1Y3Rvcj4gbV9h
cnJheUNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxSZWdFeHBDb25zdHJ1Y3Rvcj4gbV9y
ZWdFeHBDb25zdHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8RXJyb3JDb25zdHJ1Y3Rvcj4gbV9l
cnJvckNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxOYXRpdmVFcnJvckNvbnN0cnVjdG9y
PiBtX2V2YWxFcnJvckNvbnN0cnVjdG9yOwpAQCAtMzkzLDYgKzM5NSw3IEBAIGNsYXNzIEpTR2xv
YmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIC8vIFRo
ZSBmb2xsb3dpbmcgYWNjZXNzb3JzIHJldHVybiBwcmlzdGluZSB2YWx1ZXMsIGV2ZW4gaWYgYSBz
Y3JpcHQgCiAgICAgLy8gcmVwbGFjZXMgdGhlIGdsb2JhbCBvYmplY3QncyBhc3NvY2lhdGVkIHBy
b3BlcnR5LgogCisgICAgQXJyYXlDb25zdHJ1Y3RvciogYXJyYXlDb25zdHJ1Y3RvcigpIGNvbnN0
IHsgcmV0dXJuIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKTsgfQogICAgIFJlZ0V4cENvbnN0cnVj
dG9yKiByZWdFeHBDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVnRXhwQ29uc3RydWN0
b3IuZ2V0KCk7IH0KIAogICAgIEVycm9yQ29uc3RydWN0b3IqIGVycm9yQ29uc3RydWN0b3IoKSBj
b25zdCB7IHJldHVybiBtX2Vycm9yQ29uc3RydWN0b3IuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBkMjBkYWEyMDQ1MWQyZmJlZjMzYmNk
OTEzNDkxMDRmMWZiY2I1ODczLi44MjFlNmM3ZTA1ODJkZWY1NGUwOGRiMmMyY2JlMGFiOTJhNWU0
MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0x
NzQ4LDcgKzE3NDgsNyBAQCBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHko
RXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpbmRleCwgY29uc3QgUAogICAgICAgICAvLyBzdGF0
ZSAoaS5lLiBkZWZpbmVPd25Qcm9wZXJ0eSBjb3VsZCBiZSB1c2VkIHRvIHNldCBhIHZhbHVlIHdp
dGhvdXQgbmVlZGluZyB0byBlbnRlcmluZyAnU3BhcnNlTW9kZScpLgogICAgICAgICBpZiAoIWRl
c2NyaXB0b3IuYXR0cmlidXRlcygpKSB7CiAgICAgICAgICAgICBBU1NFUlQoIWRlc2NyaXB0b3Iu
aXNBY2Nlc3NvckRlc2NyaXB0b3IoKSk7Ci0gICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5k
ZXgoZXhlYywgaW5kZXgsIGRlc2NyaXB0b3IudmFsdWUoKSwgMCwgdGhyb3dFeGNlcHRpb24gPyBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CisgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIGRlc2NyaXB0
b3IudmFsdWUoKSwgMCwgdGhyb3dFeGNlcHRpb24gPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAg
fQogICAgICAgICAKICAgICAgICAgZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0
aW9uYXJ5SW5kZXhpbmdNb2RlKGV4ZWMtPnZtKCkpOwpAQCAtMjE0NCw5ICsyMTQ0LDkgQEAgYm9v
bCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9y
YWdlKEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgaWYgKG1vZGUgIT0gUHV0RGlyZWN0SW5kZXhM
aWtlUHV0RGlyZWN0KSB7CiAgICAgICAgICAgICAvLyBQcm9oaWJpdCBncm93aW5nIHRoZSBhcnJh
eSBpZiBsZW5ndGggaXMgbm90IHdyaXRhYmxlLgogICAgICAgICAgICAgaWYgKG1hcC0+bGVuZ3Ro
SXNSZWFkT25seSgpKQotICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9
PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93LCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdy
aXRlRXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVhdGVE
YXRhUHJvcGVydHlPclRocm93LCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ip
OwogICAgICAgICAgICAgaWYgKCFpc0V4dGVuc2libGUoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgIkF0dGVt
cHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxl
LiIpOworICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRo
YXQgaXMgbm90IGV4dGVuc2libGUuIik7CiAgICAgICAgIH0KICAgICAgICAgbGVuZ3RoID0gaSAr
IDE7CiAgICAgICAgIHN0b3JhZ2UtPnNldExlbmd0aChsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCmluZGV4
IDY4OTVlZDgyZmFkODA3N2NkN2NmYzMwNDQxZTQ2OTEwNGNiMmVmMmMuLmU1ZjAxNzFlZWNlNTVl
Y2VhNmJiN2Q2NDg1MTcxNTliZmI5Mzk0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKIAogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5jbHVk
ZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCiAjaW5j
bHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgpAQCAt
NjEsMTAgKzYyLDEwIEBACiBAZW5kCiAqLwogCi1KU1Byb21pc2VDb25zdHJ1Y3RvciogSlNQcm9t
aXNlQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1By
b21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90b3R5cGUpCitKU1Byb21pc2VDb25zdHJ1Y3Rvciog
SlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Byb21pc2VQcm90b3R5cGUqIHByb21p
c2VQcm90b3R5cGUpCiB7CiAgICAgSlNQcm9taXNlQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0g
bmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNQcm9taXNlQ29uc3RydWN0b3I+KHZtLmhlYXAp
KSBKU1Byb21pc2VDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICBjb25zdHJ1Y3Rvci0+
ZmluaXNoQ3JlYXRpb24odm0sIHByb21pc2VQcm90b3R5cGUpOworICAgIGNvbnN0cnVjdG9yLT5m
aW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBwcm9taXNlUHJvdG90eXBlKTsKICAgICBy
ZXR1cm4gY29uc3RydWN0b3I7CiB9CiAKQEAgLTc4LDExICs3OSwxNCBAQCBTdHJ1Y3R1cmUqIEpT
UHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsTwogewogfQogCi12b2lkIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKK3ZvaWQg
SlNQcm9taXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNQcm9taXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQog
ewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIlByb21pc2UiKSk7
CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwgcHJvbWlzZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7
CisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwg
Z2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHByb21p
c2VDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0
LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nv
cih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBB
Y2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgY29uc3RydWN0UHJvbWlzZShFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaAppbmRleCBmYzBm
MDRkMmIyYjQzNjk4YTkwNGM1MWUyZmRkYmE3YTM4MTI2NmYyLi4zZmRkMzcyOWM5ZmZhOWM3MjNm
M2I0YjViMzU1MzQ0OTdhN2FmODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmgKQEAgLTQwLDEzICs0MCwxMyBAQCBjbGFz
cyBKU1Byb21pc2VDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0
eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBKU1Byb21pc2VDb25zdHJ1Y3RvciogY3JlYXRlKFZN
JiwgU3RydWN0dXJlKiwgSlNQcm9taXNlUHJvdG90eXBlKik7CisgICAgc3RhdGljIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpT
UHJvbWlzZVByb3RvdHlwZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVy
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKICAgICBERUNMQVJFX0lORk87CiAK
IHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNQcm9taXNlUHJvdG90
eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNQ
cm9taXNlUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgSlNQcm9taXNlQ29uc3RydWN0b3Io
Vk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hcENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cENvbnN0cnVjdG9yLmNwcAppbmRleCBmYWQ1MmMwNTYwNDhlMThiN2VlYzQ5OGZmMTQ5NTNmZDkw
ZmNmZWRkLi4wMGZlOThlN2FjMmQ5YzkyMjM0NWU3YTE1OWRlYmZkNTU5NzJmZGMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCkBAIC0y
Nyw3ICsyNyw5IEBACiAjaW5jbHVkZSAiTWFwQ29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVy
cm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVy
YXRpb25zLmgiCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVl
SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2Jh
bE9iamVjdC5oIgpAQCAtMzksMTEgKzQxLDE0IEBACiAKIGNvbnN0IENsYXNzSW5mbyBNYXBDb25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKE1hcENvbnN0cnVjdG9yKSB9OwogCi12b2lkIE1hcENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQordm9pZCBN
YXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBtYXBQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOworICAgIEdl
dHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9i
amVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBtYXBDb25zdHJ1Y3Rv
clN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1i
b2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERv
bnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbE1h
cChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFw
Q29uc3RydWN0b3IuaAppbmRleCAxYTg1ZGU1YjE1YjAwN2QxZTlkZmM4YjljYjY1NjExMDhjNzYz
NzgwLi5iNjU5NWY4ODQ0Yzk2NGJlOGU2NjM4ZmZkNDRhMTFmZDUzYWE5Y2QxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmgKQEAgLTM2LDEwICsz
NiwxMCBAQCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
IHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRp
YyBNYXBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE1h
cFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQorICAgIHN0YXRpYyBNYXBDb25zdHJ1Y3RvciogY3Jl
YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgTWFwQ29u
c3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8TWFwQ29u
c3RydWN0b3I+KHZtLmhlYXApKSBNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICAg
ICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBtYXBQcm90b3R5cGUpOworICAgICAg
ICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWFwUHJvdG90
eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyArNTUs
NyBAQCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAg
ICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiwgTWFwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgTWFwUHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3Rh
dGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKaW5kZXgg
ZjhiMWY3ZjQ0MzcwM2FiNDE5OGRkNDMyMWUyMDlkZmU2Njg4MmEzYy4uYThiMTczNWE2MDg2YjIz
MTk5YjRhNjdiZjI2MjA1MjIzM2UzNmIwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIE51
bWJlckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlOwogCi0gICAgc3RhdGljIE51bWJlckNvbnN0cnVj
dG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBl
KiBudW1iZXJQcm90b3R5cGUpCisgICAgc3RhdGljIE51bWJlckNvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOdW1iZXJQcm90
b3R5cGUqIG51bWJlclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE51bWJlckNvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE51bWJlckNvbnN0cnVj
dG9yPih2bS5oZWFwKSkgTnVtYmVyQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAg
IGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbnVtYmVyUHJvdG90eXBlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKaW5k
ZXggM2ViM2Y1ODE4ZGZiOWI4YzJkYTFhZjQ1ZTE3Y2FiNTVlOGVlNTUxZi4uMjYwZmNlODVmMGQw
MDE2MGI3YjFhYWQ5Zjg1YTE3MDVlNWNlOTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKQEAgLTI4LDcgKzI4LDE1IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi1lbnVtIFB1dERpcmVjdEluZGV4TW9kZSB7IFB1dERpcmVjdElu
ZGV4TGlrZVB1dERpcmVjdCwgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywgUHV0RGlyZWN0
SW5kZXhTaG91bGRUaHJvdyB9OworZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeworICAgIFB1dERp
cmVjdEluZGV4TGlrZVB1dERpcmVjdCwKKyAgICBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93
LAorICAgIFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csCisKKyAgICAvLyBGb2xsb3cgdGhlIEVD
TUEyNjIgNnRoIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgc2VtYW50aWNzLgorICAgIC8vIGh0
dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLWNyZWF0ZWRhdGFw
cm9wZXJ0eW9ydGhyb3cKKyAgICBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhy
b3csCit9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCmluZGV4IGVlMWQ4YjNmYzY5Zjk0
M2I5NGE1MjU5Y2Y3YzE4NmNhYzYzNzNmNzQuLjFlMzdjNmE4YjUwNjZhNzRmNDEyNTM3NTExYTg1
MzY3OWE3NDY0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
Z0V4cENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5jcHAKQEAgLTg5LDcgKzg5LDcgQEAKIHsKIH0KIAotdm9pZCBSZWdF
eHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBSZWdFeHBQcm90b3R5cGUqIHJl
Z0V4cFByb3RvdHlwZSkKK3ZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkK
IHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgcmVnRXhwUHJvdG90eXBlLT5jbGFzc0lu
Zm8oKS0+Y2xhc3NOYW1lKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCBj
YWJlZTE5YzkzZDliMjQ2YzgwODg1MWYyYWZmNGUyYWQxMDQ2YTFhLi42NDI0MGVkYzU0MGE5OWM2
NTQ3NWU2YmIxYzBmZDA2NTAyOWQ1OGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTM1LDEwICszNSwxMCBAQCBjbGFzcyBS
ZWdFeHBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVm
IEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5
U2xvdDsKIAotICAgIHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQorICAg
IHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3RvdHlwZSogcmVn
RXhwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgUmVnRXhwQ29uc3RydWN0b3IqIGNvbnN0cnVj
dG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8UmVnRXhwQ29uc3RydWN0b3I+KHZtLmhl
YXApKSBSZWdFeHBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlLCByZWdFeHBQcm90b3R5cGUpOwot
ICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFByb3RvdHlwZSk7
CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBy
ZWdFeHBQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBA
IC02OCw3ICs2OCw3IEBAIGNsYXNzIFJlZ0V4cENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFs
RnVuY3Rpb24gewogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZp
c2l0b3ImKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBSZWdF
eHBQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBSZWdFeHBQcm90b3R5cGUqKTsKIAogcHJpdmF0ZToKICAgICBSZWdFeHBDb25zdHJ1Y3Rv
cihWTSYsIFN0cnVjdHVyZSosIFJlZ0V4cFByb3RvdHlwZSopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCmluZGV4IGZiOTdiNmQ5ZmEwZDBl
ZTYzYTFkNTJhOTg4N2VjNzc2OThmNzUzZGYuLmQxYjAzNTE0MGIxYWRjNzlkNjE5MDM2YmFiNTc5
ZDNiM2UxNjhhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nl
dENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRD
b25zdHJ1Y3Rvci5jcHAKQEAgLTI3LDcgKzI3LDkgQEAKICNpbmNsdWRlICJTZXRDb25zdHJ1Y3Rv
ci5oIgogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNp
bmNsdWRlICJJdGVyYXRvck9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgog
I2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDZWxsSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCkBAIC00MCwxMSArNDIsMTUgQEAKIAogY29u
c3QgQ2xhc3NJbmZvIFNldENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNl
OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU2V0Q29uc3RydWN0b3IpIH07CiAKLXZv
aWQgU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2V0UHJvdG90eXBlKiBz
ZXRQcm90b3R5cGUpCit2b2lkIFNldENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBl
KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzZXRQcm90b3R5cGUtPmNsYXNzSW5m
bygpLT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHNldFByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBSZWFkT25seSB8IERvbnRFbnVtIHwg
RG9udERlbGV0ZSk7CisKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRl
clNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+
c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5j
dGlvbih2bSwgc2V0Q29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGds
b2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbklu
ZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNB
Y2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGNhbGxTZXQoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmgKaW5kZXggZWZiZDg4YmIzMjJmZGRh
YWI5Yjc1NjQzOTAzYTk3ZGU3ODVlNTgwMC4uYjY4NDFmNzM1MGZjZDMyM2M3ZjMzMTkyZGJiOWQx
OTEwMGI2OTJkNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25z
dHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYsMTAgQEAgY2xhc3MgU2V0Q29uc3RydWN0b3IgOiBwdWJs
aWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0
aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKKyAgICBzdGF0
aWMgU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkK
ICAgICB7CiAgICAgICAgIFNldENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPFNldENvbnN0cnVjdG9yPih2bS5oZWFwKSkgU2V0Q29uc3RydWN0b3Io
dm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwg
c2V0UHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBn
bG9iYWxPYmplY3QsIHNldFByb3RvdHlwZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsK
ICAgICB9CiAKQEAgLTU1LDcgKzU1LDcgQEAgY2xhc3MgU2V0Q29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsK
ICAgICB9Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFNldFByb3RvdHlwZSopOworICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFNldFByb3RvdHlwZSop
OwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29u
c3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBD
YWxsRGF0YSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAKaW5kZXggNjJkMzRiYWFmZGRiNDBlZWEwZjYxNWYwNjIw
N2EyOWFiOWZmOTk4My4uY2I1MzcwYjFhZWIyNmY5ZjZmMTgyNjE2ZDIxZGE5MDY2NGY3ODIzMCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1
ZU1hcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlW
YWx1ZU1hcC5jcHAKQEAgLTExNiw3ICsxMTYsMjUgQEAgYm9vbCBTcGFyc2VBcnJheVZhbHVlTWFw
OjpwdXREaXJlY3QoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYXJyYXksIHVuc2lnbmVkIGkK
ICAgICAvLyBleHRlbnNpYmxlLCB0aGlzIGlzIG5vdCB0aGUgcmlnaHQgdGhpbmcgdG8gaGF2ZSBk
b25lIC0gc28gcmVtb3ZlIGFnYWluLgogICAgIGlmIChtb2RlICE9IFB1dERpcmVjdEluZGV4TGlr
ZVB1dERpcmVjdCAmJiByZXN1bHQuaXNOZXdFbnRyeSAmJiAhYXJyYXktPmlzRXh0ZW5zaWJsZSgp
KSB7CiAgICAgICAgIHJlbW92ZShyZXN1bHQuaXRlcmF0b3IpOwotICAgICAgICByZXR1cm4gcmVq
ZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgIkF0dGVtcHRpbmcg
dG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLiIpOwor
ICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRU
aHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdywg
IkF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRl
bnNpYmxlLiIpOworICAgIH0KKworICAgIGlmIChtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyAmJiAhcmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAgaWYg
KGVudHJ5LmF0dHJpYnV0ZXMgJiBEb250RGVsZXRlKSB7CisgICAgICAgICAgICBpZiAoIShhdHRy
aWJ1dGVzICYgRG9udERlbGV0ZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVy
cm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9m
IHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworCisgICAgICAgICAgICBpZiAoKGVudHJ5LmF0
dHJpYnV0ZXMgJiBEb250RW51bSkgIT0gKGF0dHJpYnV0ZXMgJiBEb250RW51bSkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5n
ZSBlbnVtZXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAg
ICAgICAgICAgIGlmIChlbnRyeS5hdHRyaWJ1dGVzICYgQWNjZXNzb3IpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSBhY2Nl
c3MgbWVjaGFuaXNtIGZvciBhbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICAgICAg
ICAgIGlmIChlbnRyeS5hdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoIShhdHRyaWJ1dGVzICYgUmVhZE9ubHkpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g
dGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIHdyaXRhYmxlIGF0dHJp
YnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICAgICAgICAgICAgICBpZiAo
IXNhbWVWYWx1ZShleGVjLCBlbnRyeS5nZXQoZXhlYywgYXJyYXkpLCB2YWx1ZSkpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBj
aGFuZ2UgdmFsdWUgb2YgYSByZWFkb25seSBwcm9wZXJ0eS4iKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQogICAgIH0KIAogICAgIGVudHJ5LmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKaW5k
ZXggMzU3NTExYTU3NjU0ZTE2ODI1ZmQyMmIwYWU2NzczODlkMjAzYzIwMy4uZDJhMjE1MmRmZjZk
ODhiYmRkNmM1ZmFmZmQxMjJiMDA3NTkyNjNiOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNz
IFN0cmluZ0NvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVk
ZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90OwogCi0gICAgc3RhdGljIFN0cmluZ0NvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCisg
ICAgc3RhdGljIFN0cmluZ0NvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1Byb3RvdHlw
ZSkKICAgICB7CiAgICAgICAgIFN0cmluZ0NvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cmluZ0NvbnN0cnVjdG9yPih2bS5oZWFwKSkgU3RyaW5n
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hD
cmVhdGlvbih2bSwgc3RyaW5nUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCmluZGV4IDM0NGE5NzhhYjBhYzc0ZTE1NDgz
YjNlZTJlNTc5ZmFkMDFkN2NlMzQuLjNiMzkzZmQxYTBhNzRmMDMwMzNkZmRhOTQyN2QxYWU0ZDcz
NWFiMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29u
c3RydWN0b3IuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBTeW1ib2xDb25zdHJ1Y3RvciA6IHB1
YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFz
ZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNH
ZXRPd25Qcm9wZXJ0eVNsb3QgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKIAotICAgIHN0YXRpYyBT
eW1ib2xDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN5
bWJvbFByb3RvdHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBTeW1ib2xDb25zdHJ1Y3Rvciog
Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3lt
Ym9sUHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBTeW1ib2xDb25zdHJ1Y3Rv
ciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTeW1ib2xDb25zdHJ1
Y3Rvcj4odm0uaGVhcCkpIFN5bWJvbENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAg
ICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCmluZGV4IDY2
ZWRiY2IxNmQ4OWE1YjY2NDgwYWVkYTMzNjMzYjY4NTJlZTQ4OTYuLjZjOWFkMzllNTFlNTdiYzQ0
OWUyMWU4ZWQ3YmZlNjBhMmFlZDgxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIFdl
YWtNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAg
ICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBXZWFrTWFwQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrTWFwUHJv
dG90eXBlKiBwcm90b3R5cGUpCisgICAgc3RhdGljIFdlYWtNYXBDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha01hcFBy
b3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgV2Vha01hcENvbnN0cnVjdG9yKiBj
b25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFdlYWtNYXBDb25zdHJ1Y3Rv
cj4odm0uaGVhcCkpIFdlYWtNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaAppbmRleCA3ZjZm
YjZhNWU3NjhlYmY0MDhjYTZjZTc1YWQ1MmU2ZWM1ODM5OTY0Li4yODg5YzljMDkwOWE5NTQwNmUw
NzgyNzg4ZmNkYTNkMDk0MmZkYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBXZWFr
U2V0Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgV2Vha1NldENvbnN0
cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha1NldFByb3Rv
dHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtTZXRQcm90
b3R5cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtTZXRDb25zdHJ1Y3RvciogY29u
c3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrU2V0Q29uc3RydWN0b3I+
KHZtLmhlYXApKSBXZWFrU2V0Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNv
bnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA5MjcxNDUyNGE2MmI2OWU3ZWY5NTg5M2YwYjhlMDlmZGI4NmQ3ODUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVz
LmpzCkBAIC0wLDAgKzEsNDI0IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVk
KQoreworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZFRocm93KGZ1
bmMsIGVycm9yTWVzc2FnZSkKK3sKKyAgICB2YXIgZXJyb3JUaHJvd24gPSBmYWxzZTsKKyAgICB2
YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMoKTsKKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAgICAgZXJyb3IgPSBlOwor
ICAgIH0KKyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25v
dCB0aHJvd24nKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJyb3JNZXNzYWdlKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmcoZXJyb3IpfWApOworfQor
CitzaG91bGRCZSh0eXBlb2YgU3ltYm9sLnNwZWNpZXMsICdzeW1ib2wnKTsKKworLy8gUHJvbWlz
ZSBpcyB0ZXN0ZWQgaW4gRE9NIGxheW91dCB0ZXN0cy4KK3Nob3VsZEJlKEpTT04uc3RyaW5naWZ5
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBTeW1ib2wuc3BlY2llcykpLCAn
eyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hvdWxkQmUoSlNP
Ti5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5z
cGVjaWVzKSksICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7Citz
aG91bGRCZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFy
cmF5LCBTeW1ib2wuc3BlY2llcykpLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxl
Ijp0cnVlfScpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoU2V0LCBTeW1ib2wuc3BlY2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlKHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMpLmdl
dCwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91bGRC
ZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVj
aWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVmaW5lZCcpOwor
c2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksIFN5
bWJvbC5zcGVjaWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKFNldFtTeW1ib2wuc3Bl
Y2llc10sIFNldCk7CitzaG91bGRCZShNYXBbU3ltYm9sLnNwZWNpZXNdLCBNYXApOworc2hvdWxk
QmUoQXJyYXlbU3ltYm9sLnNwZWNpZXNdLCBBcnJheSk7CitzaG91bGRCZShPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCks
IE9iamVjdCk7CitzaG91bGRCZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hcCwg
U3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCksIE9iamVjdCk7CitzaG91bGRCZShPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wuc3BlY2llcykuZ2V0LmNh
bGwoT2JqZWN0KSwgT2JqZWN0KTsKKworLy8gQXJyYXkuCisvLyBDdXJyZW50bHksIEFycmF5IGlz
IG5vdCBzdWJjbGFzc2FibGUgYnkgdXNpbmcgY2xhc3Mgc3ludGF4LgorZnVuY3Rpb24gRXh0ZW5k
ZWRBcnJheShsZW5ndGgpCit7CisgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheShsZW5ndGgpOwor
ICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXku
cHJvdG90eXBlOworc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3Is
IEV4dGVuZGVkQXJyYXkpOworRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3lt
Ym9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKwordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVu
ZGVkQXJyYXkoMjApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAyMCk7CitzaG91bGRCZShB
cnJheS5pc0FycmF5KGV4dGVuZGVkKSwgdHJ1ZSk7CisKKy8vIG1hcC4KK3ZhciBleHRlbmRlZCA9
IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRlZC5wdXNo
KDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsK
K3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOwor
c2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5tYXAs
ICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUp
IHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2Yg
RXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAzKTsKK3Nob3Vs
ZEJlKHJlc3VsdFswXSwgNDAwKTsKK3Nob3VsZEJlKHJlc3VsdFsxXSwgOTAwKTsKK3Nob3VsZEJl
KHJlc3VsdFsyXSwgMTYwMCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUp
OworCisvLyBmaWx0ZXIuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgwKTsKK2V4
dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNoKDQwKTsK
K3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91bGRCZShleHRlbmRlZFswXSwgMjAp
Oworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJdLCA0MCk7
CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQuZmlsdGVyLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1
bHQgPSBleHRlbmRlZC5maWx0ZXIoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSA9PT0g
NDA7IH0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7
CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDApOwor
c2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKworLy8gY29uY2F0LgordmFy
IGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsKK2V4
dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitzaG91bGRCZShleHRlbmRlZC5s
ZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVk
WzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUodHlwZW9mIGV4
dGVuZGVkLmNvbmNhdCwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuY29uY2F0
KFs1MCwgNjAsIDcwXSk7CitzaG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5
LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDYpOworc2hvdWxkQmUocmVzdWx0WzBd
LCAyMCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDMwKTsKK3Nob3VsZEJlKHJlc3VsdFsyXSwgNDAp
Oworc2hvdWxkQmUocmVzdWx0WzNdLCA1MCk7CitzaG91bGRCZShyZXN1bHRbNF0sIDYwKTsKK3No
b3VsZEJlKHJlc3VsdFs1XSwgNzApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0
cnVlKTsKKworLy8gc2xpY2UuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgwKTsK
K2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNoKDQw
KTsKK2V4dGVuZGVkLnB1c2goNTApOworZXh0ZW5kZWQucHVzaCg2MCk7CitzaG91bGRCZShleHRl
bmRlZC5sZW5ndGgsIDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4
dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUoZXh0
ZW5kZWRbM10sIDUwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRCZSh0eXBl
b2YgZXh0ZW5kZWQuc2xpY2UsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLnNs
aWNlKDMpOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7
CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAyKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNTApOwor
c2hvdWxkQmUocmVzdWx0WzFdLCA2MCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCks
IHRydWUpOworCisvLyBzcGxpY2UuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgw
KTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNo
KDQwKTsKK2V4dGVuZGVkLnB1c2goNTApOworZXh0ZW5kZWQucHVzaCg2MCk7CitzaG91bGRCZShl
eHRlbmRlZC5sZW5ndGgsIDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJl
KGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUo
ZXh0ZW5kZWRbM10sIDUwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRCZSh0
eXBlb2YgZXh0ZW5kZWQuc2xpY2UsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVk
LnNwbGljZSgzLCAxLCA0Mik7CitzaG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZEFy
cmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0
WzBdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRy
dWUpOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBd
LCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0s
IDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzNdLCA0Mik7CitzaG91bGRCZShleHRlbmRlZFs0XSwg
NjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKworLy8gQXJyYXlT
cGVjaWVzQ3JlYXRlIGFic3RyYWN0IG9wZXJhdGlvbiBlZGdlIGNhc2VzLgordmFyIHJlc3VsdCA9
IFtdLm1hcC5jYWxsKHsgMDogMTAsIGxlbmd0aDogMSB9LCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJl
dHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCks
IHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3No
b3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCAxMDApOworCitm
dW5jdGlvbiBUZXN0KCkKK3sKKyAgICB2YXIgcmVzdWx0ID0gW107CisgICAgcmVzdWx0WzBdID0g
MjA7CisgICAgcmVzdWx0Lmxlbmd0aCA9IDE7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IFRlc3Qu
cHJvdG90eXBlOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG91bGRCZShBcnJheS5pc0FycmF5
KG5ldyBUZXN0KCkpLCB0cnVlKTsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgp
LCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRC
ZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9f
XywgQXJyYXkucHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxk
QmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNw
ZWNpZXNdID0gVGVzdDsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVu
Y3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJh
eS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgVGVz
dC5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1
bHRbMF0sIDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10g
PSBudWxsOwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAo
dmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJy
YXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5wcm90
b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0s
IDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBudWxs
OwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUp
IHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVz
dWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5wcm90b3R5cGUp
Oworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwMCk7
CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSAiSGVsbG8iOwor
c2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgIHZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChu
ZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7
Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1
bmN0aW9uIik7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHVuZGVmaW5lZDsKK3ZhciBy
ZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVy
biB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRy
dWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3Nob3Vs
ZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5w
cm90b3R5cGUuY29uc3RydWN0b3IgPSBudWxsOworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgewor
ICAgIHZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVl
KSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBjb25z
dHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIik7CitUZXN0LnByb3RvdHlwZS5j
b25zdHJ1Y3RvciA9ICJIZWxsbyI7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgdmFy
IHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0
dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNvbnN0cnVjdG9y
IG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBm
dW5jdGlvbiBFeHRlbmRlZEFycmF5KCkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcg
QXJyYXkoMCk7CisgICAgICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3Rv
dHlwZTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAg
ICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiT1VUIik7CisgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlCisg
ICAgICAgIH0pOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRlZEFy
cmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxkQmUo
RXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOworICAg
IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4
dGVuZGVkQXJyYXk7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAg
ICAgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAg
ICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgICAgICBleHRl
bmRlZC5wdXNoKDIwKTsKKyAgICAgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICAg
ICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4
dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7Cisg
ICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICAgICAgc2hvdWxk
VGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBleHRlbmRl
ZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1
ZSAqIHZhbHVlOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgIlR5cGVFcnJv
cjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZp
Z3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICAgICAgfSgpKTsKKyAgICB9CisKKyAgICAoZnVuY3Rp
b24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0g
bmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAg
IGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMp
OworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4
dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAg
ICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgICAgIHZhbHVlOiAzMAorICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGFj
Y2VzcyBtZWNoYW5pc20gZm9yIGFuIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgIH0o
KSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXko
KQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVz
dWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgICAgICByZXN1bHQu
cHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAg
ICAgICAgICAgIHZhbHVlOiAxMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAg
ICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxz
ZQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5k
ZWRBcnJheS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3Vs
ZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsK
KyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10g
PSBFeHRlbmRlZEFycmF5OworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJp
Y3QiOworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAg
ICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVk
WzBdLCAxMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNo
b3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVl
KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfSwgIlR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJh
YmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOwor
CisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZh
ciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2go
MjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5k
ZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDEwKTsKKyAgICAg
ICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRb
Ml0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAgICAgICAgdmFs
dWU6IDMwCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlR5cGVFcnJvcjogQXR0ZW1wdGlu
ZyB0byBjaGFuZ2UgdmFsdWUgb2YgYSByZWFkb25seSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOwor
fSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5KCkKKyAg
ICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAgICAgIHJlc3VsdC5f
X3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAgcmVzdWx0LnB1c2go
MTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAgICAg
ICAgICB2YWx1ZTogMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAgICAgICAg
ICAgY29uZmlndXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQorICAg
ICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRBcnJh
eS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJlKEV4
dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAgICBF
eHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRl
bmRlZEFycmF5OworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOwor
ICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRl
bmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3Vs
ZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAw
KTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUo
ZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0
cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgIH0oKSk7CisKKyAgICAo
ZnVuY3Rpb24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVu
ZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7Cisg
ICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5n
dGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3Vs
ZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7
CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAg
ICAgdmFsdWU6IDAKKyAgICAgICAgfSk7CisgICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlvbiAo
KSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRB
cnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDAsCisgICAg
ICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1
ZSwKKyAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQorICAgICAgICB9KTsKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90b19f
ID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBl
LmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlw
ZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZEFycmF5OworCisgICAgKGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICB2YXIgZXh0ZW5kZWQg
PSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAg
ICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwg
Myk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUo
ZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAg
ICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICAg
ICAgICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworICAgICAgICB9KTsKKyAgICB9KCkpOworCisg
ICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBl
eHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjAp
OworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQu
bGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBz
aG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwg
MzApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAg
ICAgICAgIHZhbHVlOiAwCisgICAgICAgIH0pOworICAgIH0oKSk7Cit9KCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0
NWMwNGIxMzRjNzZjOWI2ZWZjMzUyZDEzMjc4ODEzM2MzNzRlOTQuLjJlYjYwYjYyMzU3NTA2ODdj
M2M2ZGFlNGYwZTUwZDZiMDFhODFlM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxNS0wNy0x
MCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2
XSBTdXBwb3J0IEBAc3BlY2llcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ2NjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBQcm9taXNlLgorICAgICAgICBPdGhlciBjYXNlcyBs
aWtlIEFycmF5LCBTZXQgYW5kIE1hcCBhcmUgbG9jYXRlIHVuZGVyIEpTQyBkaXJlY3RvcnkuCisK
KyAgICAgICAgKiBqcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVu
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3Bl
Y2llcy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFj
ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Ut
cmFjZS1zcGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlamVj
dC1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Ut
cmVqZWN0LXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVz
b2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpz
L2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAg
ICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMt
aW52YWxpZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNw
ZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5h
bWVzLmpzOgorCiAyMDE1LTA3LTA5ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAKICAgICAgICAgQVg6IFZvaWNlT3ZlciBjYW5ub3QgZ2V0IHRvIGFueSBjb250ZW50IGlu
IFlhaG9vIE1haWwgbWVzc2FnZXMgdGFibGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL09i
amVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL09i
amVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dAppbmRleCBiMDU0NGNlZmY0OThl
MGRiN2UyZmM2MjI0MDhlNWQwZmI1ZWExZjA4Li5kNTE4NjI2NDNkNjE4YjUyZDc2ZWUyMjVlY2Vi
MjY0MzMyM2YwMDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJv
cGVydHlOYW1lcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93
blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0CkBAIC02MSw3ICs2MSw3IEBAIFBBU1MgZ2V0U29y
dGVkT3duUHJvcGVydHlOYW1lcyhFcnJvcikgaXMgWydsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5
cGUnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEVycm9yLnByb3RvdHlwZSkgaXMg
Wydjb25zdHJ1Y3RvcicsICdtZXNzYWdlJywgJ25hbWUnLCAndG9TdHJpbmcnXQogUEFTUyBnZXRT
b3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKE1hdGgpIGlzIFsnRScsJ0xOMTAnLCdMTjInLCdMT0cxMEUn
LCdMT0cyRScsJ1BJJywnU1FSVDFfMicsJ1NRUlQyJywnYWJzJywnYWNvcycsJ2Fjb3NoJywnYXNp
bicsJ2FzaW5oJywnYXRhbicsJ2F0YW4yJywnYXRhbmgnLCdjYnJ0JywnY2VpbCcsJ2NsejMyJywn
Y29zJywnY29zaCcsJ2V4cCcsJ2V4cG0xJywnZmxvb3InLCdmcm91bmQnLCdoeXBvdCcsJ2ltdWwn
LCdsb2cnLCdsb2cxMCcsJ2xvZzFwJywnbG9nMicsJ21heCcsJ21pbicsJ3BvdycsJ3JhbmRvbScs
J3JvdW5kJywnc2lnbicsJ3NpbicsJ3NpbmgnLCdzcXJ0JywndGFuJywndGFuaCcsJ3RydW5jJ10K
IFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhKU09OKSBpcyBbJ3BhcnNlJywgJ3N0cmlu
Z2lmeSddCi1QQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoU3ltYm9sKSBpcyBbJ2Zvcics
ICdpdGVyYXRvcicsICdrZXlGb3InLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3Vu
c2NvcGFibGVzJ10KK1BBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wpIGlzIFsn
Zm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUn
LCAnc3BlY2llcycsICd1bnNjb3BhYmxlcyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFt
ZXMoU3ltYm9sLnByb3RvdHlwZSkgaXMgWydjb25zdHJ1Y3RvcicsICd0b1N0cmluZycsICd2YWx1
ZU9mJ10KIFBBU1MgZ2xvYmFsUHJvcGVydHlOYW1lcy5pbmRleE9mKCdOYU4nKSAhPSAtMSBpcyB0
cnVlCiBQQVNTIGdsb2JhbFByb3BlcnR5TmFtZXMuaW5kZXhPZignSW5maW5pdHknKSAhPSAtMSBp
cyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2ll
cy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxs
LXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTAxNGMyMWY0NmNk
ODAyNjQzOWFiYTFlNDRiYTBmYWY5OThiNjJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE1IEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29s
dmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2Uu
YWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9t
aXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0
YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxs
KFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlz
ZSBpcyBmYWxzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BB
U1MgdGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBn
bG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1z
cGVjaWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNw
ZWNpZXMtZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA2YmVjYzY5OTc3ZTVjOTQ3ZGU5NjA5
NjM0NzZjMjg2YjdjNDNjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UuYWxsLicpOworCit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9y
dGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBw
cm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0g
RXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVu
ZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRl
bmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5f
X3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5hbGwo
W1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVu
ZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2Ui
KTsKK3Nob3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0
MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5k
ZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBF
eHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRo
ZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0
MildKS50aGVuKGZ1bmN0aW9uIChbdmFsdWVdKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsK
KyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFs
c2UoInRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLWFsbC1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LWFsbC1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGU2NTEzNjk0NDY2NmRhZTZm
MDEzZWVjMmY0M2IzYWY4MDY5OTRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rl
c3Qgc3ViY2xhc3NlZCBQcm9taXNlLmFsbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBp
bnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0
ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9t
aXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQ
QVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
YWxsLXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmQ3NDJkOTI1YjgyZTExYmJiNjZlMjVjMTcwZDI0ZWM3ZDhkMDE5
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVj
aWVzLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQg
UHJvbWlzZS5hbGwuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3Vy
cmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5k
ZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVj
dXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBl
OworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3By
b3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2ll
c10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlz
ZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUo
NDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlz
ZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIp
OworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVu
ZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rp
b24gKFt2YWx1ZV0pIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJn
bG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5
cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNl
LXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMDZl
ODA4OGJkYzUyZThkZTI0MWNkNmEzMTBiYzgxZWE5ODllYWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1By
b21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVu
ZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0
YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29s
dmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgRXh0ZW5k
ZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2Yg
RXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ug
b2YgUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlz
IGZhbHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiNTQwN2Rj
OGM3OGE0NzRkYTFhYjczM2M2MDZmNTMyMjZkM2FkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKQEAgLTAs
MCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLicp
OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRh
cmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVj
dXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHBy
b21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4g
cHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlz
ZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gUHJvbWlzZTsK
K0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4
dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJvbWlzZSIpOwor
c2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLnJh
Y2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOwor
c2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNv
bHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1
ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4
dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAg
Z2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlBy
b21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoInRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFBy
b21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjUzZDM1ODFlYjMwNDU3ZWEwZGVjZmZjOWEzMmExMmYxYzJmZDdjMzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbUHJv
bWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFT
UyBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMg
YW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5z
dGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmJhMDBiZjQ5
ZmFkNjM5MTE4N2JlODhjOGUyMmM2MWM0ZmRmNzllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLicpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qg
c3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAg
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90
b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30K
K0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7
CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0
ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5k
ZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2Ui
KTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5y
ZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1
bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRl
ZFByb21pc2UucmVzb2x2ZSg0MildKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2Jh
bFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRl
ZFByb21pc2UiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTlhOGJhYmZhNjcwYTNmNTNiMjVkYjdlZDgzOWQxNWNjZTJkMDgzMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZWpl
Y3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2Uu
cmVqZWN0KDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJl
c3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUg
aXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5o
dG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MTUxOGI2MDk0MjkyZDlkMDFjNGRjNjdmMGFlYTY0ZDc0ODM3MmE2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRt
bApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNl
LnJlamVjdC4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50
bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFBy
b21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9y
KTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7Cisg
ICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9
IEV4dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOwor
CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpIiwgIkV4dGVuZGVkUHJv
bWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9
IEV4dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpLmNhdGNoKGZ1bmN0aW9uICh2YWx1ZSkgeworICAg
IGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJF
eHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJl
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVj
aWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNlZGI1ZDVhNTU5MTQ3OWVl
NzBiYTAwMWYxYzg4YzViODY5YWU5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pz
L2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMg
YW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5z
dGFuY2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9t
aXNlIGlzIGZhbHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc5MTYxNGQwNzU4NTBjZmU5MGE4NjNlOGZmMGUxMjI0MjNmZDNmMzIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVy
ZW50Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQg
UHJvbWlzZS5yZXNvbHZlLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8v
IEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4
dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3Rv
dHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUu
X19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNw
ZWNpZXNdID0gUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOwor
CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFBy
b21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQg
PSBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAg
ICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAi
UHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVk
UHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmY2ZDVlZjcxMDdlYTc2ZjVhZjQ4ZjQyNzVjMjk3ZDg2ZTMwODBiYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2ll
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2Uu
cmVzb2x2ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJv
bWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1Mg
dGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFs
VmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNw
ZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1y
ZXNvbHZlLXNwZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlYTQ4MDhk
OWE3M2NhZWJjYTY5ZjExOTMwYzg5Nzg4OWJmNzAzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlIHdpdGgg
aW52YWxpZCBAQHNwZWNpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBF
eHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9t
aXNlCitQQVNTIHRlc3QoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBjb25zdHJ1Y3Rvci5A
QHNwZWNpZXMgaXMgbm90IGEgY29uc3RydWN0b3IuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhlOWVh
ZTNhOGFlNGYyMDA2N2M1Mzg0YjQ1YTcxY2QwMDcyMTMyMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLmh0bWwKQEAg
LTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNv
bHZlIHdpdGggaW52YWxpZCBAQHNwZWNpZXMuJyk7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdl
dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRv
cikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21p
c2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJv
bWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5w
cm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0ge307CitFeHRlbmRl
ZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK2Z1bmN0aW9uIHRlc3Qo
KSB7CisgICAgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVl
KSB7fSk7Cit9CitzaG91bGRUaHJvdygidGVzdCgpIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1z
cGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42N2MzMTBmYmM0NzRlMzA3ZjIyYWVlMjkwZTRiNjAyODljOGU2NjI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1z
cGVjaWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNz
ZWQgUHJvbWlzZS5yZXNvbHZlLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisK
Ky8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9u
IEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21p
c2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnBy
b3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5
cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9s
LnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9
IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwg
IkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIg
dGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2
YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZh
bHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhl
blJlc3VsdCIsICJFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2I4YjBlNzU0NjhhMGViYTE4MDdmZGM2MGZjZGJjMjVkMWJiNWUwOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgUHJvbWlzZSBhbmQgQEBzcGVjaWVzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgSlNPTi5zdHJpbmdpZnkoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykpIGlzICJ7
XCJlbnVtZXJhYmxlXCI6ZmFsc2UsXCJjb25maWd1cmFibGVcIjp0cnVlfSIKK1BBU1MgdHlwZW9m
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMp
LmdldCBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5zZXQgaXMgInVuZGVmaW5lZCIKK1BBU1Mg
UHJvbWlzZVtTeW1ib2wuc3BlY2llc10gaXMgUHJvbWlzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3Qp
IGlzIE9iamVjdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRt
bCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
OTMzYTcwNjgzN2Y2ZTA5ZWI2NDhmZTAyN2U3YTE5YzljYTEzNzY4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMjEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignVGVzdCBQcm9taXNlIGFuZCBAQHNwZWNpZXMuJyk7CisKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygiSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykpIiwgJ3siZW51bWVyYWJsZSI6ZmFsc2Us
ImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdl
dCIsICdmdW5jdGlvbicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuc2V0IiwgJ3Vu
ZGVmaW5lZCcpOworc2hvdWxkQmUoIlByb21pc2VbU3ltYm9sLnNwZWNpZXNdIiwgIlByb21pc2Ui
KTsKK3Nob3VsZEJlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5
bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpIiwgIk9iamVjdCIpOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0
cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcwppbmRleCBmNzlkZmFiNmE2YWY4Mjhj
NDgzMDJkMGE3YWU1YTRiNWNlOWQ5OTI4Li41M2Q1ZjBkYTRjZmZmYmY4MDBkYjJlMDgzZmQ5ZWZh
ZWJmMDY5Y2FmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0
LWdldE93blByb3BlcnR5TmFtZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCkBAIC03MCw3ICs3MCw3IEBACiAgICAgIkVy
cm9yLnByb3RvdHlwZSI6ICJbJ2NvbnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0b1N0
cmluZyddIiwKICAgICAiTWF0aCI6ICJbJ0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywnTE9HMkUn
LCdQSScsJ1NRUlQxXzInLCdTUVJUMicsJ2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4nLCdhc2lu
aCcsJ2F0YW4nLCdhdGFuMicsJ2F0YW5oJywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2NvcycsJ2Nv
c2gnLCdleHAnLCdleHBtMScsJ2Zsb29yJywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywnbG9nJywn
bG9nMTAnLCdsb2cxcCcsJ2xvZzInLCdtYXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdyb3VuZCcs
J3NpZ24nLCdzaW4nLCdzaW5oJywnc3FydCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddIiwKICAgICAi
SlNPTiI6ICJbJ3BhcnNlJywgJ3N0cmluZ2lmeSddIiwKLSAgICAiU3ltYm9sIjogIlsnZm9yJywg
J2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAndW5z
Y29wYWJsZXMnXSIsCisgICAgIlN5bWJvbCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3In
LCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29wYWJsZXMn
XSIsCiAgICAgIlN5bWJvbC5wcm90b3R5cGUiOiAiWydjb25zdHJ1Y3RvcicsICd0b1N0cmluZycs
ICd2YWx1ZU9mJ10iCiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>256614</attachid>
            <date>2015-07-10 14:09:31 -0700</date>
            <delta_ts>2015-07-10 14:09:31 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews103 for mac-mavericks</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>553848</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">UEsDBBQAAgAIADtu6kZNtJ4WDvIAAJDQCgAOABwAYWNjZXNzX2xvZy50eHRVVAkAA/IvoFVYL6BV
dXgLAAEE9QEAAARQAAAA7D1rc5vIst/Pr0idKufTYjPDO7dcqdhxNj5J1t7Y2U1y61YKw8giQcAC
sq399XdmAAnBIKFhQCh7KhVblmx6uqff090DoHEs43/gmYT//S+QT/4z90+gDLQXQHmhmi8AfCbJ
hiz/37N//3px++zEjiLHdqboRJVVaWYH3gQl6fE0nfnP3t7eXp+AY/DvZ1CW8X8g/wtwP94NUSIF
YSqhJw8DKCCVgOAFPFNUrQUMpQFGjJJwHjsoOUm8WeSj4/QprWABlBbPV9efnz2cfpVi5HoxclIv
DBIWlRRgQh4IwYOd5N+k1PaCFLmSPUlRLLmx/Sh5M/seMeEZKge8FaG+Y3B4G6QoRsffkyqxVMvU
d3968cwVFPLj1I4DlCR1KLquGSY3zVZAgCw/4f+S783IPjnpcfJwX9t+418vXjTD0ATB2I4NG1I0
9XwvovTCTIyceeyli2PCApeUA7JfYzECMCyVG+wjurv3T8LYu/cCyfGRjb+GwSSMsZg6TL4zoKVx
gAsxYwfpxPMxZ3vB/Ynt++FjzuiFaLHAqVDfHdpq25aPjqbRy3nsn9ZXsvrlyE5qFFZkrNeE7Gqd
/w3dsgSQcjMCVIPrPe0Y1ukR/oZcFlRdFgD1zg+dHyPjk4nt+bx8onPg253K26DOQtebLFYAY/TX
nChyTAkmsWVzd6AjJPYGtIXTHD1g0BlS5dfSne1KM2JU0kXEVLimDLtBW9FyHZadeFWNpKjiEMup
TWFJDnYCEsR2LxUTiEIQv4qwf9YAnLBb/sEtfv80RU9p9iApSWNkz46UsyMo579+pLz+dPtGMqsk
giNd7KMXuOFjIgGogUNZ8zydHA6BjyCkDIG/j3XJ0iQM7+wYr1zwCtcFO06w2ko8hy3Omr7R065A
wfbO9ksUsO/QcRTUXGsIVcij8cMfHn6oG87vfCT9NQ9JePVg+3MkPXrpVErQzMMI+WHAVL0AdLFz
yxArxHFvzfuDrSJSfYcIK0ZRGLMgmRYP7RJsMMLYxY4IDUIlP7RdbDVZhLJUeZc9Z/M+SsqslfH6
PEhPq9oMWrsjw8gUkLRH8RMrK8FrDyv5jnVepqkOBQhBoAJoPeVBAWk97goUsCuExcq6L/O+/PD+
nvBZPSsBeShX6IAVoPydTJKSdOHj8DqpAdPN/oin1Ik3GCwetVNlvSwlRkxRHPpL/xkDdNEpds6f
E6ee/o5N1G5sY89kJhFrRdb1PPv5m+eeguf0t77lTzqNsJr2nF+w2Z3ZTxJWOqdAxkvu7vmz1s9a
20u8qLfw9sNv119en92Aq89X179V6KcZ3UzpYxj/QHGyZlLzrCUr1ADaWFQQC4lq4lXKPmDYIAgE
eyBBiK13/ICBsZJiCoDjZXOy9DSM0XPM5d/2xOWK8fnNb+8vrxUL/n71VjEEc3mNMcpuKiv0HLNa
GsN+fXl39urT++ur92+VL9ef//wkeL8Y4hVI0zSNmO6ePG7hom8I3qyJ5yM78kiC7o4miLxASuZ3
k9iesRU3j++4E0d8ulQubi9v1I8fbnTz9cc/BHBEgWQpZcRAV2pEWjX+cXyx05aBr5/fGxcXV7//
+f5KBtZl30JMY1wH0xC/79k++3BAMUa8a7M5jXZxyO65drrXzfvzj/Nb+a3xRnn76ZN5Cz8I2Lyf
g4qF1sCMhh8uLVXGJMarw/DspnMEICtGz5v26uJM/mDpF28/fn3z6uNH64A2jREMDczxl7+/+3T9
69c/P1/BL9q7z1zEM9i88jSNsfseuBI5a86YhHwUEPOCEgf/CjvTBKEOdodaT5ttLH+AwDDN3aFk
qUyCEMGn7AKvI+qEs1kY1MEqwFR3hyoo2DM2VAct02RMGW5V92J0zscpGBVJCKRWiTN+QPZdGKeZ
ryGFAf7q/MDMvMRNwhCYhIStSm62o9cGfkO+E27OeRlNmW4iSsezSBW4XWws2IRTTWGA3PAxyBPd
y6K4xh1TZKuHHWtcQlPpnGH1gT6b1LrSL8ZNnNmqPLAdjlEc3seIXSkDFA30gOASZAN2QNF7hCqB
Y2LVq9ZG6RMkHB6kKhyk7TjkwQ+eLZVrVta0nCHIKLFgsRgUiJJABrwm7uwke/N0yqwjVA0xeODn
YwcrnUeVrVFlgGPbDkXFZYckPy0mFXAz2wtWjso6zKx2VpZ5vLgZ/u/MZyRLWjrjl2YotZmpFlXZ
xVZvPjMqpwg2Hrz2DJHrUFGEr98zXsrglFT3DhFw6KmmZBYKJ2xrzeP6NCJHoNTlmSfK3RWE2T8I
S+Bu0Nd5karjhwk7MAQ8UVQDWuXDozpyhsbBa5O57yeYlVFQeol8RDWw600mKCavstp4ZioCqBxg
WZXhrOoDnqB9/dm0aocUfTo/7mMsoi4rN8ATOgluImnJdRGpgVs/RmRms3m8leG4rgk77H+FQUCK
kN05qU2WAvvBuyfpVCe2E6YHpXalbrn0JofOQFPVd7EcTBZcINI7wCjrszQeTykLFk9ooYtkJ47n
MTlB40imbSkWYvK5ArhkdQskZs0g4AlnNjhEHQoT9wGk1OkSkk65WCLdEms/ZDAbW86gZXWCG6CU
VLiQgp25b6dhTB0gAvMUK3GJVS/5nKR77cA9TVI7XhFIKpW7VRa5HlDiz71AdHBE+XZEmv/66gY/
/mnmk5KDnDIlaJjYqRcR8hFukpAzDVmaShaCkTh+XaqqcgvGSmnVMYDyHqgG+XK+ayLoYeuB+b6x
MABAdXjMFEusIOXoMUJ+CwiM+J+m7JI2TTP3pbow6WqK63lkp9PT7M/g8feorsUEsFVWb9J0YGZC
4/C5atl6zwAF9rXh96iVpQJQoKfAKhrdNcAXssOaJtgAz+825AuhIsJ5xEb+PHvz2Ln3NjoUA7IR
6SiPd3d5WuvPyhH7qreRLHGW9UexVKnaH7gnIdBaTgVonA4BTJ7AvgWOmMd9z7HJGAxBqO6yj/+T
d8KdshoHgZB4716wIJEeFycOsaRMbJeIAJER1pZp0OjgYbpoYmPlJqHACZtOb3Weo6MNBTtkm2h/
YkDmRfje35Qt2CNkTGO06awdJFs8/611QHXrfewszMKxWxpEmsOSHqcoKPJaJMVlP9oLKSVvkk1l
HhIaqpCoy/ewS2n70o/QM6V4JIGXoglOWifEV96UrwZ7cKZUa2w6k5F5I26KKK2/N6oNFJq30luc
1V/7yB6OMcY0DXH5BLZ7CEAHxeoFU4Q9UeQu3Y3MK8CBzsxLEmxOiM+PMW0YXCbYH47sFO9mUMzI
wh6Lf0O7epmeCE8CeCAnbpPBetnNYg3pUPWkHAq9TQRLIgmK7A3slaakO+l7wu6f5XI8D6nCv7L4
ez+8s/2pRzoWFyf5d8nFTgI9TswS0PjZm8dpKfLozPZOPdxf5c/69btPyvnbLx+0L58E1HRs0H5M
HE0OPVPsGpHJ4iA4pFClFPt19wjvmXS3aPSXgawro5HX9QDEnc9mC0algyE+shGSf+lJA3SX7wHC
m51NboLJ8gNtMLrqWI+Ud9IqJvis/mpcW9afXz7cfNBE9EMN05nEEsX6ONYuLnVtpl8QpmS2nhsG
iHd8XwskWP7lCP27/aWOBygC27DT2bklHI1JKuxr+Ty+ZmmJlre9oGGwCE8hZf9Z5gqL/TW3YwTl
47tZzRgqEB5WipQl9nVJ4dmWpSUt7CddMlOnQE3MwhlzyYGw3b73JlWqyMIeXj/g16Al1HvJqC/G
eWlAgpFc5yFRqxArRhO8gunmMEuVhTTB8ObXVYMz90dOfrdOBQQGT1tboSyxH0SCfOyF0QifRv1Y
Qy/ysJ9dcj4kPRu6pTRjb1vaOeu65ay/tutdaxuFByKpN2tiRkvnMHy5+/Q9QvekAJ30vEhNvqEu
d4340zALbRgxbLshLeI3dkPl19KlZFd/9RlMPM+V66ksmr368JezI4GmnX4JhOx1DyVBZlsMIB8G
JodVTb20IcegayJRAkJQ6uWo0eRRj3Q0D1Mvqq2GGFSAegF+IjlpIgNPsplgoTNPpDs0CWPUqCJV
oHdFUJyA8rDfg5fQzK/vBT8argFS+NkkOxz0Ue7iJOz7V8DuAAqsshxHft1LjCLfxlq9QDW8+076
jxxMZ5d9EYHGs3njSaSaHVJ/F2+096/fvT/Xzaurd++utLrTt6na2dyWhmBtTMLcmQ0n+ZoiXutG
82SKnTu27tB0c0Qc8Tz/E46hwqBHxRs2TBppN0SzC8++1r/++uurd6/NLzeXhnbBdQhmDuhlDKnt
B+fCYoZsd77bQZkzDYgJeua7s4+vL2+ufvv9TP1qfVVuz3vhuy0Z1P61cbMeVjXrH8WQuzHHF3h7
dmGdm1/Pvtz+IX88EKXU9+YMvAuvzT/enP9xefb+/VdFu373p4hdaGMOs4aFjRVawFQNfqVYCGmR
MwuDhKYPYzRBccw+09G5DIj4M539WEKG+iPD9jZTTDbHKKYFKlEYUZ9VmmC5zKcgRyhwszGINIfV
MP1NAcI96MJ+NDrRRr/CtqU2A5hc/sDPwv0Ck/9ts+9jyxFhwOyb+YAGtQ4UXY2Japr/bOhwnPRi
cAWaRZhWXSbk7Vu955dc4vUuzyZlbBuxF+Mmx1Etn6rqImzJEmxqx/dsNrN0bZxc4AUJuQM0jKUo
DtPQCf1iamL+CXI3xFmw3Xye7TBLfQv5Ww3t0orBE3is5HURY7/Mc7C0sgfqKK2utGjYqGRVsE3b
A5oPxTXV3CV820ixrJKuoUlWFy1OULA4sYxTeZMab60TFUSxdoxEEEmKIhEp2C0I0q4Sdipa7iBa
2dWG2+7d1SAHjF5PXIs7Qenf8R66bt8B2hvloCjNQkgXSkev5SPrzdFrcGTK5PXZBf0K6Vet9P4r
+rV6KGvqvNFstoDKyFWWI6EpvaDeGXOtC5uuNBtb3+tQMQWjPbF9n56FdkXc6FEZvPROuy6PR3/M
vMQpq0cSUSVThLXkui6pV29Yqsh0TuMYItHiX6iwXYktXb+6uamSAPz8i1u/V6KLCFFvX1f41Wbg
IL8oa57Ynj+PNw2SNOAgvglngLyTXniDSQqPzjHZjaNzjb4+OzoHIuR/OIxZu7i8vYl01yZzHIfg
6Jp9Tm8Y+yGyBEWQubqMlZ7F1OxN6/W0kzuEc8x8pKUdBPdsRPOy+PCW6cVopqn2yyXZ3u0QUu4e
C8HusdBwoYMiJnRY47Nl6RIda/A0jdnVUVoX1eRmJxJuMYCcpNhTJD1OPXrI5SWE01PshzHPLDQL
CmHs4mqefG7EcuRCELrs02BZUHDSHn0JMBcCVSHruH17efPtzeX7i2+vry5uvv12dfvt4vPlzW3j
/UQ6vxLL2ZZOmfLug5Cgz1Bp7F5o2RSsV6ijX14Ta3KLKix5Ra8b2ZjBUiEHT+cMTGcTkvx8NgAq
H+e/zGvR2oBEeoxDTOvSjQ+cf8bO4iiiBpg/2l6anc6US8Xru8PDiltHtrNbnqHSDVTr6ezcDJB4
f1MvhHa75iaFvifBJ6b2VhWFH5oiGzmzKLKSv6Ll1qIikp5aqTsoxDWY2cWC1i7aoaOklsSj8pkE
Vn+ehhK9o6nqM8G+fabqpTgWx27kx2ZRsN6eg7WAZPvR1GaPhJGFMleHYQRDuoA+yUmITB33MMh3
K4QkdmgzIPIj7OXVB8/LPLFEf2IGqWhlhqkscBMv8JIp48Ky/cQNLac9G/LQfixkzzGUD8KfzDqM
CuYqT59LKBMQM5ifild1r7InRhA6r7lBylbLpAQgdDCa6GAIyu4MErJ09gyEkNTIIvBwnkbzlE3X
fA5Erx4WZ75sFzPbKbnKGeF1rPHCAllq75LQU4RNAjsNVxlCT9rfPyUoJhekH5BNy+6p4ikwXBsy
gDXzHGvqZGo3zLNUttxiMhh1lELySr+f0aqRPkDWuyj7Xv1QIdf8NBCfiFqCZXGGyODQxm4KqICe
c4Zsa29xt2e5XhL59iLn3XlAPFab3ICWSHlZwcr6ssdYWKPsglgSdWdzqml9QKsbUdX6L1YMIUPx
A9ZrG4XMGmUReHkEWBL6cyy589gnVzJ6EZFhrJsi22GoJm3shcUVvcQsauJx0Yqq7hM3tu+l8IHa
s1mYoqVXs2ESuKarY5efFV/Te9SIJ0Lq1wO3XcoZQNMar9AuN0/UlRCDm4h6RELcB0iPurOC6Yab
kDiTH/2roJLEkk6aBUahWYAUVUBPN3UOANsxAHtIi1PBmnPEHjszQdZa1rkyzwlnkU1u/6xlORVT
55pA0s0yCCNgSemRN4jrSick5Y8+dcKYBC7Fz88JFR7D2C0+KH6uyB2PE89QVck0fPxIzBqKs9up
WCcKZUCV5Y6MMllnqBDK3JNbWqAmP2msEYSWoQnLKOQTLpjuBIBdzW05pk2IL4EJHs5sEj/7/oLt
V6pQhBUpXaGX9GZMWiVQi/IPMgFIKtUA02On7C68/ES1n+F4Ik36xIuxVzbAhmRnui2ws4bZkeZT
ssTBoQUjjyLtvvjdD/NbHWxY27ZGmHhYAn2trDGqJ4Ra35hkta3sSOMFYRrHSxpOgwxFPgR2DkJp
hlzPZly8wMMBLE8V8nuqrQQm24Z8U46xHUo2X0I7Sk7rJbewd+6irCVlndHbGKzLtoTpFMUcFsc6
HCJiB0qMjJbi1TRPNjcPKmpVPmj1nkQYyR5ktymKVJX1aTSkMqm0hs0lBwrgGblYKSDNPZrIf+ki
316Q4XeHvkUSfh9TlfYx4DhfyIbtC6O72PZ8HMGJZL79+RkSFCQ+4vN6Y7KWosi0Xslbc8xYI0QM
cVDubOyW5R0lGNTazOQswQ/7AwZFANujte+bBar0UkRuDk0HNRwhHZwxGXgj1CGlRB8SmCYC2Mp/
9SYklxxkV3+UxnHmG0qGQjD7vFoNY+JE0RySnsYhqziWpza0qFl97lbRN5NVvEfY/NU6+Fs1/o3S
D+3Pj/sZ8h5ZSIVpxJUm3nCVAg3Y5unEzIe11oc1yjo4BAployf52kysQbvVGqCtjYD+/Paj9Iil
4z3+8GOGJnsqqno48h7FXpAedui8ZmLIlBMx6LTsa2pbCm516GnihLG3sGYe275Yw0Hqc7FV+mse
kmQvrQNnlstjp29T/ffWFPMkDCuXM1IL3mrA1rgs+EHLdCBN8W9hUXAPWzVFcUjmgpK87kHjkbY4
2dlJ4rL6e1eakialcjhHF7kcmu3kc+jYZ4vGASUZ0oe+POmf5diFeiKiQ8MSmQJyCDIls9keEiny
mPW0WNmb+gF7PgOST3LCaCGQhj+tZmjZVa0aI6okEdoAPPiZzu7Cz+lgc4oJJ7QDSqL0U/PY81qH
Kp8quCY7AtzUjgVMc8xk2aXuZ7dobxE4ZHicVJod4wV5kQTK2yfZA6D18RNMWI3P0AsfYW3Cz1Mx
8jNUiuyhQqRQpuSKJwnFcRhnrZR5gQV2RovKJ+Z8MfVA9Gt/BzEjDR/3UUOxJ50Efx6NKgoX1rio
zXUA7BnG8NDUeX8BPNGE9Aa8TJ/che6iIvDqPycsGaTxZ7hFCzxmHZr9x3f+uO9zx0aPJi83wB7U
2mQqZu0TOADDLf6UMJ16sUsngC6KsDFGvv3UMNwHQhUcjIHoy/+j1z4Wyrp+t5AxfgqN9LBwb4eE
DIOcycI89Xx6MSxGgmqtyTygcE+zpHvOBdUklDV+Ego/n9zoN9VUsBA/anCasU8kdyifqDPaBgW8
aeCQAowD8VQa/PNORDt8DdzfQSRHINhwG6ah7Z+MbY8CNbN7UzbRUeStyq2JjEk7PM5ioScpkt/t
Bzt3TrPRmRjZRePlL5omd5OXg7dmfZ6u1g3Y3ygOJR8F9+m0UtrWC4jvgrVj193uFzjW3G/CMANe
O7w7MDYvV6BH9pz0UARF0IlBkU/qpehqu2GB1vC9yYwOotxUFBaC6YuQO0eG4JlXgXtWZMmqcanR
RSHnQ4yndkJmIlL14yywymHrYuOfK50H22YLh2yzheLabKsuSjEWoamOSwf9ISSkD5bds4MdX/Z9
9j0ygzokM7AaPA/L1LXFVB+SrMaQwMwhgVnDAAOZXpRFQguwn4Dcb3e2+y28I2m6hBFCKcqhhTSd
osWDNNrsjXyZvR44ZOnVA9wN0Z44Rwpo42qNfSx5DPnsQzZWjM5X9hW7stx1XFUY+IviqorS2DWa
0ljOmM2ycMwl6CZH523DVX5s/3C30DO7iatyA5cduNIDisllodPFXey5JJv/0kvRLDl17dR+8QpA
BUe5xpFxXpVSIUFpdvcJe1TvwPj9Qt84o2+IRZeVvs0Rb8jXdhnfgRmXiMgDuTeIJqhTkmWb4EVM
GRkMWVHV7nqwEIdNBUnGjuI/vg0tKBy5E4mkM708wVm04zTctqB2kpTEvvNRwxU5utZ962JM0nC2
HJpdr1gytUPTM0NwZ2WbigvQH2OMlESeX2QN2fc3qpolRqE0AxakW0SL4S/97/d2lu5B5WVOH0tM
Lb0fzmJ6Baaxj909z98wLRl03dLqkjLEMfBImng+Dctekhf0TgPyQvJtvOhZiI2rh5217BQu80OP
01n0nKzwdLXAHnihbx1KD8k7kKBT4NO7AhDPQru682wHvtuUoSHmzta3nrIGrU04PqbHIT79JTvy
TvAblb+chJhJyBVZaUiusnAZJ6Q80/ibJsonqZ3OE+w5udlrduwGVZH5sf8OAR3xBM1RTYnsOrhx
P2ryl+G9LfYNBSXhzlJupTdOYU3tAaVH6ZOHHXkIRIw8HOUwU2NIYIOOFRVyKMMlCeqaJKjiLtXZ
Aldbg6sNBheuwYUDwVVksDZzAgiEm902lrelpDGyZ8wbWZSBEIUb75f7SczWmJ7SmwkdGWMpa4yl
/LwSZKwhanBJ0NPMJ2dBeTlrVaCQMw0ZaYGu0dVYSarKaqeWkC0knc391CPnY9KKuPXTVk0Vcr5L
0gf/396fNzdupHmj6P/3U/R7IqQau40SMrF7QlGn1rZnqm2/rvJ0z5w4rwMkQRIuEKABUEvfuN/9
5gJww5MglkwQVKm7rIWSmMjMZ19+z6nQ8RCeAhdH+msmt8hnuVJo30+n08X9PE/DySaHCydNW1bM
rH+sTM58376rJFkOLWOMs05wG13mbV11JcFt4eyksG6nNdsylD+ZzoIr/d18sQz/IJ+VJHw5PhSQ
iTFkC8U6PWNh90nJwtdv3r57T66MiMEPf/vhx//gX0rIOrShW62MwENFcT1tpeCBcD0D8qnGT3lX
PG8o1Kapny1BGd0F/oOVC/CP2jbxlPJx1mBqyzG8kWmCLQ+yRrwk1jZrCpsGZ2GR0yWDzs9n9/x3
4SxIAHB0buHp2FPAe+JsYxfFdrwj/j1LNVV35LhI3hxg3vwFkjujczAz00WaAbK5QiHHE4LVB2eO
LGVNRk2iVHZquZuD0Gun3XARdMxchQzSyE6nX7YSia5cfH1bI7SuWZqU8edqbV7TpvVb9rY35NtK
sh67pjmYOW+9+enjlfWO2/TFN9fTJCZ/mv8eB/dRGAfZLRo4aH9rHfj+mnLvTaUqjQmHy1CnPVCd
y5QBkUEBoYts6sfAPnEnZQrNbz5MUFRCAE7n2tjilIjtKj4p27NkqwfhFQpVBDbdwTyIgm25GzE8
D8+SIPs9TvLf2QlVstwSjA9+6+TSezOnFOfQNNRtqSM4NVdarLP9S/DIv9DIV9oyyjQ/yBB2YSrF
aDBvqaBM7i+pJNPBzGMq5YKZNk+TVdGFweueCvlHcWvCuA55BXexZI/uOtus10kKbQ051oWZP7Zy
n1mOej/zIQ1mI4oZ97sTNuR3AzO+HMGufyVrmsrc11clygqrGJUII6EkmiLlNA0JUpao6Z1EX6fJ
4vcwngUPL1fGxj3mC+MMnNGloKh9wIPFb201K0Hkojtdb47eFzOtGO5yOKG9iBrxYadpOKHDR6jg
hpc0zOFvD+neKK2otjKF15NfvPq2kePgEQcQa4XTNH1c5/pL8uUxDShOmUnyC4725W9mYVLhXEDs
Wl2UJrTiJFxPkvUJIY9sZ7ASEEuXujHaiK6/zI9FhGMgZGBpBoDAnTLGToMnmbg3Cw+7qTN4YJe6
JDqDpW9hyeJfxN2eZRv4qdPpObwLZKD20+x3i/CwP43553TwFbVmmKWS/bnx04DYbbQY/Zr98HV+
q/OvPiRpxR1H2DPlKwpUJSXbwobdD7iCqNaUmuV3wfnAKyS0D2YZ/U8LVzS+lxFzcxamwTQX4wki
D8m5oSBeRGG2vOF20ZqBo0NWioPVref70+PYoON1yibUn2MVKNk1Ry9ajri83BLj700a0d7LVtse
oGyfZli/3/aE7leWxGVq7TvR7/AitmpzaGfyy1N/+oV/1O6DyV2ea6xdtoQRBuMFXq9yoDqDb6Co
mRSjuTjFLPMXNO07TRNCZLOE4U/xl8sq8FmYrf18uoSXddz+rEwLheepvxCBEeAuSF5tTfSudlbt
ZqpSqW20ShqDbplPyJ5Ne7mxahlXc4RGt86vduwrN0C1DTKyGAUTVhkFFuYvgMWvGEnnZXaX0Fpd
sov0wmhmiNxUqK387AsMntYKFnn3/HsocdBOCPUExCYEl/T0i2Oudn+B5fDjnmYRT4A3saFLYrVi
ERGSEJaTyeLNS0cn1LUUI1wF7AMbTqNl5MHncO0FOg/JicljEIrCeofxDuWdaSVF7KY5JHHcCVlT
0nMwqBOIpuIkpwj+fFh29aRso/0jrsJsemPqSPOjPEhjP6cebjEKqRI3RERCt18CRPgKMo3uBq7v
sqUsUp6ntq/mJXRFyhTR/Wn9wk93bNvp0dZ0BtbqKeiINyVN1lXMMHJda/LOMMxjo3jcGcUppV7D
eGqP+NWYmBVWBHuBKC+mSQSMaDNwk/KGZ/p8fsSxPiJTPm9+/ruWEN4mTB2UsH2gc2w+zTMQFmfw
wAeUf7Cb9OE9kbOQVzbyzMNfq5hRVrTTx2zZNTJ1sDZ4mfmVQxGVyEfTsjvBI12qztitcKA9cBVm
33C/ulMwvp5TAFATYLx+/dmTe37E2sj1nuSOF3z0eh485HUT13kkHpv43P4t70kyLMf7TnXwu+Nf
8K6o39/8/vb3d7+/l+QrVyrZeQX7JgvI8kX86pUCCIKTbkxVADu2dLOlewlZ9fkJ/f+5SfJgRo7Q
T7MAmqGFDa9bwG1OOIgwNm38T6dlpQkYb9ObpHFVsJKQcGldYJrfWtd8zPQt0iUGw8mCQbiItbqU
IjJtU07s+HgxQWqxCYhAh+VqN2nUzkaDaGpvSEUwYQRWFKAxnl9RKMQFnXYX59fbcQ3Fb/7Kf/Ft
siESotNkcpD/3/3897dcVXzk3dGsFgju1tOdjkxKqDGe+emMTh0ItG3OgRW77g1/32mvdUQLAShL
0HIR8koQZ7TIEMQW7GUk1k7KUHb0DSjvKDVzvHWWn3G6Xsg+ogs5/uOTp6dAHigBypqMcWg9+y94
RCIX78lcYytzHSUJyMHoRMWldTZVxAVW7IJo2VMUsIGSoOgyEBpUdMGCSh/JLTRsaOwqOfpJDPXG
0Xfj4G2AvPio0GOyKmzbpupQl3mze3a1SCGYYxPE3/UKUY7hqsGLNbCii/1KLnR7o54+4I1ywOSD
aAzItcboDn1Iubq9GxNLuhuQ6IHLqIbGCP0r8er2vYi23h36GkpRhH/iT4Ky7ZEQC9ZLYjF0fUhW
5nFVooDpUYbxnR+FMzFHG/J9M3Dt3gKcrVyAxm+7NjRDR4Ihh92iaVEYf2EbKAcUa2QPm2J3B71c
/MSJ+y8Ea0SWZ0iIXxXglCuBvY4shEdcFzFs0cGhmONygbz2quu1Xs+Cub+JJIRS1ExyaLFK90kO
Lbz9ApRQEPx0bBWLdZ1NfpY6hp383KzXQTql49u2XR2gJNP1vmxg0Xb8A/FrSQ8HFkJqbwItUFEp
5/r7dNWI9clxP6C2DKI1BWqKXlVnrnWR6zVLEXthAXtTnm31Vs8QoQGAEI7Txp7szJZS1xDLGZnL
nKRqlefWp/HA3+RL4kGEU59GHHet+uj4JxnzM5K9Zn7W6Jik4UJodBhSrDcsw3pr7UhUgie4fwsj
9waYLUENjbWfZdDEGn24THULsjxBLns+zoZa+eTXDnp+XpXfHM2nNJvNp5RgiINEapumMpVwPJ3S
61xgtZ7NCQOmd3S+PaGb2RyusZJl5c/TIJ4uTxnfJjqb8S3P5t4K23LWWC4YBoY8uYfLfLVjpBl6
qp7VslZQ9hhTGZJP1b2XPXKBksT1KRqwdauQmPQ3fiMceUbBaXQTnO2eRoQZ5Mk/b4GhZnbAegjj
aRrQUtSD2Bsjp00+dynBVQvEENYNXYrBYkgLN7WkUW4InpVCO0xkHgOFXsgo6EI0o12SoRo1Puv1
d5ibPBoB1dCqO94iserOeuRO/276sx25uBgGhjBHHQtgWaM5w2msq351Pf1rFRpqmgqoYVc9+i2u
AHuu3VjHcuRVlCwGwlQ58XzkQSpPx9si6B9hYMCYJsV+cKTZDzJOYRE0uiOkS5Y7+GQEKqOBt7oA
FPbOc2R8CJYawt63bXcWLd1+1aTFJrFpn7BI2zYFGFJqLWqJUV58S5qdgIf2HRtaSMcWSZe4F9Xa
yeQP+tbzMNdmQeQ/BjPCbwstu1vAlbGWPdA5i0a3e2O453oP7NyH0iFaVNz92zCdRtCQAsM0n7CM
c7a1fv1FXMXW+CPbzZShyQl2xTrRtNMknoE2uHEU9T0Tkdf7mV8p59d7gmPn/AvzplyZVdXNGBPX
M2bnepZivtYyTfKchuDZ5AJ6zqysc3cjLOS4ns2vy1+99ej/eIeGv15HBanQdFVlSodrSjbJjDb+
AU8obE+SmNAz+pd+BAcabFe2N2O2etpNGglQFNznOr4z1GLVkmGdiOZ0R8HB90lOfjr8BO011iLD
OC6Sz6yjNxP7d+GCC6yjJNG2koe4M8z6vMXWcczMdgclJBU0UzAQH9TDxkeTF6IERgY4nuRYPstG
PUEouPt697IWkxRhNORJCIwrz1HDmt1kRY9b2EPO5w4eOf9jB88YarOCw8b4bLTfSBjKSrp++q+/
UcCGLTuIRli5Njqr8MOSFOZuTWjnQXpEi3zcCh6LGJRx6xIAbsYg/sbGkDLS4OXwrpuyR4rnGqg/
2nkAi0JqNGp58oxsIq0kYRrOsLYOHwLYNzP1LsA9u2sG5raxrYQxscwIBdzq18Q8Qbf4AWuLNAhi
1khIXsK3RVdhtZQe4WdWPcGqqssnjM4hvFFxUf0xjYGwuvt8i0QTgn8ZVt+qlnImKCi0rQ5vT0xi
4qilWrZMNtFsh5dzUzGb3V4H5Mfk3FNyNFk4FQ3L6mjyzwuEG61ZYY7XGROQCW1YXGMPSaIf6o9M
kxnQ+ONYyFVYgsAPMszBgxykzGZboBrOgtU6YWAENRMf7S6pYDhOs5mSTxl5VxjgzTn/uQ9SPgRU
CFevQjTDzDr7GSksLup6Mh276SQfjMoSooEVCOtZzE72C5pdIqpUnWRLfx0Ux8iADyEMC12WscDb
PZllWezvZCOk3t01I+oL7CZArold1KZ9D7Z8UkJr02VIqGBvR/A8W6PPCFUWVi9Gi2yD6qgKetJL
BcXE+sxZKZwWRKxGju+qZHJ4trJjeb3DR+yedm1Nx2fnyuSjxQSefOkpyv++fHlk6nBUvjIFTC7x
Ol4vb1EvUMuiPZbJwJt1kZOg0lLYjqc7ZvcVdhuahIvfV39Cl6ZMXgguEFmGKZUQqxEBbOtSVwDv
xZC6BAAgZUoaQMIwT+6SGZiR7oZ5BGyDQmK9zPN5NTjj6vL2UQ3UYh3bXYCrhXLnRLW16SJlHHNi
ac+V5VVI1odNrJXaXKNhYHk3CC+gzC6Cwyluf75a+vFCKwZSUuhQADZMxqEtEiFYuuWpNFPAjBuW
pY+SfBmka0J98P10p+o0OIARXm1yHtcj2pxcVpanm2kO2/12n7A5sxQin4jymCzGTpWDpAD4NTrW
3b5ZavFOq+Ef0/K6YMwdea0RR7Ofp8mKD10pijUKK4nSTriPQyPE1jGlCJNyBVFy2OwS8jreM5XD
5XZnAEZKl9gvX6PNacLlHy6SQ0OQ0WlLVaIMFTd6xb7+7dePt/W879mSTJ5ss14nRMT5RyYojSlg
A2HJy0yg3Jet9xLRhCLSzZqOY6mJZjqOnMEgwHKCiB2WBI9XJAxfVVfW3N7jlTosastZdI8T2MQT
isdK421kuQC24hAeKZmATF3d1LbvqqLsLM8dkDg7Bk27k+YgC9r9F2x/j6+OK26QqXqf3jl4Hp1j
UeMci5rnWNQ6x6L4HIs6apQHxfOmUWuxOW05MuXBwXpwqBr3whBi9i2ze7fDHmdU/NAs04YsOU39
bAmXe5p9Yv+8vjymPpMfRbsJLy9f3vB/c+K93bCIyEHbZzjlWOkUkvQzbTFiv3KFPxQA6lH0Or81
DV13+XcfkvT2WKhYro3k6MFmpyfKtNqDPMMk2cTTQFjMgk1PtncPO/ROLyqd+lE52EAwAcmSdJr7
K4luzlC2GXkmzMmddEWIlR9tRqJSqWIcFNlDmkQRoelFkH+ilSvvhHa12XXBPexz/j1LG1fCN8jp
4uq3EHx896wL72bqrylDZdp9MLnL8933LNQVhXGgRfOX5Cc7eUgnKRBxSF8rxaGBxbIQNZochpon
TjSmfvOQoiwDKZRGWU80RJ4GnYes1a/ASYd9LOjmADQTTpZ0oAKqBO6ClNZqRpofUSjqiZ8FjCp5
+GxXxQKbLgh5HW6qrRFxGGabhF+C7OVktT42IehLJcfoO4bRqwMWkGGqPq36ZjPdMr+WY1PPNHGS
h/Oi3ji7YeNhtSjMiNYMUrH5a3XaTH3W/BUyDduykaEjXAEvapZD70N0hgB6H30ttLY1omib067M
bjcrOUm1so6PTXkRkwcyLKPHA+yZIu0eRWCwWo6Uhynqa9l9MrZ51GZJDBpijtuHamqqJbdOTruT
2dZQzggP8jRxhyqzXuylQKarl45K74TVPR/O9z3qKDGMr0X4XPRBPz/y8yM/lUeuHa+GTM+1ex3I
vrVZN8cNO8+k8vzIXR9ZVzZj6Pn+xiGdGBBe9hhPASHVqOf8+SKfH/n5kZ8fufMjA4GzjA7AnYWs
BNtPwV4Qt8tc0l1l7/arAt28WuZtWaqD2XCcTPekRZyWoqiS6XTwLAvlv8vTzoJ1EFPoi6rqsDps
ArocdljwOA1PDqXBU0/153DBaXlRJbZdh7Gs0Jjk52MS7HR8lP6uuDbHtS0FMdm9Nfu01A9zvzKj
n4dcuf/dtjN9HaSrMMvoS3GiTQs9BcaLDXfwu2laANHIGO86I/3C+LrVpcOJAV2antziEoG5ZctW
HNGXH88/SdDbHQtEjdGl0xaeHkMLSYCBiK5uI0mZTzqz46HaSOdaUjOrD0CRkCtphQdmhKJK7A5/
LWbIoTgoJACcENXPauWUjNPUktgCj9VW3upS6agyrwhbUt/fOHeMWXAlKoyTlhd85Eg2RU5F6lER
UFM4gSosrWlZnWvIiPDfGy7OdAE8e2BcJKTIzsmWyT1cbmr0dmfvw3hGcXDIEhqdQhGFsIXcbBBl
7VJRsPCnjzezZDOJAk20KdvFF5DhUhYIB49MHHNAum5LWuSUC8WwOIteEdDBtbsYNscqvDzgxnSJ
RgUx5CLH7nAK62izCMn+iSVM65fv3AKYSuMDATJBbZzZfaU9jHvBmjUN50ZPL6rAvqKV9USghvFC
C3Pi5szBUscujhSof4WrisrWkCTO2p9N2J6tMDKlP0dRPpesWZmpqIrOdmXc8tpPM0HhN7IsXdre
+MmeCPR4XRoO6qip3J0o+IawlPVEyFNybFNiAK2j4OjtO8an6m4HvBHLlEFlu1FwsKWIDLn3vrfe
sfHuSPMYnsBaIDkIDVrL9p6P7nmt57We11Kwlj4EFOwZD2/nRVD0Xx46LCaK+ax1AjQvLfeZ/MRg
rNmKWJPd4VjHpnmbutUeNrufXgmWy0bXpeCgBtN0ZVp9ApuvV+8YWWj65Re+FQBHz0Rqrl8Z0xRG
vgjGy5ZxHww0kvkqNbDnkk284zVFG7TG5ogNEvoSX9mDloX/gmEMdNvpU4h1emzUS8QHR7GhURrR
tA/kv8rwKPqNsf+NKRgrZTjINWuR5xtEwdroTL1LpVoTsEd5TbAgyzywKxci+V3gnkRzxprhLR29
fxZMN2mYP96YOqJzLZJNvvclUO5pdlExp1d5tQlnt3RwFQ1FdxgsKaB2OtmEjh6bBPMkDTYxU9Iz
Qghp8php/LfAohnP7koZhwkzQzfraELX+5hUTNZsq5FhtjWQjIj5qebjzrJhD+KQSSJyXpNk9ggN
GpMjEA6PTBjDHJ3qPM9xyQyTDrCDg8KqdRTm2jJ40Oh4uzwMsmpxFXY9ZFhub/kCjwJRX414QMzy
c/JVOcDkJ7EXEEDUlhySE7ZNsGFIZne5HKyS9LFQ1ut0w9JhM6KWYjogjA13FYKpudiQWKZfP2xA
H28vrYLyW8iElmrg7HEqYdRCjzGzLV6vt6ZAngb+Cu6eMfpLOsKYtAOUZ+rIj4Chc4Zroz7+aIlo
SYjZv/cftfslnWpRWKZ5ThURbRWqG4NpdrF5+IAsWg3CKig5EGIRV4Rc4S4EWJKdUkKsWQQspkGO
KyeK2PbmRIXIRtfSs/qqkKOSECL2dyUhHv3fdV6i4BFeI7ZvJWrUhYO2DsNW12X3YT5d0lNap+Ed
Ld+YpMm9KM3udgnmbRc9nqdC2/y2D8LuosETdKlVBZ5gG/TZfwihPyttsCdND2ydGKSRBwNK07tY
ycAWpcr7lrK3a8q/IYAwDPHVE2qQkuCESls62HgV5L5oGr2FDLvHDf3zA93DzxwB8+ahDBUViJjE
6kzuab08OIbKkWmmgfzVFRNQ2gCQZse2W054gFVgiC5Frnv7+nNDNlaEFytc5Zm6hDfHLvTmLnYN
ZQRXjKGBwYhtBRcWr5fFotrDPKnKv0O5sQ1eKY2HcflhDbXyNX/9oOiThuQQMgcV/ZeyxWoBbYeB
nG3fE3nYNU3lUdlrOt8ry4N1BdPY8STvqqNWbihIZkH8SD5EATHh+E+IQuUNhncCuHOrkRGLYddz
f1pCTcCoWR8eFhnKE3JnbyI//rJ9jWORP+S0r9IHXT6n0SgD0ZI8qM7z3vwcp1FI0VzrctRmo4k4
uKdupVcM6dU+a+/ZlHvb5ECy5Epvl3m+/v6Goz8siWP6vavrOvTnrINCWIFsKyKC3VTNNIjFJIGs
RtYp7s551GLVcn/BzFga+gWblj05x3Acbi5mY9Jf0Cb0N7TySGBL3RiIWHenUk72qzsejNTibsiH
xDe9vpD4MihuTUxXwrh7k2y5FQ4PlsHnu/s2D4pcPIjIiIIH2qUP0qPTKNohegYiT9eTxE9nu6/4
VF5xPYJjusb5iIapFzBa3EGFFwHcAxiphnkJZHr6IHd/T34W1FGAgXpZL8XUlE/F978kUTglBkaU
TKi1RGSNn0+XmqhhysOeirWnX7RV+ECMtuI3tGU4C4gc9FNRUKLZVFJJ1xHFJy7EG+JZ4LHcjqNo
7aJSjLZxweNTHUvZysRwoNgkVCgISqRQZ7AwGUihGHrno+rO/fFRNMnK65g64pJ1OkZKuvDx6Y7K
NSOYVHXUQY8swyxPUmrTFwXMfxClkUw3bIw4PXfWUcz9IyGCHVbFoDBjdNEU0D7JnlbUUFmFuabT
xEASz+B8IpYkDPd4nqmAffMddKFMs89Wd52rxaZzPyVuO3f0KgB4lvxTxfWnasopRUiDdeRPg93A
9nJyGQzx6NQWm572mWudXqRjqXEIBqSR1sch3A5EUiUOHiWT4v03xUAR2jHEQ6BGI9l5tsk08moq
imbZWEocJIzjZEpF3h1FIAXrJ+xelpkfUx2VBuRmiXJMN0Rz1TdAYOtMt0oe7xPVrEfZJH6nLTjn
9LNst6f8WZq/NWMoXU5sTdEKEC3BosjtucydT5gvSTNuMRKvTqOUk8HcgeQc2t6qRInkgsZz+0TL
AG6Sr+GBCBo6ggaeN83aN1D7D8Qcfvf+px/fv9uCRezgGwpbS2hNGoYnhx6jcHKf+us/MqCezsK9
gEZl9mDiRn1pGbH6aT8ESIyWYw9NjLKd9r2ymQPHnXHiNFvDoHLO2JmiONE0WCV5wEUYLflgnQ28
orROKWKE+sMvMlrldX4FxVadVKxL0nR0c9+zjd2s48W/U6fbNr8L/+vNz7/e6//5t0Xymvzvp0+/
Ld//tqBfvqcf3rx9/SP59PZ/z9AvAX3h3fvo/f/+r19NvPrFvMIfLPfN69efyRev594fi5/ep6/Z
n0YfPn/5tPnfq7dvZZpiIHUWtQRFqgymRoRwBy7cq8IsEI0ordwJqiVQPw2XJF9CSvVZRtFat6JY
lNU0TJWUDxK8oRsKRcteWQi9RKAspIs4kZ8wEAWpUSdcO8VVgqeojQXeTvj9LtKHSQnAGcsOptze
qU6Xfryg7htfdxkGqZ9Ol480DZjEohhSsynvLbhrF/RIyteFfObp7tkyZHA25EzOX7WKSYav1a8s
tqVqSlYTmsnl4aGIyBP6eggbimYvQ/GUeJ1tVustBGo1Lo0Vs3h5ALzGAzaUsavgAljPFjXSeRVS
IVSZXQnrcUu2Zt3n93LhwnQmvEG76PwIPBDDNPDIi3oMKbfBkoLi26jjd6OFG7F/3N29CaMzF8Cl
YljpMd8Hk4webl5L8o1SRMZF0tnuAOqoTOIBHG87jFmxASjxG3UlGv1EDSxZkCeNrXp6592v9mEV
UVuiBOysI3ALD0Dg5U13bDyQdhB1hG6pE3FbHb8kpBikNFQVz8mzwrkSUz7bz4K5T56BHUkY81kn
NTzQSM93Zb7iDlh/FAWE4c4jzIvYG4A4xbdTJVfCtxcpHAACqOEFA5vD8QKNIJyqOLSwfDGxDwCw
H9wnTxGkuTb3wwjwBnT5V8N8wPAuKHGONR3BZ4DOwQy76wHYwXYHEBQMvbtGXCEH6cNw5chZvzvj
iWxwz+pmDF0gtW2FwCyhgEqCejtD2fW0KcA2XE/hSdSldgzDNQaQQsLDqBKF00EiqwzBqVNTwXSZ
lNkWCvm5jl5ly2QTzX5PN/FtnFz/eapi49QKRaLtj+x6mq1v2YlfYf3bK+MN+bRbmXzzIk7i4AX/
Af3Hvqi0CdhDcoswjuDiIXQ2FgFxqpSfivmkqciAJUWj2VSiFWnS7bdfP+7XZDAMnV0yLqYljAHP
CDIIvLpIvWM6nS6ifIw9gI7DRbfPwztHkrRmpAvqZ1ez+gZWzLfNmRgCU9FoJ6R/+fmTWCpOk1lw
Sxa6bleeVn3Yoqr1GHsXnchbnDasmq7FLBpnWKI80T7guX2YBIZWLXqYqr4LMZRlkx+WQX7jVoNC
vef7vizV14QBsSoGxJfDgI21sQGj02DZ9G8MJX6fb19wA85QN+CougGn8Q3wx+x/BQNZQqx2tig/
g+0hw5ZNDu5Q5OA+M+QFqeor3ZGnrVsahcQvKWdMa1FwF0RwENPuZTTtEvgaQwOfB2mQwsW53hAK
2ITbgBxJ1i60W3DOMwVWwkYnhiorAfeojRYLaPx1GBhBH4aQ8gR4FW7K9vpd914xpKgOUbe7tgpL
aUJu8OzhFAa+8Qa5LVj1uY6EvfHPNEMyL3oO/vDv/EIMzpIpHNNXGpfZI02QIK1ey/fTOI9BplDl
GK+3Wkeqgmn8QNX5H0NIegtudlXBW3vETUntFDRDM4yYiyG17wHzRrUls69oDvgcVn9oCOf+OGkI
u/qWuoMQh553UAysuh4W/Y5nKPbACsYoHwZsXfDscxyQYGSMO4hLGgQ1wfl+kdhGwqJCuGJ/SORQ
tpIY6Hav7IeKDIpl8YL+BO+SexUeHpRxTolwV0EoebZZR3QkXKBtZQscNJAvzCi61rbQnXku6yTN
abvNo7ZKZrAJr6t9Djh5Z6tZs6zpoYnKPUhEMVtSMP+BZMOpcJXnmkoPBa7Ew+rYsVFgAnsIqdk2
l1WZRrzqH4uphXU06SioARQ+R82V2Mgc4ko263WQTonfDTceqj+Lz+EqoBxacyU2NgZ7jLrSbQ8N
cCMgTTry5WQBKJRODyRkqTQmFEiaKXW4bULhSchBwpN8GNl0GQjMSlNX+Ti19agKLUlencwCZmDJ
vMI917Cgij3vFt6mMWqeANuDFgI2uyZWRN4RdUt0WGGWRMR4nf0jSaMZWWfLmOuUsGaaC3poXVu+
GTnfxFPu7SZxlqebaU5HBok5oxlaaZeN5wkdCiXYOJIU/j9CHys6VfmvwWDeHbQ0R8LeLbqMspty
5M4Nncn1O9l08PByZWzcqrfUhwUEwx5s5Di4z/vWDJbkQ3dOIhFLGDQpgbBrhU8H5qrMZTt1DHXp
BNmURtGwP9GuuXga4Jd5JbZsOM3GBxqnBnwCsyqIzSWE4XblN8fRcSOvF/T1pU/Eybuf/37D2zT8
zSxMYNS/XrGBQ0FGIfdPyO5mdaN4CNgvlVy+9vPl7TEOVDFOjU5Ruy6a1X02lq+C6t90oqUBI5ft
AWYWGGZMIJJ1X6Eq9cu3LcNyCEMWzsRoTT1t7P20YabdpwkdSZsUE8T/YDNiKb4OdS+qtSLYQiPR
AzNCI7JUQWMxaABiULeaDUIamegvxTCzbjU+qZbnd3hZPwxy7KpMYpJrnSQUQo/uGmyOsy9XPNEi
v16RbFhlcKtXWgu3GMMRHleCvuILaSRKwdq+5zO7WPUzxOHhWlRMZruxkckL9viFLXe9yha3xjUF
+a6YRTb++kjuCbEMaCqeRLHR3e5GQbz21yFlwzVxfmurLAy9Sy7kmbhGQlyykP+evL5KA1YtUCAE
wBEB3ZJn3j2yAeK8QIK+Qr1BNo79YQnXdFum/vXdUzWWxKxWms5+mT/kXcZcPkuq5+d/fv52Zkhd
9YrzrD724KVEmXPX+YqlN+tTY+GnMIJrXb7GOMPFZM+GbZGqk0PzTRSxwTfafRjNpnSka52HhOWF
46bkKb7UjHLvMhhGNfw9GJCmY9pCuiadNMCIq6ZeGpkSCGcephmtZknZMEHWzMSZ6SGL8pcPgJ3t
KiKf5pSDHKkcIzqCl+QIKvj3tjyiLUZVzogkSRMYOalLA9Ee4VYHVHJOyXlJH5hksKz+2RQ6LTZZ
lSMzChKudhc2qho0G7BlZZ8Q9ordfrGmYrYaKjUbpcnNXjdXyYo2uzuzJW8u9gFjF1NtmvrZEp6j
ZnRYf3ekf2Qs4aut0wDopTM9V8YN5suQSJcDZmfbY31N1N8Xy9tGtrTZiPdn4extFPjpP1j91M+T
P4TTDRvVGbemI7iW2Kot0zJFKBhjYQ4BU2CrA/RENbTBhlRQW7mq8B3FdEnrYzR/KhwJjxuZdE0p
M1vTyevvRcYUYUQs+fZWCdlhcgfDJdhIly/U4iLVVSAxF32ddYWTNpb+FPslWH8wvHRRH7GjKz3x
Ks+cwPM9sygomRPgGdpLRG6SzbJ5hIcpd9Ai1W2Rr4L8bVF5Wrkw20FD0WxdTaRpyxMLp0IohuVI
plHxCCwDIXVrVZih02qt5LvI1TKQVJO15hEgV6eR79GThunY3/qBR+4AYpcNHwakblN7aHS+QqFI
wEFeWL5MOFE7i0x126twa78NtiHburC7rdhVgf2TnhL4MfZX4bRw17Xy23mSrrSJT+NrcZ7C4yWR
NWrX4eT1NjQCjV7SSMw8NVWELYUwP14wRhIneTh/1GiFElzFakog2cNpP3CQwLIV32AZrlgkyfxR
xqkecwoL9Ju6qQmRrbBrSaMUPo0O7jV0zYHO8hD4B25TtyRF88rjPXS0yQt/ceUZtH78SPNdRwsY
piGHMpgMhUdpWniYOxNgwitbfN+W0+6XIZuomcTUwE1YgAs+DruXlXt4qYsomfiRduenoT+JBOaI
7oySTiEqWiRU8cICxhnkIsET9OSpQZ76YWVDHIhHI3pKA+uvwGPAtj1uqdPkqPM8DSebvP7Qe/rX
W5oqgaBEzjUebrt1gsqUTWMnnBTdHWrXxIGhDwBPGHPk77rGukSKN113wa4nfe0jdMLacK4n7aC3
bqlaN3gvX81si4C1krKvf/v1422SL4N0LRgFgzxbyXblOS5n0LJzQh/Mr/Xj6TJJtTQQxxvl5Vfi
zWoSpMPz5V6a9dCUr6JmHo+eqhQQOc9XC10tt3JPXa2tWuzVZQQ8ffRXl6T3rP4nphVQ8VQE1o6w
LGlaWbBw3ij0RE4sUDgtiVx5Bsqu9VZc7eUYluoNg8siU9o29x4BQOXhq3XpmZUGZN7wtvIkPW1Q
mrp9LhkeJw2nB8oQ7NtHXoWEgN/y576pQktSwMn6+hrHlK/1GLTAKegs2+lwVfyddzfCv2cl1EAm
yUUqyE+sZkzHlrggK2iWr9aWId3L4xb5S/sj49kG4qKuQkI+AUUM1YSqu4sND625tWh1Ws+bxDPY
fjfkZc7yZH3SHzUlbw7Xb05evJpWK/0tyPJNGrwXhq6RJ9El2XFhZe1i0wVQmfxI2uGDNMKBk2ly
FgvuoXSWwFlwKZWrcGUuJ+DKQqxQsucptfSZfIe7VzxJhtNB8f8Oxwlbepcx2e22Gyc1NU2GJy+a
wcOtabCBcW9xM7SddpsrHCd6mWSfJ0I3ZhdTriwt3oOYYjVkQOmW7imQS2K73pYY8lO/3oGRdx9M
MmpU5TdhzH4j0LYvUXOvBlPc1AcgohqTzzwxjVhYoz4hlJlpyZxO/KEDn2mRrB/ODxrOzBPz48zW
nT+v7vxoE9y65PKIC296CLudmoGObVg2DoEsvPtKu/d3lhcx4uOZD9d82L2EnJK5uUeL+es1P9q4
jLg/gIaW3cc2Zw/+005blE09FCtga3oRlzRcwBrZOsw3RwkRSp1PsvFMNo6cbcoSBEehaQ7Luu8C
irHTTEsKFdGq1Bobr189lhB/FrxRTyI17bmX4WwWBQWf7BMX6El7klgTHGkI4EK5aqV5fKJGFPXp
Oqpp7y0liFZKkKIReStZ9qurChmz8uNwTv64Eg5yVEgwrmza17MP168n+6D7AeW0Zzw+t/Uky+Eu
ARDZZ0P+eh0FAPQKMgZ7OCkAoc0sJNgVsgbfqrR9trMqlkQgwzYFbm9+7jlGFUOUBuAESRDD6GhH
S+n17ILUhxlSH65UpcqyhYjTMSlHbdVkc2z52QEhijZNi9Bs6CKl9jxYOt6r+mXw/TdhDxhAt48S
TuZzVtriC6HRUacaj2oNfFHsv8nDiGyXEe+fmyB9LGN7t4SUgzwo2s8qkdVOXSsnhizw6nFppc7t
JO7hyZ+Uuy22X23zPdVTWEPUCHmtOoYG6SrsddJCS+Pw92p65g1nWDlHfjNLUljGjfT0hC5DL4v2
QCjv5j82zcUa+ldBamoe+Yx2eEcSrMoaU2X5AhvGWrj4lDZpMoWL4lv67ffkgdmAUKrcH2hQ+UuY
c3uRnEE29dfBdzRSNmeW6eyafH37y+tPn/4Xq3soQNNFVQ5Y94YVSfMwyoOUlv2yklwBgoPXvQ1+
L0qUTL9o/GVq9i6I1V65WRN5ikyvE+PpbENOWEpNBKBZGKpuBmIjlDmr6bmysHiShvQq2VxUAThG
L2g+mXNprM6R4r355qIB1ajD2ULDFHJRV6LTCLPNggaX3IWzICnA//xJkubwiO1GvofVSpsXJV31
qbZG6VIJlyfuOW9UKWm1jswBLFLDKaiRhLXGo9A+vP7xI9NnOxkkVmmurDsOVmvi+ND7LNRInZXY
KRU/QGlFd2o+3v5QlLSnZ06UPzTrULVaWApVPKtGeK+9Nljb+VUfvrSOmt13e7on6wWEq1ZrXodJ
rWP6RUyut4BqrQY3s9zPg2vKpLfbSaPHzpDb8IEaxlOZsGDrSsqlDc9SSoPGlur4WOvtSo5bD8qd
srlkt/Z5ueSsFKR28SzIPyQJX7yifNrTF9BdkydUqy8YAMk8JI9Wg7aFaKvLZfHrCWVURHJnCdk3
bTf353OqnKbLMBLM1sa9Tr3aeyM6fw3D4QGMuspohu6+LQhfBNBcL1e3JagAuhBvOia7uwtSmi84
REr/vfIwHQeIiq6bOwM/sHlJxTfF9CQWoGCWOdhb73YQqc3Ot+nIueaXR6R1HGbL2zzdBJ0SXG2d
nEWY0QAWB2WgrSAZeTZBCsRxvA5HCV/g/jzYkEIPsh8CdSmoUbNEI69gW8nKRg9r3Lc/HS5HSMG5
r5M0Z116QUyodypo9NEVurWLhPIy08T8cao2D+519icYlrljYLDNtPpYcSzPVmsDVUXV78wW6R8Y
2+NsPr6eF11lm8n2+SARbeoDimjRg/UW1xXJ2eIImqU/u/v+EOuDobwuz9Ge9kQnI5kOi+DolKKR
k5X8ORX1xBpngp63B5OXJ4/aH4KSB8s4g8DHSJ3QWcDTdpshDTVaU7zPVxXN1ke8sxLsN7QC++Yh
y7R373/68f07rTBMgzJmehrajTjsrrrzpoCBGXziEmRe4b9uU6b0kDdxSPyPH2e3+Pot+zHVg2kS
3cbU40zS4DvyBfvD78gF3ZGz+m61YeqgmOlDvvcfNCJHb/UKwoLiR0YjeuTBhUfraBfSVUS7LuaC
LpIN+AxJPpG6vM8qDqwp4R6htcpUWnVJbegFuzAHX5Hc3nrNJnnvhpB1Tx+fIi0+h00riYUOZOvQ
onBiFWhL5aRycPChOe6dMYC0bBkQWzBb+qLOaWSatoyz267Fukioycm+vaVLBxQq8+U0O7buXSxh
5Zr3x9i5HOE/C7Mv2vHuFtR+opZUOaqbidXCydA+P66DW+Zt3azjRSFi3xYithScSEatxfnue+86
FglHCc/LWggRGJ1j6Sq3SNszardpS6K6deFHlxufp8kKjolJ2O+pXWFsSd0WG7hNLLpM28Tk6+mS
rQsisPbj4gKzhB+hX3QDb0FgsoyK+b1oORgM0q2xsfWgTD0YxRe4PPvXUZ2FpeOndRk1kPqKz2Mv
6qMFD+sw5UYPAoWMjQ0JNLa3IiuVq1aPNpvxV8Pv1NunEXUmZ8R9fLojwX7bpCmlEjo0EUwb9F+C
FQOIC6SQ9OgNDR6Kq9ywbZttcrUKe9z7OKQG9kzPMM3rLsUxwsgro+jV2uxvwte+J9btv+BOlyCu
dTyK2YFVlkavRFBlDgvvYXgAFH6PdXaxxt9+/Xj4HRFx5Lf4NMeyqJwF53cNr2TTM4GNZZkKorOH
sUoWlSeynkowWAT3idVGNMlKrpbx+n98+szazn9KZhQvnI9+9Wczhmn2sfhNuFajS2KsS5Jki/QD
zy2Wnw8Feiz2njBKktnf0iCIP7Bui5fZ3aIKwijJDAJUGFHKQM7O7cMqqnA42ooy5DHML7nyjKG0
goTTZwfja5Dq8qhF34J23Lew7XvlGcStoTZNNnEu39/opqB7VX+cKkfI/LugLESQEp8dmtna9RMI
d2qZngxNs7dpWvn2DyLf32zyXDBkuEsmsmzB2dsYq+g44CY2d8nwepqt+zhi4m4Yo5+I7NGs3gsP
RbR9apL8naxC/d9dI04QzzIt3kRRmViGrMVeLSMACXGcnLeUkLqbL2aXYJIcoRrGhPP9LDiSq4WC
qBJy+UbcTV5XrA1DQWFWbZtp0VTEy3sy2C7zLHuk+hXogTd05y9deirP/LyjFWPN6g3LgX+FOAnh
5fHTJyOhFRvG/jQPiSVSlq8zVyBZb9a70hpxKbmp93FUq2iZGpECP1JXnYYfhYler1/XyzPjK6Ww
LlER2klHVOzr7VgxBhErCA1bkkxjaVCtl3ZzXZDGDIY0hiQEnavo1bVtaBg5rnuZflhLuydYTcix
i1t1vS4huSdmP7Aay4qSECIh4C6lW2CYrMiLCwr/viLxfuClBRExHdJH4poJ2mM7RQ1l49tf+NGf
MWzbM7JjOV8pY+wXSU7vqnRruI7S7Eq2JDdCLC1BVuUcXW1fg5fFLCk/e4ynNQAyjmcrlAEY7DXq
Fo+EKZplDlf8ZS2qiX81mzH17KY9P69Kt7I2z47RV3SCXeLcdYrE1LHc4M+U+EGCjnbz2czbingD
PiNbdRCV9nWKgqi29TX5QCd6AKmGhOvZHDUO8SLIhS6w5TmSjNowZs0qJUhdvkyT+4zIXoonLYjU
IsM9V4pSRn7y3JGk8QM2j6oVuquJkO1FnmE7wbNluWv//PvHH4hM/zX4c0NDHI3K4LDpnc2Ht3ui
BXEFVvZg0j6ILWj3iZppbCou+/F00zIR9q7f03L0ILv9kIbfXZF318kHshD5SJdin+hiBv3yb3//
LKF0pkbXdzgqx9MVVdAcUitMnLoSPFSegkyJ/HikZaoNcpGO0Q/zluqzPI9Y5sOfMVJhKBYvXwJl
hdflb99iy76O18uj1AgtmpajdfcADRgVZHkYlWUx4ooYx8MKqidt5DQSB7ZgX0QAvt7MQkLeN35M
xE7KSnzosC6O41cWR2NYIHjtlwYZbctiol7lRo3Edjc3q4MCMBqpH7sVIhQtsqmHWnbry/7tVkGj
fSrejx9ROhZsWvd6bLqRQ0N+pO3jLsOPobd/jN2UnZhZWnPi2LKWQJpZFXVHG1jvQ3YCf5otGzxQ
wOYwp6xGu/Vff/z48z/giuVul77H2EeGxY65N3HAsKFnh1ONKiAxvZhPhgn40ye48MDow4W1Plz7
i0KN/CoRWe75AiICFXgFzXKdp9ctF6QaNlv7071H2La+AxNHGsGz2efz38Tah1cy8mpNbs8tidWh
LYmrGsEC0HFUHTVFXX8g+oaWkJa/d1zC7OgD6HlyFIz8AqoBeZHvdOn3KKbtdBrctd69UDkbuPQN
D/U8Ta7LdSTZRhy8VltTGQC1CRg9yGLfNCiCSJuYw9VyYKUJLVnO/QVc440lbbGeFQWgtbp9bq2U
zGBCdJE5kNnw7v1P/w0nAtyR8YI0G6ZefLEcSXcgU7m2gvB2DF0S4zD9+AssGTRJaxCKoGjxxSI8
wtlPjzYDE+kss2bJdMOQr/k1gKKrFzXIEh4Cs9bFpnQ/S1zi+JAHaezXzdehA5skyzPmdx+xC5wq
UQ6nZ5ousrDRNOSIBCFHT6Ituo0zbjhoe51JirEqscYH1hyJNEHjDzY8JaaA4CS0ZRCt4QOxeune
dpwdti6V9wxTkuQr5saLwyQY2bLuZHsLjCSOroLJ/FQAnYQNRzp59mwNsNWVVnWxcU55wD45Yxpn
JtunUO18TjLhxjiABvhKFtObLBfU6fQLvbTAgZjCjfzYOQub15UuuUYH8qtpvUggfKRmkwol2QY1
o6j1LgKfhvgpe5UGMyHplJvPAZP20yRlaPjFwYP6rkuUbT/PsGMfuPxMVVhfxjxk6eR8Ms3udXKy
i2vet8AaXbiWbPL1pgbvqp86ASQcj630SPHL4jRm9XB863IoRA9E60YUukXYuamC7jSgWNvupO9O
Vk4V4S7hJFVTNyQuXGtMtFhmv72guD7qLE+Jl3dr6M71Jo1umw0bpqVwWs8d9hthrFTMCHxez7QH
5ja4EaOLArgUf7NfMgBOAUgOdO5CN0IR6BjW2WlYEPjFqMt5HKem75fkDqirIfAgXVUOP5O+hxcg
FsPekPzKD0YcoTK7mN7i3OvuBgQ5V8O2FCk/4PhrgDIt1xniFva90ep9ALpTV3MbTKOyiUXHjKdu
vU18uSvKl3qw9iZOqan+PB4eHiQeSUcRREGyBe6CfmlHAPur4bbEVez+N0NEb6H3g5iIvVQIL2MZ
Jhom3CR2PT1FIn9v62LQBNs5D6kzAHgwgabMkyCEFwe1sSfT6WVl8ZRhjedveQN6/sXg+jqMEUOO
YNnfd83xurohl7fnYZoVGOlgJNFx1O1PYL/ZtpQlIefd7JJ3b+VBui52Pcu12zZJHA3hOhq1JdO/
PGRv2mPDqibfv2MzTI4GAtIcX0EwWIuIqxnB+tUYnClhcu1kct8tbopRmwV+YvgvQc2xrdvd4k5K
Q9sQW9NvAg75A/pkXeKnx1L6z02S+4xkw3hDUQOTe559JJyRh+so0EoOh7NECGFF+ceD/XO6rlFZ
vYh3JI/RlavzRPgzQRmncSk545ZihYgBbR5wCVDDOQgjOdV7nHsKVmrERPDwF9s1z/c8AhXueeNS
4e2Dq3tMQRgKDmt55zp3DIdez/g8AjrApjUwAycirjXdkZKkSG3AIxKsgWOKr9+8/UDPtDpSA2PP
GF5hwe7uwGqC/LBWRehdTqaVm2Ejx7IN1+rpZpSzTWX6F50D18cne0hyrFTd65JeyaIbWh9d1sdl
/jyoT+M7Cm1jQb0WGoyTuMFXP/IdY1tymIFWQ/KCNW2dJusgzR855Ql60+0Bo8d5KgQqJaae7GqG
mqOocQ46KdL2yh3uqzMUNBZvW73Z4d/lFTgVZ5D9ito2PWtk1gIRYnt1ryJxVuO4Yb1bZOQI6Jrp
j9lHenaHTS2GjnuZQe2k2H0Yz2goaB1I7CA52O2CzhP79OfGTwPI+DFN5YEm6QI4uQvSNBRVRxgD
ilyGIAKTaaf4wgF3bJmBsUk5s08KtQqbQk73giAHm5LMCkF1i64mBbZPOcIcmOG4A3jl4MpdatM4
ZfAmjVkSUBShnPcxA6OphmkURkpadI7aQQS9uqYyEIt66AqM5Cv5gnIRnBn3nmxr52kJ1Em0Nj5u
kSVljiwU2HBDIKdYliddK4NZ5X75tD3GZAgByzSYly6/EDDC6BJZuvCYxR4z7ezLKIy/UGSFcAof
k6GQ5kRhVB2Pi4lAeXV4hKBZblnKDg9E+bVUuJHbBUW3hYyRhprFPlY1DVh6XfWRImT0hBk54jtx
5Nvo0jq8DGm70+POJfgj26V4/CwLF7Gma+R8kngGr9qpoHsAt1m1r3rseGwyQVcG1k1vIJJsVIuC
HRfJLFliG6+1Kk3XU0OZuJYyTZXbvJDSrBO21c/38S9FiPVdwAkpAY0fz+sS8Gtl/ZiGbdqG4fS3
fhgWpwTrpyExgJaw6RmSfUaKB69tzdWX6+jVn7dXxlv6CjkI+trtCxrI+f7mZrvT711d1+mbX+mo
5v2373rz4sp4X4nLOAqPTsxH0k6PBYBF3R7GUzBFapO/jivdVRKnBjtVP4HGMjd0iPtHCJ19TY7h
9rQF3Qnz9EiXZzx1UL4KZyQl4rfVX+6JSD5yHVdapJ0C5jAgKjg8IlOhHh1yLXCw5FxrYVqcDvlj
w1W/4/NYEkoi4dDBCiPiZhdYrgu3KMR+3SIRTQM1esUE1mlCnB+KhpNs4lyQeZGO+LhHCHBDUMd2
pKbWUamhmJEkNIoaWUQyrKGma9VaKkhOFWuFIIRNwuplhDBZhuXsNVit80cA9llOVJxInXV0jCot
sf52R821QMaG5ahhXkIpeZI/rgWQP/2uSFRM41q6TLFaYr+JljMsUyKZV06uFoNKTsctP8q6blcH
K1hINOTJHi9rVY3ud+9/+lFQP0PBg4jOp1GmEjuyICV4Okq3OrjDR9pzfg6XPno2zqdEltZQF7IV
qfT1RjAY3VVtzmEHI9cym3cO2oU590vqL1a+zLxYF/YYwO6m6GNiyJMuVbvMT1z6MQ3ZzLj/QvzQ
2T5atqAMH52PU095zHrPlPuK+DY1c8Ycz+ubrygrvWfBPNOYJVvNWhhY8nSXbXT9pF9sOEgSz+wd
JTDuXVHBFrjRmsotU/pma4AaOtWhNo+gJfkySNciADHPHlfQWj930Po0hapY5VU5c5TXxPX3Xurd
C+p2gkkMLDvyts95cBV/1/70nG7EnyVrPm56mvrZEkxkSRotUUMYZmdFf4LOm9yY5w4gM8VAL7hr
bfI8SINUM3QwgSx1AsfuPNPAj6JHTXp+aCRW7RkcEmpy0cHe4iYLhPtXr29phbd1VApGkKQAz0ke
7y4bxXNKwwNcp5hOAGcvJMdmLjwmxhpb4GzPNDku3/Bns51fGebBClYJtgp9Z0jTd230eUrtscqZ
yhbYcEjV7ct4MW8U0QoGBKZt2+4A9PEKSaGQir9FLQjAzeraNtJKlwuoUZWDdyKy66pw3auJ7XYh
Nqy7SCKnVM+iNlaLBtemwYngsdXX0jJElpY8rUabhphJAKcdkWvLkRecj4K8oUaxdBUaRR4LC8wd
Q2DuGLI8QoUlUx1urSrnu9zbfTDx0+kyvAtu9icz7+FDin3FTmGuIXSmHGl7srDIVuX9i3IIhmNJ
50xigq1o/zdxvQgRwIXCnhyCToN1RGdKNrRrVXvqtdkA19OH2DRgrLXa9h777jZO146WdLTVHsrr
NKsUTHRj3rsgpUiE5EstiP1JFMyAwJ9y/BoTO8iwkHkMe+k/aP4iuEW6HH9f9dANAXbxJBENre+E
S9B5Yg8HdxWaWV4v2JmHVURlfxqQG83yA5W+jh5fPhwsx3qprUHHFfHeiZpgjesM+jz5MkxrHsd1
rT6zs5gkXK3N/gUF5HZvCg917edLHqqJAp9lRbNIYEz0AwM7hRLDki3CSfOWpytKYQka5pHlyNEu
zY36LrO16E3uScC9O418luQGY2yyiyXpMGoaVhdUZ9qeMdZUFtHOFE9wO2eboQtS8P+It90LTpC4
01jqrME0gEYNdhq2144Iq+ZNrxFvp0YaqJzCV04HZV7EP//+8Qeiun7lqkvLlkSuTGGjHaFey4oE
G5Vk2iSi49xmxH8JQcO9Sw/GnkVZEg8r3KktZ0GoC9NDiiIhRvlJXdGp5PuQcsmxbalVSDF2y5qt
X37+1EYpMQwQoVLSZBDrnn5nYDVv2WjuFuRruOdUyzLKaHbYZgLwmi5ONeh3Cfil6nkZxjnCpSeT
j7puKj+JikYwZGnv6m2LKvc99bvEw+3yONzpyO6DLmaYEOnxS5kL+HkOawEdj3ubba/RkBvaXQVE
CpdbqkGIQd10KZ1FzMvIKqLUscxLIcA6g+cgRE0rO5LkSxhkxKQOaKYqvPPzQJukyX3GmjWL8BSo
2Q311GNemBBouz9Lwv4OXcwtBVd1pj3ywwNLTPcZHvaVHfXXZEu6pvJytPn9DLggbF+IhDnw5MLY
n9LEhzaNkox4k7Bec85R99u5JROs9+2pU8gtAHYsVpOiAS2OmlzN2KwO63CtVZhNj/GciCEeJRyX
kX1/i65X2eL2l9efPl3TIU+3x3aybY2bvZ7Xuqy16mIFkGDUpjR0AI/vRJ2U2CIi76G/xLTOePZL
+BBE2Rt/9jpdZHDja1Nh8/Mvn3/8+adPf7kprMP9iEuQv+UvApUGHVMd5BijR2J0+mQBLcim/loQ
1rWkdUMoIgkmpyZEMdFWahbUjUIfjvc5hnMh5C2uJKZk9wgGirv1PItX2tV5EcUfreE8hmldSowA
KiSR2TzeSiKJonp2X5m0tVGSmNgkKz+e7p+yMLfCEtXS+v8UXeWh18UsUppDoNbIn7f/3/9f1cyT
FvWowed0xh88AsiDvPolzDX2Q04SRHjG4DhCZLi6ktBcbb0y9mxPajYxyXIonWgMMf2BZbzK3Clt
AU5puU+cFyhdrP85TuL9nxTvDasxp5UHo96gENLYIvqdnv7v8zA6kkmrJA1u5pt4Spkta2ZMma6r
fMCYYdu6rRuCAq1KfVZ92ZvT05XcVbELvUinUZmj0zHTtUhozel+vqvKQo3SL44cgiH3BNYENguM
ynyIqpj0kNWUGgbPuDpKMp1Oo+4jWaeehxFUtW43yqo7VUuCOT3BTCP7J1uHUb6tDhsUp3IFiVyj
xwUeRAXL0u94Sq7xCy1ueX9Hdvex+B14sHGXMbqdqwEBdeM5nWgoo8UQOQsgZzfLx0l440dBmtM1
A7rpuokgzUwLp105D9PkW5h8GDwYt1/2KApX9XNZIyJ/5XaeJBM/rY7lVLys61re72jwZX/89DO8
MrLUr/w71jH+jtWsB7d/+N/dBWlGLJmKhYAsY4DT14Y//U0+v8K6WxVnEiQm4A4JyyKcbtI/pCiJ
02Cd36xT8vXNti3q1RW2r7CBHMu9Mt50Sed12V03V89pHopgUYd/MAUBikRLysZ6Ibw56nPrebJY
CHLrDkKylMIRWE/Z9b+vKQSV+dJPCXBGZ8Hc30S5lqXT0s+Y+bnPq67omEL4fCzkyqXI/dK+DpaL
4fWxm8RRiex0wZDZRcE0trlnm9Va82nY4gFwMyzcY+n98OBq7dNoz7oCQObayFa4vXs/zLUNsbnp
pMMYKPGmSV+VTnUmMz/bU4P+LkV/tjYXKBDNWazE78+zLJJxymX0OSLOeBBPkwIuUdyBigx3iM19
exbL+3fwXFEfM4IbD3xILhGAj/FUMNG5lXxoHf28jBCO0Pg6OD+R0ayr83/ru1nsLj4wsNe5/6XY
6VH3H4/qq6d/TRr9d1hZgzw+pJrrqaSLgXVRN1lK1J/LOmgEcSlLUVistu3JVGCDKw2nQr7s1Tt0
5ZpX7/SrNzr76LGPb5h3+8G5em9dvfdur96/vXr/nnxVGSIv165e+ymNxwUPa3IaYV6Dc2abuqRY
4KQYCZwtqZwQQoHYjj4mZNTuZZL2YK5ZbddVT6SwEyC3p8qSkefJ8Y0kQq/JjGmAFKz3THwRL/NH
qrrxux8+//0jWMLWhStho05o0yFsSOL8+yT9EqTkEqMko/nbGZFDMa0t97MEFDqu0cejPq6eEuNi
uR6SlSxTVtvT5oD3Hgc86mqqDndxh/qXFpymcGI69bKI9yvLWKXHLAkyjZbPRYH/ZQvdA/uI2JZv
/Mu2/ZWWUHhqHYLTAxoc5eUyzrjSp7xidjOZEIKZkSfhGdMMxn7WkWRzkGq4Bsagazhtbm3vtthA
aIRdCPjIxZ0qRQqZxwBtytgPjAzYOHgpOYDQL2IaxnEypVb6XUik5gr23KUYV/0AqZQmPwpcCiw/
+1EbmmbZoSOGoEFqGA/HO5t7atsdjkBUUFs3GLEHg+6VXi9TWgW6JhYAhIuDHBmL8Fe4RAAB5dxe
2q3IpoKDak1TzQa20Z4vSehqaUUoGxI9dDrgmJU4TpOotBN4/AlUCMiRmaMWmEddzLFBqE9xtv30
Huopo1f2vNYbTuLokZdI0+BKkELn2UU0wTsmNmz6qNHYJO8roN/e0vCZ94GF1XhAzWUfMftosddx
F+Ctk09EOOSkjDG6FOCestBgHWhLTxusow0NctTWzVktZd25UzPMvC7GcPOyIrgbzUb4bMrcspxh
ql34BQts5d4Ji8NTrkWaR5554dHBbuYsCAhv6V4nj6FbW2J3XZcn6+KoEZwLdtWqneJr8mONUF4m
8PoM25IYQtwb6kwrdKAjxfIM8dOjdHF3RVborlky3ayod7l1bvjWwb25phzbqNhXRihHYOr1quKC
1VkBYFZfBm5YIxENoGTA/RMKnzaTUzmFXmVskM1yVOkJSgtLSjvHjrYEQqlLNq5BLoMQVRITgs5o
oYUwpel0aYc5d0Cyi2FRFGyDwzb1S8u0FCZjfOfTfDnFDI65yxPG0zSgstOPxIXDrqFLr5iUZtS0
SiIBNF7JIzmWq1Lnw83IqpMmyHIQtg1PNBhAQtJEaHDQGpnXHz/+/I/378pijZ21oPE50XD1hHGm
fN5pBUMO00a9DZdwRcnik9iHMx1HVTyMD+sD28hkxi4Pt1gtN3dcLNlTKMLe+dInEjRI6TVnVbqD
ix2siwoEyPLVicHY5QrEVUqsYCz3F7S8htLgbbdc9jWHqtTmm6iwKW/RNat34sr5ynjPmjL/7VPO
BoNQjfZ26advk1nwb/qD5X5HPhjswzff/Dv5s5vt31Xq8mT7qxUJN6tTfLbdZvlmzKbNwjkdHxXn
P7NKnyrzuYZ0B4WGOE8W6VpOB/WyHwrYNbW9Iu7GbVHwth3wwwveZJySoeNexdO7+AKMx+O6hipZ
q/EfIqABRl1QI2MzZ/s3y9m2J9lLF+NeI1XeFH8BDrAYst3TUqs3KXzwFNMcBlA8ulhLda4xyE8G
worsVl6xGsy28axmJiwydUe9S1MQWpXR+2E/nFDVbDhhKkBAsKSkj+MkDh7CLPfj/NgLNhWZjSon
aHfkqUfinT+8T9MEuuIO66ovQGsviTtmlVfEFPBveFFiQE9oR6OMcEDadN1uhV8Hdkc7s/aAV67F
NktL2xqwj6+w3dVCFhnI7Y2gkTtGQDSbk1ARFsnq+tQNJNtgWG2iPKTFtYRHSkUOV6gY6HzNQ7rV
Kyl0ovciyZdBuhYBF3i2MiUKHz5gM+uW3HDPzzEX6dA961hV1IeiAPrZNAxhyYil+DrwXHrDNiUb
Z8XU4qLGoz6245iW9PQ8N76BoBbqEqM/O+hVM3MkEBgiji7ZTjCU5FUbu6/MEOw+ScVE4wlx5Evy
xFBgQ64FvWdAFyyZJyVXCqpMdWfsNTNH43gPZ8S9f6BdsaLWG1cSVtXW5TRERoH82CFAMszPwfKT
r+LYYdEbCopzz5SYkpQryNtLtY7ej3BUdBjPwzjM6TjVZF3B/uoU0qw1p+JkL61KC3Ae46lGVgaH
Y+PnE21joIrOthpiM7oEk9UHAwY90yODO77zo5BOgo26zwav304eroJkkx+9rBUva/6ECFUBIFzL
MPy5ner9Cr/SaSrGN6f3fsqAblNBG7nXJeY8JOGcca2SgqgUKEHyDyGoWcDT6hJ2MKZHw9CEKPyu
3mwusqLoQheYzXacmG5oULe68U6IQcKDFaKYW7Y7bqoE/HhT4Mfriu8KoE6rS/6om6gGhjjovTVR
Ha6Igc0LIQ3I/DJrEqvqqkpkVobUFoZYskoSJ2Hsp4+aaB6JbLsYZt5OEWShy7glaiBciq1x03S/
gBBY1WKfNeSz7bjgqWopdSzjFjIX4OM9yU1BorpolBN3xxlm//wJ/8RDVD8l+edlIJhMq3v6xaIp
DHmTNeOs0gAyhBzXvdgd9RjQNXjMZAsIswwJ/YUUR4fWE2TLZBPN9sobqt0h1tj17vmyXOcOoHwl
8YxhFOpmPaO5OPYN3KQlgROIIa+RFbMbXUeCeZqeHP25F+9dL/muZiW657R0TgLu09z889OnG1rP
Pt26LcFomglsR07S6+B+AeAbOZ2Wm5i9wnzJ8lUI/8OU5QSmyZcg5vAfsgLSDQ7v1TRZEVtzdpvl
gYyTPCqyW62DxbEekuTOKiCDZp4fbclnHZJ8nK7QsO0UHDoSMyzyJG65dW1bqiTjIymq6tQciqU6
+jiNZL+qYUDbiZUUf5Wtnq33pOBxPagU2jIcU02bAIy+4ww66FPVoWFnSDQfJVvQZLI71sQwb66L
Jbn/zPkhVjvFgRDUw5h4wPySkntxrdFD/JzBGDhNepp/hCHHbColK03krDSMJbLfvUDxcbRsk62D
GK4WMNyvWD3X3DwMkYLVG4ZhHIVxoP3h3/lirBBTOhCNYLAIRqYu9VwhTjL6JDiY1QlhZ8t86inw
1OcHrFEybo5QgnC4HDYN76vEMnDMPnD3HN8d0sWmIVVfGfCYAElOcwFTL6qeR+qgDpbkaYiDNINx
RTpqyL1gPv+eBsShDoQufe3HK3BtzPgK6KfVsadcr9QrFOyqnA3KDfgCCaq6f1taX9KGgS7MXq+S
TZxr/jwPUm3bzzzZZCAyjeEaUu1TQxQJQeZXKTvRYKd7DrgZ0Ee9ZiH1oqyjrCGiAJZ0mhbZl0b2
Fd7dXmH8Kcg1nuMj35CfFmdNf7Rb5DNZnf/S7YfXP37kv3lTLSsyGk29sMXuAu3PyHNqgzBgTYr1
FRP5fPvyJWBxXZe/fYst+zpeL4/wvmyiekzLsBWKNlCUdRpdfySvi4X5XpPFXUXbOZ3wLiquWX4f
TgUxFFed1unTFi86pOo8S+Rh15QcasyCSBwKQo7jyBQ1JpyccxVaHO1vZjRaYl8m0pyDdr+kFQaU
zBksj78omvj8TQaHWHvjQR4iaux7NVu6Efo2poRyWZ5xKcopphQFMNJECMUu9s4IzWZI5ROhSrYv
r1+5yzYlU86MvJImj9sxFp/p7mRNUTxBQpkfzybJA4eq2CLUk9NmZgsfZVECWsCRKb23xC8qY0sX
tA42w0b9a+FoWetheIenmlV6RMUxs8B58fXtwZETA6/4flcrXHHsXSkhoOK496Rlk5O3XJnIBwM+
g5jBLbCC3ut7ymXEBN6WaKCPIeV0B1v7WJ5xc62cjsRJmY7sJSZc7qc5tQiKyvfVyhfYWXbPg68O
beubxlfw3sMUyw5SwCpBtYAqxWwaWvz5l88//vzTp5raQTFdMlHMHyK7/e6R2G3Rdw8am0z+HRHG
331HXmPfXXNZdQvOw64MLJFqgVhCC8Q5p67qp5fGclcmdocis1WQL5MZefTvfvnt83fkFFo9p9sU
VJi8+bmeUfdk0r0DKmbTHUhE1c1nwpbU6KbDOdzPwqx/GV29WQ2XA9jSVT+brc2byIgHJ5qlbjqd
QGDGl1AVW7IwZrUziBUtbe2WeRe4Ask2ZfKMK6ihl9lTtG2DJHSUneilbCpxJ4TLp6WoIUbxEU3K
bpsYagvXRANT7xVSL4cq5HDRur+bkocn0jr0o+w2TzeB9GPaJyc1Iri5vgHVDEaXQwpnowLZ7qKM
Gd/DvT/o64ubgWWY6JcjFlu48Jd0MF3ZrA/rdNs0RUemueTv6XjI+ySd/d9f1zHMk4QsP5H8vPL0
HtJhM0qXF3ypHsz2FfLb8yhcLHMm2IvjORvLfKscCKRU/GxcVr2DaTrDXsCcqNfz30Dd75SRnweN
kO+XMK8ksdVw8VM7q0EdjMNwkfhNqsk42Y9ZXaGjbT9oDTrShbFfQ1ZkaJpl8GxY18RqJaC0Ftht
2fL9MswDGs3U7sNoNvVTOH3s2mOEPxwIB7A1ShRgRD9w2iGkg6pNOTIYty6cCJKNrssZ8gVQkChf
KrORGiF4aKkjaU5GRrXCrkUrejULIv/xFlt6hTcGoKiO0QXJnn8NEbOTsKTeLxPk5H0lhZgA0uUy
tarktAu6UVX6pkUpE3YkTHTqYAOpPikwhj+NQjrKVhi1Rwh7T/M4zpdEejLM1aRYgAIA7zRSw/o2
iXIXbOl1UL/5U3tNaqxdJN2s6TjHySMtW1+syElJG0FeszNVGuU+TeKFVly5EGMW6bbsDl7aPIJl
ujXg5buOpaJQRcx8LPtpKTirotXiSYoeyDSv0uVwQ51gQwI0ILpUf8l1yjDslMkyl0G2smRm9xHc
09y2D70ZG9nIcfAIlKMCRVgTajz6USE1C/t45ue+aNAJ6jedjXNxFi5iP6eDmmDMjU4AFPXdnUet
SPQ2kpjYv9MvtxwKEX1TrWezFQoSPk5GLEiQJTXGBw/8MpFE2bx/qyLR7CpWvrWEDWhmyzgH63Pc
aRkcDxF9yb4ZQ7mG80u2NA+SNtpPAtqFpyXrAB4T3yXiKjtQeTgHR3YE6fDdJWnErmQOdh668qS2
AHFEQWku4xPWTpkV49RX5DlSsJrU8EwVwkwoypyRiTJHks6cJSvtPqVYy7/9+hFGsMGX1+Ip1owm
PBTSlowsUT3WV0qmzCi2G0W13C7uA9b8UHT8J2wEKkUXDe6IOOBAAPQ8gH5mSQNfd1LckOXYAELl
5AZFaSZrbMmBGjNgSoi1SNb5GQzXYGDLki2mQjqN7YfPf/8IQ0Xpg1ygEGOAeq3nCDipkl6Hp81l
GNHKV1gnevn2hT9JNvn3k8iPv7wgryUxG/JNXm8s3V5IEmpiiW/BAsxWKTi39UMczLJ0AHkYefJY
5wg6nrR49bZcJ6NTATZRIIYKt7pEReQa7abaQJYJA2XLFk90x0WygKF8MrkhDY1k/8SzgMI4rtYc
Y4YePP2CgTltye8tpb4f94jvzeMPnPSkaIedRl+mWgnNsq08AAFguiCT71H3OnwgRLVIXi7CeQXO
QaIR58dEDqbUr9aAu2WRJC4RiTykkF/h7Mp4d4Ux/7uPYfyFQ3gtyU3wn1xhg79UBKKK36eC8gq7
+hX26I+N92/5D9/e+FXJaDq6qgZWLr3q5NaZSWyPpyFiE1hUlqsagqfwWqmbuo5ecXyX39NNfPsY
ZNd/CjLhzYNKHM/xj+x6mq1vi7W4An4RE3X7ohJys1W0Dg9CHdhURh418+V0JGfZAiz/uLK1ebvJ
WFn2UsmpS4Rq344K7rX7MJ6xWrrCjlqGNLDxKGijuOg4SV1Ejsg2bdt0DJfP6ee0pjmQAWxNd8l5
tKmqRLqMqsoaN1toQCKErLNYkH/nxy1FvYNHveU3BOMx2JcgUWWeUjuLpOBTNgROivmxjcEzI4Tx
JLE/vr0y3tA4wPZXhDaJ6Y1diQgvC5sqM4aHp1sx5SyZYRAbDIPo7pPnJbsiaufkEbk895fBqsQv
hRpvsOnqF1Ju+s+/v//8w8/vRnZBkobPgDY9llkSJrsoC0pAD+DdvILcG3m1YHIS38LREA+EPN+9
/+nH9++KYfQUpjyMv+wVToHpO9MY0vzMw1WQCKbpdGo3Oy6NK2Y4g49EDkWb+2GkEU1bM6ANO/rA
jKdmfuKeB0JNi9NRVRlgXcX57xUJ8DHy0zTwcwCx0fIUrNn09gUjR1zkDOQcfC7YoXvsQJJtUfJl
x2c93xVCA2M8dZmJ3ZwYUc2HaQxosfe6NmxKnknE876s+ohpnjwplQ8cPpSBpycUOCA+rGl558xz
3AqyHPT1HWV936K+pVHaQ6InBGJNOpbCxD3E83L6Rshz3IXBfUAYfbNav84okPwN3WSWP0ZBtgyC
/OVDNe2J5FaEkl2VTKLRuGlJQIKBg7bkUh5LYo9C9TT3vLjDc60aw1ixN32ajiwWjW1iDrtN2QUe
OG877dcAj5dNgmclNWlADLsoWLEmVVao8ADYd+2XBQl371ZLEt7EbGBPTZjbvIRpF24jXSPsAsaN
8hhuS4XGD1kwHc+0LVVLdjWMT5GQH8+Igvt95a+hucGeyj4D5vtoxRMc5ZzjZD9PXBOTbYY22VhG
kE/kPgB+dbCh4GoL5GqAQzRJUonJgExabb2Uy6UFBfR2i6p4qVd7QvPx49CWQbQmj1W95ka9U8dL
ZhH9j3iZqR9n8yRdcbN7zz2ZhRmdNw1PBsFODwqGzAi7c4UYsLO9BRru8QFo3EGDLZ5VFm/UYOG2
sRELBUtrhsnTTANtASc+sGP1EU5NAkkgRXmuJMZZ+fkSFIeGbcoUu+s0XIV5eAduxzPqfWO3HeT4
wXp1RpLnddjimY2kZpETuD3GkXWjxLr/u5/TUt23nz79uiFuBgxooXe71ybl3gc7VdOxgpFMqqye
mbjUq9ko7gbHF6wmhBhpjzHvgcjJmUw2uaC/2WyEcteRQkDGtz3p4rNp0SMxQCXXPLYvN3BtWefN
Un5aIZzqxpSZliOTqvfGOxw8AgyiiHsuzZTyyXWaBeE6K+XkLkjTcEb4dxbM/U0kLIswTPvy9Esj
uygN6IiNeMpGma/JYwnqvkxdEYHffwELrqh7fkbiVkh021Q/pGaxrlCKrgiFhzR7V5yGIDJidQnl
dYp3NaU+x7LlKNFOo9hPaF4+hZ39Ehu0PgtuK3Ub85BNCfajl9n9vMQo4zTBY65E49z7jxkxXagd
w98MMGOwEh6E+c9Ua7fAVou0ANE62rCpVDXq00FqZCpcN+uqUtZ8p3DjkyElWjH0yh2sweBhHRA/
kfyVHxXw6ScilFsOpfyLP2zfnX29K8a6Mj5s0ujKeEftyyvjNfkx+bf9Y/IKZXDyUvn05Evw+Y/W
2NqbFeUj29HqJ+REIo4iwHxPjZUb+gtXxmTiZ4FtfvfLDz/9MV1F97N31nLyt/96nL1dPPzn5/u7
Kf7p0f/nG/2Xxe3tKSlnSeVL3imu5UlCpB7xIkHutHT50o4n0abEYYUFbIfAz4pQpn9zR0zWhHCf
T8dRJouUYoRDQWNr9Ey4fbzxMaFMEtzExNDRtr8AmjiuUqMzC6K5Nono8jNNRzCKgHF2yXPEMody
h9XovOBKhzb+U4DG2xf+ek02W5RyFtMo+AjiOMizqb8OXpTAASdCBOBGZpvV6pFZbbr14oTgkhcD
KKyXdRre0fKGSUqsRZauThYL6jPWmDWI7EmppSEGaMEuGsDeULU+SJJ7aQsBWqHhGqMIfIkqxTs1
+xaRLio1JEe62gkqLBJUw/CZALDceuav5us3GGdzXq0DsPih3mG6o1JlOEumGwbEPUtWfhh/c0o5
6NJlU7yJ6sxLa3TxePepiCWjOzhgC7EkChA+hxE62uFwxaZlSfDDMuLyRCVI6SrIfYZwDCbKTnQ/
qhd4h3JjKBv7StebmNlKbWzoOODMmrRAayFDClCHAqtsmwOATQxXH4Hszg5v0TQNlcLb6WNYdG+e
BK4KHBMoUeSCq/DpHaoVmGKtBZI6qMTsDkxcwKDscBr+yHY9I35GwXRL+SsKwuMuwkOsTmba/TKI
tYCKX+o0rGk6k0/HhvwGz5C965Pb7RDUBLExdjsrqzGh5Wx5QjMg90m7DRoUQThY8qnSviJNJ89A
eGoGBlYNQ1Uu52jjMB1hpdZYw0c4qwkzuuDgSavFkmO1zP3NQyFn4aoJ5KngBlzLDaZ+NmtFHdzd
GV3N3Kdd35Q7KYQqXFZoeLosVZas1jSDRDirjL8LixndLjmrZiI+X4bpjJaA5I+lnw37v/ZXL3rl
lItndwuoVtyVVllMqe3PqL6A8Ty57ooU5arkCuOigJg1B/Mw3xV2wjhOpoRli9Q3eaW22NiV1aT4
QB+NqbvqPdmGqiA0vzY4GuMpJX9VK8M3j6XpT/jyaCM/xGBYmg+yd4xwItC0R6CYFcURvpURQjgG
nuEuThauNpFPyIXW4b7axOGfm+DH2S2yHIRtw7tm6BClsrxd+Q8aEda3qNLKpPDwRYULCJuy6Ld8
kUUKKS7LdI2whQCSbgad30JnwBNVFVSCc2QhNoydWB4s8wfXRljms7iVQ0WbfO6CNCStduIhi7Q3
H39++5/v34FXiWRZzrNgHtGsMT9SakdrE+JeJnEyn8Mthp53bnsHH9g7TmnvOAPbO6fIlNwhqDsd
2XQJmVaua0q3Ngx4GoNUot/677XU76lWk4ZtuY7hitSk/h2N1iQ8nChTZ4pJaddyAdCUY58n9UBE
8CSczYL4ADUnizoAODai+Cyqh+fB/Xx72dWiJe7AgdF3UP65fdii/JMItcbPU1P7iWxLiX4ox7ES
Q4N8mwsG8WDXlY6jIBCmvaJY5QDQAhuRwhLBASNdFv1uoE3gLlWzu5OJg5zifOyJMsrGTJEW+LwU
DY03LK34/K1roudXfjy7pbBIW3DKabKJ8+u1ny9vb4q/3E+fFO/B+63Wi+NLb7+Fco3ynetBnful
s+lVf2ZgDgENUeV8djMFzRMOcHYROrehY2wNHRrMefv/3C8JK94F6f971Fre3t7pAjtyGRp0/yQp
cIc/FQEQmJ7V9RCyzWTLNkQFhCnPM2AYFsrso5RmQU6XJOzBJyOTr7gs5j13MM4BHnvPBAuqjFIL
/pHx3Npuw+UrIKYkRo7b63qTINPiJNcYmtvxbbLpXCZSostrdThGWIaE2KS0G5YBlUIg8U30qic8
OF66SmPzoNY+0d3vnbTAS5Gq3dHG1wICSAzfgowz6YsjKcf9Yvoq7dFlrwuSi+TnHA/s9oGnfsN4
vcnLvDORcaswP/wBS1A/kC+IGbgJbl/8EgV+FhR/QT49kscnn3758aeXNJt8TQg7nD++S2Ii8alI
uH/Nn+c4zmg0KhbzWtM41fSTeUh7lkFDtVE9s3dOjLWxiOVvB5XJXjPlzqmbNi1PNnku0vK9pEzq
L7RZmqy1WThnbf55bbbiRHDstNDZLghDqsnZC2+cZ/DkUHFvI5y+c2wF5HhG+Ew2E3OSeFlBnAkM
Pk/3pBxfRkULt3RriAE3Ah9ocYx1WWi3UV2eN1LZQn5K/kmUMF14UIYeBgXSnkJmypT/iGx49xfb
yq3gwefYxMnqBtagH3Z/VNGiFpJOBGB6CfRzLFtXIdmZ6QEKdrcDN7fyYbHtOESiW6d8WFrqElQB
rXuKGorrRLyQVZLzpanqqbE+rS7iBhaorLqf46mmgT9jjSEw1onl9NlmwIoXNWbAFvGYIJppsQhA
1mhUN7Rb7ZefP8EitXbhqtlmmx3GlKzCbLrvTKxogRgdnUWkSDWKiWxZl1cqQDiU6fTRSfMgmNFw
GUUKTFYFbcJAW54lRffRFUG6s/QxqTsgzq9744nzewBl0lS2FsTThAWIw1hb8jxOmeLmHFEgysGk
5IxAze60w7GWLV1W+UpW7yCEjqRBo9OncfxK0b4xZp3nSTIAGGY2OYYw/iMQh291WyntM5fiTbgA
Z2TY2DojFTQqIWiiLchJL6hQI3J9EsZ++qiJ4duxY3rqD/z9b2+1//gFPnLvnEfujVzhnEgscxeL
/tM9ub6WcpL48dPPGtYxFtGF0edqVuFDMHvLD2DXPEKPkg6wYj5rWW9GHpKCJIg7Czz9rKrBVKwa
TANbLrZRo5QeTVl+Io/7Nkm+hAH5Rqau4PdRZrfvQl/bZgMYGrcgHOOop9VPy3Ce//4fP36CKfVM
kQlYn16H8Q/EvbtFhelU/BY3n9h3ZVvZIU7ed1Vsc/0w2Vx2ku29JQBmLkeFlfF3apNsJus0yZNp
AmeEPHRO9sRyPKJTpF+dsenako96r/bk8NCr+sHocs97s7wmwct1vDjOiBq6lLPMNsIUuo1MSbYs
xalgvWB0ElnAWhHBBe0BrFlaMkDMheIn8AwKJN+0PN2SZ0n0JTd5GIV5SIzYKjl62DyjCDBN6Yw4
DehMET9N/cfJhiao4MFL6iQA9AjVIgnH7pOeoCWorDSdA85n1BTLaJRLNMDFMk15JiEw31RgJwrp
27CweuamtXw89QwLNKPjI3Qg/Fe/Fy/9fvvb5w+aWxmi6V6uM/Xt+TNV+wMoigrtohosg7FKEDIc
xT5ScXjb7hy4bt9UzwZ01jknRIgLXPecMQT3HFKpoD6wYslVpJCIwTMRFWWpdVI9W9d1hOqd1NWG
FfixWnY/l5q6oyXWrHVjO6PAn2W8YkBcKmB4rnIFza6kIoIMXZptsGfwiYOICLmmEkmUlQTfOFrj
utJiV9Q1hmQRq5ID5ZBjnFEO2bgngbPN0XHKzLhPM7JkQBwc+gq7BxGYk+liOV7VkbZfBv5sz72i
Gj+m0xm1nfdVRjkmvF6RzV1/caLPCVxwuwxLHVWG2ts9NTohavJGD0jXjxzfor5MtqAgdvTstP+g
S+EUSjbJ5ohT4HmSljJ5WNlw1SxD0hJZO+efDSCnWXOxeeS0TGhJjk/1qR3iBYVvP306VRmAkTn+
RAoHTKKdNEuym2BXVLhtCmCegX5lvBlFHoXeaxaz+lSNUjf7OhRMCcE2UixCaN9b9/nPcriaPQOA
LNGFs0XWDo3DBvEiX2YC5BK9N0f9h3/nf+Kkearkpm1GunPxH9wF7tnD+TY7W68m4qK6UMJFno4d
G12/Zm6FLnQ4JCS+TrdqixDKBSc7SVJAPjRt1a6n2fADR+c4VSLWpZTltBwSep66rdjvaBIBMV3F
hg3s5XkyU+TNuVNy5EE6F0DaWBIPsGrPPRbQ7pdhHlBBChc0eqahOjV8OFlq94fkmxN26rXQmzpM
A19hFxhyTV6lY66v8Fs643r7yaP/KH7LB+HAa0u2vcA/a0s/nmVL/0tAreKI6vBAS8lrySoWddS6
rnyagBlDVychmm0f8IeQI90fKqI0p0cT2d7FVF6NokWOE9smIxfdwB9DTpeE72gNpaan8ErKMTSR
NRzbAiZso/cGi+EdCVEr6UnX29R11aKlxBkRp4AM7/kZhnyGqnjpEoMdw+7llcM10UJimyfcL407
OVELMGtM65Ku/jxNoudUpc+sfu7dt7IvHM+1DdtyuH2h0roYARPWirGYSsAl4bgcCPA7tvkU5b7M
ar9nznve/fPun3f/NRvXg1h52387TBD9zE1pz8T/bG42a5C2dN00XENoaF7/Qgvh/Ns+4JbP1zOM
479nMe8wBI56227++enTzWF/G/lmTT79OOeQdzQWEDAUvGWYMVC9LCO0QOH3YjbWLSEfdql8+jp7
52/YnwQx/0Q/kken8HmvP316/+4lXXINpUWMZwp63r0053Ev+MXG/YBl82fRqIZudsnFPlPc8+6/
aluatiw929IjvX6wps6Euxh1NTlJYtmuYehPB1lfvflcnE6VFUwTKzVetSkhkC8asRk1DkglamQI
olU4u/Vj8sfpR6Kyudnq/zWcXRnvdi//lXYpkFd2Cp5Ih7JQR2flN++ZxUnsTL9qZxqO/EA1NTC0
JGYbhUvgO9AfOO17W5IGY/Jb1uXApVLhnvvT5Jwife+MCWMSugrSlElQAY4AwrpqR9zDNkbIFI0y
ZI1+6zS88/MA6PljLxW/aisoPeGVGYWwP1GZYWIXjcMtrvCnOA3ukwMsfvP2BfdngeK/f6Olf9/R
ij/24ZtvaNPUW/pHAqmDbLPPMBwKsFnWnZJNz4LIf6RFR3p7JHZDbyBmKsygLYOIsDqQgEN6E7I6
XvXEhSUTiuizHSdfKXquHUlwvNZuW2zIz2pttnfGZJ+a1wuxdLjyv52ovtLdISV16wMXHrXtdqBP
8RAnBji1iJNUAOGqW09bQdRczP51ZLyKPp4lYNOU1wQnvzUN7C0qpgfTstsvLZiOUczE0PzsMZ7C
1YmGtMUqozj4ssXosqxS241Vrwwt2gQ5uykJbSbiLnfbHlSGIFfdYXabqNJEo/a1m47UsNhq4r9Y
TtJ5sY42izB+UY7ceeGv10Q78JN/oMONv4Q5Hz4VBzkDLS+g9djwpu3brJK7MHixG8vTpa99tlmt
Hl9m96zx9aYA8Cset2KlNZptITz4QfynF3ESBy/OqYmHJWuBbMj9lLb0TCIfDu0T29hpv1i7UYCO
bbomFpXm2S0UsQw9fIKVaTH96U79MUs5jgtwJqF64P2m05NNCbZjj3lz5zjL4bTvL78Nepa/nY8s
lTmCFE6b/RMnZU5hcvN3OMjhjMSBTGLm0+1eKesmwKCqg13FmgRjyzVsHV+/pzNXg+z2QxpS9YDo
2ZGFyEe6FPtEF0P0WP/2988yi8JrJR87IwaHS+05MNbX0nI6A9OA8ocbEPlD/qqyQLMI09EwnkbG
d5eGYOH9HKImHt4UG7YkhA5HnnxrF0wDWjBkmt6OLN+9//j+8/szUo1QbNA5sAk8zcvz8AVs8oTt
WOgAlsujGIAabwKD0ef0HssTa2C/bGdLz0HKBtby+VZg2M1oabqe55zBjG37tn2kW+1O+Yf3r9+d
jabgSwWt5pbMMqJtESOWLLiskCqQL3HQ6DfZrlHNQRZ2LKOp9WLUWy89jZd//OeHn39+8/rXp2eS
H1jiR9DNH85pWZ9giWztk0UhTmhpM0q62haZQxUx1Tpl2hSRplFK+qC0W4bJeUJ7sfmasA1kXxYL
C+g4J4pr2sQYwV67pM+n969/ffvDeI0+BobFnwF0kA39krZbe7uFsAJDet5XpUjPfEuDJFOOteja
z5dj1qSMRmHitKXLcwp7rU0edzCxGQOkhrGUHcuRnVQH92noCpPacCLdVpnCB+ZaoV7hOpByJBhf
TySjXaPVThpfxdS4LlnoBwZAV86PE1plLrqgdKwoHAaagF2KUfZpep2sN2uedcuIhJokD1qerOGh
E4YyUUhUK4dGhmuDTXyJLAVyBxzbU51S91zkmkQAXn/0s1xbJbNwHgYzsR2EPF5Nx+0gmVmPs5kf
V8YHchbp45XxLmNO3pnskTNniNcUVJTTShFkX6fJXUjNED8SDuJAjmFLGQcmhJ6H6p8RMmQLN1iw
WZeZ49+7S57i12g5u2CY7ei3yMcTJOtHNjUhugsyCq6XCcDre1JGWRsBDy7XB065toic1Z3SqzWR
7oGUs2qqt8Ns5efTpVaOdK3xZBDq4ksB6dj90hZuGAHoZZ4jey1IRLlmRzrfk4p0TiW1YtfH03sM
10Z2a9po/s7jO59zVvw8xT0p8e8uIKDOhWTqZ0uNmMN5uKZP6q/C6FGbE0Nv7k8F0xbMi7RsscGb
eM9k0Y6ntKLB0CzL7uMwF3X7UUi4xxfYJsh0OlNs4OfB+yigFPETHYlIg+bo5UO3uZjjuaLd+x8d
4KlBl5YjR43zhCD3d/jkWyg+6KBOOUzx7viyNdtzXXWmWZIG5QD3GqNM180LoKQa9sAvH6C4WMuy
pXMUg9RsyhAMwekTeeHOsB8RFzGYUQop431hVn7JxnOyZBeYijCtCzlTwnQF5fvxoyYqrfUMfFHl
KLwE/FwVKWe7zb1m/fwxCrJlQPuT/BlxPmmJKL1coA3cvIjKiDayvFG6sG1JyCHTpAHTXyXT0Nlk
NFY6ZSFjuF20S1LgyV8rGK1jUBPltwdgE5W++vYrLsOMGMCPOxibP7JdmS/F9dEmwZxSkSjCi11L
dQFXzUAxcIoYBzV6l8TBMOPDnK6sQy4yyIPCvJxt6CORi/Znj7SugJyFTyuPWVZ0MdX8OZ29wxve
aJ/bnQ8qW7dl7PtcpH7Ey42OYm8SYPMDaTTXqxVbpME6IraWpmuELJMYLowwDEkto9sx81TE0uVL
SwzsjTItc4RFRdipz7EGE81fr7MbHRm85uNwFZNu7AJqpdpo5SaBb71Lcc0RYwWrdf74Mlnc9YfY
acQUuJYpTKzaEQEdEA89V9qddhDOXWzXWCfC2Ga2xFqPeSDI8SFPRe1ZsaCg3s11zAH1K8i3rq5u
18AYYYTHJPcaivU4OR02c2z9jGmZE6YEMHbuhT9JNvn3rCm3LJYrfqFiB3epleMsTzzTNSUGmhCu
iSMZCLmKbSp45rypX6g0H0vtEiiRoFsHPHdX2UqvOIpREktY8rSRcr8MtnQGJ5j6Y73slfiQ2861
UsJW7ZMuF9hcDpJDjgvOqgk5We4YZaEhlIWnBKBzsWLizIngttQlKBNCij1uGGajv7BgZRCE8lgg
a8469+7oZFdISGCjYbTt518+//jzT59qRATPZ5YCUZv4GW2mIyIjChfLvKgPLJEUqLich1HAcOC2
v8T6nD4Xv5I/5F0hO377fNbnNNTrmPl8cL02TxIJaw6qYeoYo0ARTdYBDFVg9HfMQEpjzH9Mb6AA
cvUmj4AaeUmHL2uUpClYvzZPNjEch2+E84laumhH61ZbsRqVZiIR/DPHZM6Jr8Z2WMe9oHiRv+H6
c6/s3zDrCy2RZHnc+oSaPVx/AdzywZoMzD2+u51w4BCO2iRN7hmeEX1szd8IuoAaAUC3JhQii9na
dM8HoWrzLwYxbEd67qbR49z3QLq4ZKQnTtffZEHK1udAste0epic2Ow2JfI7Ozgd9JejCAj/k4Gf
g2dK2h9Fcxt1s16kxPGpdX9wb7KsUVhZ7oPLupZ3gV4KHXgYZv6V8Yb6KzQD6GfBKpwmURIP6rSc
pklKjRo9Bwg30xuhxyv0d4u+2u0T877aU16w14GsjwUo6iCm4F41Yi3SsQFauKKvsf7Y4gd+moci
3CtEAU6bifB6I/kUg1bNZqOD2byPOEg2SAc7kXePItbLyQTiy5c3/B99zEJ4HT104UEdW0ClY/VH
ds3e80OS3uovbf7N6/xWv6Z1N58pqngePOQ368gP4/6G2p6yL/KkrCslpfeaUSLOaE1THt7Bxdpd
7ItmrXJwl5xKUQ5L8T4GVI1QAOPutmpm6MoH3dQzeTQqFohjGW+iCO4ct2x1Egi2UjHqpX6KlPyb
jz+//c/377Q8Yan56LdfP8JXqquh2FkQh+Rgm7jLutXTd+Rb5pZfSmwLYgUTdXWTr9Y3H/1HIrQ+
cyrYiTxAXTMPb3t8HMX++HENHXfJG6qZFoVGaJqRn7APdFYXDyjr1EajhgSDb5Jooin1tjn1SpJG
sDh4WMIqRDfsXvxf9LWu2WkSqXrvP2bSVGNzzofLb2wplvXxJqkFxXn1Fd9vZbBkh3XLOVMxMZCD
h5CsEecaOjZQDUs6p4JAzTac6XA8JQcaJRCeAoVbUqb+pXJcQ/1/nybkbBvUavRl+jQLyqm/2uyR
GOJkw/MkXZG9T79ohATSR/h+DafNiSvzEEfgGTaRPKwInN4t5VnxzGHPRRIl7CyY+5tIkKRzWi3E
QTME0zhoKbs2S2LYhjJM1ZK12KcM0VpDcnsIacSUK/pW4mlCRTEMvaI47g7R1KGQsliOyxhUEPfz
aktPZFuzW5T9+VkWpDnc3KGIZXenWkRDhPP6vJbMVM+1bO5JnXWE3LOZKkrpmR44pWmRu62NnY7P
MGoVnKczOLZ3IxuHPG0SR4/k0pMvYQBMNGnuOnXISZ0iLktCanrXImKCXT5dFFLNGqwUm5j6L8kG
syPr35QukGqMCdNCw4hgUPjqpsxThcfO6D0l/JmMmLZSz7K9cxr1Jy0sbuf/+OHX139/X9r5uz/6
vuictK+w8YCtK+MNdhEbsl5pVngqcsaCWtG43FYmtl9No8BPb1ElOqRcBhBH/JGHqATxaQf1iday
COi+NwNArzkyb88VjLhC0oV3HNzBAQTTdFQ6Sfl9OA3YV4yPA7gf1MDyTnV3neR8OXc8dJwZ1Euc
sxOXKswHCZ7X2pSSm+8uSgb30qm9PGLqDhfCFxIXzYYoNhH1TFcT2X7Hyln9BaUb0AN1DSQpdV20
/K1hlFzcZWsdW3guz7ft20FkK1+yW0H50Zqc9PcFexbkb/mL0oMEoO7cg2RlDVKz5D5mlXMwzqKt
xg7is7gPw31aIYCFMFAIGZZyTSc8n57qrybmnBEhpf0CSw1tlA5TR7mRrHOGikTru7PNep2kOZiK
Ui4/gE4NW5ISIPY8nTUP32YzjJIO/HS/DPOAZTLLMjKeZoM1HhqTYwxb1UAS7ArjPfeYvHhzc4Ut
/XUL+FqMT2TMmk2e6SxyQRnbxc8TmDyEukOODBjGG+GQUQ/bEoy4PcRM3i/EdgvLbWwOKLdl+Cnn
2+04HCOVfewNPSVosMEJ/SKWglUd49jDWP09c+ADuGccEoK4SEwv03IcWkRBiycFqMn6kEEWGCDC
QK3I6LTZVaitHnyvqdfs2ZpYT0GdaicOtDGEIYNVlijVbFlO2dIJhS2GgTb7Vigd0xRonpnWMKLJ
0SUbHpxjtZoBYYaEjt0jmtlVPrOShoJUaqojMdJ11eYIv93ONQetmGZ3AEUt+EOWzncyrc1xXTNw
qlvWJVzNiMiVuOd0dD2sytGVfxn8tUqm4zIoifYQURlU6YYYxNv2dNXChuMR1gkb3UT9VcaJ4QvN
hkyM3OM4CyROO8NgE2f+nBmnYCmbicfHlAcEWi/eh0mCeKpV7+6Shiv5k39H/LWq1B8k5HwRVHxe
1YLsEYdQjWYhVCXxU3fQulZXtYI/TFWACh737J2nqTBDR1tnF07EWePjSpa6K89Gsm7pTvwwVrEn
S3KWnascgru4MXpidP+b7Jbc5DVvar0tf5W25yZ7QcnCqMnYnxXfcCvqoAUWdfGJap+504OwG7Sc
carOAxK8AB8JYhmJikxovxYRGrje2ZEcBlr5GQeRo0OyiqHOQSqo2XMdQ7VFWDyX7LwQl9v4pNxW
pqGmhK8Jx4Z+JO7mQZ7hjTgB0UvQYkmCFl+ioBWUE+XLMJ0xrJ2yyJk8ROQ/MEAMIdw8MlDPdZne
LwuZqqiFDur39sVWNnkYEbJkx8jyk/NNzCjklrudxQNUeEDx4mTrH5KEL17BqJQhZAz5QkaoKsTV
1dYFd5HJH8knyx7aQeodS3oGbMZ+zCFXwhktXPotq0SD5aBO9nwQCjWIjUuoRO+ldAxJSscYl9IZ
Y5XhKMm1KpydE8LZlGxeZ5vJDqNt6ac+uXpBNYDVzgeSr3cHY0unE1vm6eaQK5120c+B43qNKyMV
xPUc2XfZ5YJ46FWXae20qoe3FFVzDVGA3tW1HIlnadsShDVXCuC8LaXwKjsWhkMwfb2vIcX0CejO
fOnnjLEzUXfkOX2x8RgeT8NiFwpTuNL9cjtGzzWxcUxF8U2VR1GsWROU1O3RV0U3nJnR7BA0bqd2
dNtPxxDojKZNltPyZI6uN/gz1udQ1D2fTGiYmrpfB6lnFxG3uBifrVz1bGxTR5FDFor2v/d6mHfN
n7BcYBKvfJj2HNcdi5yQJCYUe83HxjbgMO/+gil7BxGHmf6ffHaujDcF9I47S6Ybaj28nCX0dq6w
B3jGOh6DiJQqIQUUTC9i6acxeZKX0yyrDOEZmFeqU4yxrBgFw4wtoMnXVYwuR50yOGxc0+i8kJQO
YAD7OA3jKdjT552Z29Wnh6MISH2ZjJBCZPdUHCrILWJ/FMZfYPRms3+ApqgZWSQUsBlpxKkXAmR5
WHF9T4uDVtPefPLIPdtUJ4maNVMh1xtVmZWanqbBqtouuQtoiCagFWEJ/+YunAWJto78x2LsEkSY
jmUrZo6TzT/INbzR3VCLjpAxMkebZolLOHoV1Z/jMe3G0NRVM8EIHqvQQDVTY4UYKhkFSTg0BxqW
E+Kjh/TXa2bqHCN4lt8O1jEr3hkLiHTxfbjQ3oc8S+8CjQlxdhOHA/PIP/4HBZncRHR4CMO+XK3N
awoOdsv+9oZ+y+T/z/M5kV9svpOu85febVJmVt7a+vV0uYm/fAr/FZDfwObBjuy/4PZ3tY42izDO
xFdVwcpGLlKsi072qSAXG+MJ0pwOzHD84387CsF803vISTOvf+d5VC7Tta3RKRaVnTjgUS0SNlIH
riW2Rmk4XE6ryFk7RbY6EmyjkouvnMRsfOrf3vwnK2QDl9Rtpb41GMaRD1JCB2D6tOSJYl4ejmtM
/QzGStH7AYDLM3aquZH+PRNAtAeMcCBz4HTPZQxeq2FfCqlaW4VhyeKoUytZjnXpTswFjUG/iKEY
kMS/pl9R+528emQS8l+/vXrr/NzEMqytYG2kSHBDNrsP4xkx+ZN1AOds9QZ3inFvt8K2B8l4uY1I
FLfV+yGxcO6Ia+cv4JoL4ylIjwEn9bZHIz+KOPCBuVm42kQ+uS42zX4Th0S9/Ti7NQzH8kwXX3/0
iepeJbNwTvTZ7Yc0/I7OKSb71cly5CNdkH3ivjP58m9//1yZWdGeoGDrAR5WaPbi9a6xkT4SpsWM
WgcUOY3Q/ESr7wFMaWUoSptEtAcFjCZYXn0wAQ+iRo4ECFce5BWuCsoCj/eARuEqRK8oDfrN/t/d
8Hermubd5xwTe5E9PBPuxYsQUpLhdrhQcJgy7jRM+TR77BNNcTFEjTSjH1euRiHymNgDxK0iGpm2
PtcsbTQKGGHR5SWLlNr28zAOsyXx5KZ+FIlCIdi2JfFkaexo3NjRMrJ3Wm3PJnAIhoBjq/s+t6ln
nrKAu8sc3WsjBIZ0l04T7wGy7x710lmtUXm+MHwolvIAx1fa6hmw3eduj0ME5S2zWdnwVbfbs9rS
quN1GmyM/IiOezyOYjSD2MHjsDEHtRTb087uiF/tWvygBr6WQrHvHeMud3zG/YqVQCn0a5Sbg1F/
w7omHme6zmVJ377UY4yAeuQa2luDicqjP2nvMDeeblkX8M5q3pnIeyZxxRC2Br0Np+VtdFjvxHUg
JMvNoj3+f0a1RrKBFRjJoE3cKNZyylakcQ3aA7gbdy/KbeBe5v/Aenf7oOdUwHskFM8myQPxfZdk
R7mWU9c5ZJ3aW4sSw/mkPg4lwDuC65aifwGVURAxWZDeKVjh0Gd7q+Qu0KbLMJppOWHQBW2qoBEX
QRJFx32c82wzXbKmKKCNwrBGaWof7KAY2JdtJmJIMUtXS+VwTbgly/wBeahZjwseTUxakfQ6Y+Rv
T4dVy4eYFVMxYW4+vP7x482hHUMxUk7li3pwOIvtlfHaOi6xTbM/l9BxTfx0mDGRaUVAhSFvkqcQ
MIvtelIE8yTy4fYEA0kyX1YLLYmDNCUOQn2tiH5p8ajKDW51uHhIsoVsSeHb+rWJUezXVbebjlTa
5doqWYOUhE1ZSpGK+NLa7waFi0eZcjxzgKgJfdXdMD4BzqJMrYhkC1CVsFps8bZ0xHJJ7O8alyfI
0DBi/qmBeKZmi7TDRccGaxcVBttcfM6NoLnSNNxe6xyKgMqK0KwSJFPoNFnRs+VrTKrNYlp6KFKb
hu3JpENWGfCoZUE0h8uDbaRGvJxY2LDc/nS6dX5pjThP5EJYZVYHzj5VQFpMQmRe9ySZPYrxQvSe
yZqGO+XB0WZypXWpN0ts7jbbsef27Ko6O9DVV8aHcurVOXV1d6JWYF2rveiKkChrXGZwkwzGioTT
bl0ty4M1gm0gR73YgKusjd5UtCUiIcYi9pzLlBbNrxUL3OBL4Zs2xEQEYlI/jNj1vLPb9FXrp2LM
vzWuXpt75jy33ykSUPETBzDeHVeBVOJRaFgwuaa8s+Qbq9jxlgo6rSWaofm0CPMLJTBybNlMU3kU
xrhgXEdHQ20ew2gi8p0PWof4+tPbH39k/Ie1WTD3N1HO8blo4SNoqBu9L0FIjvB11IxGsT338gzN
Mih0Tiuz340AgVbT6CNy+YGxupOCH6idSx8jpWZL9AiXqXawyJqC92cwEzqd5Pw+QjKFg+M3CYQY
kOpAKnULkYmUy9Gip5aqFYoNdx9Gs6mfgma9reMB6VfwYLUyRldB2iemRluGnPwPq9n6JBAdGJ3/
5GFZosYyPdRwQVFjxezNvxajGnTy31+3sWOMb65c/aZEnazGjdlsBpmqGqCXUl2HMY3RM06He0yG
YmswAOzJEsYMUaR8AiFXOrrE0jtdRtR8WLPiRRYF8xcXaUIUgqBO4nagpT8yBkOj7Z6jfIXqQkj2
GXJ1+SuKHgBVJVpYuekOt9J0OMVlSMt7H3d1ZOQQtyVkabCO/GmgTQIiiAKmx+D6QWdwaupokWJX
BNDAusDIWgWGHW22PERCOoRB2iIgrQgXfwZQkF7nt4h/9YEoFrMDWtQJjUEhigGlwcUIuTJ6cmEe
/ktQmo6QxPzd1vJ8RSzqVZhTnb8fhrz9xF7eddtSS5Z8mie8Y4p8OXks2nLLv7nOg4d8HgbRDN3+
FNyz305X5BN9nX6XJvS7TRaku1/Ft9epPwuTRZps1uh2HqyIHr9mw+MJEeHbJL7Ogoi8e/kLoc8X
8tPAR7d/J2RO3jOuX+4Kv6U7WYZT1jjMDpzuIGBPT/mJ7YjOC6Kf+Mv5JqXf5Qn9wDuR6YSWl9fl
fn/w1+sghuucm6FEnGLtVZD7dAQFecalpmuEoJIYbiYzsITIy4bYfWn4Ly5KChhtsHnVPY9cfn3w
gD9wSM8+kmtvAMzuy+3EF3C546OQF/g/jeaCkOn2vuXdRvemVGVakE39tSiiZHRRkPXUjKVT87G4
ZQHTAi+IERwTKuyVjBbEipSj5cqMn9WTGOoyTqixiV4GTcSs7LhWT1ZmXhc7VMBoPbRZ0UAHydu/
B7tDXH+HeKClu0YLzjBhGA62Xunet2z2Iv03jl6RIH/Hogi/0hHgTGQT03ASzojUJF/89uvHT0Sm
wB4Stkx7MBI02s1HGyJxCLk/1+pDOcZAp1xw27jiGx33ZUpQQl1wWFxQ+x7VEJsDbVx6sLV+aUvm
mWdLfx1o4Yo2N1NLR9D4e2irWgPtrrdeaiRgmmVGTX2wC7brL9geaOmupw8alStywCFtXCNMHvNx
0nASrh260V7q/c8NceuRrr9cx4tKCYc34PU5cjTqXvsl487DUNl2RlURsxIcxDXL6IKj5/mhnPvJ
oD7vbrfVlRScgUiBw9vKSgFvPWPijZaI0Ee54E7dv+BiebLWamCnsW3KDC0U4hguEjJcJXxcLnpD
ThUd3WS9NKYybtiHYEfuKD8GPIZjwK2OQdlDTP18Kusa6mN4cPuNPnrffObnPq96Kr7y12uyENsn
cbL3pz6+Iacc2OYVfjtbfXj88Yf/iKbGf2Wzt6+9H//2691/G/+V/88/LP3jahbN3v9X9j//QNEk
/vVt8Fv05T/fzh7/558/ockP/zv+z895+fXmf1bR49T49Z3/tyj7n7fWZoJ/jf5r9SGb/eO3xS+f
3mx/77//+as+XUXh7J+/RtNHK/6ff/7683+T9/+f95H+P//Qk/8wfo0C+t6fLPzf/3hA//M5uzLe
VWqKm9jbRlNpFycbAdCB5drtFxIa9rT+k0GrwNFhu77DwGjPQHxjaz8TvArLlPOUhry4cvUXe9EE
RxRFcCrl+22O7URp8Ht85eKr128r/nxZDPF//V9nupzGsq4x2Ze1yb/9+hEmSKsP8Tfy++Axkh2Y
W1icANQlYMPxep9jU/OTDe+u19v8V4Z7BOmUBLfpY1OS6cu1MkNxecW+JgR7m22Yx0OWAmnXcwa7
4dMXrPh+oeu1B90+7hIOE2pNDmY79ePSqxWDeDRrUjbOW0cWRKyO7GszyjhhDEd4ksRam+WN03xv
DPgIZzgB8/QJmAM+whlOwDp9AtaAj9D1BI7FLwVcLVDIiCSm8/VOC+MBzSq6bfv0ydsDPsIZaM85
fQLOgI9QnIA0b0xK7hpIXY/E1fxw9Yb8ewe4ms/OyaAnoMJ8LaAbKbZuMUWFAjzTElcwvmgfFVv5
qq0nHzSf3GEP3pB58AJpkKfh9MsjXL8PkLox5J7PceamzDM/OX/t1TGdH3Xd+aotRB80EQc+c6uB
jLWGfIgOh6C0F9YYZwM5HWT2nE6RT4p2A36wh3yIrkLhpNbvXh4vcadOg+N2hnyI3sfdokzRA9O5
tqtS6x0rPdzfMZ6EsZ8+ag8aTQ/RXFoYw3lEt9HY2aYXiy37JVm6Uh3dKy26P8iF3lGUJBntxDo9
/8Sx9f4nmSZfglgjr9ZWG1qeLpNL+aLbBR+64fcbTecEUGejcs7EHY4XTY7ZPtH7PYQXv2e3H2NW
UfTZF4d4VZ/Ir5NjpU2Db4nT/zaZBf+mP1jud+SDwT58A2LQ9mdMPuyvgHTS/DnZZ4kiCCJZnSiu
NNSD0RrPTaYX1GTaXoryScqg+LR0KUJGNL+Kr6z5ImxW7CJ5Dj6tKWFNgtNktfKlaQtRbVhNYyf2
vDH5OMLGra2P8+2hfzNcq1YHYk7DOz8nP0mTe2bQianbxbqSR+CjqmB+MgZT2jVPgfDZtDXAhNfT
aJOTv7/9junt6U5vP+yjxmP8//y/13/iQn8j3h52HAl2PHk7e5ChLIUGHqFTOjqCGQMllEbRuFtF
ztDaL7wKs+m+XS6oezmPQfP1xZHaydihp1M00aBxRDxILbijE09++Pz3jxqFEsjDPuXPjUUrveZ4
kS8bOn1Gh3zQdhZRTrVHMvmD6vDyibTgYRqsRThfyLA8ZbutMc66ROLLbVJ7VivISssf1yXkNY8a
kB8GcSbcbhdPtzoZj6/1zs/9l1mYP1SmE3mNrDFUK/Z4LTWdL1UdX2O4NrLV3dtQdsgZRdW35xRS
z27oJWEdtcDxoqRWtKEeWRo5odlkkx+9rBUvE7ra4XnpL+0tzJe+wwCj53ezjvxKhFI7j0Vcr1Sh
ONbOHravsOE5/DPS3fILVHyBzPILm39h6sVnr/iM4CFL44o2MYE+I4JWS+6IYXk4vUkrIvjCybmO
YV+Qzd5QtdR4dr3Mrr1L3CUrNUKhXw5pc7t3UUeG5aCOFx2sJhRIkGltJigIX0fhHcXJmm6Batlt
C6LwCFmmJI+G0lsazgLBCBCZhEVxHB+BGL/tKl7EIGypPYE1BjmsQRYxEe7s7jPueUu5A04kE5nf
Syg9RgF56yDXlmkw385BAiWA1FjJmS+jhUKsNvvzpHYa3dJVv7/h8N9LYo5+Tx19MFieZZ/oUR9N
u24KDgDqzyTI4oQYP2GWVwZo68/833QR+y/eSDcyCnfwzGGrQgau88eaccBya5cIbR+HHs1+lt/d
ojB/eJScWiIzNosmLzrD4QiC++xAP+087hAiV4gWxGjxgAgJnR7vChtfs5G3J3wokBKr3Kd1oPDk
dXucVmSHejkE5pVMU1WKUZuSR/nCAkjEognnj0yDRStaNhiTX0w/En+VB078v4azK+Pd7uW/UruV
vMLjHw86+5/tF9/aReTkwbErrxjlK+UXDi5f8cpX9PKLIvDyYFTe2Z6WX1jH77P9K+yWf17+lV7+
MvaujPc0mkQ2d+NXozem44yPO3j+7iguz7GZNzGN/M04w4TxNNrMqPcf75gHgLQwrXHyTn0dCDwQ
wvKebe/mtrc7dtu7cQCNkT3oN9tGL9VDHM0MxreQ2sIiy+xl5u2+WGCBtyxcbSKfnCJLDmzikCz/
4+zWMBzLM118/dEn+oeNLw+JgfUhDb8j5heiMNJkOfKRLsg+sYEiNGj+t79/rpRg9Y8SLjfxF5bp
IwYq7XTmYfwSs+kjC9jCJRCOzMsonyNP/TibBykgNFHXwDvLNZjHt03jBv2Ark56ObXQV46M24sS
NmU1nsHjRU3T63pmD+QmiOCnq21T7JEfLzYMeHPhhzGhX/IY4R1wVa45fu8faHmS5fSP3WhEun2U
eUPu8QuFueZ5x5m40pBDCB/l5iy3ez7PoOtMk/Xj3rdleq/OWLQdJQROfHRqvhHOBeSQ3lISDVn8
VY+BfGoSKSInP4jpsImUJN7q77Q4BeBKHcdQrPddx8am67VT+yaWpvaFWoviJ7PCdo7/AGZc9Eaj
dBqr+j2lJZ7EiDxLBRVAl2+rPM/D/AdPYLmyo1qVVYHIlm5c3KqDNEIf2AGmaRANWtMbTX6BKv/i
iciX4DOS1xvZCm7/UMcO1l4rRvMJ2lBcC6kmAG0aptNKzq8QWV2MojarYmBZU2ZoIoznYRzmtKYj
WR/JkY55zSHX6hAWnQXk0aa+wIExu3hPoH0SJ/uWCVzi38UYGvJ4nxNRTyIRpYAymFEyJ+RBGE/z
M3EC1HTRkxVXz3kUcR5F17skVJTkUY4yHAXVviQfqiWKuqy31+7I/a0yxatIe/unaiA81bVEOS1x
e59hWU88HHAWw7NpeAjOKeGempdedsY9CKaBifsQZv4kgo1b25NVjNSA3rBU9JoLZ9ehL43zLbHN
y12xwcCsTyNPtDjI75MUnD6FTMMY91EKnC22Y7AhwHIvRJSciLrVz5xxbeOZ3Q7ZLYnpPOwpLWDR
dtmCYEEDabS2hfwIRnBtGavnqZBjVXmK+ap9SY7rSoic0fJaOA9ieqNsvGejCykOVJzEwYszlSnD
d8j2RAM51MUHbszsTJrpSqN2m0aDDazrEcymm10IUchoi4D2zedlCTa13aZR4KeVme1a9ybyDWPm
bMnQAPwZm3JIqb4oJFizAVrkxunrMJU6LePHYBUbdMDVJInRJUMG658y9+cTAQ0mAD1nfATZml7k
0cleOHGr8CgYgFb8grYnPkFvxkbP4RdZZaynoy5N/BRTJOhyP6WktG0Qpp3VcPG13mqZvuSL9Pa7
Agzr1GcWhRbOqK9HfF64ww8bVvvlWrXZb/tiQcHqOHaH0z2Sq8WsroIziGEK36Q3oloSU9QHWBhi
e9EM2hDIIAGKMEf9LV8zoKx4dpsRAt/Nq9PKW4mSRQd5KYkAKgaRaXXg4Xtj//Lp0RAVFxMCANKS
yHTM9itsBTODvaE1Dl+408MhCeGpgpbTfiHAQGFO1fbaulgqbo8N1wSO/BWxm+nMHlBKIketlBQY
hV2kJdcBTOwXM4dmm5Qj8sFBIxvhUbA04d0KQ1+v/Xx5O1n8Tj4TUyF++cd60QqrxDyNxukzKKsi
OHQ4Cb7EcWNbmiabOL/VK2DOzihOj9JUA3GI+ivEA/hSilROvvwX0yH8CFnf/QzWyEh3x3FcjN+a
6Y+ByIsfaEUEdKIv2IKABXub/YlL8YQ00X5IsoIz/fdpGjAa8KNMzgmDHuk6gWFY3EYzeU9avdt4
Gi2ZJw6QIOTkGqMEUEv4ndGgUwH0xN9l2OiTWFnuDdjWZuF8HtBBfTXFrEYj2GIRMd8RmZSwaEmQ
agfcw/B8MDwU2GvDOMfhmcouhSWzFBmlxUI0hkhEzPLlOl4c42ngsomBsskwIoYPCRm7WJO2piya
z9gLYnJ3OtiigjwmtUQhB5MRudVb3bWkdGVMDENluZ2U3zAxtP2pTK8ZtPQVdm+usP3PT5/IpxMh
K8NTaVyCfpmHrB4ikRiDa5/YRVWnoikaKvT+iyAOUlrruu0ZIPqaUIqW03wzyFsGlmSBpME0CO+I
55em/uNkQ7UYSPZml8BYEzd6HwwPw1jIfThOmXVSTCAi73qM5xM8+Cva7DOlpakf+O+d02RpVR6E
rt/u4zPervwHzV8EVS/WlX4pUB34thtOWwUwGIht64M8Cc3nBKtwmkQCyeKaQ6k76UYD+TmNLh26
5kIVaNi2/Ecgx6vCdNmvwNtkS45OvlnPyKf6oXF4OwpBrh16Yp+FKSpXtk+iZALvUfck0SwHJKmd
wreFxj2TYT/4sq3B14cGeTYkQjybZ07llglUxO2LK907NkqJRXqlW8wopaNPalOpOu7JF7zwktC8
xuYzggxhukook7NiWWIENJFL9Cd2xtz3fK5MecrfHLv1tvOUuL/BGY/ETPOkGSVbkj7O8WKiSIzx
Ctkmuyvi3aIpP47jXsz+2vpcMrKXe/T7wO1GrQjeahTqCJx4acr1/Dkv1o21MTplkgRSnW0Szo/Y
Xn/ePzpFCOfGGqNTXIbQeH/7iyyI5i9oM+Z+1/uee3xOr1hgMTPLSxiMQzpSECfeZfaLvDGY2sdI
NV1xFDLV26tuS/qKFfX8in99+4//1B6W6ZGwqGCOXNINC8j4MJbACbqo7YNTU9bzvXcuNKRvPUlm
j6DEsBzvmZ6Goafe4pFdYvWttZFRqtGltqzhXruYnH9kGiUWbc8vLF4hx3CorodRMdI1KL2STUxL
gZK4HFkETs/pkvOsM2sr4UIoy9+p1LLStEABUF/mD/kFhX3g7ONeoEd+9lEkH4P0LphpkzAXVKHq
Vh/au6NTJWvortngqiaeMHdsAoYaw77+7dePt0Lnn8Ol2WN0RQ58jq0nUg4mPfJP6LyY4sVvz+mU
NHHeaxEMTdSqpqTiHxzSGi2OrE0DDRpbkrIj8pM18XwCSRZEp0RiTO4zDMHrs9BQm9VHfKqCoAuH
godhM/SLSUnys/xXkCZaxDCuqcEHDwp2zUvKQTa3KC44JN3s7M5Ei2dd9pLz5IX5lqyniaAxDxm6
cTmW8JWuc2NYb2AFDxGIGSDGNmoWkaUCaRVU3eDIXcf1kxB7DehIiY2dxAEdOJ9pgtZZE+mj93l2
4MH4w9Vb48r7ENIhlp+S9I3cQYPPnNzLdjnk6YohY9j6E90qWF1/OaWF3Vy/AM6G9+kMIjbNIiqn
v6TEITucBONzMN8CrmrX1iaoK7elBzB3a9JZP8QpgMt45SnJMmohBFk0vZ79hP6kONeDAwXqgDA2
5ahFVkbG6HjvSz4cmdiJJrIMpEZEdlpYKgmRV+dRuFjm2iIAacdrnEv8+ZfPP/7806cWddF7KwMm
j6mcbWEuRYaSIvBTm72wTEAT50eXJgkowIhQBEhliD1cTx52++3Xj6A27VRl1cQ+zvx5IKppleOT
ZwEhB3/O+uTY1JYk1jaxSKKjZhMBzMbTDeHh89sV+PB54d8fNZgXcpNSyRHAESuNtfQBHj1Kpn60
TLL8e+dGxgMMOylFOuqgggroI8549ectL4l+8ZnPFWAf6CgF+ivboriXL76pZPedQekBYykE0Tyb
mOTLIF0LqjQ7ZRNP7p6wYgHw0IGbqTo8jGI3BTztqPonERWHM24716MsGZ6jRsKTc6KN0MlMMIHF
sC5JcWYUuZbY6SEbk8mVJhtXpGF4GF2X5K3y3KaaabynfSpt+jiF+5Cx2Yf8ikFsbO4r0ZYMYEeM
J+AaruQ74fvSUPViTGPsGvHoH1eQRy+es5Jh6F42/aXdsptNCS1hObRUYxLX9+kTd9wbhEt42ZF9
KS7hFXbQFbbo/8ln58p40xqswtQtOdKUMQTR7Qx2lU+mEtb22aaaKiJpSY160hH5a5bp9DQfln6m
HegPGM5V0pUR55MhT5ad48SiJ4f6qBGzYgXCuOq6assFdoNt6ToS3HJFR3QSO42k3F0YgAPGkd1L
SUO2xzpJ84Esj1qCArq9sDn+GsvSBDkAQ1E463zAK6kpPcO6q5DVYR1vm2ekx47Ob/GOzFehMz0Y
EgcH/09oxBn2xCwLDSHQhBjZuCUSAO+12O1130Pb7poo/ns/5WMXoKnQXRCL+y7pSFOURYtQU1Xp
2t7TzCvI59C6k4XiJ13wJk+xKRz1d866244SSWx+UMAc8girIMtoPE4cf0Om9DKJE1uv00ROn0YM
xaZ1I8FIHoViqEICysPDG7a8WU2K+1VUlRUSqQ453rCNixcdrS8XSbPkGTwj5JF5aPQWdK3hfJ7Z
Ww1U/roon67HUzPt/lCfJbpEiZKZP66Jwexny0lCbBvQfMSWbL0AF4eb0sUTUbflefIy2Gpk0ZOn
dsUXh8wmWsU6TSd0Q0TmJSuWW7ojEnCTaatgReWQcC4kRkhXZB5SJmVzANoK7MJkpN2E/Oe3L3im
l05qQt+8IObgW/qywDZ0vJ7nub01dprl+R5/39FGsoY0D7rs0unaYzaWI220sD5Mf6KSMo3qF4Oq
LKulNXYKDMuwrUtk2IJFaaptRutu8wQ0iyxT0ebcr4JPDUm7FNscvIsSxKIyrP4zptYp0YcHFhUw
g88wexBi8/J4Orop03QEhokc+6nRjgvCb7Veq2Ik58SYosfJob7AsKrn2k9dY8o5zSMFSQvmII53
ZQnqOz/aBD/PYX5/euITtwcGO9d9XZYe6kj9Z9tkvRADPQzPuFBJwjdHZ9uL9maf0+RswXxqvO2K
QQ463Fe6RX1u/bS/7Y5bf4tNvwKsKKfTdSkv8DAQWKDw5NS5J8mwPhYsyfRjQiFrPoh4D5mNsLSs
c/rZ+7Hhb6nDHEzP6WKLJd3BaWszHx7hYlwU+Z6UX7QdNA9hGBHTUGXD2Zfub1c5dbPaDVSkEI8i
wIthAo2XZlJ1MsDbb/LE5GpWOkCFHhBWsKzn42zkGyZxkKZJqgUP04AhdxOzqgZ917P7K0re+7Md
c0xTNljQr4W+jsBMF7t4t0Z5heJbQ7bUuGGj8hUbO89RtWc5czarVS4QUW85u04Tsilqu53sRmtW
8H5RRGVLE3tSwwEH5vQuFEALNG9f+JNkk38/ifz4y4tqQv4T85tfztNk9Xbpp2+JRvs3/cFyvyMf
DPbhm29uaAOQv1pfGW+myfqRfDoVUEAnIF1OKwPa2LvJ8mRVUtyjoKrkqZEYkuSknCSaWpBkw8Y9
9xeRL+4CXi5cM+HN8hTIJFGXimU4Mu2HfJkmcOMN0h0phSQKuUDsjrB0J3k1fWSdqP9z9eFtGk6X
xwE1mfQhnhVldamtqiEQUfGjdVkhLV7u+CFOyA+LRUdhJRzWQDWiXZksCUcrnZ7iU3v3/qcf37/T
COmEi1ijuCDMw1wKRmDZJ6C2B7EJDsW7ID+gN84P9NPmJw5R8/PcJ/eZwvU38pUfqIpc4yKkaCPK
pEldcAK3LGcWhK05MSPScxSSEQ2i1ZERMuUJmvSuxNyC6+itC1Ql5QNcYcuYUL0CPshYyhTryCAW
RI/MExO3etMfXbieBnuHcw+sppphD7YqlUdcSm3X8QeujfSex8yAt34RoF8559et9SXuTTzqk/4z
6hsxZr1MJcqruIzC0PGTUXpxEmc58ab9dPZLjcXpIKne9DqIMy0O7ouCf3BFaVr36F4ZyVIMH/bd
cYpDobYFjrpW8Hm6NN2b80rtaRLB7gSyx6R8T8DO8ygvUbmOQT7YFv1Av3LoVw6m33r0K5N+8M4c
Cm5CkaXVwIXpQ377wQ8relgN+9PS6DrV/7Q4sNztCZtXH+iafyHPN9A113C/UguvXLj+xPvHTQ/O
uWZ+rH4Z7iosxkM631zLcvIE8CwhbLqKOTYEWdZTQ7WpEGnfVlKJAJ+prl+cbty5pU1031ZrWlud
Oj9Up8b+T8X6sUss6NSzkQcgK5N1yTORJ6LfGvyVG+FzYFOdQCsYozb25jw5MyEL/HQKhm0dbJ9J
5Ci7Yr7Z+it2z+hPQ87TNUciepfEwS3iXnYJL/S+uYdNHevtnwGgnJduFhUr/aPsMvdBkW/pthxf
d+VHFIszmGk/fP77R3ievSvV8uGV/SLLpx/HhHGcTGnh7F04zUMQc8v2FFpXV+/0K+/D1Tt05er0
6zfv2UfMPlp7r79mH/VKFP8rd3HPquZbSXxOxZU2RV2OEJgF8zAO6oJdGJuGPPVyuF6tWsESWzGH
tR1aN2PD7cMWPhdpnUOdA/qhDJAbb8PV4oaIhbLAtxj6gWhdmfH22By5fNXM14vPEnHvr1n6CYsi
3ZCklEmohhVG5EzZhgm9ARqjIUzBMlV87DqCq//7yv090LaJnwVaGEXBArbBHB1JXky4VDOoxdE6
+FfYYJR8Zbzj7ZxjyzYvgvzTf/3tXdl2JQ7ONZtW2UyMHd++qIIN4741twxHRcvuFkAJau9w3N42
SojFOkw17GIldyZ2K2zDG/P5UeDIgA9E4KdIFULWHR7zgnwXAWPAJwJLfGSbkrK+Pc2jOi11GPnY
/Q3/JVnBEPLNmnz6kXhM+mOyoWPWAjpsLecz2IqWKDqILZ6Rj3FCPvyHf+d/4m9AXmfrfsP+JIj5
J/qRYj1j/ZfXnz69f/eSLrmuhl6w1b9UmUHqMUs8IAaltpgKaqI9eQIkiIr7osdM7tyf0jIc2vsi
zvq7LhrGxMHSwKBGZAoYH85oCthC+ZNR85Z2enLdn1GXmNYCpoJSYFNBHIlfewaBkKF+u9sbaUzb
hY5G+jWdCWWf5il6UoSnIqaS2dRtfp5iFD7rxKxm+3TQj6/AViNr06XhhoP2WwQFVO6nAjB4jBsB
rtRQ4TRNoogrPT4Ali6vkeXDO2pVkU0vqRu64GYqm749D0WiAiGrw7AM6l0TvjzUyDxIki/9XFsk
hDvYwIz7ZchyvcRH0oq/gmcZWv1Pvuz+hi1kA5ly6LegJSLGND8KfRjHwmwUAbMb8v6/gjQhnl+8
yJcgX/ZkDkkR8VPXk6c+jQyQw8upCIOo0ZVV8K/EUsNNLDX81Vhq9pi6pfe7oc4eTrBlwH847a+g
pt4GhkxshHNp9zdTDdhM7a9u5z7RLzPN3+RLuO3ElCmHi0nlZLG9L/nc5HB2GyWLMEYHw6LRXxpF
5Z7Q+ri6vnzttGtC+J6LuSuMP7z+8eP3VO6t10E8e0vsjhmTfn8l/9Hx0XfB9jX8zb+X8EkvJ8ns
8SVZI0hp8uKW/JBJXiJu88couH0xT6iVGoSLZf79JIlm/z5NoiT9Pg1mtI6fpp82aSlXiZhp9ACF
0CVr/fvN8XBxyzpkyYk/o2H0M1zbuclm0PWNr3x9U8L6W+al7HlE1ga2ZamzPFnzkT3ZhhbJxhpH
DloSQygSFOa6R1pgIKYyL/FSj1y9VZhN91YtbbAouYcmHqNLNxvHFHoCyX/PdqTgVWwyjLb9ze4I
ETZw7YsVUW+0rpCoWMpyojJmU3f7G3LMqWZp+6kfT4OImXUTAZgH1k2r46Z2BwhtD+6WYxLM8iRy
795286TYMZhANhw5FroSh9ho4hAbX6tDzMiNR4sIAcFpAkMS42xiXs9NGUYckUZYH8jhM7tnRZqy
0OEPqCHADwFkI9PueH/MuKDXtz4WCF1856PN0Lm+Mz9eBGmyybaxfTCF6Xi9CFCbBOS+goJMZqFP
DARt5eccRZ6KH5pR3apCMSaiZfUXvPvR+P3ngtvmjUuzKc4CylN/4lxCC8c4O0hmUItSNe3VnSbJ
lxCal6PJYJzXUfRrMQX8BzHjYMuw5DMOtRq7MI+tt4qGDM02whtF2IIrK/CYrROziXVifq3WSZWj
DtkJHjfpuv24qUArp9sCPQnUqEJWgoFigQaKNyoHVkGTpDKFA2ZK4zs/CmflpU+X1NSBUZP6Syt6
r1oJpUkuGk4CWz3NqHnk5+RYqdw3ouAuiLSYB34LsRwRN5x+V56zCCKuzUP88P71uxrhXO7591WQ
L5NZxmNAaXRbq6GL36a/fE0biG8NHR2gnKKWavrEUx4u2d8gODZwyGqE18OdX81Vc0LEaB2qODbN
Ud4FbjV3qHEBTGOORIY30tsf6gaMgxswJBitDY/DGOVxOAfH4YxbOBwtFMbz5Of4lzRZUMiJ93eC
6q/+0ZFS8e3yk1wtZGta/w6707rc/ChfkNu8cG29JeE82eCtpdBO9Dx9xH6B1cQvsL76Mp49eua8
2axYEyHblkBh5KKLQmtW6giu5BjmJZvr4AOQ10EbXaJt30LeHOdAkDGMd2ZLK2vfR5akAfJ4Rgkq
ilg/C00C3758ecP/UQIsUm1H5EjkapBs8uOQc/EyvR32nh+S9FZ/afNvXue3+vWK/MZn2rBL205v
1hExutQUVdOF2HhqLXggP6a1wRmrtIbnIZo9lQ6DwN+uya2KVX7rr9eEElmdMqFBP09WV/jNA4C3
PsTyf2RJXMEIU7MwvV2yYgVUeohtplkGHzJWuleeeF75cTgnrDDQ2kcXvLWyugxOG2XKoK1WkBv0
UUov1Y57pHTBYLqCqcN0la4rpMrB1iUrHjMEGmxpfL6ljerS8u3QajYLux7SDVvtNmGKskbsZdlN
vCz7iXhZKu8+IsR3DoECWaum/GQ8UYizZKrNkiCLc23ySCEO9vUrGMMwh3FDHNB6tm35h0CLzTXi
NST3waz7TK6uNs0k2hDJVtXQuhznJKZohEt/ltz7k4iFDtY5A5Fq1v3pYEXnzbI1ovN2hvaTj1QP
dVeJyklzjbeUhnEoKO90Oui5PzKWg9V2NEC/JcI2pqC8FevQtq0ubau1q6QBG9VWWYvoU/kXfp+k
X2ivdhLHNHTJmzeF3GYbusyCmC381EFsmxGK6clhMQ5tUtfbbJu2QglSnO/K/xJoD8sUuFXdlsAS
CxpugRtH7SFopkZi2MiSmCHiW92+wFQzq+mX2aeh2gR0mpiAzhMMtG+yIFV+/WxhR/26IblveiQ5
jbwEs/on4G8w4DMATDCGZzj/TSgzil04Nm+okr8U37hW8OIBFBsDWa4GzZDTW+YXiXnNzx7jKQzS
7SrTbfNNXGAblV/UHbQhyVhJg8UmoqN6WzoCvbLKDS+6ciLArUvoWy/LMaDi6PP6HXVPpogK6719
w3FHuqk9ks6IWTFJHrYlaHAvl6nsBINtNrKeg/tIaRAW+njj9RNyDAnoGUMSaEU87B00lEPBspqc
N5P6UWd6l5bLwQx/t4nh736FFTZnJ+ijCobi6oLZNkTDArGswUXcRai7WJLUJCbPMk1i2v1GiQPu
TdIvVWYsKEYlxWmbZmutCHdRO/6IsdTdlIlsOXXDFNS7yWUZOhrGCfFkAAr98tuZmTGLtlFIADXY
UVndxiLgL8kTVIwUd6RnKJIbu076MN6vvBVNQtMNJElL50lCFmbDIB5FjXgewhdHk6UFCdBky9D8
u/cf339+f/YNhatFzaYQchUyWp76ccaAqvOEPgjAc2ZLkIeRnOom9udzrpMmjxpPqdEgObo0wlFt
DntNzGHvKzSHwbaQsZAxlqWTQd2xiflApdkJPw9J8vPIqfoaoWSOFlziBJ9Wl6bnjedKB6SXPWuD
w7wTWTALHoopi6Dt29Ku+Md/fvj55zevf1W2IUULOI2oO6R9Y3AMqFEm2Gl8L3wSNpVaYK2Q7bRa
TfmhfXr/+te3P6gKCDfQaVTfUH3G1A0VC3/dAYhfGe+uMC6kA/nqr4XY5K/rV8abvxI5Qb7bCY4r
4zU7/CvsbkE1eXvpFfYYnOb7Tr2lLQmgQEhPYNwCx1Z9R702VC+kHwofJxGjm5uNBkmfb4NHN0Zn
vx7pnlONks3KV5rJppWfEU+AnyoMt4QadUk6jRJ71L9PtamfwQ3oDtZlLdX73hTEznoRRffarN2y
75Ifc7V7Oud58Ul73UEZmzHM2g/TgM5TTNNkwcZ3UfCAKMno3Hk/g8E2vBM18Y4CzXUkKisabBbE
j7BOQqjTw4I5seoF1WbFGrnGAzGpem6B7jlO9r3mgv+p2w3OaJFkPZBNasED8e9jn3wR5+THLx/A
wYryBDSIANCoqL7JhogzW5pgWySclw9A37Q+UiG3z03EMWeDdoEdZVWaMNuvWgXJ2IJj0J1+f3MT
JVM/WiZZ/r2r6zr0mMWcn8Mz5ngtozrhNnK9CBGBuTjbVkCq5S/8zHHzHqCyAfSV2ki94pK1YvV6
FmZlO0bxK4Ipgzc06HdzGGbsMrn53GcYl+Vtx66HGB3Kska2L5iRyR6IgZGGkw2MlGF57VSM/CRU
g+spWxhWEyKSqBNMLbc0iShKFWg3uSYaza6Up+2O8M6MdKZx/LkDVNAK/Fw1hI2tdrSgJBPjnEKr
nSebeHZYYcUKHLuEjoQ8Q+RjnvphRE8siwQ1FK6FR3dep1QqpENt1PFejqDjiuITYc2JoZuKLEDI
8EP2OIm5OLQ04P4f3QY5u2kSRWEmAqfUjXbaRkE2pCGdHblN9c6GI5kcxItXyaOL3Tgiv0D9DSve
rNz4TzOr97QdcZ0Gkf9YDGklfMnq2Xib7S0H1qbVPNwW5u92hfVwdvuCf/OC5s0pctSLdbQhHgv9
njbQ377Yw6e5eaBTWb6EOe+AjYM8m/rr4EWRoqdjMLdvs0ruwoC+C5GwG/J9cfLbyzw6efCAZpvV
6vFldj+/0i36Vjd8IXYKxdOzr/s9PNazdCr1AYvrqroUlu6NjFeEdgS5TSqZYIw6z1Umd0E17yqy
xuNNVGOKG25vB70eZE1L7oI0DWdBFjysiaDKYBxpXa2ygXQMNsaVYJZxtlUAgC5Je8FD7CMNHIJO
8DlLaFznOcyFHbA86zYEx8B4I87zHuZC6B4wXCfjSUi10LcHp8p65uhOSKg4mNM+JZYXlS6+qALM
OWd9yWBW2qF+uVgT7UrXmxhB5zPR2j+gNBONu8fEz/Bv7oi2odHpQDjARteN3oGkE164thbkOTBy
emu7oiCJRd4ZGKR4mqGLvd5bZVherIec4a+ApqiuxjSEt4R7n+BeQHB3loWzCcZPPNmiOVit80eN
TQSFadTub/bGwX0UxmyQbWmWkRMXsITTNRy1osNCixYIVt1cM/rBdiwpVsAiDYIYW/qDpb9cx4tj
Pe1YEilknRK1s52gV1VyhoQk/rCrMX1YzvStlPtJyLcdqW3BUsgZhXnw9OM24w7aNDMH+mvNJOYj
TAPRkA7HdGVLebXyvdzRuhg/wtH8tulauP7UdS2puppKfD61A0wPS7y4tBgipxEWzUVDGV3TkqbI
4qROl2GEZJFLFqRkbYbEyEr7iDVJZ85nS/8LuLbXpQBzb5PTZTD9wkWcP50Ga5gdDLe/lSxYDhhN
5NrI7mfyM2YT9uYipx9hsGm9sNjob2KbuslWgXAc2cHIVZQ71qWqsqnq6yXlKyCodq/bCOP1JudT
KZJNznCMtcWUCV0adWQpZFHcHFmy5Pz2xQJItc6D0LFUsUvjGqcr2i0HdeWpo+kmjMVYAo9ZC2zK
5mptXjNbgf3whnx7sLz9F9zrjtm6rW9Xd4xzbhl5RAWZ53wCGzlO54PPeCsi7R+e+bkvkKRYOv8Q
pcfHKlJAfJoNgYjZsHpuqxhgxranTXxiSizTYA739uH+yq/1qgjpMrcomKFlnNPtEsgtCf4Xpdfb
F7v3/p6XmB51Dn7z4oSrga2eZsi22gEq+Lek3++rz8sw+yv55/81r47LYdd9ekW3jd4BW6e6LMM2
dlQwm+XJmkl+gYHvNarMPFpoF+SjZcZJFLGBG5o/J4Sr7Rp9tm2Rc2KOs/rxkKVP5iH5NSywJcyz
PA74MKbttX8YUDD/K0gTLQriBSE2OrMBdoBOdGG5yiXJVxW6EUosoxPvHdkbpdSiUDLTZMMzGmSP
dPfB7CXZ1EEFltkoWdlErNBOtm3IQpskM1D3G9jrv0dp+3Ke3iDAEZBH6+tq6mLIWMdApm5ZkuUd
RSmmIMVF5ynGhNuTmBLRbXOMnpubamxRIm9yz5aGo6LacedGowIpGVeBXOy5xnlUT+2JcB3DX5B0
k5bEmyxS1jSyqSPwCi2n6xVy03cbyITNE2T2pxC+EIso7i2nIC4xxHM0DhYM8TA8biCbq7K1H28b
67esQbNGFU8NfXNlvLm5ATroPVMRG8BVZNLlfJdjqJyBoegMDBiby+zoz0XUDtf+yHhWyl9BiV/s
up5lnVGEV/d/Xb0Zoo/hy7kK8JWrX/muphFivZ5GG5qPun14eOAAENRYL96J/Hgfm09G3cyRtUmh
9LR7P8wPrE1hQp7JAvLTa/on1JhERwZktfC7S1q0y0PW5vmEzystCSjhXOlcaOGDQpY51iUy9W7W
gUi/ex1iJ5VLYomwmiy65bXha+GB0kxhlm07bCZ+Fk61WRCHxCYEymIsCTtj994umW4jSevSGrti
SRYGElb0Ic9x1aqnrMTrpEKwS/Tigc35ewXEVhvhGHodjkuYnUVeo4JLryFVhvGcTkukyalkfaTa
mjbhfSVrNZJTuLsr+Xxlz2s9r/W81vNaX/NasDkgbP2w7XrjyRuL8VSxnHRFR8X6OopfgUsq7UYV
o120vwFrf/xM7c9rPa/1vNbzWs9rPa91Yi2l5sy2YIZV10kOBmFJJk2W+3V9Pa7rKLJfzO5R1lP7
KvEzGjW9GLaEo2SFOMwapJgdQgvaMezea/WDQPCUjD8eD6uoCJoy/FstePCnubby86mofB6bthxe
WSdZrtFqh5qSEcs221yJUEaCu6srVdEtvc3Cf2S87G+3YvkKeZgqoA1GjutKev8ky6EFDIka5ijR
wqZGalFIvUFaQcAP9/bbSr8WGvwZCG99S/4j/8bwMLo3hjOhf3tlvL7CH8i/LaAeeYXKm3Hc2aU/
Iic5+k/3RkN7Yz/Ug+e7v7/HL0d582MlyRHf7PwyCO8ieGO8DzfCJxu7lKvoDePD6B8RX8AjXsZT
GuN/ROsCHpJ+Gv9JvqWuyAgekz7B9jE//vz29ccffv70eTzy8eD5Rii/NeAZmjnuHPeqXVVyJZRm
D+/GS6HabtW9tSHNbdkseYwGFb4yIp7tva4Kz1uONfhjvPj2xbnusKaMvHptHQvJZXt4+Fvy30gO
7KA+vHpinSvEJcuIkSi3bw+U8PieSIU+A0PpRZeoFrCmc/KQK4YGICjyP4Nk/PYConzfcqtt9MFI
vdUjnkMBUfjQCzjJg+cLHvzVOgpexkE+gkejJziCx7iA6MTh25MXtguQr1vn/S5tg88X1DnVzRGU
tWmakD0Wr1F8GFbhACajXV1KMhrsW+OHe/SjgycF6hUcXXLBwj7cRNm0aj08/msS+cvrI/wJ8k3Z
8VrpRVZ/S6JLMi2s2KaCG5JMc3y0ofAKWPFGDae0C5I8jeMQk6QhEf59ltzzNlSG8zajyFZMGoeE
VxkS1S2+Zq/eoqqVha0nfy8ZbdtvJM5NQ6H0FAlL/M2xrHQUemM9LqYRZnEfOQq3dtiuYnoQcimy
nsw9ND6QE2K8EfLMUxMa9bL8BNK2HJPrypjOwrsrI9jaXADyl/HNlfH2f2laP9Nr1HfWRJ4Ug3jh
UJepO73DuBcJ1teI+O+XxGig/hzDVY5gVHwLO1IsWwp7nj8cx1aklvce7Cdca/5sRnE6WKEsWPYv
oUoWWnrPm4UL5JtM7TT11uvSn8MoJJZuDiC2ar3EJvB2V9i+wsYDnvMvTKcCpusqObgdrQQZt6uz
zYSjQcOjXh2z/XO0EWYC0Au7/apnRRLueRXg0eu68kMA13XVkF4arBLRwFVHr3WjmxBYR65tzrIa
YdU/N0kVVdxUclz1fIlsw1PLmIJ+dKv/ZospyFT9s6ElxYA3QiDTILwLmA1CaHaekNvUsmU4z/8I
BcLe6U+qB3qb2XglXmRe2iZX+ANd/cp4QwenZkF+Zbz77fMHzb0ufv32yjWubIt+tFz29bE8t3s/
JzPWJ1EyKZ+RT3wRujTYNB1VizI7sNqLg3ATk3xvyXYm+VFU/ti+MqzzrY3057Wf135eW+Xa1tfL
381MI9nSdIBV9zOrlQ7hzo90Vs+OmokVExGp0sQi7Y88x1BjH0YJ3C1tt3T15VKreb61de957ee1
n9dWqvu/Xv4+h+43x6f7TTka9EB5bsfhwdPM+of96lMjWhayOkwQONxVaOsIy5sQusKWgZ8/9Pvw
TRU1ciBSqoRkDFOXtjSN+hCrNyY8/XKaZcezmS2kxuCMExp1DTIt9ydaFvnZUmNhOLgcS4KiWBMj
/1BSAElebCpi0O1+Oaey6XdXunfTOl59zf6Uv0F1MLDau4IRjpyB7sbQ5SsLeDCMPQwRoC75isqd
YzV3zh60TwOOHH605Nw5y4lOkk0889NHeKi2OUQcQlSLXBYia9VOPldXesFwptY2Brpg25aQ6tGi
hCbaxEkT3XUkZpTKBbcvMbuXvYQO1Cf6y1H0hE4uQ0OszWcEDbL2LJj7myivX1zZgePTB46HWFtw
4CrWjoN74ZmfW4JhKsEcCRJMwOOCpLk7Cu6WLZrhXP1RubWYrdEZRQo6l0hBZxQp6IwiZbQH7s8e
WeEHce7iRcCKUYWDvyzUpPnpeMl7Y3qEQlC6sxW/2dWNJpODG6+QBmu6lSp8qWXLJFZW/5ks7o59
c9OWfkGggMUn6rjQAJrFYJqF/cABjGRDwkkU87+n5CtaLuVH2RbI5bdfP8L5uEaVU6i1CgAlfyMH
uClNFZXwG9aDxbj/huwf7b1+FEMGRCGly2EfgjGXo/wY8BiOAUs4Bv3JdQY05+K99kYMl9K5Xvv1
9lUpX4pp0E0alSmPbQs5B0SvUcXr6PHlIYbQyXkHPWVtnxKILpPbW4m+MKbw8qBh4GC1N4XxjeJb
COM4SLVidvOft33jfp4t5/C5BVOOfCCPp803UURLUqZfoJvwHKSIR2vb1rCH2ml4HpEaglnVPpVz
02vBdscPWh3IeQonvz+9ndDZKpnR1pCZtvbTTDAowkKeLB7rMMT9JGNeB7E/iYK9lzX+N7foen9O
n/G+Rf+S8fZm+2fkmzX59OOc6IvHZEMH/gV0cHy+DDPyaUX8H38RfEe+jBPy4T/8O/9TORqQL/kN
/SExMuhHOjVks1pT3TNnb0Lfij8w+WISRMn9d/z1ePvjnOGt6L+8/vTp/buX9OHWwJAd2+6jGw7I
gTvDxBm6/XsSczQtTLM0PyV35KNHHA9dR1fGa90gHwyDfPu3v3+uJCsHehyymDuGB9LI42iKHuYI
g7RIJnwqvv8licLp497DZv5dUHAB7/Xozl79LdPGT71ItDzRmGwQBhR0U+Ul6ob2IZhoo6Gosz/M
Z6KEZv7joDzXmF72KaXqFyId6yqvx9D+7qfaIAdRy6/ULvBpKxkNXoGmapdQHzcRwpgq00gLyVVo
k2CekG8E08LsllGZ85iAyrel2vip3vY1+/PKbxa20Y5FiDlUWErb74s3+0Tf6yuzlkzsjVUBn2To
YXWw9MfHtjOcUpD76KgZcEEXv5ONY5wlmwlcMouxZwwQpKv5g0E80/PoA/KWFFOguAoB1Ici/Q3W
R9sqqQwmL8seZwz4wkioFCHs1DnCARhTMYw2cVW2xm5jcz+MNqmgtF4R5RA7YL0KYzgjh92eceks
IMwQrNbaPIx4Kp5+wTIxR+mV+qf7nYruTdZLYdZaplNiAN0aunPdichrD/Z44rPTnxrZZNGHLCIa
7TGiaBNBkL+sTmtAhtdxpf1EWu2aWYVQPSS1jOXU0b6ieIXEqryVQCGjJt86IXhZ1MsBnNb+NOg2
eX3M1HPEPdTRyTasoQyea/7E6FOdh9zE7/2aHF3DdMfsLoLGqGVIV9jGACLP6GRoDBFTGDqKIJkg
kN4l7M9E7MrPvmjhyqcll0S8rnO4L8J7UtqE73e6DKZfMgo0Vm69GiQ3XBvZX5XtM0ZBIFSJe7Gp
N+HCYp2hcKOS82xNn80ZxAOQ1MUbvBcsMp7v94Lv9937j+8/v79sj7hixGjBw5osHMxgSF/rmZTO
pQvQAISEnmVF8wuWXb3cJCghNtuuC4jdW/o6GIe4+eenKxd9+nRzGG2oAJfLVnLPhPsUY2oQJWr5
fTgNNHLdWhDT29eQPQlzbROH9Dt4KpqtQOmOluS40g1yf4umn+Wp/6jRCumoaEsGi4UQelJxhCIi
rcVJHs4ftVkCp/888zn5dx5jEUN0G2YZQ9jfS7+B6D5e+wXOSqtHz+LPgiggbzgJ8mVKq5UB0C7D
aP++46JMfJl5PZAwN1EerilNbiarMBdNZr1oohwr8VxWiuT4uY/UEuuQY+Y4bdzdV07AtDLvmaDO
JI3GSE87aRQn2mGFP6Qjm8xNvAzqEXQzdOlSwE/NmddmAeAGUUSOJs76Rtexha3TPnuj6TH4QjMP
I2aCgt1jbZPP3XJQKKVJCExCN5+YjO4cFQDjAK4nW0uMloQHmzU3dtZJJhSOQgtWk2A2Y57l3YLP
K6fDzMJ/BVocLIgRxov2WJzzmKuMLnb9WNnq0jJKbeh6r45d1BHnOujZpD6XjzaekOnzBavwmZ7v
98krhqGuuM5XwgMmPmHDslkitIlb9RzhGYH3ANck2hJuBtimAMTOkSaMBwOxG5IPT7Ad1q9cb7Hl
vtIQlBnRaEJR/mzGhqAEmTbxp1/Y13BG2lB73c7NQDe5t+UCmXBPFN756V8nyWKTXRnvbq6stzdX
xht2QVfY1a+wR76tvSBH5QXxbnVxOrzTHVU4LIjz1KcDFPx4GkRi0GSkW875rwjjUV1RTMGchAJa
wf3AN2PL0NHzIA1S+P1PjCsa5OaJdhjTzZ+qVZFz+duUHJtxUt5RNQ1neiNgTWeAC+pzQrKpoZxM
KOR/D0vY4IoGBlOirSmIZJbdJ+kM7rEy5caNgHVvpsmGHHIBj5AdmOvMuO5vEPd+oHoI7XmSjOAp
tOdneH6GZ6q85Gd4Cgj3T/Fq68NH6NzRgorJ0Bkr4eZmeUVRMcXmFdJleAXJOoh5YFEAX80mGiow
re6SaCPowOqUJheS1iLIaemC5gJWI7JHQDH7J3FEL9sZ1PfkLYJ/I+4x/RH5dBhXYvGnLJ3SQQwP
bGARHc/AMDbE5IOa5JSNVtdKx93kITzg1dQ7rFd7qfdhPEvuMw1hCwF360pYjgvskj3g1nED2+1X
kpFFrqNcQz3lHlx2Dzl3hW1/tSa+5DRZP55wKRFy5BPtA7nwLKPnPU/oEPoMlkmo1y3vTvtENwhq
NMy+hpzIDmjvzTb0z6b/gFuyLElbOl4T5H/Ujk16Dfs9N2vAJHVd/Er1xwJQpRf//PTpxfHIlkbK
sR0LhHEWzgJWmES+xXBrgTPQ9Z3QyQNcH3Qc1+V4OXJLs/COK9eQfHqg8ioslC3/SXGXdwv+6j7k
1f/StOs/8a2m0W+xfYWNB92/MiZFWI29gF3yQhc8rRu+5PF5NoKDknFzBlJMmeAkUwsPJVhsb1yU
aVQo80h+oEMSEdElpUj+B3pTmtId6dYVaObIuFuw8yWr8wnUUnH3IUHNDpTKDG2drDdr2J9z8bjI
eN+ArMpMPGf/hhGVWMYt8FGfDGqE1lwQ9zpNEzjz5rqmdGKLAz+lwSo4zWu4rkQ3LIznYUw8U+Ky
JOuOdePPa8lcq6kEhFJozwf4vNbzWs9rPa91hrXObJIdWQ0tQhUs1HzwrbatQP50Ux33q8szsSZR
MmEtVLDv0MFH2R0jPbWXyeKu8vyGY8r3EOoLzSws78yC1Tp/1Pw09R8nm/kcLgnDhm1LpP5/BWmi
RUG8yJfA+ASZfAbXEZty1igOsM5f9XRD+m7yh7wyTkf2IhhYxZW9iDHEIuYwizwAcSj5l1Jdxcby
b2WIVSzgWhyZGUEWztHiRCtK9MEcxNkzA4dyvhL0v9J1IAx3fGxYuvphVQC12RujVVS+dWOIirOu
bkrO5AoVZiJXLX9kxM6itUZp4M8exWP0XFcm5zBLhy5dKTmVt7NsHUxDn5O+PyUXCSZZka0jiRvj
WBUZgFMhM9QRJ7nmZ9Mw1HhNErCc1Xu5LCBUwYw2TWy12cg5t3w7LUjUBfTZJUBpKVe6vGTrnqoP
t7Ej595nfu5rd2FwT7YoGECILM8a58Ga51zy9JF2H1o8zo1RBSJq8XJP9PkYotE6EgVEI85BpiPn
NDbxLJiHccAreKnxBQKwNmrkMNtLiFqv3sZYCZUBxKWNcyH42lJiJ1BUnG3tI5zEtDvC8ezH5Kjl
l4VTLaUFTRqtYiJ0fHxNrjXU6RlYwvHlrISamz53frSBLUhL78Bh7eGMXj5AsE5Gfe2iOZQYqmXP
ZmMgTt/GzI8XQZpsMq00R8H2+0ZVB+1FECh4GrUumq0a88q9QUVBXv9zDFcU+PYAq2EWxCGhuOCO
iIiM36fIODL0lgq9+zMIxvs2Jfiff/n8488/fWoZ4DwN7jgUS8Gzv+WTdn2haYfLHkXAYohYRTMq
UeYf9nYN29FJ5s8DuGofYXlHAS746s+ipu7m8zLM/kr++X+lP/0r/+2X1cxYF7ptsH8D3r81gEQU
CWSMLVPZ8RsNj//KeFMJPyGJT0UWK+dyxgnDEaCNOZXuESV3bsKAQgPcOWzdeEjZdZvaPKVgtMWl
06rs1WLXDlVI7+2+ufSeJwmHGqkWS3dgQtrfezQ5oYs5J+ltGpAHqKYbjSFpuVY63SFtiRY2TL1P
nn6s/blyFW1xqORAOUwHTNaNJVJVECHDkX79bAD9ASq4oIPOVSKX1mmyoMUrNZLJsHVDkUkkREU/
AYROPlnGCSR0PMBVwb0WTagEH4cN2OASP913Y7avafc+WXMSzJM00CbJJp756SOQQrENq4Oq7Lb0
K9qbd4skqOrd+ms241sLFzFdbZpSXLbqLpFuGM4ZCJKRnTHlnx2Df7aLzw4uvveK7/Xis1n8XVD8
HBWfi/exrcO/L38fu8XnOf9sFd9bxv5nbGP98Pewd/ic5evtn7eCM97nZrM8WRcXCsXcB2FWE/an
8Bhk24srfsf8Zrcfye1udGvGPyL20WUfHfbR3P1OYLJXMPvosVf41xb72teuNu4sIH/s+PTH1lyf
k1cQ8q82toOn5KNlTMjraD55UStXEW6SfbZ63pUFCtYudWNHXb8aNYVoRHZNJ92yhdnLhcoHpI3l
6bUUYqkPCIjO5/qZlE4flZZtUmLkUOSAtR8KQcqaXfGJxAU3rTJaw3xsWFGb26fFwceyz3BdW3fb
H0QrO51FGZJ45cPItk6j/E2zB6AUvfTTmOwdGpdnofFxE0Qi4lk871yDcMi7d+j9CdDoIS+14qt4
7gC8Bbcae4pu+MKMsyGMMkvNJfvTfEML0SiOFJgd050hBGal1o68KTIbrnw6TdRucTwKuVW5mSM5
dfPttzf6d/rNt999e6OB/erH+sfsLaWylc9yxJv4S6Ztqxlp2Aee5KtI60/JUzA8b7g21xjF/R0+
pPT8VQFSreiAKdFpOgItCM8Zx/nuP+MW9eG7Ixj6h9sX6LoAdUAvWpw8+WCgE8ePXKXHj2EDzh7T
8eO64z912vRSDg4cnzpwXc2Bz/14+lg7st4eh1CpPuhx+yEzbhpog0Zzt+z2RxnGd34UzrRplLDB
4QKEDxPVN5/YAx2o6HF3MDLEVebQRuTTZAcb00eSV8ha8V1sp+UI+vQMu2v521465W4hKBlEjtl+
e/vFdeGKRnAYbAjfVxKLgADNRm1n0Fr5Msxe8gVfzpIgexkn+cvgIczyl4twfuzbmu5Qy4yJSSp0
BPICukL1kseQRg6wglTETfwgT1Zrm1gKubNELnH9o/AuyLTFlD0DDQWw2LoInRZZXtfFGU8Ro36V
3AVayKoI+FoabIc06ly3a2VG2zUN11CyJpzbu4ztbSl3Dw2WjlHBFtE6+st1vKj0fo9BpIiY6ch8
p2UrL4TZ/Ssd1zwdh/59cQr4F3flmHVAlolzLQsXMTkFbZ6kK20eBtGMz4MGS29NpbKJ9fEQKY1h
yGGr1eI8oHNE0+Cm2bJ7O6/GVKzO7FRkimdBFLCwLXWrgxkfAwhH+PvLpYJVi6VBL9huhAjRZhnw
zjDSO58bLQHfTFY0qU9M2SSGi008CTSx6+iibUV7gL5VQjgB1Dyw+Dnkl33oSGrpf/vtt1RyVIz+
bTUd/fPvvyvBJW9uqD97Gmrc6045Re1YntCuNmILTCI//gJ3BKFhJI0BSxqvN3OINtsNmOjUcQYP
5N5jP6JbAnfkOFJ3tL9ejRHimJ6yZVWcJKOQorgXSLA7lrzdZHmwxsAihiN3DQPaCHLlLmKCxU/9
FyHvA0sHb4xS2JAhhTmqNMeVbjD2oYcXs2uMkcZGFeIgL20iqFjFNO1B5DscLuoulebEbxfMXbRk
yDr+/jXnhno8O3nXpVYDo4HVvTf2zJ7vTScS8CuOg/sojAXWc1fjpKAjC5Y4be1MMMK4W+HwfCzq
YJhjlGgil7YqtTCuqP5+F8GwMXgUKXggT05cJ+KuJelMwH3IURs2OzXe18SoN4XwPQtr+u1Rkcjx
ecBk0qWzofHMI+wqvfLa+UfGqBhWPL3nVAzq5D28Op7oczIi1UhWOp2vJU5quPBEWs4Z9loOHhW4
lh7ccYo1bLV3UIe1QEXhmC5BDNJ3OkCrDxSg7X4VaRD5eXhHe8GWAeyGm42aXZw+BZ7CeKbj6mMi
Bui09knir4Qg6HzsHTFcGa/lcSWSdg+ni5cHufGKlWI2KtPrTu4ZDTlT4IYyWBOkj3AMzx4T3Qkf
G5JHheJd+Y+T4K9bxJm/sj/6a8ZKNU5KnUbJEgnXALemm6M8e+GBH/bSnjpbxRS+oXtdhbGfBzNB
DaPZZGqc4TTE/AniWUTECPk54LhrY7pJ6Ghk+x2vBJG3bVxvEvnLislrDEgScHbU6+9/sv6yAycU
Km0fL0FgRY6oMRRJVAIgMF6waXZ8672jLzMpwmiDNyBFw1k41xovqRmSSe0UhRWyaVjfArarXMmN
+6xHn13NnR/d6tfhaoFu8QPWWB0QrQCiL+Gjl2i3/61RhaYZEckoCMa8kBISc9sTRL4kJ89s/2xX
RkkY4WSTneE57Un0svFg3IGorPmdVGb8WAU2SaNS+0bw9F1oKvXDiBat016MIM5hu6ZJbTc6Wn0Z
ZmTBx2PThlWmdkx4urXN+vQS0iYzuu1xUA548vuZa3HDQFEmpPuSesAaFfq4DceWH9yDACJoGGI2
uszdONf9G+16RujP6fDWcv51K2K4ueHjsmu1WG38YHhu73KmMIjLCYCqcxGACXfo3tyQ/2TxOR7m
3C14BoA7ynO3Wgjeh1v07YX8X7KOwI1APyTQjvYb1rELJxbxKAlo74krevoqwFeufuW7sjh4INXZ
vbzCUR3eOtc1t9PPN99S9pMnue32974fyZrRqjbNn5NHLyCs8scoyJYBPNbNNfWO61VqrWbBZLPQ
JsnsUaNQBouUwgICCDS2bMLu7gm7p0l47/gAgH5LwmWBaBh6/2vhlFBT4CTlfA5WAVm81wnFiUbt
TTjb7Xi995D68SxZ7ZYBSqsbCUMZq5xXFh6qNd/3ucSjv7D/9Xr/a4noJLjrXdJBIfchOd97NkGN
EGOeCMcVIYxlWcZ3C82PiduTCyYoN6Ear5ZqaL8jtTrqWj7OQzRHey+o5o5ihz+sojj7/oHo0y/b
2Ov9/f3Le+Nlki5ukOd5N+ynRXS1IKdpmE6jgPx9eot0nXy+KX7MlyEv+DkhsckmD36iIUn2Ft8v
02BOfsRm9WTkGd784d/5JYm93tXL6pNgEca3eka+DOLZLbkT+uU8jKLbeRoE/wp2K974pcNM9kO0
PW9Re8dgba9nm9X6fRRQK+HN46cgCqbkPG6Lh6zMGrU6kgAFl6CIzOXAR20d7uuhh84thl4zuq5X
rabelbT9Y+XQ+YD2ITt5CzwFrfapwQa2Lrqo3iX1FHIKJGKnjLgC+kWZrPjnxzD+T0bRty9YvTcL
iNO/+K4E7HrB/2QrRPk37J06oYQ02PWeZN2CCtDwd0a+ilj/JjHyswAemkeEuqTHIF9qhFspL0we
12RFbRIuLNh39M5y0zVPKMBjnZhX1vwICvW6mMB8S//4QPR0GrHV6WSjhE4m4/oc6jK2rBO5Yq/V
xKTaB9D4zCboMXSnEXZGpyPI/ggzEVzHOIhr+4QC4nLnNcSVLcN5/jt5h8EobJ0mOdGVYUKldMrA
kwSAcTqSSFvHR9ypbq/HFsEkm4c6rDr+JK2Ug+zMHeLTPzTgODYRb527xXKAFsk3a/LpR2qKPiYb
WngQUIOSwjeRT6sgy4iFQk3YeEY+xgn58B/EUP1Uqn6+7jfsT4KYf6IfyY7Jp19ef/r0/t1LuuQa
CNdaploaBnNrnmGP8MKNUxduPF/46VM04TihNcILN09duPm1XLilixRjEUX4VHz/CwOQ2buGmBxb
tpkej1RhjQ1dnEooSLgml8VQ+Mgtl8rKn4YzQwse1uRSgxkrM6O/QpVRdX4MMptANewdgsBXXPkZ
CIHiNmnhEL89UaVMLU/9eBrAmCBNjhJc4PgoD5bSBBXr/RerhPfp6ujQhuLNL0bXk+N4Q4sgp877
Jp8jewJHuYz+25kug+kX3glCxYe/YoWQRDi8x1euefUaX723rtx3Vy6q1GPh3kjYe2e5h4kNRMsb
Zf2aHmZ0oYd5vPgxrHhOkb14gisO8vsk/SLGd0SNxhcfr7gnHIsFsnC1iXyiithOmaI6MqKFj3XN
wI/j2e2MHGISx0Tctbedm925gWEGQqaDz30Kaz9f3t4cVAc5jeaCjYoWR3omz4/1/Fhf2WOJJGD0
9CXgs2B+vqrnx3rmtz0JyFBVT3hRz2yl8LFArFtQBD5Lu5Z+kzSnCXAkN1mxtD9JBDlsFyGJvBlJ
4c1hqe343DbrNTmsYKaRH2hlkVL+uIbBu7CHHWkHKPZwdXPEJyjcTXS5u7krK29mQeQ/EmrIwn8F
hIUXSR6ybjE4MukopT+aDc23icqHKjHiYZZnJ0PP6P/8n18+/vbp//wf4FEcSQHh49g6i3HXhtMd
2x3mGPz1OgqnRedm4q/Fp2E0IXjU/4nmSXIz8dOaa7GGeRCEjZs3r389/4OQE/mdnAg5lX/VPIw3
2MNoY3qY8iHkPJP+5Go6JB3zlfN+TLd+hdG4Hscc1eNY47os5824HuednMfBkh7n7RCPcwK+kHp1
pZMVzOACbUPaQ0hAa5R1+tgaFTFg5+TjGMZwj2Pr4zodY1yPY4/psr4dzdls+yKO1x/oMLhvdzgr
r/H6usq5qMe7a+io74qwoEZaNNSx8rmhlZlmHbe9V2e4mgSzGdkdOYlOp2rUnqrC2ZvSJIkkOQsd
BOVGrRgbAk8x1Du+8+4GD9aosEaHJ+9s+b5ReJAUTUm7y8paRdBKajJZTNpm3ynZ7D6Y12ZSTDUk
jLQMZ4G29Ck8bkr94DTnR4HhCKnl9Fp6R1xHT7C3Mo3Slo8IknYjiS/pNrCr+jaOj2SWaKLJ2Vh3
OlL5Jp7602Xg03EmRWFpGqwDX6B9HBt1XGhybPajrow5k/ZOgbR3Wkh7p6m0d5pLe6eltHfa0XSV
8KD6267rhDKeuLNo8NRppT+kXcUXae8USXunlbR3iqW9UyLtnf6U9k5reQwp7Z1yae+0kfZOmbR3
upP2Tg/S3ule2js9Snunf0l7JyTtnbC0dzKkvZMp7Z0cae9kSXsnW9o7edLeyZX2Trq0d5qM0Gyc
KTD2iBtJ0fxY3RitRAHGr57dyA1GaC7Lcys2MfUd961tsDurUVck+P50FHptvSvyPH04G9x4KydY
X0/XrGW6Q0m9ZUk45kjiMY9nX6KKQsNzL3xfkcR9dWaL90+SLe7CWZCwSs4g7ZkGwF2N8TCKtCyI
Z1qZbE+DfJPGGR/BmcRaHTK/paPep76dwJAnGiUONsO6EwK8JGr7v9WFQQoYtFlCC9aTNXikltPv
zRnGGoWH0O7TEEaVtK0hI85vlZxnZ1GiMPfCDlyjeCAaxWkVWyyWbg+449ejugBLEj2YksgTy1Et
prSi4vGcjfFhXI/zbpDHuSM+X8pSSdrkUXtYppofRcl9wBJ5M6KFJ4mfwvksw3R7r39QxkFr0ICC
A2z2J8nNmtsaMSuno7hIC7J0FtzR09+i5GZwM1Mj4888aiwRbpT1slDrC8qlyNso+8T2B2KR4cH2
ZEreU7u7Q86F3h21Uostnmi2o6NjLvMuj/coSp2TLZpPZItsuEfxm3DrH3LQOPd6YqFFkL/MH3K1
x8kqTWrEWhPEvdHRSSnRxPtC+gUywOG2YPlsOPbF7auMHbCO64K5k3QGDyVBGHWw0nY7+iPTqFlE
IeyAeSSm59pS3p3Onq+8PUa1s+D23vbnXz7/+PNPn2puZpomFIGZuozHdAEMQMH97yoNNbp6tGHV
usk6SH0eLdBhsM62WrTemq1dvmY4hW07Ep+C3e3howAi2lF62CDgvOUaAx22VTcJBNtKt27DNzzU
1u06OpNA7XVrO+Cipj3Q1p26Wzd0pVt34bFL+kBbd2u2bjUC9LI6b92DY7xm70Wbbd2ru/VGgrXz
1pHeHVNWwtaRXrt1r/dT0MBQEvMENRxk73/JNCDGJoQLEz8ulnicB8tVg2uNNJTV2jDV/IxmGjUX
MHtcT8YZ7veSfvz0S2FsvWdm6uF3xTyalZ9Pl7DtKkFeHD0Rj7+lgT97/MRQjPhDvAuzNX2M9yIP
CNtNRqxKeZafkvzk4xBSdKQ/zmzG1vsYZjmbyZbE5X3B7GBIfwQOf0OhIdmpcJypOfFyTGK1lslZ
Oq0SntHhSmTPAmmqsnAVcV1TcwoUDR84BrgRW2/1DD+8f/2u8hBxkr9/IFd/vICaLfLEA802aMFq
nT/CUQdTpupm6xykPIAaMyxdBk7TaE5J+nUU/Rpk6yTOgh/YoAN4y27/LVO36xc62h24ScNEsjdI
CHMSzmbEDlgFhFFmxLF+mAZrEZwUajSkqN0j8HIOOtiMxTxnWna3gFpHXduSSFC834wQFLCU6bqq
NwkeriNBKEM7hOYXNgueWYL5InuR2zQIYmzpD5b+stqi7TnSyYXC6DDRswofAjqWIYPngXqOXHvv
1DNUxVGnIz61+YwNYpmHUXCCU7GpSzyAWRJkhHoDqmQq+B669G1uojxcky1SDwXcnSXfuoyTrX6J
gniRL0/aUK5MEouTt3z1j2zxIxPfalyM1HXPTKd2HXTafpcUCeuln4VZBwysVlvcXSL3dwvH5V9B
mhT3DCcXJOja3bYnIZ2syA0IaBi1rns68gZc0LSRI8ftPjhresDcVOPmBBjTsW0l6/IVyxIUAcyn
rnJpqge0kJx4nIV5eAeXb2P5xkVyF6RpOAu2ammfp4vJXKDT5erKH6VAGWFukHBojGl5yh+k3lzw
TOm3wsI2rBgZniSOZMaIELaQIAwje1+lWPlMQULqbRDTlOnVn2GPv/36EQ4oGTKjiWVh9++FD8bK
6TdpdMuH8R7GF5uWePdenDor82QTz47SfrIfQLROc+w46+nBfDY9vFap8UYxtvoeBPFsOm4St9/a
Xj34/ZK6Nfc+UZ6CUdgSooRNi2grznmDle0uMuaff/94UozashfPgrz4kpsH1BOIRflePMjyxE7Y
CHJQbu/197IpaUjumy8LMYnRyBZpt1tat0d22KCoCVt2O0ID7QJo/btM89kXfpYFKcsCzv0w2qTw
nZu1Y8FH/wC7+/anU3rklNHTJNImxOeccicBvHyFizKDkG6Z0EJMJ3WsowB+BkX0xxDPQLJzdU8i
i82Se15uTZMvHAWRWRVExqcM+urWumav3lp6pd9Hyebb017fp2gG0Ft6KfClGNIPgxV1TTdZnqy2
IhC0qHVDIj0cLVgNR2hK9smaNeeRDxcEmI0KAlqtuokzfx7U9oGS/zpcatVa31rpdP3vb4ilO/Wj
JREw37u6q4uvYpvv6WjUX8qDHa2zF+3b2l1MMoAd25ZrSaT+/UhjtVREzd7Abdm4F+ldrjPl9APE
FNjkVq+Vm+Bhwgai3tHHkurEuRDwFX1cCPql+zuuojz5EsQhoXEKj0lDBTyiVnlqs9G5uE+MuL3v
dV2mGRI8rIkUh62R04X1jZ+m98CA6kpPQU55SrmWnBlqugCGFui6wkMW5cQFmmnE4xH0ITZA9j35
+EfL0N4FQN+i00VC3VbKKpLaxL1XipNsM13SbL9Paa1SD9Th1A60H3NTycNyDxW8GdOTtQZTdFyz
ZSKEZ6ffjo60ahbkdEob+/q3Xz/e7h4GRlZyLnfxyjnDx6s/iR0ukok//QLb7kjWIrV0amFZy6SB
yNRrUFjT8LZOXIzjuJIWolp1msyO2g2NJlWoZAXc5LxKk73fqeGuNJ7kyyBdAwWanMTtXmsT05/W
T08iP/7CKguIbcbaK6Egle60WotHLOFbEyyrcaAkqLTtdO1I242CpSKnY6EN7xLaonB32NBl7I47
dgzkqFgKnETsyd1iZVXuUYImval66XWy3qxhVDxH9dpBLJAPVnth9xQcxRp6pXmBLbqc2BRspPQa
3dn+gmDzGzYl7qjOIDJUKouT+8S6LnGfdWaRzPM8rYKNkatg8VCWTRak5K3jHKyaxFavN98HHvRn
s0xbhlmepI9amAcrcO4ObmSx91rxFRpyTTgy7SpesLLHTkt2iq0VeV5I9buetGeQMILTME7OPmdd
LF0gR6v7eALxOuOo5b6YIybxzMynZ4U8vfSS4ajjG7XvTq7DkSHhHuNpEvNv4A5XV9qTyMgc9Nrz
wWYrqEdGo+iy8/TY2ntyW0JPzwVEMmaK5/fhFO64RFjaI0hg8+OVnsL9mU9OeZq2SvWGnp61gZoq
D1qHdbiluU+enp1mtv9nQRz7L/9YL3bPx37nCn/4Yx0sts+PTMNwdluz9YrX6DUpbUOukudfx8Dz
0xfLx7cs7NU9PkKe3qTsC3mSn39GxenJxzct3ap7fMu1ZXR39LNV1b67cZwqD2ahv//2QXoXaGxS
CHD45B//g6Ljg1xXvGB1oi9Xa/OadX2wv72h37KD/nk+zwJC+Dr9H3/p3aYoYLb16+lyE3/5FP4r
IL+BzYP7sCn8ie7ZT2xTJnbN/8//H1BLAwQUAAIACAA7bupG6u7AMloQAAAFxwAADQAcAGVycm9y
X2xvZy50eHRVVAkAA/IvoFVYL6BVdXgLAAEE9QEAAARQAAAA7V17U9tIEv//PoUqdQSo7Fi2bF6+
47ZYIAu3LKFi9pKqJEWNpbE8i6xRZsbG3qv77tc9kvEjfshgsBEqCmwLaTS/nlZPv/3lveTWv9uB
VSpapXK1sld1ipZTLO18s77cURl+s85DrqtWjSnFRWgdU7fJLK6sUGjLFWGD+23JPOtLk4d4Wu0i
OdOc+O1vX2aMD0Nwl32zjiI813YK8LNrbf0R8u62dXV2Ze8UKoVy0WoJ70apoH/Ch4iFcB+7WDgo
7P9Fh2dBiCWZard46MMEZYsGloiYpBompH6Yy3615PTnwqQUEl7dgLNQWyVnr1CEn9I36z0PmOUJ
FkNmXa4Ap/0fEbRbTNknVFP79FPN/sTqv3FtX9CeaOtrprSym1pHtjZvaRS5BiQORGAgYgYqtGjI
G3DGpLntPtPcxqYUhf5PQMUGk0xWLTyvatv396zuF4vFAZxKsUKA4qItXUbuuG4SFYg70qI8vD9e
iJrRKvHdT7Y/oR8g6+6rXIC9HN9qGWyFE6R1ITUxR4kIPXEXBoJ6IDdJXyQRIP1M+fRcs3dp2KHK
jpo84JHNW9SHa+vUvfWlaIdeKn4aHSMeVzG3LbnuFTxJ785x2EJ8WqGpW8ErQWwGzz7giGrNZNhf
4AYPgpruBa8PudJS3LLXiV1zVAynwt7PHGzJqGavCa9Q6vXAjUX3fFGWUeBpJFlmoIPixvTKYc5V
dMnXrlf82j1owGvpa3e/GH+us+TVSV53xv5Pk9diesPA7UngfO4SINA6Eub67Lx28/784vTm5MNp
7ebyw/XN6efz2vVMlXod5/unSr8oQ3yBV0jmEdYBAIp4LGAaLDjgbkYk5QpNDdiQmSSlfPle8vI5
67N8L2PRlrJUaRYoX5h8YfKFmbIwU9fg4JnQJf42W/G/4KJ70TsX0Oh1kWR4gBidk5hjxOnm4HJw
ObgcXA4uB5eDy8FlAFy1umxYA2u3IQSGaFMDM45mIiT3eUg+n30kdzwILuCfH9n3NtwjX7kcXA4u
B5eDy8Hl4HJwObgc3FLA5chyZDmyHFmOLEeWI8uR5cgyhSyOTBs4Yyl2NzDqjRl1LszJg8jYM0lC
EcapenASGTqVGGjTKDCo2Vt1hmH6eH+DBgGmYOaYckwPxdQQknE/JPdz7KfFjBd44dwXgDw+bA79
IdCVK3mkrc2Fs7WVGkl1DGiPecdcuoEpJdw0lGxg4rYlpNUOaR1IrIWlNJ3P1zi4qP/JXE0aXJNk
dNhmfKI6/spXehS7G4OGiT0SF/BCBP9i3soBYsGoxyVRTdEOvAUEUosr16Yu9xwS8S4LsoDkMRgu
mS80N6XzVcuDIUWHYY19A7BtqW2rRbXbxEL7RLVYHKCZ51BJKsy4bKt2FGFpKsWiCWvrUoTMcpEA
Vp1ZYTIn5m0X0pOhPJUMpZe3XbbagebzxWflmZD1K1RsrkSAC/NJyMCzadhDPpkLa8rls1M0nZ35
4P5QzBINEN485MAxAej3ntWhQZtZfz+9/M9/35xdX1/dfPh4/uv55Zv/WTzENhIuzCA0HG9tFbZR
+CstkcWpfjhh4jSBM0Y9JofWP4KBdZJDUHB9bgUcOH2/kJ5kIwMnyQhN84nALkv86QVDjyQgECuh
C/v+ENIk+bhc3ZLxp8JnIbbrYFjbH4lQsQFpSuVCihqq0eEUVoepJmOaIClwd//ZfDxUTSoZbuwF
2NiehERJtVosJ62tlm1vPx+xHOdlEevF8xPa1TlPrR3Bcr7K+ephBHuiVEPWinQvTd1K/9KBn9In
ekZuobPCdkp9bTSkME5EXYZuRjM8lgn2z0uv44oQGeNeySVoasoZdVNrhp3pOyHXmhhXZ1fWJypB
GPhVC4QC3OF2y+5QaTdEAAqksvdCW+06rlNq7lSincpB4EbhTqdYclouzK7oh/a1TULa4b7RlxM3
esypIYngQ5N7jDRp6AUs9isXIpy17urtqnUpLNUGUYNGAurZYOcyVwvZQ2m06KoMpjHq1sG6O3NP
kA4W6PRG2lTmUn5ouBSocnZck2fz3i4CQw6jG7Xk85UIuNuz24rJIx+PN6kn7k4+/D7segiwqRj6
seA0ApzTghNTucUWv+vke62aepEp6KYSrEYy6ppYUxHTNg3LsiVgJmBaiyeq2wrwcOLoS/9MBCbO
OOL2cJs88D5x3fz8+8UZXD2nYmIqVlMOks7JUzu9vjn+8OG389MncfS4Qtzy4UA04NfH8cEhq6BU
eKwskcw4RkeKT0JBkvuTuyaDLUryDmrZdSnuTI8GZqIX3sp56Y7V/cAuwYjOMDeIsIFtWsMUO9Do
CNS7Qie9+oV6R9Kf7irce5H4NOua9nzOydn17xfZA1dr19cKH+hHuCMNsPV1JBrOF3c/Xh0fgQ0L
H9iaiVIqsPlWCXFUhNvYugVOM/8EYzlkSqGtPBfrlGFGD5PkMDFNRmcIn+deX93kiqBGEKs444G1
NGZ5f6hkieOXeIkvhb5uwrUrhzveYzpi8/XYFvM4tTtg3Yg4FYhMCPM/EFS6bfrzzfVp7frm7PTo
5PRj6Um26jHuBaFEwK5RdrFYiX0r99t1pbDoozA82Mo5YGxuGApKU986dlncIzh5SjyGDfd69/67
a9bVK8c5pElHvLuI4j1kV0gWGwdEgX3rtUE6uJKq5sLgjEp6JVmL6rZkFsP0kUY/SSUOzKmqRV3Y
IRRBFU+KgNSp4i7G6sCi5oFJz1OwbwTGP7owDybCKfU9pkHcf24L4yE5RYOLmUbXhEcUGE510YV3
DUlbjMR0mIryudI6h7tuM0xrmDCZcmk1ouFH5aXFlbEcUsXv5442phmYzRfX2aRXTdaJ0pDiSGv0
pJusLCY7bGDfL06R9IzWVeqo7XG4zbBH320KMN41k5r6hSj4GUc9nHgRj9mSh5hGhaLH+IISBent
98ON8nF8yoZTVNI93Jw8n82N8imcmgwHH1bJT/04xX1iMajMpLRweMN09U8OTunnPxXS6gXvYwVu
mtVavkPN+Pxi98FL9Z+NQ1gz2g67ahpStAgCUmtMbDVK7Uql/CO1Z4BaX/K/bAYfB7JedFa4qWWA
zOM41khNe1Z/jQjx63WWx2gNdNduATNcsNDXTSuiqLeAwmS12kpjXq9vvqlAWoAttIoPYY3YfzHs
gwetkBh/xghXlHZ2FvKFRAHtEVBqgqn54GVnlZqW8ySa1vNDQiGBMiIVVw/SaloCVtnElIiGB9cH
GUaAvdT06NlUbMtrMDbbXpigGwfCpUFTwL2WbG+0fCLC2J336y+/AaFoTJe3+E4xfQhHE7uj5SdG
B7yU4De57nDjeO/Dn7RDY3W6SgO475Yn3LYJW3sCRcX2FBtk1aT+2nXLX7u0shqKo1EAF3lDZB8n
9XF546gyROyYuhvOXv8/e+tK2uIyaUo81qDtQBMWusJjSOI+pd7FLOkU4ffdPU86jr2xX7Q3yr9M
4UfHeQ10S8+LuGcc1Y7Pzw0zOqPcuGwal1f+2DPna3cffqn7nGy6CfTaHCLg3jTC7a0p1Rpfu3X8
9daBSSfw6Msm8Io2ftCL3NvexP0H9/nN0b2nZoJrBbTrj2ERjoHPt4rdnf2f4E/Z/NneXtPHvvu8
9EWBYL6Q1BWtFk3UqqCNifSHPxlKuwNKd4c1Ksf58u3tdyeheCmWpO5rZ9k4r9RU/hHMCgEpq7nm
SVuOSaw7IOjuhlM+2ItfS8X9/ptS8qZU6b/Zjd9UisnrQfJaWpCnl20ImVpVHATGWKDIl7XqzDvG
aOUMg6fy5EyE2TJowKX6nrP7xU8MbGAlJke9iib+6qwQ0Gyu/sEcWqqSAWDcW0JDk5jCGz18bFjQ
4t4hDeFEecHD2/hpoO+4t1E+GRx+14R5wBEUKIavu6V4rhvFA5zuRvnITHjD2bc/12obxR17wzmI
FTkEjkElOuVJqDxdP4YxJ9Vw05rYXfj4rgxjtxjhtvv4fz+14Y+PFwvzXk6G10iG3eeTRAM68DAU
6FkgHe5q3jKT+0EkvXl/dH5RtWgUsdA7RgfZ1rb1zoo9ZsnnN9v/uFed68LrFWBkJnHvPXzzz8gy
NXaHmw0Bt7pj3G/qal0E3j9cEQhZBTpt/us95QGGXHGuJidr1u3+uVCgnZycXp6fnpAkZg57PqEB
n/7l3OVnz4pHmmcD0lgjDr+FUWuqFDASmBFxeYKZc7rEHDPcpEEe9hytLNejv14tppvCi5X9ZO0i
KbR4oXCSCllP3KHQRCgRqh69JQB8SvGfFEUsXfojY8J1MmmHRzBJ9YWurGR+O6DyQUu6txpZAyP1
U8HSyZXBpWXpkQDWLOgDNGDroHrfDpc2TotxZTrzHns1SbCvFOtGwITTt5iDRYO5cb8Zq0V7hij4
VFIeWpd/XFj1HoB6SPB26jM/llcVl05iVZkaCeruzjXApt4h0fpYl4LK129plTBUTrQlEq1SzPLz
Nju9r7KirJHBipnqBuF3FoWNmRs93FWZ26Shz4xfwqSJTMX6XLkDFBN/MOEbtDMJMj/VqpotpJ/h
bAwcYtqGTEWTwtA9Nt3pEInPtAV0k71FyazAaiKwC7IGPJle7PxpT085ebmzWsrKN4R4pMctVk6N
C1/RBqsMWTc//5AO4UwmFszCxEgnustyWqSghVGaP4GWYmG8D/YS2CKxGRF2xntUy71UoVwM4ZLS
bp1r4HGeBHTjrXFvt/CgooAhUhpddGT0qV0oKzuZ3hl7oTs7obDyrG4OrAEtxI1sCzhgAQYsxFVH
Pm+k20CSPrhx84Y4ymrWW4SzvByvBmemLSt9x92pit7OE3atntsdYrh2PY7GPdZTsrTgLvoo0P2Q
lD1hhiYqYEml7Ns40HUC8z4sve3QgHtJI9PDShzpimkG28siSQrH9v1l8CGCl/MGbGRAXNzOGBZZ
4UMCL7AKClgc3oGOA39D2M2K/6YdGhd243Fz321zCQvjF/yLQTOneHVUq52eFPCW0eQ9cKe4GvdK
+m/HGLvQZAn3U4Zd7PEQkNJUtney/MQnpf5zmhnsPGuqQD3derZD07TL+HkT5USyCHPt1wSHlxEc
LCM4/IzgcDOCo5kRHI2M4OAZwfFnRnDcZgRHkBEcrYzgCDOCQ2QEx/eM4IgygkNmBIfOCI52RnCo
jODoZARHNyM47jKCo5cRHH9lBEcpIzicjOAoZwTHTkZwVDKCYy8jOHYzguMgIzj2M4KjmBEc9Tz+
kccH8/hH5uOczTxeOw/HirISYaTT9D3Axy4ey+AAyO6tSSUig0R28+XIlelN+lcFHA9eUZ8tBbgM
Gth/+CgIPiZlzHEJyrqBHv0+9NTNL2ajH+5gTljXZRFmnT0G+lapvH3FpBlYhJbHQs68KtCAudhq
enlFjqE4jrP74laZ2It608Im0sx7JFHMN0WZoUlgxiYivJLClzM65Kchzdy+2xMgrSmUp2XwQdf7
B3wVxxgF5vYmOKgWi68gJy9dmSMQo7Sq6tZ+X1OKLWQXTcLsqkCTuvnyX/PVb23JC93JAMuvYLVn
FdkBCfZeAwlMNUX8YRohSq8hG3dGGv5Bdee+4ggzy132zXJp229qq3b+6/Xpx99/slSzrU3HEk/c
hX/7P1BLAwQKAAAAAAAIbupGAAAAAAAAAAAAAAAABQAcAGZhc3QvVVQJAAOPL6BV+y+gVXV4CwAB
BPUBAAAEUAAAAFBLAwQKAAAAAAAGbupGAAAAAAAAAAAAAAAADAAcAGZhc3QvaW1hZ2VzL1VUCQAD
jC+gVfsvoFV1eAsAAQT1AQAABFAAAABQSwMEFAACAAgABm7qRiGPvTgyAAAAMwAAACwAHABmYXN0
L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUCQADjC+gVYwvoFV1eAsA
AQT1AQAABFAAAABzy0ksSXVJTc5PSbVSSAHRmXnpCqlFRflFVgqZecn5RUWpySUKKYkliQrJGanJ
2XpcAFBLAwQKAAAAAAD9bepGAAAAAAAAAAAAAAAADgAcAGZhc3QvcHJvZmlsZXIvVVQJAAN+L6BV
+y+gVXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACAD9bepGC1JwzJcBAACSBAAAOgAcAGZhc3QvcHJv
ZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWFjdHVhbC50eHRVVAkAA34v
oFV+L6BVdXgLAAEE9QEAAARQAAAAnVPBatwwEL37K+a4C7WJw6YH35pCYEtpArvQQylFtmctJbJk
NCOC/z4jZx1asok3HXyw/d7MG70Z7bUhGFSHEAkJFNTRWM6Ng0N0DRvvgD00ylpQTh7vxt5HekEL
yLK9hxCFl0oxEkOvXJSM8RNYr1owDCbBCHXwj4QhvbtnLP39ifXW0YAN+yASrSD+ARRP4BD8wVgs
YOv+/haNYbUG0j7aFmqcMDK1Na4Df0jNrl53u4ZHbRoNWslRQ1Dj7YBBiezNkSAlEwSNNrYtsuzu
qMaGLVZw/cqc5Aydtibb64Cq/VPCynlIZdawkv4QLqqLdQYAxCrwPjk2u57PyflUOH+pWmju7TG9
LKtyypf4kk7xpoCE+PQeLHFb34v1CyT239F1rBdoE3PrGDuZ8iJV4kfs6zOpJ+f5fuI0451slkH6
KsNgXFb6DxkJQ2fZKNEhw6/d2NfeFvTc2u/lrMU5p1GP8xp/cJ821ebqX7mTl2O+eyFPtzz/tssD
ko+hQSru6Vjs8qrafJ6LoWun9T4nsawu5TBZ9gRQSwMEFAACAAgA/W3qRs5sBJk0AQAAagMAADgA
HABmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1kaWZmLnR4
dFVUCQADfi+gVX4voFV1eAsAAQT1AQAABFAAAAC9Uj1vwjAQ3fkVHolSxwQBQ6b0U2orFampylB1
uISDGjk2ss8S+fc1EKK2qkTUoTfYy3vv3r07zjkTr0b5Gp24AQJxuyjEAstHSe135aVaimdUCA6F
gsZ44oSOuEXnFTmxAkdia81KKrSiDHjiUvOV1xVJo3kFSjkO2uimNt5x3G2xIlwmtKNBHMf/7wAq
8qAO/fOc8XR8MWNxeNOU5fmAfS0y95pwjZYNtWH7BhEbKqmRjbJR9B0b6snXZV/ssDPETk6j35lx
xwFroSlCfhLdtUUgPMf4Y6NQ0s3LTdhUD+gaib0VTV0albiju/cetMv9NOfCqpu71jQ7u9nkg2rV
yqSTbDL9kfohvvkWLZCxnezpco5H9VDs78p4W6FLNq5VG0+zyaxTQ718CdhezDQbh3k+AVBLAwQU
AAIACAD9bepG2YjcX2kBAACkAwAAPAAcAGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24t
Y2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dFVUCQADfi+gVX4voFV1eAsAAQT1AQAABFAAAACV
Uk1Pg0AQvfMr5giJkNK0HrjpwaTGWBNJPJoFpuzWZZfsRxr+vbMIjabV1gkH4L15M/NmSi4s9KxF
8BYtMKi8kC4VCnZe1U5oBU5DzaQEpujRaui0t0c0gygqNRhPvCDl0DromPKUMdyA1KwB4UAEGKEy
+mDRhHf1hYW/b1htlO2xdtpQiYYQ/QHMjWBv9E5IzGCjvn9TjT5OwHLtZQMVjpgVlRSqBb0Lzcan
3SZw4KLmwBmNagwbtj0aRmUfJgJJBghqLmSTRdHLVM0JJ7GA+xNzgjP2vDVRyQ2y5j2HWGkIMgnE
1B/ColgkEQBYx4wrg2Oz6+mcnI7C6VE1466TU3qeF/mYT3EXpvi1AAX59BdMsa32ZP0FktNPqFrH
L9BG5kY5bGnLF6kUz76rrqSe3effid0wL/afDq+K1fpnA2fPZb5Gk4a7Tx9fU4NWe1OjzfZ2Eluu
i9XtLIaqGRd+TWJeLGmYKPoEUEsDBBQAAgAIAP1t6karnVVNMQgAAM8eAABAABwAZmFzdC9wcm9m
aWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtcHJldHR5LWRpZmYuaHRtbFVU
CQADfi+gVX4voFV1eAsAAQT1AQAABFAAAADNWWlv3MgR/a5fQUhIZC9Ezi3PYStY60CyOTaIFtkP
QRA0yeawrSab292UZrzJf0/1xSE55IiIjc3KsIZD9vGq6lXVa+p9KjN6c/Y+xSiGjwxL5EUp4gLL
D5elTPzlJdwWck/xzdmakvzpyls/E0Ekjr2fzzz4kXgn/RhHjCNJWL72cpbjjX4UMh5j7odMSpat
vUmx82K4xvHm7D9nZjm7SMQo42vvYjxb6WfBA6H4jiSJfR6i6GnLWZnHvhuaLNW/+kZmB8Eoib2L
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
owa8hzaPs9RI1x6B8ZTij4UiNC2KVdxaD+oSWbznbVM4M6adu48essuum1PD2ra8WKMHdv5u718c
Nr87ioe8uwsXfIk0XtE+0fRifj47pkJbvURuL2U6n3YeBp9QSwMEFAACAAgA/W3qRppFwhhUAQAA
OgMAAEgAHABmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5l
ZC1mdW5jdGlvbi1leHBlY3RlZC50eHRVVAkAA34voFV+L6BVdXgLAAEE9QEAAARQAAAAjZLLTsMw
EEX3/opZJhKOmgpYZAcLpCJEkYjEEjnxtHFx7MgPUP+ecUgqJB7prBLfO8eea9ed8jCIPUL06EFA
E5UOXBnYRdMGZQ0EC63QmjSyOJC4UwblSS+AsdqCi+RMsIA+QC9MpJ7jBWgrJKgAKskIjbMfiULf
5ktLqy/YbIwfsA3WgTCSFPsGIozi4OxOaSxgY77/0x5DloPvbNQSOvGOIJwTx+2AThDnbjofeUQa
rO2UlgVjT1N7UEFjBbc/5k3D+r+mZXXnUMjXEjJjIYFyyDRZYFWtcgYAPggX6hTCHCWfm/mI5gnM
J/BJK7rQ6wlVllU5sqhu0kx/bkZFMfwnU22bAyW7YAr2Ac0+dAu20bkxAfcUzqKV6jH2zZnWTBhr
jr2N/hR3vtD4643PL8Tx9Bb5/TN36G10Lfri4CfO+qq6vJ5JaOR4Y+c0ltWaTsDYJ1BLAwQUAAIA
CAD9bepG93FTZyMIAACRHgAATAAcAGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2Fs
bHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLXByZXR0eS1kaWZmLmh0bWxVVAkAA34voFV+L6BVdXgL
AAEE9QEAAARQAAAAzVlpb+S2Gf7uXyHYaL0bWJrbO8eui6wPtOmRog6aD0VRUBI14poSFZKyZzbt
f+/LSyNppLHQXaRxkMyMeD3v+TxU3qcyozdn71OMYvjIsERelCIusPxwWcrEX17CYyH3FN+crSnJ
n6689TMRROLY+/nMgz+Jd9KPccQ4koTlay9nOd7ooZDxGHM/ZFKybO1Nip0Xw3ccb87+c2a2s5tE
jDK+9i7Gs5UeCx4IxXckSex4iKKnLWdlHvtuarJU/9QPMicIRknsXcRxbMYSlks/QRmh+7WXsZyJ
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
/bVZ5HqIXZPX7MLq8i3kIDMm6+lX58J3Q6w4oT6+JCdbH1pLglDT/yf6v1BLAwQKAAAAAAAIbupG
AAAAAAAAAAAAAAAACgAcAGZhc3QvdGV4dC9VVAkAA48voFX7L6BVdXgLAAEE9QEAAARQAAAAUEsD
BBQAAgAIAAhu6kZgXnjBPQEAAJYDAAAkABwAZmFzdC90ZXh0L2ZvbnQtd2VpZ2h0cy16aC1zdGRl
cnIudHh0VVQJAAOPL6BVjy+gVXV4CwABBPUBAAAEUAAAAOWRwU+DMBjFz/JXfNllF1haBrYQJXFb
Fr3sINyWHUpbJhHKAsVMF/53203NEpfo0cTevtfXl1+/5yMceoh4GAGexgGNcTgJwhAWfb17lErI
NmulXJPIpzgOEdnAvGllJvc6hgf1wqpSwJjVTTuGtM81yytpdFCslnALaZY2aqtLL517s4rxZxe6
8s3e4OsJOh4Xaqbbcm80tDeTkB1vy51uWqPczLNlo/TiS4uNiRRc5HlEiwih5MC0eZ33WnZH/3LG
upLfs+7pzCkwQbC2c1EQ6dOiQGiTHPTrzqLU/QlblFy7wJteaQvoOlKZaJubOFc+xDY9NYrawkeU
yCM5pZeiuaE2zy3TaJXaP6zMRu4+WUfDCfYszpBGYRAE0U9x33Y6GpzBSQbHv1Qljf58lcInU8p/
U+XRGfyDKt8BUEsDBAoAAAAAAAZu6kYAAAAAAAAAAAAAAAAJABwAZmFzdC94c2wvVVQJAAOML6BV
+y+gVXV4CwABBPUBAAAEUAAAAFBLAwQUAAIACAAGbupGcv1l8oUAAADpAAAAJQAcAGZhc3QveHNs
L3RyYW5zZm9ybS14aHItZG9jLXN0ZGVyci50eHRVVAkAA4svoFWLL6BVdXgLAAEE9QEAAARQAAAA
rU4xDsJADNv7inygZGC7GSbYQHRO21SclLtUuZzU/p6DfoHFsmzL9qRpjUIeNQObqQVYovAPAiK+
VGrighdywuvwwIHHW3S8067Vn1y84ELFcSuCxkWrTS2+va2fdTo1FSRmhjOwcOLsENOq5l1zwkEh
QM00tlFXEKX5T+P9Uc/z90X3AVBLAwQUAAIACAAGbupGiR8h/pcAAADAAwAAJwAcAGZhc3QveHNs
L3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUCQADiy+gVYsvoFV1eAsAAQT1AQAABFAA
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
ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0
ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADpC+gVaQvoFV1eAsAAQT1AQAABFAAAAAt
jUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d
48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY5
0o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIABNu6kZgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0
VVQJAAOlL6BVpS+gVXV4CwABBPUBAAAEUAAAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKd
Cm5fOvQGHau/vq/3Qt5KpEljToDMmT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlz
qBsmNV/gwfEZU7tvBBQTQg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iP
Q99QSwMEFAACAAgA6m3qRuqKfEJhBQAABQ8AAAoAHABodHRwZC5jb25mVVQJAANYL6BV8i+gVXV4
CwABBPUBAAAEUAAAAK1XbW/bNhD+rl9BuDCwFZOcuHHnDYEB13GaLEmdWU4DLEkNWqIk1hLJkVQS
Z+t++4605RfJEQpsDmCTx+e5Ox6Px4tP5CORY841arRyJRuOc8mD+SlNCQh0Jlq3ZHZBdSvRWoRe
CmsN55qGrwEEDRuOH3BJPnAsX4Upg5gZBBic0IzwXKN3BwfOBSGin9JHgkbMucLP6/mY/JkTpRU6
3EYV1MOO41xR5gssiW+3BEDD35F0HF9jqXcAg5QSZtR2Dsy0MHNN5CChaWjMwcdEBYdXPMxhPzjX
ycs04UpPs6UkpTPyTIIWFjhISLsF4ukG5Sm+TacsSPOQ1HFXkBIx5fE04CyicR13gyrRE4JD2HYd
dwUpEZVK60iwXCJkcCp1DLNeomBFaz0z6yVKENM6BiyXCIzEXFOsKWd1xC1Y+eQyHJMMi9qjW2HK
+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
ek1hpg0EoTnMFFNgkS3mEQA4EpbyYMJoZTwmx710HITjQfiAJTU1apBK0yzttTiuwkxHi3GwDX/B
HOtiz85OkMjco95RPUHrmStNuGNzJqkcD74pTqTOhDa6a4x3B7vnE4n9xjd8cSS6G14M4XSlf5Th
kO4kGzl2SPC86ZrCqMR9tfYynTW553Han/d7fA82Di8vvtvEFp3xtkSX7N2gs7zIzi9HJdRVfz9P
SUyzJXcQRZ9QSwMEFAACAAgAPW7qRjFlLLYuAQAASAMAAEwAHAByZXRyaWVzL2Zhc3QvcHJvZmls
ZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWRpZmYudHh0
VVQJAAP2L6BV9i+gVXV4CwABBPUBAAAEUAAAAM2STU/DMAyG7/sVOW4qWdYJdtipfEqAxCSK4IA4
pK07ZUqTyXak9d+T7guQkFZxwofkkPexX9uRUgr16m1ogNSNZq1u33L1BsWj4f11FYyt1DNY0ATK
6tYHlgzEEoGCZVIIjCbytSZWa/S1sYCqiBxL42QdXMnGO1lqa0kGApQV1MZB9fUGmzWUDNWYNzxI
kuR/uNIlB223nrJMyHR6NhNJPNNUZNlAfA/2945hCSiGzouu2EgMbUwnJvPJ6Kc2xlNoir7aoXbe
tY0PJA7ORr+TyZHRiLrN40zjCK4RNMMp4o+FYhhaFKu4vR7SJbB4z9um8HZMO3cfPbDLrptTw9q2
vFgDavZ4t/cvDpvffY6HvPsfPmAJNF7RPtH0Yn4+O6YCV71EbS8ynU87D4NPUEsDBBQAAgAIAD1u
6kaaRcIYVAEAADoDAABQABwAcmV0cmllcy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9u
LWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHRVVAkAA/YvoFX2L6BVdXgL
AAEE9QEAAARQAAAAjZLLTsMwEEX3/opZJhKOmgpYZAcLpCJEkYjEEjnxtHFx7MgPUP+ecUgqJB7p
rBLfO8eea9ed8jCIPUL06EFAE5UOXBnYRdMGZQ0EC63QmjSyOJC4UwblSS+AsdqCi+RMsIA+QC9M
pJ7jBWgrJKgAKskIjbMfiULf5ktLqy/YbIwfsA3WgTCSFPsGIozi4OxOaSxgY77/0x5DloPvbNQS
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
8AhnAeKwXBwTf2RMzvWlPlbX+/EYzvTH/bS7td0JMOMzMxV4KZtYddddewgq7cKJ6vdb193ekH78
g34U275CpJfcjFT8YVaHam6/10HLt3+//d4eoYZmgWz46HpxgqVXiV3VXpMN4Vs3dmYShdO5WZ+b
+jsmF7NibeL0eJxDe2rqy9/q4/n37n/qw70pH8tNLE3wGcMTy30TjnLq9k11rD+qffNSB6oq/SkS
L+MVJDUqP92pu+3QhQv+6PMikffWL47dqav23fupKrqW9sCWF94/+NkVuXcuVvzBCTusmtO+2SNO
8+WZKCFfe2mguV3aknuxObZxF13D9ed7r38017f6HEJG9yOIFazg0FTiA9mjmlnFC+BCEKcLAeRy
Q74mwN0/16f9ub5eUczYjGHbR1LwSDMjny6NrfV8vnTH9gpDx2zKMuhI2plJcovBcqrL/dCgY7E5
BLnwB76/9OALTfV6qdtT1Z2qW3ss5Ir5loycdJvdUUhj9+Am4Dx29gkduGmzdvP0m0OQBVyzlpk7
xDDPeS/MH/WP+rq7tOfbrKM/m0sIi6fz/fYJR9PSbx3yfh78vUoBoIgcjHiMIgq6WbWy9CR60dqz
EBNvh6tRobtI3meEfX2rq5Dnqutbh7hpYZf50uW+Ux8OJdeZzSPKNVr8Wpbn+trukBwzlIlhz4kH
I7nu3pr9/YCNVdJh7ovIC8VSu4Uw1g+J2K3adcfzpXlrTtfwOMR01mNEH5ptgIXPJVU+R+iY8Y3b
8PozzqVqDhzWTXBjQ5i/3C8/PiHR7Lc6fNSSUFh+Gcj+Z3Yiplsx4IZocbvqFvzrmghD/E6/CvXc
3iqlvr/9uck15R6j+wuIcDYLUj2tEIE2em5KAYiJnJhEzzQBIyVAfpbp73Phvj+fr2VZxMRmzGdJ
Y/Uu/f0fz5fq06z4xCqitniV/1pkE5Q/9NKbBjM41Yef11hUfeyaM4YLys6pTAe71L1XH5t9WzeH
5tic+pA9Rz9klfO9Gx41M5jRrTsGZ95V5/vhUBV48NmyI0D36rE6KAAprdyytutB9GvwKxSWZiKu
I2jSnnCBYyBsPwUNdcYy/jCspNrqFcVflQG7CMb55FWnH93hRywFm9t/DBk/aBqFcr0F6zMl7+7X
cGlIGJuhaJWgdJ8O2pAcTxHvfpy7UzhiWyNB5BxUdfRrS6Kx6vZ26d5hclF+FkoG25H91XcvL6nw
yZmGX0OSv+/CWdEhZzVFA1nXmOj659uKBepQvw9ZO1SUf700/7g3p93PvzXXoKkr9AmzmcIHZm/t
61up4cFn+4526QzVTSiAAOXnC7PR22VmgvcEmRISiz+Q/alt38ibAOFsF6QUnWHNWBPwoSiI6aWI
ZQx7NF8KI3wmhro5ZsX8ovVDdYIEMVs1e4xWxTPIzAVj0TeWxBkKCPdyana3HuXFpH1tX0/QIZnZ
wmf7n6f62O6uPVa6XrtLWTqzhEs8M9mX9hBwXIp4RdAptyLVqmmI7EQV2zxZrPpSc8SSIGzMD+dD
e8Oll88ahGYZAcuAGNmk3wKZE1pHNyeXlP6xuB2MqrvsoeJZFtttbH8+lGx9tVZpjtwj69GZBJdK
0PS/bwVsOnt+zGHKL9NWe4qNBKgevQRMfKsSxYfKIlfMenxQTR79QsJCNp2Fr9j142IFk0IJW59e
D5BLVg3HOokvS8tD914qLWcbiyHQ6cw5P+XdWm91TbNTlBgos8jQ0n+pnCz17t0WnFh3RZCxZIOG
+HFoWvaNqnq3uyc5PlU56yyFs6jwjVbsqTt9uhs7312ETd4TU4G+5r7cz7Dk1my2aRm7WpLpR4xS
MqY5msZayPeB8NLUAW8fm6mmeXkJgrV/FnQ18zKx42cM4rarS6o3WVtLxh+6r/faJqKNAN6DihLp
7nrtC8lUJuwCJjqe+v+QPlbv7f72VtXnkBeaa3XrKsZMfPDquSZqYdBp6rxGQeQI+CleiuQ1Dkwi
r9iDCainwEvTcrGMV9ZBX/CaPI4xTnPSGadsjENKxekTjnmeJzbxhyic0NG8xFc1L2nNu09oa8FL
0LxsdkY9R2xaX7Rc4xQ1yaVnCDzwej50u+/VS3cJpfst5rUxKqD7VNkdRIzPhcl5RhYB2UZuPXuo
t8w2YuuRi42zBnAdva9+LdiZyfQmk/IKdwDOmPGaKt/I7OXQfDx3H4lo+FydQ6qp/gjFdPvyk+Ia
20BmKF1j5OMR9HDTSzgyir9CBm5ubHGVXMkvGCRJmtMeS2EyJn1cXzAJgfL1VOQylL5eT17Nt84i
aAYqE6M/0ILB66W7n69UvOtPwjN9ZsBxeZLUyMdnyfjEoXwwn21RJC1Kpg7F1yxCnu7uN8wiu9zo
t1zbjdMEsNTETgc8kM0MLXfRJas+pcFLGmZGiVG0Xu43DG7iA2xOZ2cTCdQt+IQyow3putc05qQe
rZejowEducyAYyqRcsuANW01mZJ7ZO23GNAX7jKl5BOkkcG+vTT9hAoar8jOkaWeBzFoL3Lm8Rxu
2/qBL2dmIhOsVtsswDHcJx0ImIbA4SAZazka+EyS2PdPUbpvOn3cEkX8cH2r9907qdjAZ8AXyZVT
Hvn7yGSitSStnmnjbIWtaTVJK2faFEbWtI6kNTNt9AmxpvUkrS0+V5K0fKZNKl/Tcop2QL2JNq1C
rGkF+Vw208b7tmtaQ9Kq5XnVipYzktbNtKo/byqkUrvlGmvX6DKnfT9Ci8ZbPouSW/L0LKtLvW/v
12D9Pw8NugjJVoKtmLy3AUjd3i5NU/2IPbQruh2plze7JdUCzJI+IdiWP/WMupeqPQaAeCWV47aM
kxaDvnbmt8RYctod2jNSiuBLHr2bzddeXZpzU4eqNYSsJsSt/T7B6e6DYKj97LdRTeKR4dP50gUY
fQvHe3oNBXJIjk+3t/r0hLXGxJZ7AK2RJ2ZfNQPSQrlZWqh+1F0oZerdW5y8VaH+CKDiurt0h7H6
39Re5jksHZQVj8rJo3JVPuroh2QQl2LTQvJAQCYe9VVdk5y43ZYicbp15+rQvNxGllMsoAVjZXMa
NUMykXzpyaZkk6SOmfv/nI4OnZ8IDOPpyCAuPI4MT31keEqR4aln/kQHBsMy0zZTcsz4heq4uzwN
IQZyYkurko9+lzgNqt9H1ac/Dh/bUypYhnE46YRqi3/P9Ll5a8MTCiHelFPX9X6MuSL+rkXXINVm
kFnyiitdIYbuYaS3ZaFO3S3o6K25tHHXHDF7QGe85Ngk/uCyzGlIYrSpZiHKTRh1EaJozCaAWqLr
XdrXt69EFl7GPqm3FZJCs6cbSelcDy5TzARkgOFuMxDPLnNt/2xyXqlhRjqIA2ckwxVt4q4crtpT
G+elPTeoM/1FyyTF4nrzlI9hZmCNIJH+2jXSmmJmM/KhwELDYVnW+kIqEg5z9kVESxZuXHzx8khs
zH0hR/QGfz3H0fKlvrUdeXt+W6YsuJCJWH0meA+JmLZoV2ZSHjQkpfDNKydS+hClYCZGAJMMBLRJ
2rJ59yXfe/cZdqZs4fs2jm1jMO678ugeNqvsU3eKdtQjgtgb6pcUNq3B4iD8dO6ubeyyPaWS9uml
u1+e+mOSF8DLGisPjhInu9VveXQYOjZpv0bokUMvf8Am9xDB+yZC+gR7EpnL9Q3RXpqBUJCEJo9E
MhuWvF7afSKIH6qAbo5kEjdx37wXwDwO0RJ1P8UhLS/R60d6+0hPqTKRy4zcza/jLYTXFPXQnTD8
YVdy+XBadjGT54OwJbkkydVMns9FF7LT1C6TXT8obqSm9WYz6sxuFtT0wc32pe/ba1zjqBIXRJ/r
nc9Pf6CnpeeZ4tOoxPbGe6qPTQrJvftcd92575x9bGwQZPmYP7zNef15utUfwX8ESWkyykwF50vz
0n4klyUox/DxOPAfn8kt+UyRUfp5fLdvdof6ErtNUefUY2VGnNnLdFRaSZnA/cjDLo4asij1TJ09
k8/jmltzObangAlffyKRRyjOpxHfg6bIB3O5TTmJTOp4zNP8Yf90ovQkZWYRQg9GGSjjKmT7Esrr
/4rGCa/IZxxSMGNLm6IpM0310VwvL5e0Rp5fkZsXPSYdG5KSZzrORvcTJakpnul4Gl4l//3P6XW0
/qUP/U18k99EJSq/vQWUYOYwUjZ+aKT2XhGIQ8UiKlYJklbIAfkkWh7/oKcV3zgLlBI8dRj3GL8A
m4PIslIVN44ml8bPDw4WOuwJDuRcVLKyNPX4nmN6uM+PrMI/goWnG/rQzApAzVWlK0nrjI/LCIk8
moxfkfe4gyB3hriuRK4DOec0uVOZ3ufR0UwuKg6Et8MEeDo7W16bANbCxRAdEvFcn/aWJoPYwEyF
NAqoTfCodZqa8/nYMeWJwdx4PHSQWgFLFbN/ZFXnqDFfuYoDY9F8qW+/MFQeDR045/giNkEuoXtO
3wdB6IxVBhxcMPdwXW5FLRC1IAxtdHAFlC6UA3YWI1rfgqJCmkVGrkJ0AKFpHAgmW5GPsSVK7gyQ
3HlC5/OFA/LxvbXJvcXjwwV6eC56uDJhc2oTnw0enet8dd/cBFsD1H7oIa6dO1Hb4CZAcO8Zcd9D
WFI4qkkFw1J0MvB06dVmGsuUzoC5KSYJJ51DMni60wxYjIZXJixWm8dXNgeXtD41XbjuHRxduBDM
FRxcgzQmtCKSqAzPLgiurSay/5TEgH/bzMWyLn5MQ+ybDcEFHdprQuzJ0FA4l3lA3tSZREFRuk0z
7ZOY+lZXHIAeruQyjy2UJgJGRMmAO4gbDE5EXiiCOmb+p6A1lLyl9URgGrVmkaVZheCajfEcSG4s
SoIRdjigtfy+zUYi4jCPjUXROhkM0EPBDCwNiCvJVhnQm2Qc4dSIe3ZV27YQ/Rh4/gDZKg5EcEwR
nqrGAIXObwyRx/sQ4yB0yqwmB4x5GkeB2Uri5mJtFLz1FYYZyc1Sb/4RKXPkL8ahm9MBuKFcamCB
oUKceK5aVF5Z6ZHHaRwrrMnsTudAYshKMFYILgjqyeiFQAFaArydyDXQndSi4HIWQkcEBFJRi0zO
CwLEDM4ScAgqav2SWoy5JVgahzrnXHmilh8sBvYfxgbZNuIVGHVyxwjUqcdKXqB0LiWdlwY3Re0P
bnEnwEM34ds4JEvnIDZy+RDdlgEqphaQWcYXDAngqAp1pZcALxtcXilpUE5wIS6DjMqEw7aWolML
8Z+ym6Y+hSdX1agh4PzSTedbn2xOAk8TSqDH+3ACmNQEkRKnGIHi2/g1JETfLDZwEO4WYmlzZkVt
EXUGX3VenE5VuUVVucK3BoOjzXB7HmRE8hTkZlmpQQUYlI0crs84wp7WWCITz/kAkI/f3UigRw07
ZqGkLpSWGmEQ7nInW5do0ctR60lQ9bz9JmF9lnedVl2IANc5rGm50oXuC0elhrQQMluscZ9Rr1UW
ZLdQ9LxNue6/mKBw4F1eC3zbrhhWPWeb0Cmk0W86lHgqcACRiTNNlKf9PyG0QNyXAQHi5oREuE/h
Fg6OEk7KTU9lIRlCsM3yXKKnrcBcbIXGIMqDbNDDVY3gqllGZLNKpiimZlCbLhRggRiiq9lEUDMG
Qm1eiUxeiOBuFjiM8bi4DKECNUQYPL0vBDitcFsBN2OkQbjThIMD/OKlwlMBBQGYpXqlfVUtIOwk
K9PZyRVycurC5/CMum+u0I2IwA9Nv5yn+hEz8nMI+ZWyi2AOtZkN6D1y3K4NmW27XdsjIFRiWUNU
1BPwQpHVcUuWpaHMCjF9DxFU1gLaBDEc9tat1YWktIPlZa7yee0tG0MZVJu6Qi9BIPimsh5QDHRS
rkKEQCGioDcounUcBLcUWVHX07IlkMkkL1b02uli50yhktyX5tsKmYsvoQiNukdaopo8Ng0FmiPl
w3Uim4PuEfcousWEJFFCKsywcK3huABq73E3Gs+rQiMlMFCoT64JvU+zR9Ti9wK7ioQm4x2eNXNY
E3tHVLVjJwXZi6TWWHxMSHg5QAjPCr1KB3Kp8HwTuKZ0gnqFZrt/MwM+tIqRjbfXS0N9Ux6oy0gi
qE3Zm6PsLakR9Qh8JAI+BjRnU4sULv0ItHbDYbNOmdLM0aCZY3Zf2XeF5k0b1G8yCvYgLL4xbxge
ZEgM1xgNkzUebQuc/nwafcGI5kXJ2CRDxuaJuDDbKgLKojABgkHJGkOi9PHhKLAIQ6T/oW2FzdXz
QhL0EoUljfoYFtYX3NvtDZg+OOFBRD4KmN9izadWsE/IEcb2GG+xbIEkGYt6TCKod6GyvYC8CTDs
cKKNAm3wdBvurpiHyfqq/jaoemeugBgcbDswjVedFFxWEh5gJVHoVPFsNLw5HQ2pxKPxLAdti2k8
iwassjBV17BzQW7PDIcvIL2H7deV+LAjPr4jtx4hzOMLhLaIBZp5rI6m6tqVugepRYoMh5emy9qi
VMxRLnWFAS9HcbXHTmhqlxfS27UJ2sHhqoBBBENLkUzR95ZqQrj8K4UFjZO+Mw2X7BToOtlCOiM2
AvIGBOyKW6I/PCUG5KsK7Q+liYJGEwWNQKcs1PFZObquyRKGQu0LJ0sLnQYtdD5ubdkZq4u4zgD3
Gcb/ldYW/Ov7F4g4S0wpRC1W3UqvU2y/1ZBtBKB+Uz5Y1o/TWYFHu7nC14Vogl2os8oYGs6qQngw
2W7/xrBwGuprNNT3pdasRohfOxRbY5lj0Gxalt4IQXWKsQitB1dR0E01tXDOS2/vMFZyMommR/kU
YnN5BudTrkojR5AMXT7oVRuB0cGgHjAzygn9HgXy8kz4dXN2BgOouGXwJaTYYzVoeoWay31DAa3/
PJi7XDXMwMV75wvZPARgZDcWlCv9WgOSPd+233p/ysLlH8YLA1c0bxW69FILN8hj8i6Q2pi3Yvhq
BNpkThOB1JZAk0NFjQXmtoRHEyyzaXWp64dgjLE4wg2So/0Gz1Cf1eJr99YiJIRnEoLrQskGd+2s
2Z71xuWAUCylgwu0IqABBEwb6GjK/QjD1GqFHL3qqBge8ePWo9W+9LaEV+i1HLjrlqo9hao9aiow
2TpsoaGj900wtKaHDD6tP3FELjmaxsRSD+0IMvIFF1EYvwUICt/zcLCnE55sMYwagByHKyEa9y7h
+xou1xyBaRCQVRQkmm0GzQi0xoEibhigjrVDw6TUE0Mlvtuu0VmkjSM0EGTyekuvXs2Fti4Vx+hX
oiMb4TGKhFs4khnkKOllavSqJ/my5riPIuHSmRV49ucruMBkhcW9NOhs3MhPNKTg1h+jV5HH3Qw4
JpH4BWEPJ86el15kR6/RO6Owq3joKl6C1dq+IQVgYA7E1l2ZUfPoJRuiDTq9boGmoLqwxoTKRe4E
6t+mjhK6NKXx7hhOD1YT+Hd2N4vczZTQN2xSeLj3b+F+bUCQmnglawYjqHMtPaq4DJ5XeGVACzI1
b1H7FNaKrtTA3F6An3tSqCUlBXKUtNfh0F6HIxAcx104Qb+8mPKZCf6JqJXDQ4rgI2iy9TiEXLxs
gKokU3h3zaLRp7UFsO1RZes9UZRPo3ZUVXsLRr59XYy2r40qNmNgq1mg9Z9oZQbNlCjMmrZoVOEt
eI/wZt/MQAux5Td80RBUwZ3/tB+BkhDThXEU6rELy4opFA2UGJpmpUyCClPH8FIqLg2towrTaVqP
7pyz0m6HQE0UWfziBKR2wwo70Oh7k3LESiw4om8goKvDidxZtIBdLI/Q5NsVowQc/j4mE/c41UF+
mhlM3AOTYtVuRQGKfBlqajpy9F04Gi6ecYP3aVUhLaDQKkTxwi1qeFqD+354AGk13i+B2dRkwGVz
5a5flEDv36lShENnF9kucYzTSq6ANuy8OfwVJyElovGIgFsiKT56lM9ladqPAJDMYF/6GqLl133E
UWRUPfzKD4nf9sRfnGGtQonRFbqeDL4MFreDUKtZGNwDgytolgl8cdDmnVCFezOorM3HsAscNQQa
+e0Zjr6tB+vvfX2GXmbzhW0Fj0d6XPrCmwMcv8wvccMX9roFZ4VvsJIwt7HChCG4O+p6imUjau78
Gfgdbzzvgyy/3G6syDESwlNIid8y0cKWPAVWWb6wv67Q/rr+P9L+rMmZXbkSRH/QNW4LzIFHSd1d
XW2qqzJJZbf7oWwbk2RmUptJpkjmNxyz+u8XQwyOCPhC5Omy0p7OF2AE4PBh+XL3JhULmUVjkIZw
0G0X3lqM7uO2PjBrn90glBXpDKZqeNz9wEmLMU+DSzX6rpUS0qjCmkQ8UXrk2iVAPA3Wd57eHaER
TOXjQJSFXQRMo0MKbtbBdgydIHIEz3cclWouqII0jTozZuycibK+tCKJVM9l7lvDlAlaUVSU3hE5
RWkkWf/sAWHFv21EA4ixiKfpuKcHM2ogNaNXLVoIskJWNwM0dL16gRkGDRuokW4Y0vzIgvcedN5M
qg3BnN4hh98Gc3JocXK0wrlHCeOFXm3KfiLtuuzB6dagCmoX2/FdN3KMC4EwEu5E53HZYRdmAWn/
BgYCdKh00nEthWZMBRVQKA1aBCZHBClYaVFnGgOZAsH5crB/J4bXpW11RkS63TkcLeRElEQ1Lx0K
GSx2W7WGCVDfyADaFslXdmjruq4VpPZI4nrULy1RNBD0KpvtcRCu0ptGG27Y4S/EtxJVoIgtfCrq
Sa2IQcnOIB4Z21txKr9B8ILocPkNzsQpVCYtcSFm0ce01n3MtQhZ4eihA65x0a4xLSxQoLS3glTj
pKRRZb6QuIl6y0DrVi2pQDdWdRysRAAGiMIK0JQzKwzU9r9DzXsTQR7lMn3fivmQmrUKX3iEBope
t1QdAgPlsk9Ovy79QdvmPI4YYVcra30reIEU9dKfrYWLKF+hEXydk/bIF1eK8QuIvKJYm21KNfXp
QUCiUggCdrDeS3inWr3IYCWsbEDfKIyQfaNXn4Hoc28U04t0pBwgBS9hqD25RGjrWFdWyFY22LfY
k6hci+YVa/RwAfuodlzXlbE/AcoSWY1TLUPogsi+2uKcKiwwlFI6tmnMEHohwJ/tAztpGcgWqfec
SQxticnZDqAUiZyNzKlQ2H2HSEGvoA9mGlVHvW4AebA/tussuKPwvYU2+KsVnHHRy65VP40AyF63
su8SZZY0zRKs7+ioXqB2md8/ani1BjmQcjLC4hcwqLGE6K2E7ds8bopuWT5Wrp9Gpty4VoWeQB0x
pGYKabPAIThP6xZZBLE9ndct1BipZbaB7ETLQiOTvG6VQKBXNzTIE5WUmuhgkZlpuvuIkaZcayoL
aqYljcUeM4T6e+kbQ3wMoslY5P7kRl7IY+5RW07daNQnRcP1Ct4ZyqJyQY6Lrw67kPSN5ikGN+vh
fJ8J9oY0Fa619AyIoDvKRBnRghtc+OARQ9XiQh3hjQHlhLCrYjuoQhXTXgNvqTW6p7Nt9AmlVlzH
RMJpgA5ureR73PgU906RCjd6c3AKjeN7j5iGEZGyazS7wWlXqwXXgLxrZNEsdBJtY7CWEeBOpzKJ
Jt7lXXPiIOImmFYo6VGm3asGYRGVqEuFChAbMZGmlRKmYvdjBhI10ZQocwqLoorWG6QZ9ljJZZBC
c5hyryCybHVXLXNIcuowe90AlEk2oBbhYUlNrEhH+t971WI5IjGRHiG6otF5UzuHMVmcshW6xaFB
nCu5MATrPgioDIrlsSSH3sEUe/DouwaHRiNU0ghcWwxzrVbY1qwclPUywjQ6ClnkGFMUvjJrRzR6
N4i+FQBDeEwo7NR7zJJTQCulHjMIXVMetN1I5gRakg6nrUQH+cDatwwRosTqZvNw1AdT9K05rkje
dA/7fxo8OcX1kqfwRD6tgmXFUjmDM1aw3tBo05qHivat1TFDogBWi77VwQplKaXGU440jNytas3P
QyleRYfl1BN9KIZUsm9VVcNeIWyjj4m7jqR9OYV2Df8jn603LaRHos4LbJHJzOOFHcA59H7uBIV+
3QrMv2pAJh6Us+fCQ3RRcR9si7OEXtmWhvOQ/FU3S0OIAl2/Rpmnh5wn0YhGY9MENGGgh1suYDAr
lW2MY8dwrKXRzRqOtY2Gs7prYVzIEVCyMRdVIN2qpMBZOjxk2/mO7zKStt2gXW+5jgJFC5SrTxV7
qrBFOXzXaJ4Kx0MJR7rEJWzTFp+M5VSqZVpzbRA0qqXSFns/kOjfW9/yl1GxpteY2YgTurY3uEuH
b9QDCacMU6cwFxij+K4DzQ2z84aIpT2sxbKt2NRwnNw4zAzisRD5cVsIrb1sEUdgb+iuB91LLZ65
V2Q3q2eGPJCuR5wVjed4GNPhuwK7LfTOQr0KCZ2y4yhWhDMCZ5sv0LZlsgr2OeudRjYcDmbQzTE/
KK8oGgPUDHRXeyNaRB2Ul2Rh4blrE5rIaRpsyh426ZV0Dtmalgarc7XiWujMSVGLkqKt+W8G1UBt
aiCEOwgJjQkvGH6SBoN+sKmgt6LBXIYbrxvBnZSQtt1hCMfCW2r7VuMkVJ7qdRPIQHGplg2o1CL1
ZrkOkLmvMiqqkUjBRGv2gk2ZaA1bbvVfd6ZV0C1QfayydR5l8jpRwybqexWjLee4DB1Y75sV/Mh3
EwI3V4ahne08rqLHOKuF6af04wjEWIbyuoJ7wSpyizvma1ie0HFNGOfaWOS9wfmSiWmOOxSz0NeU
T0Hm3Bsc6eB2VZZo5mpFjIFjf3rDxSpjbIjAdQun6PrGfEotG7V7AmkpBYeapg6MSGSwx55AO1Sf
qhUuKpE4L9/bqh9CJ/DCYYcaMGcT1ooazdKCGLfkZylM2bUoqdCgiIuOH2eaa95gtaXFyhH3oraK
044j0Qf6EM3ukY0ugk6pBriOvD+BizEketg4ifWDgPvmnGj1fkfcrh4+7RtNCLVqDnFFTQi1xn2o
e6iXvbdsg9mxBSJiobiu5W+j0VwdixgOj0OB9UwFTNIvjfFYHZpzndO1qDSVDpFdD9aUjYypocR6
tfQjEkLcIXtk8KRn2Ee6U31rXhOqlJMdrqh24GkpnG/RGOEE2r5rZVI0YuxqB7vLGjz317UG4Bn0
26bRWbdvVaJ3XKP7xK2DfC3ebRx3Dd1wvW3MFGKYi1aEJ9CEMaU6nAHDJYZsLmjmDKMmQFBk87uj
2RKyOUIXVQgqdibH7DwiwrNoMMVhZahVslnYgJJBpoUkGdS53DYfhx0RHfLgJO63JWyH0wOwobE1
vsXFQRQBYbEnAqkRDlawJwWLeGPW4fC0hzCQRAyoxghDjXtIezxyqFO+KucjPVEheiIH+U2mGOX2
bUs7oAS39I0+samlDOwp48u+dq6SqUa9t73AgyOhJyFM3xo7icIkB+E32y58F564vrHCszfrFAH6
euFxc5W+PRzCi76lYVEeUlkkAL7BmofRVoJUYN2/wNV6Q10q4nd0zSHSMAsrLZ80R2NencTNqyDQ
bmW/oQ0nTDI4IzARG6emrG41xpYdQn19D2L87BOgx4WoNgOnXUqQM9bX/eDREUV4u27Feuii+QaN
HCLe1sA5JqLpfqsO0/7wuKZONX1IRLSQtmXUUe2XhSTVHre87URdVmd2Lqwa6Kte2FgiiSA4Wgy8
ytXnRgmIha5abEOB2lcqmMZsQHiix+3WcObYGkxs6fEwOcdoxoHsh+nzLJKUXxwDl7AqKHMsUQFY
3zov1DyTEv+XDRKGanuE73d9k0yEQPJethoFIEClh43CJHYgDGzymnvEovK1rlHy4Ju9KZyWDeKc
7BAPvZNNVjEypco1psQKRDigrL+SKEEdcDi6HMKfttESBcw2G8cdoQ4VXbOZDJxSoSXsroxb5bJW
ZQrPIU2EJ7hk/Qqb2PStPmmwWRbCorJhQQXsSjBjc2bnC/X/EfXShWnMEuwa4DD0KrAT4nWL4YoK
/5VvDqIzaMaEtbh9PAzSnZUgykpJUBQn9aJVsIoSJLpZdRnjBdyKxrgtmTUJG3HWk9Cj3w3Z8A0l
1cgQGYfJQXj2o4Nlyq4xZ4rtADBnpxBo7wToAdoYnC56iYeq4QLrvutbUocsizeI8+kbLRuMRUoO
N+ULeqYrc6l+1YkRFcVhENE1UnrGt0YAoZFTFvUybDR41jjG61rt/ulc3HLIxASoIHFxvuUIofhW
iVaewCGSiZNMlDcSNY44mdoAwWDIY0XXZHQhPEfXUcjUKwsiQZ1Hmj0bVCTovm+ExlAp06ahdQ5e
jyLU3rY6dSE3pte6RURDlCaK+7lZQVBxQfRDIZBi7RuDaIREIY/EXFXROzyhDPZO6rUCXK6c9kce
dydxXsni+RLQEelx6WknLLbimDTA0DzyBEEEhjiH+2B3uJmAAFBnsmMotrS2WWuCgDNhGjoVNRMQ
aJpc4mOjzAS/3dHZ6xHIiuQ75WTQ7XC2VbmIauhcaxIcmnQtNeoumgQUtb92aFhO8rZgIsmhi+kx
4a9TzV6VsF7USdMC9JGkSdGuVoVTF73CwQlu/W07DjVMzZdwmp4ddTkH4wiEoOhPMSBgbl2NbKhq
JOpx/lJydVXpuzFrzrcGqwqDUAQ87cc2Oj9Lx7cmVY2UsSx+u59TzrPX45HTYxh8eqyQQWEJEwFT
rwOFc7THu6r04TWwurjXKCWQqWvIFjmuS+Zki1DxoUQ9QrPfge4J5a4VPz5NlEVBtJdo1rNsZDuN
ECjHbbBm7p3DdhT2B/USocuZWouSEh4FhBJPJi/aT63oMLIxEFawI5Z8/PVG1+feNfv5IFHvPG7P
jlnkVuLCS1zo4bzE8AE25L3F7v1A6egRo8Ogi95olmk0ag+ncQGhlqggP19z5C13iy7nZp3HQobc
eTTgqm9Xd4cgY14iVp70evUGCMRwHeohKXAKUXR1zCtzwCTM74uOthqpR+Mdwk+6RfWBXU3ggMXh
9XCaFM2iXnHGb+iUDkmDbJuWufcYShtLNCJKNIpOjNaNDJ5E8aUWHcNmKZF1xObBBRSm0U2hXxII
KxOykOh43+iZgqavSNVoFoMLtKzwrQEkaIigb9G6PfJpPJxx5WGPnmCbNR7kjGeDGdNq3IYaiMIh
U0lPwWZ7DTY7Li4zulV/gbjwrsfm0UJfzDqml0MqtUYokKmTQ8ZCHfQoLXqVVDMXFh03HcFET99w
A1V9slaeZQtnMYhWF6rkjCB2iFGtZlCwalY3ukoiLEkqPBVLw/pL4TrdHN2IyjfbhdrIlxGNp3H3
btuJVioI6SYvMa84OOCwGQM3EDcBC3j+Me5aO5J6IadXNDAVNMNO9ijMzY2NUGuA3rQ6HKLsn3CN
iY+o0Ef2rcaQaFykdLYx1NZgH2pTQyrUSoKU9UX2ohKr5iMo96l1s0YM8XmMwjG+wzE+HrsIAy7Z
NZQsnntoe4er2wwEZnrDN8XMBAOH5psK1LAutmZEpSfaI/6+a9CpTc/RuGGRtnCwosw3SoTYNgyT
r4wyBAoMjs7AJdovo1EuSTYYFb45JtyhMkDnWpNHkGJrFY+2e+YLX88SkGS1QdQzAcJjiQtNipTr
ulOxxr0YjGkPZ0IXVPTN4fQIvOwEP2BINoZ4KYcZHbgDmWVbd0zSDluhCzzOAzvstlM4QNKwnZRs
Tl6zqFbauhYHCBkE2PY/EyvQTe01oBDZxsRv1eqMJDqUkIK9jTKbGxKQPGpKoBuMXto4tnD8ZoIn
YvSKFgUITiORErx6ToihQzNclcpAq4XT3xBPL0XzkEGPGkFYDPxp5XCUggeZ2F7zTY0G3M4h/dSA
EmDCnXYVWJty28gRqDbrHxUOalRp7Bu/bVzL1TUoG2Y8A/eRFmBwQjrqS5mozMiB6i0u2NAY77MN
Ywo5LT3sw5Da3KBKMt0wh5Ae6WD71cxeR40QPEpCZqofakbQiRbqhtBG19CNuE+h7ZrdM1CFzWqW
qFjhrHAyV/2apzgB8ZCcap2XRS9tTctnREk4oxrEL0SGlQ5NncvAFcJYDcIRZGO2Vo8mFNpG9y+t
DdYtvp3BI6h8BGN6u0IMETmkc61kBuqKrbvWAB4UpFjZGEODaevCYQQGZ4GcECALJHF3aIHJvBNQ
DF/AaOxzwxaHEo88iG+AagCFhQQ2iQEchYc8wr4h3hrM4cJsYNW3Rl31iJ3q8YhIhXtSCtuqRENJ
Y9wQUzdAZguZdwpXSqwKDyn1DUkZOxStZGcg8poQrUnusOUH7M2T4CtE9DSy2XkBNXMSfXN6LXrc
Nfs+GNT3ge1oPpdSoTE0TuGBUX0zmeVFc2IlKsq3RuEytla/ZlipnIjVMGzwrS6NGnVpNHoDMQkW
CHmPeVUCpgesaYFRqMTdtUZmhpuFMBXVAtkVIigv28K7JRcOzqzoW2xXOCOcJfkOhHiUP7WqNYIA
TjAwGhMFBm8OdWjyCpdW4eINay3g5thGMzGcn8i8dNRU1bcmhQiNICHd4EDiwTq4A5yDZRTC911D
1TpctepxDUdr/EMvMC4EE+8UhGRm1CGRYYekTzNWEJdN++YUJpT/rQduJMeBetU40AfuT417qyvX
Y5oy3LRemhbnFZYKs63V1TAEAfYBs10Ti0NRl5ZNu4h6WJjGwDFMee071yg5kij7q4Xf4JBCtnCn
Wsx8xD00sKd+5ksgp4QiwNWqAqFRT4dlydXqcVQ+I8HJj1oOdo7uW654cxC48WD3bEN2tOaGMYzw
ucaUjUbvHMh5cF2HdLyAAbcUy7Y36x526LeFwh0tYDrXstN+R6QDte7rGw0rMePU9aYFcqAcldBI
xcdXx/3tg5oHjI0h4wIzwl0r6DYoPWh8czIkCvnZ6dizpkYdXIzFTjzuyOZ60Kt9qN6CNFCP3Pig
KZFLY2G6qceFPF3ncRGRhbXyfd9yaTrUoYplC6fvNsGHxhKrJeZJC0w39qZBqRNobC8/53lu4oxM
hDStmjtYiKRxR7ocPzXg8L5ZQu6Rf+FQf7GZvAxr2DpeayWdIyEkjweDtcqZvGz1/kE3x7nWTDME
MtoWYwnpC9WjHrE9nFooO2GYmfSjssJ9L2nGrqikmmmsCKlTojUlATq1fd1AzxuHDLRSDNNrAtlQ
qyjlN41EQ5G3rqcrUzsXidu5WNDovxHwa2mQbY0hGJo66AXmuuOuCxI4orNfAsNP2UYMEIuFnco6
WldIrPSNCi4Ug0hdXvPKTFnUQdH51ogC5BL1xjVZBQjX9Fx1xjxXHmHCyrbcwQ5xGrrmDGQ4KJzt
/T5/O6pIV7ifHyzl77tGazWHx+FKPBoCOoNSWMyMzFR7lO4k0VckMim97lqBerbqjtm6ed4TQgd1
041XKI+jUcv/1PkJlbZ05dbXxpkgULZzjF2NpgmPA166QevIEc73cq0EBmqgoITDsb6BxHXL6Inx
sxF5WjZ63cO+mca3imuFRhlHQo2suK8Os4C95Sr5Z+2IOFct+jTkH1krG4GLRAeuhW7w9SUsp2FD
xrkaCJlziRpXZQWDEF1lcbkAnpuIO25E/YjCfNFqvI4ShZINlmd8Be6bZ8pMp5ABsXA0al+V3W40
mr6XTPOGWdwR6V01hi9KnKqTqJN1jvORUew6jOJDD7CY3LiqkEXDdzzUbraRZtOiEV5qNHwHl/1r
zIW1zOjlwouAPoTEz0PVag13R6eMD6RHNiEpiyApx/XrzH3DhfrjBXZ8oMD/2nWMrdpQwsXUuQQ5
NHewH7AohmvV23wgwr0SvjUlFHGP+q4hrqgErHMY+8X9Pq2zGIjDHIrOt9iBqKMP2TUGQ1TICVE9
cN1SjwqEZ0DWTCJRoDxLb3Fcj+djdT3wvhxu4Azrr9yW4VgEBopm1Xf1+U4I1mD7hk3qGb0AJlfK
Rrc3WMyUONyoKWLfHGwGm2xY3NEGKhljUKN9gQuKhLao66jBxHdNGanrA9ONKnCretaOB/+hwR0P
1lwD2DO3yEN4vdMtrB3hSNIydKM5EY+kDfbZ6OGIANnJBq8VFg32XTOgN4hBYVtmxSKP23qMhkD4
zXUK4zgGMjp72+EGe7j0zrTGqKHvxiynafogHAxhWoNlUZ0qTkpK0Si/EwIPHcL1wcEZaUykgMrZ
KoM7nOB+lL3oWrOiUCGZg7VcqT4HWWU8zyNWsaE+w7oJOCMOb2v2toHcOtsDpyBxRtB1UYbF+OHA
HVl0t6uR26BqdUxahubSEO5HVUy9KyFiCAmNKbgWamYn8HEpDPuxHScmSUOvThvjlaOChkAHsRmF
YeYfzzYFwQGWLyYaawUQdOcatVSY5WPFAnZ0a6IKQiOMAH5EZIWhpu+6MejRt+xCUDCtaY+oMKeA
PW0V1EBP61afEYEajShYpZAoE3DOkmcCe5UiNQRJWAFSoBjPkGrJOfYrQAFVFOlNHFCURfR9KzyG
pDYpmpO1EKvNykbnKQuVuxIYLG5YU496ddhG0l21iibhBBWv8DwMWLEpOzy6Tzd8V+slrhLe0JNH
S9xnGXZi0svZVnrV1BDOjoalwqLRR1Kirjp9azgVHjMKCaTGddwYNNwcrmh9qSt9wmBzFNtMa0jY
/V1wvv44WRXqRsmyDEZjjPSD46ZTjNuNqkytQ/RDiydiKW0x+RBOrBFObxqah6re9JaiRVia4V0L
50e/zxaVzxRzmM9qtSTsUYNdHOL1jYEqnWmSUxA1prN4Iu8bhE6V1Djk6PFIE9wmxcAbEyIWj+nC
ODztFO4zB39be8tmduJthdMSjWt07cJYuWux2OB3FwztdbA01XMgo0QTUzHoDMHfOkGDpE7Y1gQi
lBFUuhm2oKScFPhxAxOKTrUSPIjMtaHFDDJvOLtk8ITU3vWtHAs0E6KvN9Ecpl2hbpSmx1U0Ld4j
m4Ud2PWtehB22sNUk42aO1vu7WfDjropONMi20KWspMaV8g6PK/S4FwontrYi2Y9OsxUOGBY86B7
ZFeXbbHXVA0NGXi+NdkVUVZN14CNUYsc0bUGR6FumI02wwm3RQ3AhOCvSzLqOE4XsjFtADWU8h0q
tGz0AzfaowbFDoda3sJSRYu7pXhpsLgY+LQSuOsFpKl4WnFGvjsPRUGkHkFbzdW5Eqj8vqjrZfp/
oaS/7XHkgKFutovWROZHeR12etIU66GqWCWxVu3bvZy8cK2aaoEq9ZTARcU4PLeiZdNQqOucQt8f
URmPMqmeqRIcGXxIRVD/TVVqfvA19R61+oCdV5VqzPqGuUgvW3wsNAxQmr5VBgDr9/s6jDRyky3i
JsPUjGt8tW2m+xHQLV0jNEacIkyCT+iXR+hXq0uFR5rRu2ZfEwTRs536W7M2e67QZu7hg/Zb4v5F
EN53zrb8DuR2dKLl9KCMStHntj5UAvFKcNMqt4UosGwprdZANVKJApCaJc4C9rhQJlxQFGBYNMtO
yEZzY2+YaXSTn4vqi5zCuBskiTqWsDglFpCsd7Bk1jXAJ+/rbZnzgeG0LQ3J1nxoh/kB3nUtXq9B
PpfpW+kI5LRoJ5l8hPtDNabW9MgUuFY6oVXHhnqLSWWYyX0TnwNRehXscZUyf0gtsvjuDJKidhKy
1WO3R1LuuxZGisgNveRgzjRTVrUmlHqU78VzFXTXpt6jXafusV61yY/VNah6T3UoFuxx05tOqNZk
BET1E6D3+JDqRa0AGLRrDAbRKLNeAxOcOu0gU6C53lrzVyM7pJGc2wazUxlsv2HjQ+80yn8JOEVD
KsuVDY6pN9RdluZ3q1NBhUW9nazCjVKHOBTZk67l5zpkwfu6gsj8Jdsq1NCoDcHUSAD5AEaiyaCu
wQrpe4xPwrSpJUhXpc2RbdhxJXHWEGHiIfgXrYNHlNxeAWc5lx6iDJTiOuRONx3xxqRqBHUeBXW+
DqcnagAqsXVduzUrgrK9YQmOetchvrzHlAQ8e8z6DjcBM5Awb/seJ5wgOmiodz9UGvyv+PzjcL9d
Li/7+yM9N/3r7uXr+bxdH/Ul07lnuY15BeIEvuwf58NuWoZ/fEhCpcdnC3V/5j99PP/Yvd/u57/d
rs/9pbqKIk1n4tCpNEUvv0R8+sfp/jwf4LNuejbiC1pOz+5fHrfL1/MEnjXz7w7KvtjN3eG+f7zv
btfd/fQaHn4H+6imjSD3/xbe//Vy+7kjS94+Xs7X/fMMj6Un+2pzx8f/Wb7ax/nx2H3cvh6nj/Ar
u+P5sX+5nI7gDf20pInOmFGKLHn6cbo+d+fX+/7jtLvehhc+X9/YBUc+efrk2Zt8Px+Pp+u40mIr
JfhisoGz4Z2fP1/Pz/P+svu8Pc5x88CHunnvZkU+r/R5uh/ix37uj8fwgfnN+M8chGQh4vNyl/39
7bSbTvp+Ojz317fLCbxg9dKMJ7jl2g1Vz2mzoqXrF+8U7lz4wj3cpxHg4T7sEeV+3O3wWodwicOi
YD3yWbPxppKfFmjst/OyfC27WOZ437/tnu9fHy+7n+fn+7D/rbdzAz6Qb9Rk5eZlH6dLOLnb/QE+
kAhWavIQFXJb6MExzu9E9N4kSoevx/P28Y3lqoK/WuUZxWx3OF0uYKmuJhvLpR7hDp3Did6+no/z
8TR8P1iVSlzKFdDD3QWzESR39/IMZ/r7hMTfl5LWbVFku5/vp9MFnC5ZtBOZDCPo6RINck+/8ojv
Gb4dvKipWdfL+fF8uf36vlGw02rRbHu1vPU/r/E776fr8XQ/3ZuKbaFElopt2MPD5Xz4a3e8nR5h
O5+7l8vXfcNtm1+VzMk43O7X8F7hD5//Fv7+83w9BjEPH354nn8AuXHkaHRy+Ja65XN/j4rltH8G
TZXUQjj68B/b+qbvFK8G000Z9uGeDW1LexGjOONx5YsGzfq5P5yfv8FLEW0VobZwXZb6avynvOL9
lK9i62NtqQU99CrAOvNnpm7KpriDcaW3+/543qLuyRUZ0odxofAG97DY+fM5ubThn5ME3r+uu9eg
J8KxvH3Ea1hdPO6+GK9MdAmIjMfFd4/n73C4+6B30vmiVfy8SiSxaLpKfq/91/F8C5fk8PXB3Yth
KTEtJbqkarIKPF/Das/8Uo+gqPBX6fmrZn7BcJ2Csb7f4/aE/zsHDzhfidv9cmTiqeHF/PyN3eRH
k5163j7zToVfuPxGK7l5pfh/fr1bmza9K19IrJb5vHy9na+bdl3Nux4dTdGbUVzjQlGi9nHzw1VC
296X264rawTdi1aYt4ZYaPpN23d5loGEWanVUuePfXCMtuyOnJaKgYGSG8VJ8muOCiKuGQuFTL96
vR/BY9h2Zcz8pfEf8+37OP+KTun+cSKXBm39vArx/8af3wXvL/19/2N/zmp/i0AQsZo93vnOpHcK
9u3H/nI+7plIdPjIvlRUg3t6/vi8bP1AX8pWnxXp/nA4PR7nl/MlGJz05OiHn47n7Ao+0ktGy/w8
/Xru3k7hH8PbPnb7X+HNv6Ib9Ty/hjCcjSfiYWcdqfvBl81CNPiaIQ7/uO7eT/vgmDyyfT7sP3l3
J/NxpgWJk7e/n/fB7XoJ3uvp+PI7xV33IEnhZaf/hVtSkRVn7OX9dPlMH86+yeD3x+ei9zE4H+n3
Btfw6/OYN+xyCa8SosvjnrNLXVYe43vMMOtHOI998qyCCeW3ZShfSi8TVIC2g2d1CffzJ+fTx/OZ
n0uOiZk/4vB+OvwVHdL0DwyGEJbo59ee06QZItkfb8k6hyDg9R5ChOvpJ77acblufiMbTydvwz4I
x0f4Y+fRWDyf9/PL1/ME9mReSYhYuCNGvGQp6+zuzEdMSDXRhbkNGNrueX4GUYYCJuy8RbGlrzLk
EgTBCCf7Oyot1iPKxKT5VQh88eONiD37cD+LFoGh8guka/d6uz2jegqxbrh9u/1L9Glfbkd2yZH8
OglO3tgcZARx/bo+B8XBvpSbXyqmbjW5P+HNdkHco7WDWGVYZhhJn95jhpvSKtdgL5PY7b+e77c7
twIVk/mQQzAXfN5nRBGCHx2RofA9n7czL7hiIFGNkjso62xvP/afeaeD+TxHMCgoptO+ceZilhvi
WUR9GQO6LHnn6+HyFRVdCGb/4u9CR/TwHHlF8Xm7374+J0OX3jGtzAuTqO34YDMOt0/2yRFYTSeu
p3sQhO7rfkqy8no+BQcif9jXmZccW9oAIjlRathd0PN1jpXdqq/ajrQFG/S1MrXT2V9v198xVBoC
7hAZ30KgHBzSqHTO169kLoOdC/7AA5+/Lfd5Rgn4Y1azxCTNbsnZvJ+D/b4f3nk14edfjOiyJXfp
EXbl8A4vtNG1exSfSKKekbSg55I3cd9f33hBIYIfU/xKNow8tu+znonoktHD/b69xSvOAaq5yUep
NtX8GhmbmKUEnyQxIzN2ORihyd8anKJobDeJxwB/pLebofHDPviVjyS/0U4mbX49pnvBypkvBTlf
y3QXow84qAbuaSI0JEwIt2AXnJ89gRWne91aUej5hUiUQFY6nh+fl/3vfLd4ReVqGxQv0Pl5+mho
OeUKr3C4fefr59cYQu0v/BdIIjn9BOH+OAePO3zD8P28Jyj7LQIzeJnH8w9WRPraa+Snr7fX8z0i
jsDId135Hn660tk8J1VJPd7zNSK+/L02pRNDDzZiTCnvQqOCllPU15yQc7TV1/0lmcQg/Ydg/B+S
P6tZ2kgH8cK9S5cxx0Lnjzd08pbInC796XAlTvAeahKIRHBvMqzBZzj9mqQmeg67MX5DdtqU7oir
uPZIn/va21yC3v5K0j/63/wNEuxWDNLyur+EOP3n7f5X3N3d4+vleT8Bh95XDS5ZEEtL1Zs6nsOm
PmLIObpSW2w/VS0zU/Fzf9+/3fef70MK6nw9vQTTB9wyajNnLXO9Hd7Pl2NwIJqqYuygtVByMdEd
3+F8HeV/k0nxXXlkAwiZRT6o8rcEP+1+vgcF+vjcH/jDl/NK0U9SrnBdh+jwNfrU+eh4x1XXovOl
K/B47n8PH8y6AbqmU2ejAsSOasEU4g58hujDxJ2JXl58h9Mn77J2tdjgds1plPdgoi+nO5CT2YeJ
kb4mop+U3OPr8/MWAf8UtrBbMFullMgabnTYxcn/h88L1dXEntxAVvObmm84h0YZKWmnZjJHqCak
g0nMWBJ/lKYmTRlZDU5FsLDXGJtFtfixv/8VDdA+KMvGG3Wzposp+D5/XZCp8+fj/MBKVtdwm/2v
HH5G5y1ubjZGrM3RxIDFy0bPJaaMnzfexa2dy/X0to/u7W6yPVOe7/Tr8/Zo4R3a1rCKuA3R5oyB
/dKdgXssqfKfL9BgpfNu7Q8IibQLP3X4VIJh7qJrGFFOcA9lbZGszo6noAg+zinZOsWiMb18zduV
3hIBX6LmHJ0+Pp+/B4+zHZx7U9t5GsE1wDyiaAgevsKG91mqY2DH+p6mdOIduaYbwLueHFfMZCin
J2MU/IZLCNyC4nzeGm68lLUQrhDF+ymrzhygAgmScoF5kXgwBEoxe52YMdfHiT1kEtoQtPTz9vn1
WSCK/IUVpRkbDGv407v0l1GRB71zfrve7vxRj01CauFtvAkpbhyjJdakuNqWjC/xvn+kT2PFVZUf
008RWrpN8DQEwV9MIq4tQc0xopgv4/32kw+6hKr5YkM8HUUuSdx4Fdh4glr6Lo3l6Uno+HqOmm6D
Kyakqb0O9XbTRzZjySoqEx75yocMCHi5XKAW3edNDv7y7Z6wzBCzBXfwyrOHMn+/Fg+k30+nlPzL
4LAGf4BVkaoWz+YLeLvzyJQsldpwZ4L7Fn8vBOWti6Jqbx7B06SXeR1WVT5JBL4+L7f9cbzyj6AO
r28pq8ZeFZJt6qf0eeILxTRgvqmsFFhTC5QZ2WYlW5QXLsvCIcHkSR7wNvYLpJ6gtmN6a7Bw+xfe
LogqyLhAlnaDYF6BMyuJaSD0jcEFPYaVQGxLsg7ETF5vY469IVBGlM7MELQFoYiuSLCPvzJ4fHv5
j3S9YMwmatsa/7AJpu0/v87hRTZE611f84wXIc7AkeWNUxWSnPQvASVZ+2hrUVq+4ZdzRIRy7vnw
jgBk05XYhSpwrwbmVTWw7TQyxexmvGSi704iHr3o19vh64ESjz1dzKTM5ZSVGim8+8sMCQ1JvLAq
fzaSR09OFxC5VmJGaoVSsJCig13CNxOjgDeyNR83LQep6l12l8ZHkyIYrGpEWYrcCr8F1BbO3IF0
1aMFGhh9Q0Y28hxS8Mee0SyqqcRgcJ8S3JKi8njvpmxQTgPBmzzrlLjZJBs64q2sdu8Ks0iv3cbU
j3G1HMkM+tAAJHxS/jeIZbLnPOZ2+YxuNaFAvia9BXMT2EV71pu65SwJ/BpZk72VVmJ/nAN2U/6/
5ecSJ1nFS6AGXZCZp8cyrzgZwC0uJiV/ELgvOarP35+nGdXfrWBb/pK5mqsxmPmPl1twWXgjVNvm
ir+U8w6/IFhFcgMpChQ0vnne3t7CqnQ5GHaRqCsZtiFxEczj4/V2/win0MhpSalZszJaaVb6TKlo
svikOxS3NJzW6fiv4d/+LXmR/GnPb2Ci/2KM28ydQuwSJWsu2f4rxObh6KLtg5fDqppzPuj1rDX3
j8iCRXeEcKcIwya9//n6frqfB2h01hjsQdkaC2tCKgXvmJJIyU7kggRspvBm9MDibRoArw13VNLr
NLMtxgQoyYluWa33NSePaNX7F1DMkn5i5E+sHp88Pd676msA1UeEztppYVNipWZhGHjl72vvPRUe
JVfyWNAZtyXgdUlnceReZpyUd2YIOpYbrMVRfgyBkJeNGpY0kAmQNpOEukgINDH5ljLjKfvU+gRZ
Bygup7cQuuymBFZMVg55bx7JkWxkOPnPn/fb5/4t0YyDYhmX55esWdxEIoScNJKCTUdKwo+FwwHd
BVXxmcN9fUZbkWhpfGTYs9ZzCtOh90RT7LMNzQB5zrQO0HtYJRl5EDHQpE0q/hdUrSb6MisdVe4F
URUZ137GhM02RUjQShJyT5EUokEIwmNI5sFOAM62vBflpM4C+hnsUtjS4y7T1qCVE9SrtZOyiODJ
qIeaMXpfDV8oUTETFVK8QKhJkX/LH7KqpfRSUjGTOUYnaWYc4CukFjCqnHPIcyprzCfzBl3UlMuY
P47lfDzQSGmGs7p/u9xewr3N7K0p/0Bo+BsdBNFVcaM5l5nBqE0OOE2/zV/5OF1eY2n5KSi4wwRg
b6D5ErpyEnO98lJfbl/XI4DEVI0JltGsXUr439uMBALRERX2df3revuZwyyaSgT2ZcG+09Rj3h/Z
QpguuwcjkVFEF/N/rmoeMis91sfdkc9Rs7DZMCUs6yV7zDFE+vwCdLCqh7x+nY8Q0t1/Bym6BmFC
vtCsj0zMMZjBa44xEkEygjQfH5vKNITyNaG+nh7R4OZ61oYsE3ItAbtzanTADUZlmzNtIBCkwLmf
agByYRevYUvwcSS7vadkZYNSLKWo4Y4F0z8TpcMRvaAMMSGAkTAgUe2C2nqOrPjddCu3EXM8y3iO
qZxUoxn+Hr03nv3hq5UzhRQOgPPx9IzIF383Sx+jK2oVR57vgKucr8Ffy/9xY+KrGiJEK7k/RwZe
uikZn9/mpquS37fgJefXPqeuBrFUNsWd1694ynwgZGv8ZBKMxbK4gciY2bc/W9w08tFdqgLtJx7t
NZMxsoXBy1Dgm8jJ8T/2h5wWITBp3rw5uA4O5vnydWddBVXNvKRvzkq9iTJKQuYy3ZRBymtEdiTK
H0pid5cQ3oBRZD0z4tLA65FVbmO+TvvPz6BC+VvU15DNfDbRa+LNYt22jm4Dn4IV1QqXEf1bIcwp
dtsG/4ka/PcInz9oPOzREnIx0SeD6XnZxyrJ4/lv2OwQxC9dU73YzR3B9/lFZI0cN7CKb0cS1GMy
cZUOMSfl8s5GseIxR1ljQ+Q3KcO3kUg1FZi2GTGEKkbk4PN2u19+7wb/bgZDeAPV1ZLZJW0iBMqR
KpQVWCrmSonyodfOo0GTEYuLKor2Fqfr0M/muUdfS7iKy0B47iYAg/C+6nQRdOU9g5yXdvaAEH8I
wW8yIUlEUyV0JMvx++JqSGfJduHVAOGvRj5DQXcZTgS8Pw00nM/N5chdy+jdJXN+AAFDCF+rJEx0
kgwdYR9R8fcj2c3IIgFhOFHbuZ3NHMhHffg8NTFEEkMTz3KwYkMrj4SmYiyiShWKr4EDLEFqdggt
mly+UTQjLNK8Z6K22EDqKPy6qLSya8ei8H25lq2nBhqBDuEHL5LFwRwd5zxikDCeqiJryczPS/Bg
3m+XI++VCZLEHNlBY1B0uqcHUg7pGCPr2G3m6wO5U3GxseOoSmG/TX/tB/Ob1np8vYRHbl/3w8D0
TGmzjCg/+GXdtCwpxrzuf5zfsqH6+X5OqcHXmImJeEf4LbCcnd9yRsY+gg8/NqjDyfW0hpnWiBQM
Xbg1aQNzMff/Nzrf2WXk11Lz+8yx1FsIpBLJKEUWQQTOsX9e3jt+KTkvpdJfhkYwh8dD/iHSI8+u
71QndgctxO7Hc/dxf7vuum73wq2qDFmV8JPDOmZ3MEb43cv9GERkF1Zl322aXV6e4rPTnejU7vQ4
7D+DeekseJGxubkqEfzOCBk/SKrdEDhGAwM/Sc/nR8zlU7jOdnL3ckzNmV4vIQb7uZNyxwqClkSY
FHklEb5L7R6xUiGYuuAQhH9jX2dqKa1Kjn71dUQHXkfo+uv4fFTS7F4vz5/3/SfcnrEAftpouzhx
szunI4eLqPmjaAQUzkpOFe9Cgl0RRGLmEGB+iz7L3TO+xp6XO13/Fh1fw4nd689jLKRI1NdwSK/s
6zCfUzsjI8AZGVN/obXIoM3p+1JruGlzdNyczsXOjNd4KSX/TX7WrMQw179JGfBN9KzJ2wTv2Ya3
sTLXQAV/JYnMjkGy03fNx0XL5UXX9UFl6d3luotucXi9I1qmIxd8rn94inDqUVUYpXcvb/fTZ9A4
Yb/ASsr3NXNR3yON9kj7uvYK6jidmAzWPurie9IVvERbogVntl74rKBHpUoPvAYbFGlu8aLHXkjB
I0kt4gbFKJJTsGqAEx3UIUqNhRGqSx6fGHrZHv6KiF6QzfM1Eidia9twJtxC4+33ZR/LsZtsZEVF
NDm6KRGHOAZfrusk+1pksfkM9rG0OBYjhEct+yJDai0/m9r6DN15b/fceyMc3vkw9y7q8hi56lpj
Ny0ztEsRuoCycjOeAckLkR/4ItXPG01uzMf+Hptx7T9DFB1TUze0x2rIHXlTkC8ysFFs8Pvp/PYe
t8mzn6bnLSYXBp6XYDddzy9Gag3yY9Mq04Z3gl2nIxtOqGAREY7BYwq0Z2nU7E55IgQy/aXgzaw3
ij84QWVgptxWN2pajv/CebHZtVq+1bjfhn2pgduQru0c20wvtX4hVqhMX7tq7GVRrAxIulEqOwS5
ivPrOYBUsdvSRlEf8sFtUR91CX+JrardPPYLwZ3pJVlJpnLXxhfmIbzVL7RUrmxymBuHyN8/q2u7
xa+kWPl0rtws31qJvThuIVh525OlqsgnK+qyLqAVxSl4daDIGrMvl9+lqukE/zqypg6m7sMbX2iI
J/3cqVQis6t4szufPImykEmQvEmofhqrMvnLK0y5kBmF6POW+Rz7XAY69v7JuGm4eXv23cRCH5i2
uZLs9g+EY182y6buBa9NJBGliH+MIBsvTPxiUve1jTpczp+jDblUn5NEd5iEl4ra7Wr7WVbUjpzX
/vy96MiZUzYUZ7t5g+up9CRtZppCzbuD2ta0f9qo3PZ5s1hLO+tGEp+C1+IN+Fgh5cse19MKH6nQ
7xfyJBSxRoTvefx93X+EHY5hQAbaonZlL9ZII8n74xJPAFyt+E7tTZei9C3dBt+S3SqqlUhenrVI
/LV3glFLyJPjNUFXsyn4IzveINR2rH6dgXGytnadh+gwuPx8GEidkX7uFb7e5uElDHte1PWed/k1
NZ7NcdPAl0ECRA027SmCLpvgL1v14BM3MbK2sh5IyY1E4kIGV1M9p9I0HAHuHX/tqANgU96RnhXU
/pZ6RAmmMFuvLK/cVM2+nm6vSAWN05uJqrYwoOGVmejLwKinu8HhGurCvllPTXw3O1iN285KpK9d
9uFFqkaf/9TOlap/C1LCe5JE1c5IctUdBa9EQ6Qci/h1mck3olxJbbicApKxCU16fH95u93Pz/eP
IBfAGaBBZeIZdhUEBgIvuhaHDC7OeP0Lt52/tdQLFWudv92o9Ra8VMXv4l1IQQQ9kgLEQKkDUbfl
o25dvzXcwUmAwEhoHtdmmz1B62ubPhq1TgJFSZ40fp4HtSESeeEjEVcTbR5d5M0SlUzqenHak8cS
ZFczcNw6/KERx42IJQ2M+K+RNHp0swtR10V88Fi4Im7WRbwrwl4O39ckB6A1vBYxvo4Es2/F37J+
Vra0S0dTJvUrL5NdDf+phKQbVLcWtYBpWmGO4e4xGY8jlHkpMh0DWzrPG6maQuHvHR97FVB8zTf4
hm9JA+h+HZ1UcQn2HpvumzAeu5Lz5WvJFnzKB9BW1vQdUOT8S3U18LuWAuFFStra23CoIm82ja9q
urYHzS8pv41QdQDg//ZiwLme5Z2kWId9P8SBTZ+POLHqtL9DHVjgg1k9Yx3I2/S+h6H4ciHHi2en
mJ1qaFNz4LWpqmYfee3AGjMaj5N+itWo5uX10EjV0u3XS1xsewAiKA4ybxkKrTs+tJ7vNKEs1m2+
41W7X8LhTXeR18hV0aIwJPKAPI2EkoJp+Xd8StyLeroIQMU8IqJdzTYM7Q/HgJgHemlGfQPQCxL9
NLKmADgdWhP52/s0hAe6B4xPBUIXXoQooEpDWN5BYz+x17X70cAiJH9x+/mOpInXquW7qI6H2XU9
yYrALJBuV/Xo+mC02A1LhgX416HBUL4uZg0cfDMPJX1X2/86FtG8OKpuIGr5Qx6dVQs4w9Qun+Jh
sq7mtNTQo2l3+Fivszy0MuMh4NapGsWCzfLxLsrSTHoeB+WjDSkYdkUrQAfB0KxWYom+bXEjeI/H
SlYRfCukorDKfGRAzfGnX0DZxD5xsT7gtXge8QXAvF06IbZx4TeQveQ3aU38VwmanodsAWBKlKzd
dvaG8IclvpddlXx+plBiOkF9G8ILoERqCXBweJoPD6tpsNqG86JIKXuikUqjwRgvB9J9i/PDs1gk
VbcTxR5zrViVaWwNLAB6gFe+hvqpKc/d8ph580aPsIr6AQyTZoD63NR1S+aAh9h9lfoJRBOk/RzQ
Bau4l48JNMVpk6pshKuadS1JXoTUIXC7BG5dX0v7IHeL3yYtINaw/DjLv1XXbU+wjwaK1Xm6Gjuj
lBuvYLq+ZoCRz6x5n9kuPPDBZ2aoWzxyQXP+c9cchsLDO5d2wdrajGTxEmFrHiKIxdlvdKpKtIIC
AVLvtQ9d6vQ8drlzvC0VupZqBvqc3SjqbLg1WfLbvktJdGkBrfzVsa5Fn+c5rpLywqOKsk2OK2+l
LIMYDp+Qj3y40jmCQW50/y19zr+VNvW3qjktfFyp6mqTbDKfgShIV37m7+GbweskUV7Ytnrj2VaU
nZAdC7nRwedVlK+G4NVIkV+EMlRIEFVFGvlTK9DBLdlFzb6R12wqAlBWAEwkl26Ghd4Br0hsFSLI
oR2fv1Cu7uawgQ8gpUiQj+a+hw/IqF/RN/RsER/wwJUpJRLvNM8BdN1Gb3V6JZ7KXbj0G7i4vA/d
+TqslyWAf06tFGOPMgy8a+MkLAZbrsQXldRZJAuLIfd8ZFktjOD3FHgNqg68Ar+B558b1vMDADNP
diPZXhNtv7H9VieQVyIOwKaTse0kf2upVaKqtq6yQaEMlUo/E0tA+QYfzhvF+LYt8gVPCOq+X5rA
lxySWJP0KOStE+steVUDsfhULftGva/pcj4fxucKKfKcKjOtbwBivLL0ro6DLjIXvDNJCac5+dQk
NrDKwZltEfRkBNjNprJuSxrsN0A5SfmchcFsJcUB7a1KA+Gcb/42a1XXCj9il7VD7EB6Ob+lmu/T
A+YxKLmLSsCwycMsln2Dh10QMfMckIatYnfdc1Sglmo58qrl27gFX6LbrQS+hRjyUaLxVQ4k4z7x
t5gGqgvW93eTCLoaY9RtDc8xcwyhHYQ9fJRn6zwLNucO/Cmy307NOXcAHfPOOUUtKGMY5xKAnf9W
ATHAP3pT3/wyt5lVDtYNvf2eQuZ96b4Dl3qxSYMyBPlyQdKdpkvV8gY3FADf6CAvj3f5ePzWAxW/
UbhktVCiXh7LGwmnl0kXvUJXeK1Cnf5ezDmJQm8e3vf3/eF5uj+QWtEdVepJvPt28h4A0WZ7l4wi
kgU1X9/tCcFHs9p9v8iWJ5f0NXC0LgmgLk7Wi0HbZpX/TGG+1/KA97OoTaVBYe3OAPZ+v72SsLjJ
AAGoUTNaXWJAgOkIgyk1Cm5WYbIpMHq3V3mdvycFLb3eQNNommtp2y/2Dd9G+jphL0Ew/LdQa5qZ
kBqUF77waKlbIsywwQDoE9MV1Qqy2RCCvcvOVgtDARkWgKVkMSnSXyz1/kvtwlc/9wy2QA0Nby+L
Is5+UcT5XSnWVY4ZADkAuCnYmvfvwFTSfI9FAVxh2gzEpaZMW0NSzfeEoMZ0po0g8JU/yjpFC5lR
/mN1tbafa4TA2wVPTbucvSDet+a/j3qLuaC6R/qA/zhFL95E+OYhHD7LTNU2Ne2cnPKq1titJeeg
tpOml42ZS86X/atw5EEsJWkA3Kg65qOPmkXi3ViQOpd1qnWlrAuxjvoOVs18wxP+brKDL1wXf7eH
qPkSkM7xquU73JolnreZnMFHN9U+cjh2Byn1mueZHytWmp1EXlt5WLxWl3y+zOB72AlfaSQKLepX
Ce1vMMnrKRFg7HmNRSllYkNDKlSvuQBmW5UdoC5IL3pSmCb5DmQzfU138aaLB7+KBMSarrHCngFS
5eplRmx5O7DNVfmsqlMAc/RVW8pvN39drN4cbQP0xnLcNlYv8yJOVajKCzZEgA9CaBp40SuvoeN5
aaeVNGTII+OlAb2nlwmNre+mT/zLbYfRANpEhaJasFmNK1gh0+ZbyXQeApDUHaEEhSEY/Nvpfhuv
49C8mgf+abVWEcJBkwg6T5a5+c1gDE8d0LVwgP9UYK2J0xTFTvgt1h9Q2Go6DGWXAE6q67EKn3Bm
w1caqvi5dp0VM4Bn91tbbI7cZvYD697NhjI3cJp1C/ldxrwoimcX0f73MlZSWwaJbOWN+RSm0N/r
wQHUmem+aZ0kv2n0PCnNsUHe5TM71dbMVdQOFOnK2kk2EEhek3ViO22ujQa5712AtuNKXSiYbgJU
XuW/6ZLzNkl7tl8tV6sPAHPBBqUgl8JKl3Y17w6pHV4pav293Cjvv5pN5LqBkN+DCN58P+3EWyJf
49YtGIMgF1N9l1JdIW9QMywL3usFkb6tI1JIJhFLUC17PLbUJ88V7r4l3xva0cvtyex2aWvVIJYp
9vcQ4/0tGrSBcNQKjlVvvtX2i7/Lwqu6GeMACdA00daab+BCedCXUMJG96sryB6m77a3yOZVO00X
0YbCDGLNp3tVX4Nkx12Ks0VQwl4v+WGqToRFfXNaHc2+28+0yrjJmUXQhECxb9Hy7kBb7mrDOFAr
BLAHprKdpuJ4lI9Wh0S0IMRHSFp486iqFZpsDQS4Tv577C/eDtCbkOf6OQAHgGosV08CMJlyvgkA
RbXdN+ilngc8KKzdTbzsKp4Guup7SOwYrurt9fVxanDfVa2gCog1T2Ch4wuo1d1a9aaoZJOJujgo
AM0W7Dd7zPF9DKt810VTFND5o689DnBrPsak/GuKi9RiCd71U+57LZJ4HeKYEUQgLuHRI1OfP0Oq
80FQ2i1fpAkxg/LU/luFAHxVsCzqxLc1L2A3uz7dhcshg8IQsy212fSj+moHkoPRavf8FUfZHlII
0fFtawsepkyExjZVBvj9xKL51HC0Q2ofMA3rfh0P5fA8a+MaEvBNYqWpJVK4BBEPiFL8a1uIJHjf
yDNlxoxLwl88parNokH0z+eJdDV9XKVKAFfS18ePFGXdG+q5+78D7gI0wH5b/DJRFFlPyclvdecG
sUff1QWKR6D5ELkTGyfIgVBEVaeh1EMzfhXqHtEZCABEYreo3qSloQdY0ax/Hq+hAJDjYUv875Qv
C/3d+8vHAvUyF0algLY9suwf40gIydtI2hiLdvvjG+CzH1KHU2q8aQD+dts6E49NZEEuWH6XScjT
FUx1Bkvty3jzqHQtD1PNJvD6UH6jjeUAHgK+ra7PKxmCvooruaUahhbX+GQyG63e2bW8XXWaAeN6
FRrX66rTr0UXB8cGJ+7+edm9vETUCE6kFWSObGrzrlYzldM04594mrGyxaToQdHGocpxFat2l/Pj
mceqo+HMYxQxvQ2c/IumGav6NOPqQt7yCxk63JsONPbhlNO0ch1nV+fZuPy0XlMfixzsbB/2R7o8
WVl0uwO7NXQ+PCGC0LnVj6A9wOYqsrlu4sg/w4f43SEOzz4+4Kz0oVJ+Gjm8nu18Hoc742nKvivH
geuFzLksc5Erym/IOAdwmtzeT3sahzvHmeJxT38+scRZwc3hFmlbXNjcj4FQK8DodunxbPJ5Gj2c
Cj7f6nhaSi62uB+2+CVN4QYLdaI+QlvGD9s9Drd4EwW/u+NQhJrcz1I/jmxnRWbM+lfUlIrzpXWc
tB7t18+Wohr7KyxXCvc5rCPEjL7yh2Tq8+OL0e/xIvOj3zuwKeMc+/f0LQdeG4xA0GoZE2dl7463
j9179HXjGR925xu7JXSG/OwPzDJnd+ckdIeG0C2O2k56Ic0AD2d9uOwfj1Tozh+1Uo1B4maX5ojH
j+LWIFPWqYZZqEl0D8fph0kriAkYjwIndsFg7xL2G66P4dcQVD9RUavphA7pBGJb58TX+l169C6q
1JUGWUSJLKKtLrQyZB2/xti9fHXEWXAPMnzW4Xn+sbtck6jszrzodvWTrtpn9FnecrYkS53OUnfJ
d5LXL474U5LcpXjmand6HPafJ3zcY4HfZKEl+CanwTe5urdQswJi94qsQFe92dU3khYJT1fujkbH
1SN3SuJPs7v0Zc/BhWAVhS/Fp68rCnDJR+7LSlGU/hRSNXI+b8LBZK5mh3ZXlzKMjik4EvxCUlWP
qbRPh8u9dRnGzFL6NDv7VuE2hM1xQeh+HsNB3R8xfRZlkN/lutJZRxcC+c9jE9J8WDINpixXCqon
rXTBps7MOx2Z/0N0ON7yc5674YFbJGTV5C4FzyPBqzsyY6xkc6z0eF6yDuVPSZKvoeo4XPu8J3pC
y9HmSuorloc03snzeCkFvJSu3Bu5OCKZjyiIEPAXu6rfOkmw3SrB1JXoyS7baOyMdvOUFf4+SaqI
iZohEc8Y8Ij4Nmy8YznPaCm7aGuMrcuNSZYu7G4Svdf9x/nyuxFl98VKEkXZHdI3ou6cEH8gO7Ib
/AG53cD06JW8qtvx4chCiJ2OLMa5QE8IXQ+f4pEfkhTGvX78rRGGjcX6rLnzw9W6DAvx8tyZ7abc
I+DIu7rprPoEyGpJvcmhjGcP3mdsvltBFbIDJ0NkFz24cMk03CISyZP5YTnUXGBi4c4DsIaEEEUo
H4XnEGzo5+P0dbztTpePlFbhrQWNz2QlPvNDfNYABUy3/bpqdPQEXWjKkHNgoZ5FgvKHDZr+3rTr
Ula1dOmwjC3NYEzdM46lCLZd7R7v++txQ/TYu29EW0gNacYTCy8TXSgrdvfTZXc5XVtY2TjmY7XS
OsBRILBm/HcZHw9/7pyHYAH4kcoyjYnHI1eDLL+0kOKu7rNU9ZhHkcRihx1BuNTux/lxfjlfzs/f
8LNU/w1t2KMr4QVGP/Sgxi6DE8UHogvkTvDeGA6R7IZYYPIPIVw1B1sR5VRiQt70YOWjRtwdLo+W
lTcLMUSHr3uU/ZDVqL+eRkFGzOj6Ql3Y7+Qo6t2P/eUtXdM9hCc950SvzJjFZkwVqRSFUASLtL1l
Yq8i1ulRrLMQaYTRKIQe6I7H2M1u/7x/Re2jEJKmtp+3Q5vi3Pa8kEEYDfWhKe6UfLrj7hG0++P3
9bn/BeNjXVotuQiZgguVI4Of0KEfx9us0ksyqZ2Yyz1GB5MPdKi5ohBwTVlIbIdF3aIvlEXYopau
EFvtHoy9aAhHA0qTgZ7gyn8+ojd3PT2wM6eI90Qo1/U9EniPuu1GxyI16GTdXVkCzBLIDrWAfZGh
KdfQaI268isTKz1KrJgy7yvYwwbZA8e+BXVyBHJyTP1gVoCKwIAKyUym7GRtO1CmloSfZG7SEse7
5fDjiEw367WtkGToTHjPubNyUnOGV3M0G09Rs/B4srIqCNfb/fT5iKsgWEcxL1L315Dh7zUX5I3Q
xevt8PXYAl0I3tUPK1k5Nnluu/qqni+KApxZfdhFt3XQwiap0SYSe5/3/fXRepGxgn/p8Q2+dRS8
+DnX2/XU8K5N3QWJZ3WIIcP1ffd1DR92OV9hcpHyQuxMXShvFIK8ugYQrXZT9NKIWF09GK+gt9AI
SGO4q7lyGHHAYOoWrh5RORRR1XHg+ZYGx/UtmoPGC+lOck71jMOct3CTaEbZztTkSqZcNDLlLCqY
N1sNm93Sg7YvMSbBhgsCsxlcV80dxQ+bnKRjkKXrX/Be0CtPDVaZxELZCAIvpEkOS9/8r9Nv7HyO
/aZWuNtCubekRnlVR3CKeEUDbbO843p6kfQaYqqLBoCtsTgXMiP+ijd3hFO34AKtiFIY9fXyG/Ey
osPpuiIOpiG+kZa7y+kZdWicRgFzPJLgbISSy0RiBvmung9P56AQUq4El7KvJCk7kKRkEivV9Cvi
Igi7iUOAAjFvN4PqkKjRYKMNGadn09wJ17AJJlzu3ev517GRZdSEixClUfdMdhC/D/mwGDtrzSmb
hqvl5TeAXgQoqIZjQXYaABzjNPCK7hq+Kzz8dv5Ic0LgDilfJzRWTJRKJop3bN0iM+MBqReB6mbB
tJBVI2UR08Kz8ET6piEiGpmnAKVjCGbUjxQavcmCutrzXhuWQMLfpjFiEr/gFp/u52cSw2AoklfC
riO/kc5DALZqsABIqKgw9VSWx82x3ixivQmov2Q3ZhsamTOFkxYzKRcl3rWvM6+rMSfCQX33DU8d
gY++zkuYtYUL2uL11+ejRZPQNIvi19mGKV2OhVkIVcfGZhzzTIBMkB2a/ZQY1vQovLfIu2Dg+Lrn
hLZa91wIm9wMNRKP91fMPVZUijrCjqkQqgXGdL5RIyGQUygMdlMJOUFHmiEgJ5RZNHhDHHolyo3i
cCbgeCu1HR3q0E0VTIVCQUNqE717w6VdieUTyHaq+v2skRo6TGqwXA4mxE0kVcELsHL1j5mUTtjh
t3aIpXo2OhK5IOD9b0O/G2RmSOIuVX+gOMQip51ujGl4/4gspjum5KgCcnYNkFPXeRpLC+qRBdV1
6loZXkH2ej1rJ0xSD1INHKjcNw3SzTzHoisLAxTcFXKXKPRCLNV5m6mSHIBH76REd1JzZSTJLzbZ
L05AGdwWtT0VKZGJkn3dO85h52H/aJwPFwuV/jn0il2dD7Qm36D3IIyF5BLb6slYgIArlji/ImHg
JDwptmtqlx4phd5shoKgV03BsZ6TWli7JO32QMGjzInXdVpA+SrooKXibFEFuNHA3Hf1tFKRFUDW
tZvlJXqeyq1YWp/vvx8TTYs3jWIzaiMRFVJw6cdS7yMgoV9wewX5pHB1rJpRUJyLMhyynJSczkru
/PHWYpcbWeczUZcOnbHm1P4q4DaYVzO/R0y9mMUHifxBx/Pj84KllzjyKdaxNUf+9YxLqYR1m1UV
pr26bTRc6NqZehFVeZEQQCMUX26q8qbuf29JGNoq4F3kAIREnCWDmalzwQniRBA7QhGrlceC71Av
t9e4OUTz6CXnQI3QaY6uYWhtmSrPZaQv+bsoKE2D7ovvYop6POax6UNKJPA5Oer/UO3d5RfaXL0y
G4F4bFqsotgxiBUYtvLbiakWAWmOMQZRbA7BfTmeHofT9ZgAAwA7Kd/KRJ3n4hOYRBLbg2KDPsyK
7fKsUcil7fatVuhiaCbRnPgFRtvUyixP6saeZz0bu/A8UTWhcnUzVeZz99fDe4NOok2LZ01o1rwG
o94evVzVLUaHrr8hPRq5jVpvNng4KUrTEp7Ymi6SWbWOXtYAH6AMvOzUdjC2R1Bj/w3FYZA000oY
rj0BFEKSEKUo7LrmDSIr0jnOUoxkiW1cCb8hn69QPt9uJ/12SIaFaHGzRxcSuBZ2kSXu+YuJXAsa
rDcJbCjx2C9Oqa8SN5DXJ/oGoDcDVrIBWFksMfMGQ66urcccqzTfpZnmazf6eGBCqqr3T1mm8sES
qpO4eHR2TNTuFaXgGVrWouQY8UldSa3BFWSorMkoNtgoeiHxXXvIGSsx95uqu1noVZzi+OFLpg5G
W73h1dQMlGoElOr6PVoXiyrUrUFas9njwyGh19uRRYEUpxTbTZtEpk3Vq/PqAojeyDCJ4UrZBdDC
WnG8+YEj0UcvInXfxCiJc9tNlEBOhPCbaSTI7RMWkao2tEgaJ4usegoV1PPzNROQcA8J+40qcxQu
dJZPCq7gQhC+yn4bvOZQWkVy8pdsppC72ODyc6CcAcSwx+dNKmihN/GNHIJA3oRgSoMLBAjxSInk
qeQS1K0UsrlOfwMvQQLjGIEpGt0BrEQzNaprInTXIEIzddLFZYqlKc06jn4D/I9UuaRwQl+QuegK
Pbg9XBVfhS7QIAjZKmF46VuhhBMlwIA2LGgJ11X957q0IUekVyj9NmCWKM4RtiFusx+uGn64+0Zx
NUpbecNXbE6xm0GxW1+X/Bq/XQF+u6/z7deuFezxKL9B4EJujJe8ryh3MeK63Y+tLmHdhrDYIXHp
qizjUlWj/DVBOmNTOAWpEyjxbPt6SLy4yCgr6b/RcEEjxo7pcIwvcgjaAj9IJiQVGsG9Qe/jOrb8
vkjLSMjaMUwrEpvaeB6UjOn9w/7Y9Dd0vyUiRlJDHEPaEqzuziFXo6vX0dbxMmTmjd0OpUikwZVq
lRqf5x4bQHicqpZtjmGFlqnq6X2w9jxDyvacw0tUhEXa11dZyiWSaIGtlxLXjRJb36DbdPXK/YIa
8rKhuLE3mwv4UHpc+q2gDMyDdRua4yIwUViNP8cNKb1Ho3Wr2m7wHULnneauwCoegdurQdORLS1G
BbHVFB8qZR+lkDuFcVrSUgGmgL+xsz3SUr2t0mXKGODlcvgLsguFk9XPKq804rqIRWvpObBPcfSg
nGK5QasTs1n0OYUkbeRlWsOlhEahO09Sh24BxSx8QTGhULhEULgHqEfB6cDcbKK5I3FFWf6wG7Wv
tD0p6W4+7U0/7M2zoSDqsVbZGQS2RPhGp50OIVyd376QRwt5z3CzMzP7MPEQUOEsEZlktatAmYBA
Wb3bZbmzkEcktsY2uCLT1uPPWvgoGuGj4TINUeakzm/0Y9+otbcd52tObQxQ081ln5XqXUSFwIKk
6gqaSo2BgTqaOw4yIT30UWDfL2xIX0VjYYkr4+J2ieAQSdhTUx5UNendZndONNw5tuX8ylXGdLxl
F9y+ZucR06sz9erEquuDIrW+w65YvxsVrUBFYuR1IsAluuoXoZELnd6alWhU0jucqpZirMZqVM85
rjZslZNAnpRgUQJJcjU8AVTW66YqEodDEddthxokCmAl0yq+hm2hcSoOAUETegJQNum3N52DfWqN
39oFT7dqhhWXY5ll+BTxilYMvEwGMPkEhC1ZX/d9qq4LCo46po9raZEanqGqVhRUKBLAothvNHBV
CLljCiXqGAyCTqzaSq3B2cJWPGx3myaZdBwUH8nvG/rxKWXZIq5w1KnZwWF//bFv1fY4hJ/nkhzk
dXO9UOb657H8GdkkQr1fJFpS8aDVu6/7OXe2BIUAmuP2rJABSEgU/EyVmWaBYjTJGoIldNOCpBYl
Epq1s7rRxMfj+JVADY3xBpLro56bFAYNc74/nrvL83lv4Lzf6GXSIw3R9228Ac7X4OrsFgocQc7L
/AJxwHf32+0JwjvNNGoqfHfw/apnZnIU34/yi4S2Fb14pfk+vtA204MoK4BLuqto0F0XLQUN034F
3WGzkUAhUH2SrU44WyQiIMu15+YgFIIFI1TL9bxcagDV0AB9faHFu6DSGbcYYwfrj9GN7UAZKE1O
IpCQ67tRc21B7YJepOdrZfwg/aBss2w+ZtTB3fPbaTEWeX6WmbCSCgx0sOSnsfUgvHyMoajTdFAC
WrL0ozWyATyDVp2sGOKGZstK2sSwb7XOQkG47Bp9pkhzAQSY9L6dOkNjNhXtZCIaQYNA11EwbQ4q
NaGNcRRd3RIvDYBqGIAFKAbLFNBR2Y6bOrQMFmUrWBT1TkFV1YeuhaiD1OWpI+hFaK4WbYGzYT/O
2+01JRJlRiRbNj4WIJ7HCkTUlb4X3MzMqf9qbDS1vx5OuP2q4Oohl+EIxJME34IkV1uffpGRGHxE
whBg1ta7Q9UGim82UwAw0F5S1C8a4PDXKkyMkMxe4nG4JIxAuVelv4FvoQSL9E2C0QN3SVO2WqK1
3FmHqifExhvZ4RtZwswkBJab8ACB0+IjkvpsZSg7zo9Y99/ExVncXN5laTKcb8VQFhcnjDwsVRp+
aCYNEjYOeixuD4p4uWb6tc6JqC0Rx8tbD2mDkIvZwvgdVDemz7tVb4q0VGzg/Xq7fzzSQ9O/7s6P
1Jh7f75GMlgaqhyij/tunFJf/SGZJucMCsiPmJEw+RSutz+n9f98Pz//fJ4ez7A6WGoIiNJSswU8
PB4f++f9/Gsnj8HoBPF63R9Of/wC65hpncjsM3Kxjtq6jp3WiQfs8zryuNi81/Ov03Hcv9O9+oEi
w1hZTPpF97VppcxlCg4ZWGNIhfclyfBxeu7mdSIv6nn7RKuYaZWIe46F7/MKh8PXfX/4jZbopyVS
7fzyY+QRPeymh02k4pmhpcb7+Xo87+635/55gs/L6flI+rFZ5g63j8+ggY7zVjx2Px7z0Tz4Fcd+
4X3Ztn5aUdJF0TLzrsTAre+mZcI1Og4dr27389v5ij5vFpR0f+1qb3ef91MSPLSKnTe5T21L3GKd
/CKb5G6ApPoRe8n787fb7WP3cbp+xQYo6GlVSP4IVEwvEpz+r1NqB/tAq8ynThr4hp14nO4/TuFa
X2/Pb1zHAdZKL6XTGN98wz+DpHye4jDq03dXJJ+p0l/MWofFPUNriNVW5ZvxjBo0S+ElXo9plsLt
9TVc96DTXoP+fv5O1/9lf/gLqVpHVK1II0+Xe/n/xiZ08+rZmpnVxv6/WH5ARPzY01nYLIyPH2/p
uj8eSKsPTpB3BdFWZa3+dgoHvM9Pxi2MBVlhN8lEuMv+N6tIkh8yiHo0QoTGlVXaTgd35vR2PwUP
9nIL332+ht/bPU+/nuEfd8cnWtdP68ZgyEwHlsVTHRe3Cb5jP62VSLai06sD+gqyBNdw8/ukNHDl
7lzzdqFV7LQKiQ4LW83fl7yCnvd77sM1PP7zHNz8pKTUEa1h5jVmYPl7WyqnJWLc4Pu6qv3b0OEG
rDT4+85kLNR0WQF83oLTsvvYf8YCwfRk2JviPw6/UX/LuLvCDuFZimz6yTwtFwILDNmmuECsrzH1
BXZxsMalvVg3LZbmR5j6YsGPv+yv+zv6Lje/Vvw/V1/peDp9olX6aZVYrG6YVRRaws6f5CfHarWE
REuYaYlkDIJVqS8yKmtOtodNFtNyPoMMk0HZDT55ejAPQxlcr9319LZPl/hvdUmNanecDBGzTCQv
NC4x/oAEKwyVN30/+KHyf46vNn7cg725+RX0tADpwDq/fbCN0Tce3wWt5KaVSBFqNAIxTgjKjDjY
W5YT5d7Y2Z98nOn2oDXkvMbsNZUHlTTc4f18Od5P143HZqdlSXxENffhcv78PMF997XdItd+MJSb
PrOfhUBMQrAUIyRF8z6l22/Lo9vyCrMckkTpqHiGTd5/BN8ALaLm45qrnJbfQU4MfRIRn6HQ6X9l
M3D5ijp+eOo1IS6RFvUXY5ySiR/A8hyRRGj3f85L7Y63w9dH9CMvt32KK37ExNRx9xXu3+NwP38+
wcpDkiuuTDbu/Xw8Bmk8v97DnuUPfvx83eUfBKsN1iWuligbaoD1f4aw8PZzd/s8oaf7+emYyvHZ
NoU/dv7bafd6D05A8wUGClpcguij08fLKUdcUaKHE0jeasKG0M6P/o0vklyf9/OP6A6+3G8/U+uB
j9vxxBiFYZ/9vDOzqXyLYf/+Hv4W3u8/9j/2+bx2X/cLWEvOH5n6NYV/ovJwP32Eexz+tj/+fkTZ
RR5Lfjk3f+SMwx2DsN9vv3fHr3v8xOvnZ1BPP8EyA6KQzi9s2xCt5s3fP4M/9xLigkeOodGWE5Gc
wbjDff94D052cOTOx91x/9zv0nmerge02ACUpMXmBNqwzbeX/wgKMy56+wst4uYPI1WL19Mzgdlp
FNn+cDg9kCBpssaMT0SFez8fo3kKf/k4Pd9vR3RQovYi//HIt2M4MHQ/yUvMAFY82Whkh1t62F8u
4cSGY0+LfgWzckP3zswSRLJ5189hh8MbxukGwUSNLxlF4jWi3oPQfl2j9kK/YMj+5TYA0xUK1yUr
KXKFht9JflZLa8jqttxPz6/7dRcOKCiKtMFB/IP0hosV9vp2elxH0Rl/bPgfkSSZmhSMj4d4K5xD
PgYk07MuIah3lsBxVyPkPW01WkuQq9+lQCgf3f7HObgit/ukLo/nx/7lAhfTRFlGURODW1Gc0Usw
yX8NWg+dybwW8U3Di+SMZTjo8yW+z+7lFBT5KWuVx/spXMpkCIOAZeFD16GqHMrD3IXzgBpGyEJ4
BicvDRBFTxGVm7JCQx4muKkf59HmZl13+vU8XR+N+zfrTDJRaNJQwyULgUfWnM/b7nE/oJP0paJR
1fU+78Gi3yNilWXv9Otw+mxpilngSICVZT4c4OPPvPafn/sQKv3Ju33ZY5gtYeILdsRUhD8cxHe+
//lOZDci/tNhf3iHlmMWQAJWZmsWxDAq7aaACXLdZybioBRv1zxl9uMrGOmwabv03kj7d7UrcYk3
afzG1hLKl+5e3rDHdf/5eL89d1FF7+97bFL7+TWETnFbXuXjFjzOXfI9UoQzvFL4/8mNRNKmax8W
TVL0X+A9cr7cYTkYnntwq8M9Sg+N7t8grKf//NpHKJDFcK2esxvEWSudhuwU//54uV14yNtaV0Pd
j6dL8PjGDYorhb8Fdfjfh1cEb2bKLMeQtHkPfmjr9qXXmZMkqcBaUnmkPkTcr+n4Hl8v4ATTuiS5
MF/qct/BRy3eSjXfCrzJnGJI/U36wWzwHl7qPelq6Y1r0Jan4AzdDtHXH9yiwdyE/+3x/vUMSgu8
jOlry96HFNc5+NOfSIWk77E1UZzcjtd9+NPgBWztvKvi19oiTZaSE6V5WCNfjWSOC5+6/YZ2zuHE
X9CzUzfd18EPSwgu+FRVblR+v/TQ7ZV/zM2Sm7ALVZHcMQ7eoDj6WoJrCMjaF8HOt1u5KSU7KbMk
go+sea5fl0sMycCG+PLA8peliDUo5/GYIj0OfxLZ1+gsqk5ORxTBzLzC6zkRWE6H8/4Csfb0ZrIm
SqfrV8RnnuiMSVpVz3qZCAvY277YWwJ4xfgr+M1hP4dVzujl7bwfOrHj6IUcdvf163pA329qrzId
M/jtrnakh9s1h2jgEHXtwVM8KLzhovhYnd+UHHn47bCDD2h0zPzj8eTNwOa6hZfm0gv5anYrVZ69
u1N453+bNM6/ZEmewoD9HXlkXT1QXTi2UxS2S9gTAnaMrLl4I07B+vLBegRRCf/747EpRFUkXpj5
k4NqxGYk+0mL7x7ydJfz4a+EXxXvESuOwpWIduKNlY+8nbrmfsHIOSqxCO0mxzBqsaxc29Ae+Skz
AfKjHozuUyYhpBwLl7PMR9bX9pIDEhpYnK8FXmMIeT+Fm3JHiIwQJdg1v8v2V5A1CHeA63avIU5G
DrSxpWDob8fZSGptDcorcUrsXebAZz6wqMl03uT98xlCuAKnguBXJ2uwyXjs11tQab/z6cd/f77v
n3nzYrTcAKdkNfweZqH8PB/jj0RWR7pvzSCtm6NakTgPw6GkV43GO4Sv12fpBwzXrInRqq4mLMtM
Qrqf4bh/7u8QjiRo+2weBtdi8KGog8iq+yyJ81VKdkLXgSgUR7oaFLMGoE/PxquI+cMIJyHu/+s5
XIXGfRQ1qD+rglic8/V5jPHEIBYpnRgMAgxySeA/J6Y22w7d1W7hCsyZQJHdz9sdpqPMvGCismSt
H5V5OOfwnTNmGCvg7qfG7RG+1OyDltg/Iuj4mjD+ZxJt5OZkgZQ1K4etO/pOVeKDvgW0Qk+hI8eQ
80kUN8mqYYRxLqf9PQrq5dRC3rWsITqFMRvClzbk6kj2bvLL5wsYnZl/jxS/WKjx9kQqTFeBr/Qe
OdMQXmv0NRrKX/RM5ix+3/30eYkp4v/8OkEzq8idnGGBuEunj88Q4TVudFdzGkfna0zZxwFnSQv/
vJ+h0+Rs9TonMUjJW6jjVO3hzEOLTxUD19CO6Br2vTQEP8+Xy7+drsd/DbFvzH1Hc4PuX/XYC4X3
aJq/XpQ5kvUtGQX6tkH3idIy6+J6JCP/fI/J0sft6x4EKeXQR8c3fX5KfFwuMCMj5+8m/LMz9WzH
EkZ0JKomZsPjxB1s5hrtLGApGVtmmaZ7d5udcXT/utrVyUp91PPXW1KE0IbJIpEuBxZTeDqSVm73
jNT+SDyG8+MZeZxRUVdX7IiNjpCLjv6XHiKCEMQ/b2GrYzQfTGQ6Ww6C6ghIHxdKLEAl9BRX3y4Z
Qh7+ebf/rFc0xss0WOlEpoy+jLGCrrNL0Sr/tJieVtH9UdH/SYFyvHfv+/s1Gp3gw/w4hzP7DWx0
R3gL8aOk62eOQLnD4Hk9Px/bIcjeDNcwXI70RJy6cBocu7GcKkR4AE0gFQdGJBrsUNdyeGQ+TLZ3
twFJej0fOGQqsgvGZqHxpvRJV4iRORp8mJGq34B00kLdtFAa2asH4kKqd7/twjslVZjXBcuIaRkV
QXAVUfC5bCc7eXPpSfr3XVCtWeXv4iSA82caNwO4pWam27qUy9ELHgFZG+jZtJaSNeruR8oT/hoq
7N5P57f3J1kVUWjVTHwlaDN5o4lCNTHxwGp25kuTpNAAKO+e54/o+0akjXeQMh23yueunsGoIc/A
J8nHMH9pajgorFuuGsLSIasXfbmUMyTbGH+zdT56JjVLmezXULNxut/m5XMUGP4h/+dTNP1hdbCu
m4nfLhlsC7ZkCyya35ZKZuqHnRVOUDSfj28cl5rXIVzA+rtNIR16L0JzT2zJEX+srfh1nfj4nUCy
OXPWTRROM1JnM6RB1gZkp/y5s3RKZ2c9TYjnn3k6cWQGRBWEvnW+0cRVJpd3HJWDpGP+tGTQBL9b
IS47nu54uZGxNMEk0VnaKMYAy82vSqsgbJ9pdsvXjd5sWu3zff9AJ+HIm5Ja0tqHB1PMlrdl/eBI
MYGNfxl8/FHJp4qRx/s+BqHzTyA5md+OIExNIVboaOabZlQC5jfeDIkWNWTRWBg4+IuPr2DTaWXf
xs8mtzdqb6PAh2+7u6YnCkGm+sVBUQVp+/b7zZ+rZfJE/Zb3g8cy2xaTMkxDTnR9X25fz2aVj5ut
KKF2xkqrcCfiAts+sy8Vi+Y/cpNpV6QUKsF9OcYL/vH1mKi02xwOOes7G0FT262k43h/sk77oDRn
hUfyCo0DRFfA+PoBkiXjqoNbmdnkuRIQnWPVWWt4kkjMzCy5fbxZ/doxwrz7/FpdqTTdQH67Ruz8
43yZ2MObxEya0oEccvjnXHCROk+BGDq/kGns0yAQ2SggsVC0xM5nHJXf9EZ1aV6Sap70FzeAN6kT
y+72fI+IYvC2oNC7qrzmEsTjdAVbe63nk6PDbmrfhgip+T6TD4vrGi3oh6GP6YmPO7djnN9ioY8v
AxPn8JVLaDMQ2XSlnappwerHRniSh87y55K7mI5AbogpsrME5cMQG2+SkTeML9h0BEXNEYxaf2Mk
N6swwlBIedX712fc+BgXbLvT81K5sYPLmxVzYwMheH+kHjNfiZ7Xm70WJcVcYhLk/77f+EqaXm2d
E5X8CV5Or+iFjCTCH10UFLJk8gI6ORL1+rLFBK/noTUi/nzCfIdkVulOnJv77uZ9p93e8ItBP4w4
Aalac9CG2StGwkkKhnORkd7mtyJgxTKO5kI4H++3+zPNLWqpHDlfweho24G9Eh8wl/MLqVYP1ykv
8XXNGOGjEyCHEIF1PzT1jzPppJuZhXGFoG8efeP5CfTkFpAyEcXBAoP9iAsk4pwoFxC2+QpjLbNM
8PDcNX9ewzfXUPNnxOqxXi0+Qzc/Q08LJJPsFq/Q3skhgk87SYpopxVc6xXUvJMx9dHLaYFrTJd9
xvzW45Qk8EfsYNAQjX7eEpIQjMsdb4fYoSO2HERv5IfAMH1R+iS5PJiuLV/z4SZep1sKaGNTxHwu
6f90+bxtPj9vauqjIpfCJZuf0M0HS/gIcYHEmTyHe9q4JX7w2tNZREkTepaOn6eXv87P1mFMpR3p
S0RqwjevkbRJQlQPkSWN32VeR6jkCM07Ejzs4J38aq3QTyvQTBD9ltaemlk4Y0ypZrWTEwnxBZry
6cmX6NRiVpZn+2dKh/6f//7f/vnP9vbOgkJC27hUcLLeG2/Sy/Lu29U9aYnpvKVpBLy08xIRL4mh
U0yGDF0nHq33ITe3L7R6+piW5pgFnph49lU+L/uIacfA4+v62L+emuvPH0voFPONbJ6VIgukrKIg
G34/H/76vUUEFbdH6S1M6yW6+SVSZ7H5FgS/JdVfdC3d4i15hznsIdqtqV5FaX0XF0A29aMmXxFR
Srsy340FJN0GHf+yXKJ9FHL+ClL4Ma3g2tsw7yMhBn5DYhvXyXEXIn+haX/hvAJhrBfy2tJPs4oh
ePzCCjXEzc3bRKqQ5u9oOntSFmp76ezJtj+gHKdm8ys0bx1xN2Ojcu0VYwVbe0EskCxk7iMKxwjL
NQSjKwVXrjRZcz986X8vvBPV9k7Y7xiMcfNQzWwsYj7LzrIZtjFuwoY4xJIwwq8lSzWPlZryNMWl
ok7bbyFKNbDQRL5phS0xTH2i582u0fXldmzbFe9IRKbWKl02XQFFXsImVhb13D/+47FNZ1niUUQx
lb1Y7kZTq7rSuKiaYDTegpxrlxddmtmmgPtStLq6q9gKlNlr8m33xYvS/XU1SW1sy6w3RDSgYhV3
6+a+aDa+W/u+TV9IEPdzrYWaKqQj/m/m4HQ1b6ixKbK0kUs/ohnDS01sw9TTjEbgTW0soBoTTQ2i
CIwQNbPp3FqDNKKr+f6TGtoybm/pQd7byP5USw+ScDXl04kKun+9/G7FZeTxBIKJSsjc3AZiWiMQ
oexCKJvi0NlSqF3dwreCFQGvmWxbaE2c/DkVlVf4+EyZjMZ+zqo8zejWrhEctj7Jl/HXEtVpq+R5
TxKaYErpaOlPxSn0MWZp7qjHblfbqGhXBl6qgbU13EDNrUbEveU3CO7ajzFGS/vN4p56g603pRUK
EscjnrDo5AoEbak/cvPzJARi10ZIuyHslgurRyvQjLUMdxrTfWtJ6CxfiX0oVgBZ6zB9ETAulYZo
hjmSYMHhuvS67gK27AABX7s1OtDeys5B5Sfa4KnEqLhsRgZacgjHd6N4T5wumzt0rmOlpqfkIGok
2ytosQoQUueb9AaJpP7BZIfjH7cjeOYH6nMf47WBPH37yCT1xyPRDY+nw2U/sk/Df4o79Xq+7i+R
9HD+OHPVsX3uuxdJzKbs+3NLTUA+z79Ol+h932LyN+aiT69PVO0fFhyHiqVmqHHjxDQVIJfrxo6a
+/v5wWRs+9y7f1hC+DRVZEhnj2+Ue4Sml4lvVTCXG28n56WjTy/09Ha3j92P8+nn7vzxRmsHOyan
2c/D+kwxtTYslYd9pyGXH6fjec8u4KYFRjQr5TWTAk1/PvXkHBu+pg5JmU89/vdd/eWiTh2w08Qr
mBN+tTUkv4Yv1xhymh+3v50vl/1QKHEfKyYuf6aTePy5/3re0l/+j/Ov/87InkkR0bD+WKg48Kbi
9//JU7LT4Q1OnxnLS8bSi/IlXhsvMMiDKQv+yCphgT8/wQpqwKlM2cposUJ8F/ASel5irqm/XU9/
3pm8eP5lXf6yJZsXZe8BHu3Lzeuqmxf/gndv/nbCoP04Pw7gp8mO+0nhVPYryA74ZTN/u5scw5fL
7fbxcrq/AYkT04PeDs2VUw3JnS01zq8tameUNzu/OHjWF0I2tmIoP7kpqfMiJGLNL5BVH3oDN7/B
TIeKbxA84CvYrfmSpcjKg8PCb2/Liz722P+JX0B18zmThMFh/8kTmvKL63K3hl44aWwGemwWTpKm
qXwv/lhXinj9dn3CJVQpboN2O10uzcOWPbkbgrthr/B2zeqBVDdmErwAh6W2ahV4t/v51wnz/eX2
68/H+W9c8UF+UpVS5tgXAGuQw5t7hVTsCtg+sZKiVMk0eG25G9c/3S6ALDVaxomtOVb9Pk73Z3j0
gZi+HRnRMLuuw88GEXr823uw+39J9PN9yTl1i59HPK+O0LVm1kDsNHg9/uvt5+N//xWu/BF+vC45
cWLx64j+1pnam097DvZtPLcF0TY/Gl/8X08vX+cLfHOva3MpVlsPP97VCIHzxyNSW0eenZNM+ef/
PYKS7b33tjy9lfBs2IXe4vMz6BP64hOKz992CEp0QHjjJ+RdQPLv5+tHAmqykVtkwZV1iIs79F/u
t69PLMqqJo+r74Dv0NfUSL6LGwWiN/xbbLrOo/8zFXZa8hJhI6AemreA9iObt2A4B7iNAmqEdA5Q
FlTtUiXP63/Dg25ErTx2/fJw77raVSpfHgrAokLQ1oQQvoAsX0AulGJboXlTswfTJ8Ct78pqATXE
n/v7j/M1PfLrz+fr7fb8M3Zbe7v+GYfo/aoDKmKcJe/LcCXegj+f8a8sFjNhtqVjEX77+Of5yP9g
R35wHtIaHns/7Y9/5jdOZHN2BSPKV3az7D3+HBpM/Hm7nH+c2Jef07tlt/Nff4an47isz+FN/uPr
ETtisS8zjrv0pWs0vAxf95pfYuTd1kL9WMz+egnBQNjP4+/r/uN8+PN42sfRJhx5Ph3LmN9Y+Xv0
s/LUdnC281cRnz+dbV7gHv1tcMiyuiv36Xiu+x+//7y/vfCbI0Y+wrjGJF/vw76yv67Jr88pnvBk
2tj5FT74NYSdtzEhr5qea9iG5PiCozUSyAXdBSSjRLbm2GG83Y1NkLp8WC6P4OXydWocQadryiHf
1EG5vNyeT0bh54/wrrrG/B5xkNy1JQtdKdTFbgaBaJ6Grz2fZ+P9mZIa/F2ws7qJLGRTPcnfp9gc
B3/FxHEvZWJ4iwiQjv1RYoHf18cVvNN8N5JDONYsT6eyf5wu5yvQPUKJ2ssE4bq3JItcDTLKudTg
h/f9HVxQXxPsxZZ+ft0/ofYUvmoHtovmyAgsF0hablji43w8oq0Q5ILMjQTHG7plK0RfrjBsBXme
rbwaPsKXys6Pr5Bs+LbvEN7WjMbiQPb/+bVvSHhXlfCVYABtIara4rhdsMceS74cVkRPFTpEVOmS
IfLkE0afAHyFrN+tyQpvPBYramprNGSHyz4OCeUedj1zwUfjxW+BrZ7iUqbBEVR1fvj+jFEi/1Co
qn84q/rYXJqDRwdl3zOX8r5JAKhWWN2F8xG5c1ts/uvX4f3BpL+GS2TADozL3E/Hxl2UkvHP3xcK
klfTunaTqmq69S5dTUlVLB8webOeSzGXLp26hGL/+fkL3AdVdbbvCxsOTKb06HzzG0hk/xVzI98H
AJs/CsVd5vT1W3xyYRcXS8+/fr3FwVRAELq6jZmSJeyPalPzFQovlJ3xnF3QarBX85nu4Ow8+XiS
+F14w+g16kphfv5xvoSAreHGUp88VaDVYjNo7z1RrdJM0MNkEiKC8rk/xIwAfxFsTRDItzxP+0vr
S2ztS8bXSJnWP9NHAQPVi0aQ+Hbft4LErme92CLS5Z3Zrm6qZmPR8gEdo2dHY9c2OUItdlOvVDW0
WNqyemVTsCvVLJeJO0wTuTEfuQ008NWtpBLBtpTIzxv2KLZ9hp0XSA2re6KmNgBLQitGIMkhgICq
HiwnN5wqaN4+kKiOrMA4jTwANMtjMbO3imvxeoZEmHNuP+/l0hfnN9QysclxqwsiFOfEEAyidUOp
Q1gQWop9Rac7VYWW+eN0xRDYqTzrgzeCbCGYIPu+eful63g/fotId71pYDfJerdUtATYzTcW6uhC
JN5//0Zs2Nv6rk6pbOhBGsE+nSUJ+0KGc8BoYNUwVwS2rvtTzbhA0LhgNt1kiY/9/Xa7IjROVb35
lDOI9xJoFQXB6eEIDsD/6WctSyrM0kUMy8ADkMox4XQluOeVSdUXXm1fC9DUrMnefL2JuSpU9OT7
NEB6qxntfIc6zfYbotyf7+cnuojSVf1pilk14Tvrt5jLxjKeeKEkEzp8TvSnP/fHWGQCxXKuyvcF
75UcBs5p2YV9kSvnoY06WQ1Q1ejGzZEewDAUA91MPlRDRQkaLC7izE1iqaraZX0g6DBcLXVE7ugW
0ELIDgBB09c0vOK51cJiGaJzWn6h10yEUerN++kCon9O4dArB4MUmsgpYLWE2/A/bKrHSSHh1g7S
wGL+5WoGBqkcz8JqZcDKByjMOVAD3hBuKWpw/yJh31b90tQynHN2cgNIKlroYMurptBOVSo3pD+E
0ehDJlwMfIdDwNhSf/OYiKliIulUGmA3A2O8b7ZjffUTIBE5O1O66ljfv5GwEcuEzcqfbBhyQQ15
AV0QlzS8AW/4Zo+ckMrojWobPtezhJCZRvEexPkUVBzwTvuFZ+MR1rhLQg4Qx3ljCEubmLERpwNm
zG8xQC3rYTgWwcoC8T6v5Dd4xocwcOk5hbPEh3i8UG5MIgzp8+YJmfKE1tBfC52oU6DKRCMQW7PB
kW6zNLpOo53dAnwRWS05WXPR0Z8/bihr53wDy72cP1r+lpDMWxS2sXEk0rZAyD0zvClLqarqQ4o2
4UP1nmXFbdKH5DBTJTQNBBqGiJ7imi60MbwVSOcMOS6FdJZm939BzmtINSFGkJ4lRKI2LCJEzxOY
NrErfB0SXjrN4JIvHD65lgcMapPMk1ZTW5+q1jshySYBQGLhq0WaosEmUFU7vzjXnARDPriqX3GK
KuMLLrSrIbGrTBxyWchLCJq7Om6McH0PnNaNuRLbiFC3EMoEJZTJWiavxaESdQ5VhvKi2gDep0QB
ZUOaqDOwjMWyuXm5AUpe7zbwx5Ln2uIlICxrmLKEwBLRyApfuEnmw+6LDZcKZ6a7TrEphi3AUyea
NxKiAto3tqBBxBbCgSMgqC5wcG1VI5S7uAWV7UQ9Gl1wVVE45YH1mxIMwISLDekumAs2dVJkkSBA
ulEwunGVxuTvdhX/K+92dCPA9bbMLhTwcDP7CGCzLYiZkVy2oMWfIyaqpMsUjICWoVOmmb3bkvGS
NVy6lMjT/cDNXRnEEtKvN+N4ekvA07hiXecRPLzcYeSpbnkbeFs6cltW9edzXIwDdL8ki7rq5rai
fO027e0e4SidK/kTrnL5W75Rb3kGcIv7a1iWGQUUG+rHMIDUKBo47y5Uldxe2QFwWySCibFnJJes
Tb9AExsJe78BKW/X3nTCAjuWvwCIYsflNqMQoNSi2ZbogEiurYYYS0SzlfrZkuNs5cm7JXllzaNu
3eq+Y4nkm+B1vcXBjHQ/pORMnXZBi4DadshbWJOVPQIeXhLbCPUtm2rryXt6uxsYC5MerdVE8WJe
DV9W39LaVE+koyQAUB+hlcZhMvELkLkBkxhd05rLa4siOlJwONdkV2itjTSOqzrwVb8RHHLPYDbv
2zA84lmQ2sEBskkdph67W/ycJyDgESsSsRdd97ka56ItH91tLHBdFjWYGksXhUQwvju2M3zas7TQ
jZimrdaDVt0KHu7oG7BTs65DbKrraHOeO8p5pjgvCdlbhUW6jouuiWgA2GSodPOR8piD24ARtxMG
naj7SkSbN66HrYYAGcC6ASyVECtJJ6WCRoi0lOEj5Md3ymI70W00i81Y2fBE1YbD2hmQlfu8jRMM
G8U9qkzFlcU9DZedcHN5pzfmwkEM5plY/9hmFXa24bRugdGsbOYZGrzvcCO7ao1LtfyspWIsatLQ
kAhTP4/j9g/RLLGx8dMWMjwblGtjALKwLZTf0NuixfDVPcMQWqo1/j7UQ9i1ekWaRTBG99gsFus2
ZBAFwmUkyK58p9yqk5r5iLSVKJ1NMZmC61YhqPKLIHnaXmvVSa6KIplrFE9L1QCDcQMKIQxD5azw
Unlx7JlTWDK0gFuvG3ZuGzZFFdOCq7SlVJ+C8yTrdN8YSAtpGsRYnKlRchM8hnWDsXx1+1b17HuQ
fZsVBIgWuzZhpXWW1jKpz42sO1HfzlJNdUhNCY5WNbEveR0vmNY2c+tUWIjSc5Vy71tDIsXJ8kYh
EEoxBaCbOoAI71H2uOHwMaSMSkURcnEEowyWYBB/Cq5uqefgugFV0/r6ogMtqSbiYxBfc5Jq0A+A
FyFzbEMk0+uGIGKNqko4bq1RN3mrgvPA82cgO8/hq0VTAcxKdHV85H37IfQsY6ypSGgAWPQ6qaKz
vOcLPYwtxkl2PKCwmQfNYqstt1/ZWmsHooya+rDDgrAB9RMk/ErDfivhQ4Mh61Dnk+MGJoTuWZu0
LfggNRKkzXBRsNsUJiGB/78uigcWdi2VCVr4estzAMI/BJ/M9Vyn/qmXjFHF3QzPGef5x8Y+Hemx
WS+Hx3rpteVHA0yZ//TkHDeEJ611mv/BIWOWHiNNGON7KvB9Y7Jw/aLhIC07wKDvmKe06g3/koJs
JumhFn5MO79T/M/peV6CnFtXh4/zymjwcXb+PQIsfb0F98eAQ+/Ic3HmyHQGQjnV9/x0iLlJ+eon
vbTaoYMfsINJ0tz8sl3Hbo2dnyJVf/Gp4J4qg35w7NmvihxFlNEgMRZI6OJKTKcYe8xY9IOuPP7p
C23vBXhOmVK2553xnRXgNEYy1SQ4k5wKF242eK5jTlEq73mBG0tZ0nMz9ylpGW8sv6dKamZrtJYO
XKj5+xLdYj4K1TvJ30RFPpDUQMffs8r2QGpGXGM6jHlrZGcU+EThGA2VLj8/LKWfVSnJ68VvND5Y
fPCDHSc2QmkJ1Ab5RUJiiXIaXH4F1I0rteKkppQTwFYIxTymtZH8zwl6fyVVwpGYpMB7Ok7nx7yl
ADffWUZjSMOr/bEmav2eSht0CW3P7It0xiLhloa5TEnS+NE+/bwv0XEYZhjFfdEKHMTYcXCtLbTs
gckWtvy++fJ2xoDXNPPPpVY7ovQtgHHSlvEtVCcdkDSjyhMkbxoUG9AWHTFPfRq2NduK4M4gW9Ez
d1CFzfHgVV1pDycN7LQTwH0yzGOx+Qh/I8aEydoWSm06sKPSc1cwm21we4mUxqDL+HlnrAeK2/Sl
lPazVus7B6xvx+nfXqGT6DQjbEIHzQ3EdKSgVXxS10toRR3zoNUduIhkHBdJAscLZR0wMGMfj/Rc
X5hCbYHVFqp8TnazGrUWCI1yjCIN3pNCG2rme08aVCQ3QSDLRPzuUrp154E+FIb1noQB3prkfs7J
KGm/OK3WMU6X1cA59Hqh1GZfzXQg0hqbdFVcNaOB2zwirmt3JMZMGrlcjnh58/ST8dyB9jVcLBmZ
JBYZ+sWNmO68U0Bpj83ok5x1RTDS+U4jj4QNDEUw9R74eJrR2+E/WXQFLSMzwefqDDjErpjcp2YX
oRf9jveBnGKEJnhAHlhsIZmrZIwFgYikvkXpAnk+QvOec2CFMRooUK85Reh6BAgoyaErQqng5KHo
1RvOl9EGOV0d52yH/QS33vecTut78J5jNXBy1ubmBNnQ9/oBPAsuKohVuuAHqa9WSrbVfQcjO3KX
5q5/Uc3wRslrX5wgtWUd0obKcI6TFK5H6lAJzwAlvhceKDUrOX9beSPhT3aSEfC+NyiSpIdRonLh
QhlwfQ2HOgYfzyAXv1OMjxB8Es9HPqKEA+ZQy2uJvG1OPQ2nKMApsldfSh7uIp7MQtP0HoS8QnP6
3nfg/EZSciXE1h7sS0dBkhIi8xr9oCL6PnlqfRlpAR/PauYLIwwKfDwa05cCI6VCeI7sGCDIBC8d
Ic6clxeMKy+hlhMXBx7SrD2TTgL3QNIIpDAuzgkEwltGg8aoDpyd45AcGYNB4DCTqHUuHptQPOBq
s5BFEEELBLvnoBXVKYfEk2rQwsMLfprvkEYTHXPyvbIooveMe68iUInsoO3Kw59Mmomd6YDqtcwn
Wu14EeWiAqVCvAde0nB+jNTA0x67VFVCZK96ic6BZsL6IphQyOyODVMrMF6IT4BtobDoQk9YCzy1
znGGxSAT0VGHsgwjlQM+7EiqWh978HEQdNRzeIx2WiE3jdNN3vLxB4UqFkGrMh2IdzhlLV2noIah
Ubksjj1Ii1fQwbPMCfrOoWiXc5qSbgIPdpzLbIITCxzKjgXxOoGStSPHeJ2W0sjb6mTHRcmm6xBi
wd0k0yuUw2ZjSC07IDOSC5X6Tkl0DppLFASt1QNd2HFetg4qDYSCjtHzSgIUrlvql2Hs5vH1dj+c
/jx/vJ0ffx44lkrU+IJLS+XkMop5e0ZupHMdyLwqybm/UfiBxFlVJsLlbAodQDhlx2V6g1Op7Q4B
4yymChw2T/CqEgbyUiDcyWhmQ42VHfJJ2NRU74HvKzTnPsVGABrC/o7LZgYD5IEZlZx/H8eAIg3e
URCwuFYeJs+l5XIixhqL0qcdYxBjKhewSnrFWBrlZQd2hnrdxSH2wiugvTXnermw21C/SUZKteg9
UKiOi+mDn4D0vuPhPO36DsAdPS8zAmFIHQUSygvVg0CmI2hQmaDI2DhwMyhybMusltMeCBuL54X/
SaOwV3IYtwwWE7EKLHMtckACwrwlcGXoxZAdtBiihnnpoN5AYoQjd6lwGOg1LR8bKhRaCMN5mTko
QdQgz/xm74Fb2xFcbnGIALrwjtPetvMevaTgYi6B+AE03deXAIsHnCASj5AuffEYbC/Q3aW5hgWC
1Evgl47jpNf5TG0lhiHYO5HSKTzqTFV3eZeSqKEsOIc7e6ugpzALGhnhmpS+RBS0jqQZyaDvuDl9
D10oySi2CD06A9Fqx2TvwoPwXQ2nTHUPyAyd5DiPwfcCzEXFZlSURoGl5gLL5FuCsxcccbHvARu0
40FuD4AdAieUWGC6FCC8ZyN1hzz1pZunKCkTKBnnWK5FDPDBbmrB5s8FYA5zLEDXC8Qd1Yq31/HU
9+DYPWs+U94HJCk6wTDCjIGRs+Bw4OzmAy+BdUqNMUhdkET4Ql1ETcqnCx2HrgrNIxjeao6rHOJJ
5DtT2LL0LEXPG16itCMKqebDt+EgAPDhOaKN815B9EqxAbP0FuZh5osYE6re060BcKBlSZl9xx8f
+bXSkemDxoaJQiOYg895YpQ7UFycFjPTgLcoOXwueNzg9yzrHWrgz/ilnVDE0iMRJUaw5LsBxMPr
npG0dP34PbGec4BCjI1OofOcrY5QATAUjoUuMjQDFKlkva7oWYJ3FYJJFeavBD6p94y+6FWPHJmO
y99FSBdYGVZEVQezr13PnyOy9h17CxUC5oRjmbwCeWqEk6kUrRcIV17CupaOA3UymxPlVTpWlRoL
MAHbcxhiTiAgbgELszmj0WlIFtbjuSzeLzhos4xqITjWYme4y5SDJuB49SyskwFkEMV4zhUKMZxB
Twrd81k83sd3nHnS1kLKqvCGLTLqOkRnMFyVSQfSY86xpSKIFTa2mamRWDqBSNVsHl0GD1AqTmqU
VEh7OwBbCeYHvfegtkFaxeyMD7KGnuMUW8QZELRuWUgggV1/nlMDaCDihHBHhh3ExLhASSSnuQ/t
HSbedCzs5UHeWBjuLlqPXlQq7vqbCBkBDW7gxoIdnbViPFU7/6DVHSKxsXGXVwZQA5feAillBYmO
TrHk4xDkAbyMCMyi9CMYC4OCNSXYCqzwoEMIDZdCAHVNXksOJO81QgY4F0o6A+CLjo3wYgCESn4c
1PmI2cAxRVSnQZmCMBzwnOtDESLUsU40qH5mb7yJ7HFwIRSfvwfcTJY/44UBCk2z1094WN/bcwUO
Kb+FoE4u+SOURhhU71geRYdCGcvh6gNEioAdy5T8ZIItAKK6Rcp4VhfGoSyeImyRGJ4YkjjiGaHe
sM5eLhQDlpTUKphIkTAkO5LQAVSMLhmyl/Q8u957y1LElAeOtyQPljmL4NQAkp9QnJchPYpIPesH
K2lB2qhjM1zCo+CQIyYlcIDXM46j9Ib3R7tJAZOSG5iiPCTcgrkW0vH1oZ44CGnOVgFdPXg1yqUN
EoEYvSb1ggu0JRbTAM+CgJ1lIZWwnUAohOVAa4V4vZIoxPL3rIL1iH25nzPgFfQ2QK4UxxPoO2ch
t1NzcYyURiC2Dstz73qFuLKOS1EZpwC3TPJhTExtIXIgB7R5pRAphdYTa1oZYV0wv5AvO+9p+j+z
SAIA+baeqVRJag0xGTumaloqRJ0Uki8a8hJVRXHZHG0cwLqlYRCTWHwHudmk+Ll0MWzvQT8eqSzL
YwXFTZ7l5afkGIJLuOxtBlpQ5sGx7p4CdGLB4knS8r6X7z1n54NFAy63sEwSNpwgsITk+qZkeEea
hwjEBeeq+qWQgCXAQuS9R0SWjkUevQLlH8KwGGm+8Qj1YFPTncI+tysLUkmJr1UoGcPmCzuLWPLW
M/2GMosJXAmLAU9UdOuZ6jTT6w7aNckWiUY8HylSLmg20csHIR5Xoh9jdPSDCz7a/KawB0xHFPci
0ywdOHy2LVKI3j2AdFgGVKpm/U8AlHLIutICWAphOW2YLAUQGbZ6VqFsqijyzKQBTC5HRn2/NBtR
aI3qeDjLKwWk9QquWqW3EoF5mvODYhcQ1ErNcwi5tEDQeobCFus/+WOQ5X13tB4DSGfH1QhqRJ3o
SEFiaZSUd6j3lmbRjkQrUQAKWBRkEIJWb1HDEbafXWcFdCvksgEB8dSAuHSsg5/L9oAPKwRLdU/v
Ch513F0SvQZBhaBxdtG2T0LZFvQkC/uS4nPeeXKS9RMQQZME2SWOa0EmjW3dpDtUbSscG6FlKQXo
dscB6spYi+onedzfQJUmGV5JatsFfFjDBD3CSoOielcCciXLHcCVLE/W294BBJDgvws/BpCfRKcw
vRZ1iOvZ7lQ94P8LxQs2goFKd5twYFKlCaoaWDPOhzbWl/3nI47syn2Up6atkePCaIJkZ8yAYfdm
FZjGPhCMMA2PqvlRt35UoUfl9OjojcVnb8/30z09MY4p4JfwiyWG1renx9Oip8z0VHQobH7q535o
Pvx8J52gwSp2/vJYBCCG5Onjsn+8X25vN/TsvGsqeW2xNGXxFsOMBLSKm1dxkwN2DV9/Ov57av+L
HhbTw5EwODRG+0CPDJFF+r2ZDxN3Gx2zn4UrgjzKtWc+DT83HxO5V/nzJPrBrpTm/BwZaYd+0xXi
PE4KDM/m7uxwe2aBSP5wNjoftx9pNi16sJ+luMvWKt2E9/Mzbm544/Tc6/lySbKxezzDGg8w3Yk2
104/kb9jXuH+BNO2THWo6fzw6ePz+TvtJ1jD1iahzGtcTj9O8PnqyLL5+dvXE89qNHNr7liCpl3W
LsMGng5pSlY4m/vr5fZzd7icP3eHe7i5YMV5CEQSZDOc79/CS+3/PP36DIuejn++7s+Xr/BsWuNw
u5+Gf7i+Xs6HJyNAjmR0+5KMMXTwfgj0ZDc9mV7NjoMNvj6u8BfN/BxxBtIssdvX9YieHbXBSHSY
hingN9XzL6op+/F47q/H/f2IH3XVHxy2R6InRXV7hicVelJOTyYtOU0yTMMi4G+q6ckE5ojIBIkP
H28f6Yn95+fpevyneI3+9fTydb4cmYAkGn03Nrt3xZ0ka6CHBx/TuwKGGh6+Xf5LnH4Bf1zOP94v
f/x2gY+K+adnL+58fZzuz3+PRmDLt+vat5M1/vdf4TDwEmpeYgjo0uXd33+cr+mRbHVHhTD1zX8/
H4+n65/8OL24mhorMstJAuUA0rASWGGsthkH8kky2Xx6qeP5/vz95/2U/iXNTeEXHDH11aSKtGSi
hf15ea/OeEjPO/J8MW6SPP/+CN8ElhDzEouJP/VvAhvs56XsYqn8LvuXsCS/gDQb3iX4fcff1/3H
+fDn8bQPJuLH/gnWNItTX04+x3M80hJj8rk0c9VhjrtoccEHdtNKKT4rRDAHBMM6d7TRYv4mipBX
XwguJOcviy6IqQr0eLvuQI5NTQ4X66T5RePFwPs0QgOLEW1gvcZFM4uLUk4yuX/FKRwxmuCviStu
6hgJ5i1/Pf86HXcvb+DE5sdj3k71zAz3X7wQki0hAWxFdPDWilkEk4FW6MixQh0riioTa9c6mp3y
klWHrZ3P+ua3xwfl43bscstpK/zwyrzt8u+SxD8f55cLF8XkV1TlK7YXvsf/0FpWEx28GPta20gw
fii/pd1wxKO0NGydrili9s24KTj5tfryMpTnu5iLzp+tql0paq9eTtDgyXl3CMzeUnsbDtHx6nR2
CvjX6nkzSlQdvy9da18Gn4J/A8e/QV7hx+18BOpgfgMS8jCaBUqKInshF1KX9yIGQ0DSPL8Xqzdp
6BK12JW+4q293HgT4Drk7ZGvYRdY2JDaC2QXjbVC8ydQ1kLdgdkl0wZMkS7dmI5d7D+/zve/wCmJ
+SaTlsS/qqqe/TSz/aTBGctSy/WVM9oH+8wekUGOSj6iO4oIVC3IaZgVoIn671qphs9gOuBL0zMH
hz1LMQEKGHc8oSstQZQCCOLan24up8owUSGdkY0nECi9wbWeRvo1NJCpRjILDZRsHntLZoEYYdAt
AtG+OEbwHuBgMhpGR4nS9emq6jVKGP91HkAEpZO9SbCEKCWhdpt/NOJzzXpgj1oQy1t1UfOZ0LUB
Ei5Lx0dWoJTHOwxh551OEKNpQymNYERs0FTjfrXcXqU22ILi7bAW7WqyzYsV2DZZaCq5dqzu0DNc
ezPL4ZGZ9FaH6RSVo9TLu5gXkcqmJf/kGJuYJeXRxkZy6MnRqplC6+QCQYZbrai2Wv2i4BoYK+pO
xJSEpgWXkSIDfk7Pz8UIxZISdmt3Avyi4j6Q7ROoqCk0y27Z+QfBk0pwO9M7Bz5xBFLMevxgz3B5
FVXv4weq4k3Bg5L8YMEw0JKZFqIooJB2Jv1lri2U3OAWRdE+MzTL8MWbgi2VoniQ8Fa9gVujmKMI
AUMPPtEqZmfy4fdgczTzi1IKCa7hiKWaZU1TbzoBvtDNF39RTcNz4xUtMDNFHOidZZjVivYKW/1a
3hfwc7IvhXu+FLrrHFRt85MRe5pvfqKlIHVqXClupF6z7x3Y1L4vb5QsuEVIacynGI2mplWUGjyn
LSNvuQAA7M4IKKzUVGY7I8XfcXcjnSW4xpIYG726xuAnBWszIo0cHci8P2XzZae4gU+KQsurfXUC
faAi7+noB0ZOD/g8yYiNk0gr6o4T02hLwHOGsRf5AMF2qoXiL58Eryp8+SDpsmKQVjREKxYkRtAu
QdEsnhlmnJP2SsqDF3W2VKdk9qjrgLNg+lLQRFkUh65TX15EWbB0/wTf2KvyOs3VHF4hP6PvyN5E
voQjcygtsG5CMIJjuZEHimJsq0OMPQPRnlpGvlMzTLClyjPvmRuyIWu6cIdLAQcKQ3J3ysf5eOAs
5i1d1AJo3YPfMx1z9pmtiVwUy0mN9uAHtWDsRRx2Bgx/z0QmfHNgRZG/lcY3nmPbKpo6X8czqZAS
Pbn4RTJCTQINJbiDyJPY0fXlvOg4osCDn+wN52XE7kPgIvqOUVLhKYe2htPCcbqBAULTa+gOg111
zJumB4F0y8VxzKGJExZFGI6R0/ymKKrpyps/f6OB0SV3iEO3bfCuPfHA58T19K5gW6Urf9SU0T54
0vHCKpHHoDUTthvLTShTFPUbf490upPIj9aMA5YhFPSDkrv+Kc5AroYrAyJa4+gtck45u5jOEciO
5Ax/ehBoDqlLWS0fRHpc2pV9w9z5TGNHtMR+Zm0mV0uUDHiLHu1rvMTpUYMedatHS/J8Iun+CVi6
iZM4HEGEMeLLeDlRujV6Sk9PpcHVQnSRspxJldcf+7x7n+/ny/kzk+vCgvk/yuMfn/vn+x8vp7+d
T/d/+rr/OP377Y+X/eN84E5Ni77mlISVDrePhC6f/vi6HiJ4ekqrP0/36x/HxJzeJ+R5z+VxU+2T
qkXmcl7p/LF/i79wPL2er6cjt5Ah0B5Bdh/nv53+CCvdzy9fYRv+SAkMbg1H9beovczhfns88iaz
L9JVo76wSPqS/23/3P9xe/mP0+H5x+f99nm6P88ndrECeio2P3Kx/y19zOf+/jj9cfi630/X5x/3
U6S8s9skKMg7q4vKgudr5GuEhR4XgOJ5W4M3h+X+NX7k876/Pl5v9w92DYogzkm6QsDSIuG94hc+
bl/3wwlKFXGKCJ0zrPg8/XruDl+P5+1j93q7PneX2/4ImOeR7EzC8RDXpGyN6eiCfxzv+59/RGJK
OIasyk7Dv3JrEkNo4jebISyJK477lS7PH/fbM7Igj+d7Js2zS/auBlKMF/58PT/P+wt7yYljTlyl
4gPjif7xsf/1/4uEtj8eH/sLu5y17HLl183C8fjr9JMXW9eZmmc1ft3jeb/9FZXE/vU1lQGw3+kX
ccsk/o+0zY99VGNBPO6n5atynypFzQWrXffH6cnfc83cI/p9n/eva7rpP078B1bBlbDQ231/PMf7
c74GVfZ5u8TvDeIabhO3mKTA4OwINVT/cD9vX09e6VvmNFNRyWH/+UfQ1vxmaV3zsorXGnQ0NUPx
NXk9NsvrTCYiiv9zf07K9fO0f4afCV4KG+kY6h/P5LGVJTo9/2H8tz9Ov1hd5gg2TwzbdLEf//0W
Xu2/Xv97/LdwGpfbA8i/MYy0pnueS94mzc9IPEEMSS59rSu4KqekIFTD0g5b/XUNeu/2dj2DjzIU
VSgsLpGH4AttkEySPyF92Es9n+8i9Jms04xXM7/R4xb3eHilM6tfiKUgoQ+9z/HvQbMfbuHqPN73
nydWMmU9/gqLxS/7r8nR+tvpfsMOjiDJ0KQVemyvt7qCBC0nYGuxbPYFx2ME93kp5qU6TcKQD5CN
yDTWyPv7IW82v0IBlPTUIq9tzdvl9rK//MPl833PyhQxgTZmpYgXMsnCYGnijoXNZ+XA+KZ40hM8
3D5/8z7ztFRMBvbrbdpf34JTyYbbNIdYWqz1NoX/cviL3SCaMxfQEjejiVWkqorPSurt5/ma6qMf
Xy9hs8KqiveuOsY3S/buP4ICDxHZjxOrLmlynpQTNbx2HoujTkIRBMw7dbgH9RtUScNxnHrJmIL8
3XLegQruNWOh0KfywIoXNfi/Kl3xMP5p/8lfQFdDBYnNyirleguqONkLNkLkrEMSh4+wZ/eWEaZI
U1Iucq3Kr6e3oHV/nPKeA+iplqyKO/S+P95+Fj5L+i//FJzG5gsas5Cxgd72O6jMYNsvIDpyS8Up
gMdzvV1fo4zyHnGdnBQl9HLa31OM2lyE4PPJL5BbHGGkNqfxDaWTWFzBz3BJkqlilZRvmvNRBkL8
CFDkjRgDvmmEXkPIscUeRbgjR1Nb/DrK1/GrmC/elSZ2ZRyjTAbZHjwdqqHYDzRWMNFQdgmzJA37
zYeLroTdK5p8uFlhVa6WJHndHFaVVM/Haf/4CjrtZw7WIRhBMkEm2lAzm5e00xF5SH7hHywOpHvb
FEW1v/NfQzJ8hDW6jgcO+wf7IYZSw8wETHO+8uF3EKEj70NKkj0g0PK4Kwt44PAe/BxwXtr7GtwO
7Nr97YXP30gKiKjWpT1c9h+fwB9wHFyz3LimopSO00kUyEjoOC9LjvFOymD8do9vNuw+hmTlVg1H
fQo+QeRJRB55TMIt9UoOVLapFQpWzqI/+hCFonzZHx9fr6/nX6zpJCQgwgUv7uHP++36luwwG+Bx
i8zR0waoTfYIkAyRQdDeOYQ6XflVRPXoKmAKj5+IjSsQOAbJpyN0IlLtVXUp06ey8QoHxbfjaBT7
EmLO0kytIM4gYf8YNCrbyyVZrHI9xSqH039+gUCBQiKz/uPE/MrNzUlCTtSVpQcwxZzPn7fP8+kP
ycfmltEIVVPxcnpw7SOSoQAKazCf2E1xTdB2eJsZL+dBHqI+aS+LW/Qp/8e//nM7PnFUggodjkyV
4E0VId0PvYBKJ2wSd8X7Xj0jhLO7/HZqbLOiPnd5M/KLDNYp4s88ukuVf5+uv1+dVrxP+/um0zKu
xohK6vnzfnvekKJ2hMNRaqIyiMC7InsGNqnlalLWAK7nOg6GIVHJ7eedD7QF68ct5e/x4433aiRZ
JnL5tFgGtglu409aa+TKpGvdQNudQj56NW343N+fPKxMylBEauvRgdD4dHwDUbFrQoBztPZ+fnu/
sAWIQ0coHi4b7lU0Whf+2HWd915FpaAETmPVTFGV9bq/XGJl1h8f4c+ePwENgACJjH0JJvM15dFi
KzMAAffQB0oiFJ0fyUuQYaIG4kSdrjHUe3y9pP/Gr9X1zCEBtb7n3WApNIOHVUKQ/RCD8IQ0ymAu
vrTUZak2L+0cv+tKc4yVHCbcT6/BBboCTIzxf2fECDl21D3R9PHR3kUHmlc7FEeZS2PKI4/6ItsY
HnTuLEr11ZQP8MMtCYaNTCOhZAX+SCiB5qkUhnGU5lfKKcj4Jih9SBLTJmpWU8sB5yDs143PEnF2
ps7BaAa/ll53R2H6Em6C2suQmhpS5VTZJLYqOO2QIzskUww8uSmn5+gBhve68/ZLallzTio3PGmK
lNEEkIVSvD0l+HmLXrXAlf1KOQMxptUOJUi5OPLHYX/ZcuLeMc5OlW6Rc76sKyiZCzs7TudrFO/L
KUnj484KkZCOYVjUY8tk3EFI2Y5Uk1JrLKMEz2RYsSx+/XH7eqKwyyjJqPl6auf/uvFZdkttoy14
QfnmTse5Rzla43QrkFuFBnzcZDgFXks6ZGWHUg6ei36WQeaw7/xF7uVGNX6HPiMtrcxKXC1C1c/r
2x9Z4H9lptKDD4VICYyjuDrrKPGp/w5T6QonOzNpeTfbcPphVsKnX+fH88Er4a50J5CbBTBeUguT
bDnHZwCYiWhwduj1/d2+voZf7v2P//zaH2P0cRhJylu93HpngIqYn69YygkfpbJhyXcfKQBsRNMx
yed07pGAOgayEY0M4dYhItpvwMEQjCyUJhSBBqbj+GSDqnu5REZguLl8apdLPXGBRETzQKDedSjQ
Lu/bnjd6WktARl64K7vrF8tIljRfAAEInCewXEgzxxHYFWwc9pATg2i1Ue4b9P1sRbYytkicnXKZ
jiXxtcj7mqNKsbFKcM0aFOt5ybS8GfCfJfAf27wM7Nzz8ZICGM7GECZBJS9CcGfN69Bqhe9s8fb3
t6+PoAQevHlyVKxWFP62VAlik1Kv2r6ux6+3jXTXjoEVCKW0QSgVDIeIY6D8y+trzPg0KSgcC3BY
93RNnYdur68gPec6JgZaM7OTTWDzv/pbGQe+j1HKOPRlGKPrX8ZrBbdVw017fPrFV4H0PbMaZWps
9b5MFaZaXtv8dh/n6xfvExaVGzhRF98xFzawEYJnnEKOnspT3AwHnE3099vn6cpzlF2T/p75pP80
/Tu717MYacq6qNmGRHrcahqIRJSmYRDQW77BuTvZj9P/w2fHHXOH+YiKd+lMj/yxSpXLSxzDwIqE
oQFMUoWaw8QEj4nJmjMF09M/38PJQOvnrCmQqHnbaic7ZwTp8fLR8pLKYqqvHKwpfzM7pt4CQtG8
Bym4/ANbbzQkAfgsf6c2hvJtTowxzTTdWCIEOV+0P0SFR5yJoynmzpxrljtqGLpPw942rK0teSy6
8nIhjj+djoB3bQVi3S9C7/MbjAbsRiLxzJDiyY2ua2qOfCFxXYjlNcYcVbYprTRXUshmHUhLDhzv
4ahq95ACd/SRu4e9StExRm26LzBOkWy2dWlfCx7MF3C4tiAvQSGETwPgCxdwz3sTc4F/gMp+30Tx
ilIgWCIzv01y4CpQUGRBPE7hthF0l6WQ6hromcADjEk52hGrKAEr6RgD8zxZBhYT5vj+lFXbxOEl
l9ssHeKMbXCJF8/5LPObID62lZxfV6HkYj3R00R/+ovjEhWn578vjRpIV/i/p3ISFvBb5oKQTcPf
Wu9DUff3b4fnHngVnkm/sUyWpmC5DnK7KIsRUje04EiDIJUGqC2yqSwXjjvKDFDG2NwII60WDEeU
Auxtiq5sdcgVM+TcfYsir+oeMbdVDW6zlJbJ7CyjpVx9l954NKMstZVxwyYApvWNgsZwcw1llQ35
dT0fbkfAVuEqsNa0GYRuqU5wumFCK6H2a75FFIEglZEoDzxALRvs7/MyE5r8CpAMNZ3nnUoW8OL9
JdqGcINEZYXaECkKVRSckWWmoFF37DgkbYV4zJeJRTwW7LX+e8gxiB/1ZoZy+nL2BYnkx+ym7DYE
z7fr5Xcjdu5q3vXgFj0Bu8DRHhz9UjEwjCiAqgmGqzBXjUKcyFgmzEvPH0+v+/in+ceJ6ytoLTyx
7IN3xWIb1agJHs/7iS9uoB/UsqFNu0DaGqVmuaruwqZleJ2pGJ0JYFQ+VOi5wvq57mLMOIK6dS7e
GDXQx+14fv2dPxMoOfvNkplkjHkyAwkPSTHVOhkDuxc52rCy0OSTjfr/TDY4MTU6vvBcFo2dTb+F
5K75HKat+f5j9XT4wydMGnTEDS5pX3wLEv70pOUyjyVhZ2tNieqa1j1eljyDg527lBbqmc+clVqG
ili1ZBjBLFPg2R6xHoFqJkWLoBztDeH8JJp5BT7ZX8PrxFqpsDb4NiF6RuPzzT74G0fAgrKuGxgj
UCLoGInioPNouV9RgtbwjFK+7AWQkjgG1wKp4T9RdzXNubrCyI1zcmv3gtlE8TqFZlZNhZS2gURm
PFv9zmsCFO9LxyA/HHb8jxFyaWVqNSy1jShvDF2iNPDpPk0CGOx9jb3yMKBpPKOpqtTOH7GR3wHU
v9FhEHZl3MuGjG0EWFaDtZlHsKW+3vWauTKLsm/DE5zMN5lASdeAxiQ9w31fQNFZLQf55VWpYroJ
LQmd24p03aJjmWjfa15VCd9Eb9YBJN8/pwZGlForOHyp4oEv+ZNc8J/McoYscUMSttapdBGaoq06
s5HAl4zg6x1EiHI5ZUKi3kIxqsERseDKedYNN/4tSej/eYrZOF7eibNe+g7lpgXN/JsH0E2ppyzo
AhK+FXTnLUR8jspnC/8y1gqfj6dbOI7Pd4BFkOzC0OPSM72hLI+KVJmBdWw4XORznL76H1/Xv3hf
Tdcg4uWCb6CcXHIksGoFAYZrvGKcKhJiwxJy6dkFVvJNMrn/Dy/hBhXyzUemeD3gmg7HXFh4/bpc
cEcDK3l3n9KW+f5itENVcWmXyGSro0ExvUDXC0Ix2UP3gk/cjtmEtATPb152OSvpdvMNbTVxVLW8
DZN1aUJmuqs1e9pKJOKRwt5/G0BqYHuKSRFNsAHCyIWRzR5HlW5n4Pu+kfvawPrRpjaLrbTircZi
7hsQC+5q8B092eybRBo2lB3wSkLZuA4glBHyi02D31XblwO4luNqCJm4GMmXtVwjCESCQOGadsyC
XFUtX/6hDOO1gs7CsFpKaseRaqr1l6hngPUcTXcVK0s+n0BFXydQL9/HU4gYz2GDjim6+q+8b+BK
TLnGZciePdwYK7mt5mFO7tSQOV/QqdJl5g0PdZ2KG7jiDmwAzQhOAmsbooPAE5f67SF1UjOgWRF0
M6oMZn6nDOeV1UuQQL9eLnddvXKNgiupubATUUo2MCS6jW0FRtilkQEWy6GCLI5DTC3Q0Krn2wiS
hPJLvKFXHjHumaqpqadAUDNXnk9KvylFuboSpzdnJTjJpWXKCnNcpWqqRKfyVR6oAZM0LVI2DdEh
mqgYtb0kLwhY1CZ9tedClU/RjjnccpZIpXALuolcF/HhkEbBw6dU931h+r1dekDcqIgMi47r18x3
13BmY7PArN1AgsIwZ79MwjTKypfcXLdtHACYT9AzxmnVDrHhtUq30Bp9cdPw9AUn+mYNf4LuEbVL
2o3FwyRBzfdoIb5zWWRddFQyPMzvmJQUoYjHf0SdixQbwrGx5oZrIRjqJ8x285kboZp3t7ixyIVf
9P4mbeTppvPQNY30PaqKffx+PE98zZlytYFxVZ4ZUtWqq9azz6mLl9vb1wO2PXOLQfV8o/frnqfH
yI4Jlhe5hqg0EINZCNnAzFLDnvP1EJ0z0HVA8sQNii5pHl3StVh03tn/+Dy9/fF5D7t0/93qp0Cz
2gtOaN3b50EO4lsT8kAd5Bhq4HmEQzSmMmzKngkO4yCdVqosQx7IX4yksTilM5CveMySj46W04Bu
9yvoP+HFxlaO1JcGvGOPIq5cvXL6OUZILCZRLWAEhdnJj0NS4b5Z0JSS0o1ypm6jd7KVQ2N9sztB
QyyEUY0GOiRqxi6uUdWpG42uuDwvSzVjwFwPAnZcUGaPXXV2ejm9nTNQwd5qrlS0RlK6337yKVVW
P9QHCiHrTbJqZSywnETDwwmSc7g5VQz5G1yt/VR7jOFh7XGjpPRFoI+rYWrNliNsBkerMaDMSqYt
LC5z3TKijEuIV7ClrbiQrHa5mPpSXoMiAWwNOs3YruaAxcitZVX6Mn+1GKiQTg53ZpcLRnGlQxkq
ERBE+Ep6B/H/94cvQA6w3fbWTBvoUdpIdMwj8Qg11YTdLzL+PzLhBu3Mgv92WRxquCqAoSkWXwfQ
M/XVKw+5hVsp6r25LaOHUrMfMJDHo+E3iQB6R1X3yvRbLFd+p+PpEL4YVIxJwN/eOBpG97jLSI7P
NB+fWeCitZuNUoVca2q96LTwf/N4k8VsQ3YOEBwQZUyr6R/lo/NdZoj2I1MS6qcOHBWlmBKCCskF
WFFr6F3ViXGNk1cJMbo++IrPTf5YQ8M7yXU8Wc0vbNMdrIND9FYN2nAymCg3LnO+dqeRI2Ntc8xy
zGyiu6N0x6Dpsy7C3pDhKk4Zd2a4jKw7sxWqwUOZSaQRtYNZY7zNGsxeMzRfUDXJO+al1bcrl/MR
hIkfV6h03zLSQUtDz0X1piktMTaABZKirzlgM7zSupxOok5SqXMt/gZZEv0UKDR4O7/yeNWqNbCu
tehv2T3KByiqlRYTzBImyF8hWiO2nuwcy4HaukW2mvCOczGHDCR7/ziCV40tAWVFcc1HCBMnp6Qb
PvtyNJPcwN8HUFzPfOB88O157VowJ1ZOkW2MHSR0gpgE9KZJTeC9eDqRlhn3OhbO8Z686jbPIV20
1/qXeVACxyzhEvkgDcP3lewXpB6LKJYQkuK8ITTWcJukiU4jODsRNxPzCwxPcBylZ3UgscPk/fUC
SlElpzyZGnDcmFP020cfgJkHrA+zvUsX7M/J9R9lu2Kdj0E9nsHsq26R62BbYPIEYe9Q398Faydx
e1k4QjVhfJhiF0vqvGKRNTBFQHKT+DDlyGgusGbmHh9Pn2iYmGvNPiyoQnkUCxhL1LXnjrScSE1b
JsoV1pjhntvL8+sB8B7NJD9RISsP61HyfoGhrQ68wTmgUJ6rjYihOT+AHn2Dn7ehCFIbVH64oWJf
kHNP4+ZNxW+ZXgR4deyk+ezzB+8ANB7oNl+MJEP/fA5/4y9GB5q1FKo6LKB5m8t1z/9xOx/vp+cX
KAqlNc+1CcujCdpWiuYFU6ez3p6X8/MDDbQWDKOz0q8KhiaWhItDv6paKUvTtbRKMOYFgo1gSqpg
ehKynFWgO1RTd9SMNRzJ4JjXWxS3gH7SqjkzK0Ys0AwqWbUdDLb2i+9OpwwjT0Tf/zw/33mvUdmt
reWjY8XfVrJM+r8eWsNW2zRJAIiymLTa7q7Bw1VCNasISZErpp7obX1Ps6t9CauCCgvN1UoOQHJj
nkPfo+4lK7iwzdKwnnGsPs6PR4jlUONG5TQCW9Lcvjw/PtzRz2hl+biw2itiwaqBF8wRlmvizfX1
mq1GxZb+Zs/cEEPylac93J/cMi4PN9ww6leZjV0PaC8Vy2vtvjbBFHITWokeI5ksRAX3T2f5cnqi
2lbBwv+guwZoL2s3TSZNiDQYTeo2zr+gx8D3x2FbH8KOrABuMB3mDgyUyCBrAEsxNItd7FW1PeD1
6wM1B+S6Y1RHbrUazQmSH4+hve0r3jMexmqbpSOVMI6P4gSjkkkP3K/r+T+/gOnjKEegGSNP+a7H
ynVPA4/isMxrVQ9uaCsFj65nvOqZ8t9GRlXZMU3WWVCbWvNa5nXWZNsmCd3b5uSCStEqHDFuvq2g
8aQGUw5O3NQ4D+CjHTPWgJ0mc3u+A5TUiXrChMs+o+HxigM0lrmKr8/jHvSUtwYVrCVMZB5QywJo
joExa0AyaIpgYQ7nvqUjqnZcZVPpY28o0xeuqdRxsZdgO3zShGOjjUnPYbsVejlsZCPAtB+mxQ6I
jLxmhmJPydhWgTireqsxR7sltWmOqZ08s4/z8QiWIgTSZUexWRDL0c2sNFbtcFkiJ48ZcWEJex61
jl7sVmufTNd9YxokLXsBfVi7Zjdwahg2YqzOozhwKKXdEP1xIz1KfXA5Xd8Aw6ODLa7mMBDzHpXY
Plhuv2vUMEgFx90NGe8NG7S1CPN5+zq8g8Z5pjmkfrqAeCyVJVGWkbnvT6Fegq95A9hP3+RoTD5P
c+YKiYW4gO+viLkGN/hxfqDqAmsX6VbHtHjYQKmyGuW+5hofPmPQSyQ8jamZfAbdcumj9d5DFEl6
0yhQnlQLj3Bb26yeo/R7ACeqdmVWRlgPcb/47RECY2Nl71E2Pp8vfmxX7c2GsqPbx/kJJErQiKoI
GGcKW8ug06QR0/irbGGCcUTbNRtAtYcV6++0em4pXKnRnVmJAei9VC3Rq01vlHwHIv+tofOx6Um7
OY7Al44foNjg7nJDK3C/u3+4HuEsPaGqPi2MHyEaYKsuKVNheAFx6HKyQ4VR8Hq57Z8NbpNUG1ti
kGEfoIGFqEXb9SRxA6TXpuM1Yn26Qhs7MaKaDIfHCZv0kfnC3Ly06PrdYxsRPgrk0qS0hjLFKPx9
92bLoLuhehp35uKK1mnZFLCI6pvd2N9Pv0Au2zIqqMBhqevPY8694nXrum15K4ckufpSUmAEu6GK
ZVW3hlfvdHvlrYZjcOaFos71hGxm3DZLCUGFGuLXdU2uKslJNgnfQn53kgFktnmF53HRhAagOtjv
thc+/er5d+IcE1zg0igTVs2ObZQonxwplg1Uw2nxvGpe4XCVIBPOM6T3WJjH4BOcokzs89IikqJx
8nyjYXmT4oZdL6PcQbXwuR6aN1rQSctZrXyDOKVq/U9m/+/zurm/Qs+Ne1g43biBLLGUZWJ5zQWK
6/5DGsbNMqVm5ZtC8W5LiQ6voaxDvU6nMiSACGjvGPSGEEpwbGMtA7c3y3hBMOi/aYwTSQmMDpGb
KplSndwZVVI4HKQOW96IURVjVlbxO+8TWNeEKue0QqMAgmaGugiHQ5QL3H62n8mU32vZSM/XX9cY
5E1fR347CNrU4nqJMdUazU2bxxYSym/lDAE9uufAHNhaCTTPl0wPqiUDnS8sqKccJsLe/hH26JrL
ZXlO5wYmMcGo4HAdbqrzcOXS0FJQ22BMz3iqJSwVjRv2nk1nmTF0qzwsahNG6rGiKrC+Gl80/IaF
kjV8BTusFpecfwa4t4BhI7ELeW4XHRjXbzQfjx9vCBWYpSY6jlpCpkgqyAJMQmk4/bhsPYC7hFmC
T9cbu9ZmLfL9QpYdIzCRs9Fu2DT5TOnKAmWmuCmXdfS90XTWsfN9Fh6p4T1SyzReR5Qv3kqSdFmE
wjSogYOzQIlLU0YfpUvTzqIrjlQKIkDHAx+e6T/Cj4TntdyynLcersUY7dGoLHYE4UOuRb4yvxua
U7UQmaykYGdlIZrz3saSWjgfkU2BV2AAXgn4Kh+09GiQODrZIbIMV2YDGjy34bhBHlEfQ2G42Hb2
SRvlOlxzKZYKCah5PR+uVWSwMYBQccT0ZSyJkkAkw70VV271D7SC6ezLDUz5RzAx3tY7P+Lxs3CC
Oe0n4dnOeOUXo3yG5fRwRfAxBYLiSUVtx8wXH0us90fAFOc69fFTLoFzwHE2q22oX07vZ95RlMsG
JbJG8w8W/hLLY6+3Z7hNL6Ancb11+7xc8OeDqIZQ44/943A+8+v0zf5S+4Tq5PHzlycvrdqzpPU5
WRz0xf5yOV34YGUryXy2oXwmghZGFO3gKt2z2HyzWZJO7Dyw+YramPf9Rm5zEZo6PjRtdFBazCgB
rZgWI4sUW5yBG2MstbDmu6s3UsHy2+D5MPcRJ5hZrcJWqG+YR6A3EiaDqwh66CiG0lpP08OpLl6C
dPC/Zi8KdM2jDcJEkrOVS7el74vpBNv3ZdmyBZXnKq5JSlnM1MD1rJao+JQGnNH6DXY9V5vghQn7
u7zVtTaguDCyc80WN1PLazCiT3pfg1XqeWSI7SnHuC+zAm+kdWgLWaagvuhMzuP75u9pHrIhr2l4
fI/2i8tIFhhgrpsVFHMvn1bJplJMr3Am7odtK2j7coiIkmIHYEI9011rphSegtvDpzOcbhLVUawo
VGMi8CBOiQ3OGryO2ZK1oYIWT/Z+K4AZ9xYU5Gk0kHgmavKtGBAxYtnDG15Z7bvWCEQ8dVB5z+Rj
0CxcHgR1jpsjNGnulo52lg3D5imsrUWU287KxkwPiRjrxVElPcselPpGCN1AcWS1u1qZamb9Wsnw
e5jmfZgfWp8UWSM9Kj6K6Tb2SyKEOD5hWndrmVBtUO2QLOac+36RDVIf3nGdl+IVyQFbU7yrqoz5
SihMzhmeQUgE83aPWiD7tbCjo5Ht6RDMbCJQjWK4DqETGrZhdp7jW0WuruCvFpLKlbWtcs/tTtOS
5EFLv2bpeDU6DxlRa4S7qB5pVRPpRXhTZ0dmlbfnmZ+696jxXokvjfAQC6raLWDaFLrxPjKxLSmy
aFST8j0SnOGbYK1dUdC7eFvz0WEwwdsLH4/4lieQh3fxQzwdVwvM0KmAPHOXY+2yoeBYeq4zQznR
bptrYmF1zCJ0x9iJ75tlURR4uz8vPIzdLRu7a3Yw6KwN2E6Gdus4CIStE5kkHthsXVoJY0fn6Bae
drt4kLcBBO2Mes6oau1gs2WL7bbXlMZhlEAtWRLmpmy04Qtatn0jxbyK3FqNHbWJjMJCsstkS7vJ
FQFkS1ZBmTwMYgv2zAjJuPcQWOUbwghuakjRbe8Sz3N/RyO2thbf44Zu0nKzrde4EGSnSFbJLBqA
gW6a3NSwOXo3scychVs8olMVeZ3H10u40QfQm06TdP0qvTOXtrYnRFnNDXRi0nSZqs3m6RQOgLNH
ySeatGFGyNYDKhhraK7NVolL/bzfrm9wjh7bmWXBsQDYjaIxhloNGqNdsn7CyFdV66amyTY4OhGG
oQyVJIHIWQelAvqbpQIRFOBTOR0sYk8Xs+gjwHtc/dZh0InACvyt+bhjeqi3sO0CzkdUeQe13OTX
9Xy4HUHczNXrLBlMig9zdW1/RjJmbrkErY0T3KQ2XKXIA5pdSc13IKhpKTLDJUsWHjvf4dH1NTpv
JU/SgHGs84zfwenUXCT6f/NaleutQIq1Wt6skHKrN7ux77hDoxOTPWt0zdJs7/4artjoRSQpgVGv
wvXsumD4VouyrWZ15uXs/YBmwxzPeBnRxHwBJBIYts3DauJCTCVi0rG0WyctAmImRbiKAb5liH29
XT/vp48v3iJ27ehq9s5fb8Ho80iNZ3IIS419ev77BCA9/jr9BEPgOtEsN6tMpfwC2VJm3wbbe7ru
X4K883MkndzUpgV6MoJjnQMfFMxx8FxecoEjNpVTj2t2h725vb6iZMnCADgwtGUPQH0h6MQpl9hP
//N/hf8XmZDhO+5hgfTYT3VIf8+XLv1jvdyJd8qizhJi6E3uQRYBD4dgRxPE9fshFvNs0UKONONk
h+BnMVciv6mflwKFk4+kudlVxuYOvmaq0wu1dNnwMmSZQputqLOf96hJnucTWK4beqH6Fdy7NEbj
bJuhXp/f+IEG1l6RVvpafr1+3v2yknFit+DGiWkRxb0U7FEIJWwssfQb5odE28m3rEgnIZffqTAj
6Hi+g0amaUkl58OtoPCIPJVlbYAC/cr9ZulTwLzkV9IWvdK24XH55fr5IiQsT4La1PJ1+TPw3Nut
Lhc3Zi3fqoHf7lcBfSU5H9Ul+Ew3v1I5bG0DDYYzzFlBulne5hxb1j9/DgNAEzr0+PP8+MwxSXz9
P7su+ZL18zXzqVRGsMYYO2hLtHXS18xCScYfP5MXM0vU2pJfwfCAJZCLrpQLphajnGb96xMYg6G7
gq8nEsoYMBwvT+DIQqI7xthtm/2d9bZo2Kdhs76uQfHc3q5n+EpS+PKVGk22kKg6xZ0mA0CfedEY
e6X7Va66nC7WsMO9mncrbpxW29MT2Ko4TmczBDq28jOtZsjOreFXMh5cIE/NM4ZugSKDNTq67YUB
5qaf/QObhR/MZVfqCT5EDPvGTX+MS3nDCX79KNmsVz6+WavqNM6BAWQM2CsrSrPrCsiquH8IQBsU
MpGnklj9bah72HjoVNSjKYWcDMMc5Mw5fTn9OAE/pVMWuIicyymBy9kxwrrOv7ScKE+9RCairnXH
RuqwN4wKQ5/LX87eeWa9uiP7T/tPJB6tMCfrm7kVEfDwFu+l/v7WxPlYJWMlSbsPhHJmYdOmNEaS
h4NBG7f0QnKWje/UWLNNfpLAETu+mkS4dC1wtUM+BaVrhrzOm4mT3vlGZVkhEeldDCWcO2U0X8sJ
zcgscouh6u4pIMEwTlL1AldLMbj+lnH91+IRQjggGyS8icVUcAQkuNzUIWc2agYcN/l2zhrkDwws
ihb8o2UZfpg2Lwf4F1JxkRvJFMEGLFk4O8l4ravKW5A0yu60KQMhW8leIEnqBYnPLG1NsKCIWxQ8
dsxJzS+huOx9vhM9Iz2LoCBl80AwYFrOGq2kPPwOMnQEbq23HaODazysA6LgDJbGMFcfZXd5p6b3
eqPlmosYgTtifKnRzTcx8AHpU/yeMSTdFhgpO9mMO9cW2gALzQVnbOdIpBOMq+mEqh/9sj8+vl5f
z7+QJ01UDDMSYxNwJVTpIdm/ayzigPDN71TU3FagCbCK/zvgjcaLeS78X/uUbIJ7cCgtczc3TBGA
sXHPgXRLpXSKLHigjEwN8uLEjK0YHoTMlOGabNScs2VlObTtkZ5MNqRlp+klKkwIT1LnVZkn4TFh
2s3UkA1hgZZcBgQpa+AhkYxKCeWsWtKBMHYcZLWWplJJ4+32ngPy1lwlhFdSu18A99OhDdn8TYem
fS2iSObm83573rDhGQff+8YM0YYgdsIwIGAtGZECpsaKSrumszd3ygL7Q8K4qiub6X/ovKRgAIz5
njYxYPau8zUzGMryCjmgi+YexzcYQ0pGHmtByPv57f3CMqhyBKLQfg2XBPFwBve4nUsdcZ7GvaXQ
wrpQZewG/tfpJ3JCCaTspimwE8kR1twMWY8OvcWaVQgBW8FcjrLuF0i1oK+zRgozsahsigpW67wo
QTm9ifTNO5ueOMQiMVzFliGbwOu3trwwDpWExx1E+09VQpnzyE75/fQabvIVQC2OBG8LYHtCWqDv
5ajKLa4Z7SqP9BpJu7MSMFPLgHnt+ipGub1KdOBgmI0af6beAb1PM6hFlFeeN/ZvO4J/c9SErK1/
3VCixzNwQ509sAH4UzQTWxunOghiw8qOjSRbu8Q3BRnM/1aiCinxVcBmd7Xs9wqmbtJxese81qRy
T1eEJrNYWpV2veXYSLKUozt+s3AqJ7Z8Kw6gWHVOx7K7r9rJYfqOqGQ1h3KymTRNuqq5kOKAoHp9
L+rrMSBf4rtsKK7BZE7VOE4jV1M1/9ftjOguPUfBWzZu2DeSsTRCKAqo+HhDgHijZ9BCPEihmbqR
kjNHTHUq0B/EdSy9bZy6GTxB/tMNz1qsu0zIhyDRZDMVlMmbyIfnvDky7Pn06/x4PoDWdaWDCnFR
hIgqxqZs6lM0JI0d42DVZxv841TQybPHDEJbGrPzkCNtFM9mGqViK8et85xZX16C87VxB2zPQB6t
FlvA59A8L4qYZYw4CM+xq+AEBUQI6JGVLy8S189gYDvMUifixwppkQ96/eJJrZ7alkLr1m4TQN2N
ZdTEHCdgJ88RhhCHPZSkJURvIIgj18liCWRsp1d5zavEkuXW5IVLUaWl4YE6bOHcAJvrMsegNkku
OFsvGqpjHGegUfAlaqq/FnwJFHyp2iqP0+HrHlvMzDT40x46uA7hvxuktVeq4fvXesgj/ew9R92e
2/E0fBMlOJ5Qc8Ziy+tR3H6t60xQNk0D13jBab5zo68H2K1nqA31HAc/EzjnODjdU37eb/Rp/WYm
P937/wf5Ahw9kXIkNntygs0u0M1v5OQEgfRKuefwKQTHScm4EQtF2ngpKbj03kQYv32ekD+jRDM/
uBhcvt1a9J5hs5cdd9PPnH+ckEBY2XK7ViEScL1M12REFwYXfyZJOibg0nNl1gJRZ1wzBq9NItyI
P/Rd10yRpFfUCJDuv8kTTVgSQgA7BpPePP59oARwl4AttBmyASgFr/XmYhbMZRKd4EwIYU7eI7aS
yc2APNlztABs5Zo2jiO3kBc8/TqcTkcYE9ItW6vZRcB8fsOuPlVMuFH0RAJCPL4evVoCGrGQdVaj
WoD7NuKlEFZ9o7TmFxrkMBiAriTBVjhqPnLUGk6d4Djbk37F++OVaOKm62ADBzKSI5hQxCTc6fB5
CDTpGd7RvEExrQeUcy9dE4VMw1xP4aYQ3JUnN8oa/pKi8gYEJDTFgFRzsCzbI2wgtXHGn9I+N4Dm
neLoo4UT+cJN6xj8SM0xSea3wfRhyaIzqKh/Q2p4WSHWb+qDgd0GNodCPreVHfJ9LWdaZ5e3OGfO
M3A2yxDZIhq6Z7BGAr7l+qfcqQ8gb/13cj0bDpUlPbOuL2Z89BzbtxYgtNnUnfAb/a3kZzXzrSzn
v/Z6GGjpCGenBNqZHsbxF1plp05b1o9exZHPyOkA90IwjJk1NQV+qSchTFn/NYN7UCU50THspnLX
g6BFnjV0r6T7O4AXFBb7dmEoPcWs4drHyJUmbJ7wkT02DnpbwuMtnhrRs4sBniuxmt8QkAP7ZuON
SkUayg33mrXCqxe8Ab8ivJuvcaPxxKt2zdHYmsiDGQQbmkjIrZ0tCF0IyIfllpuTWC3og3MW6IQU
RKqg6e5yCPtswcGIuMF3MjU3F54Z1195OC3BqKxvjCca4mq/iZTLDxnMpFzBXBiQw0fllpDsmZTx
WECLdB+xhovkPVNR/U/j9f6XmWrJUwPElqq/VjMYoXBOdNvsgwG9nI1HRL/MJto3qAatv9mq0cQ7
4lu6b7BF2pEwuUhc1/skHdtLHJRuElznzuCH2wVEod4gnDZpqwyzAG2zcC91PbnLjwYYKFeLngZ9
qx0x3CJnthr7WamDTDHhc6UJt6pdLoFYJhxguQj9wQsR9KBMEsPAD++ZVBvL22YapQYgqsdFX1s4
Q8Fz0JityA2Qa3KGLOJBj9Nx4qF+IUvLukhcn60G3KW56tAq/+hH7AN2QEVMukM1vWVnty0oYWdr
680p421dZLTUKOl4b0ywHgBLIl+eAoxw+Apig9hSZYB5Pofb/QpZVUT9lHHeAv3MuixcWICAkm4C
fTSSW8YwwfpJ8e1rDnQZLSVmrNs6VgNBmqhdgNJ8H8+viSSPah+tQU0hchVmqyWE4XRENaH9ekcx
kLdiczBFp1kBKEE1oYRUPsxNGByQ1rLUF7W9iIYEGCRRWkhuyIhFqQy5vSdFkPZzOMs3dvDh0JbC
17I1yyXfYB0ttUHlXIgawNcK+5X+bnE1hCOcRWHHvO+oCoPlWlQFPaGigOdr5abKgC1F1Z1cZFC5
gXooorKmjfSmRRAXqKvqJaZdCjuse5BJLsSb7xzu45/pTt13UeKtNQGUXzx7bjDybyI1PSDAzUQE
3i/q/l+RB+HXGqa8q6jxi1cbyQfpLWXS7IeKvWk3IaKM4MKnqZeNtBuf8Gzo6mxpyHTptlfqNPPe
vrNMfIbSsg26SxXRrl/Rj/MV+fWq55o5gJgdv50S3+oD+/OOSlwVXc3UIPcBnGDHeAxJeoejqy11
5CFGMyzPbjGmqlFwojquwL1G1Eh2Ft1JttJtFSNvghTkIiuh2CZCWHHrquhPHVovt/tjfz2mvtOP
P/fHY/5PQbgaLVoF46VUQr2kP1DVeedQgFblOaKT0JzPUy9OAMlCywXIS5SoWRPG4rXADwNVwk5t
XG5EAlp5tZ7NUC9XJIEfUrlsRWpRtXu+HmLpG6o/YtsqTTXMQXlcAYnNEfGKvqf9VpnVv6M+Il67
GnevDCDbSaHg9HNFViuaXfNzQ5Tla/JfvtQDd5CxnrHkVR8dmSJv9cb+CAJX5HiaTZgpTNUWOdEQ
tVsxuWZSG7qJbllNvGTbj9axVfhIdqiEe5uDaiFzzDvGam8R+39F7Huvq1jF3zvceKjs4Hgeda2N
QkLbKiSlH94qv/UbCDI18BsdDeG9M8Dr8K1Np9uTm0oM8XjZozVHbDNlZbPoKrmemPPDRoeIcLaJ
NyVwK6N8tQyC3jWq8szZpviPuPlMp+13CwQ2XVH597QjQWkQ2ah6TvuF8FrZbQSMHr8fzxMoqaEb
39WJViP5qKH3+1pDmlnZvNzevh6N9lGEG1/as5V9ve4RWaJz25D2qAkg67QX8ju5l3yPsSHxqjrk
ZBmSno8ILXJc6zguikFgh7RbXiiL01DZi6JkywBZxKPcoFM6r74NOJ2Q70b4YzFesJ6rjkSVUGxn
DOR+o3ZilmfJjTx9POJ0gDOrzTlBeWryx+A5evnNzgwpydpMsbqmgq4MHcNZ/Y5tab5lcOQAMnCw
wHfmqmfyhG32Hcqcd7RRPS4CfDm9nTPgAaJ1uQ2t2lQ1puAoHzJbAgX8omvycEul1aCkb+lYBds4
dq0Mx2BsBrPe8NK84Roa4Kq4TQN8Fh6IBTjOdgSmqyakpy5013AFIeHLCsYKTSq1NYlGdFYhzkU6
w2ZFnUDUyOw77g9f0Nporq/j9yb95YBTloB9V6WRQDvTc5T1JZ94GN6EGMWCKSkqW3u1ol/itWhF
h53AbgWAGtlzrR9mkhk/8Hw4NLEd3D+eDkGVQ5/KMVX5Uzqq7bb0dDxJDWzI26yRhVSNzOSQ6IFu
SodLnBa1zP83Qj0E7ijANmhqDJyT9VI3rhoInVvPnNsqV4cSwsSzK0fMVR2A209En3RbSNJN1ahY
9HgesvuNIXpK9MgxX7UsajaL5kpekSeHLbp1qIoifXCK2T/2v/KExQ3JThpSFmqmVpmLKjwcKv+O
13JDkRSBvBZYJl+JBGhRpjV/7xFO9Y5eSEkM3IzYKKWRoayfdc2yrXiLGgVbyxIOvYASmldHC8eY
c8Jgaitzgo0kGrrk2lme9pixIhzy5iOvfssUlSqoAQPin+/h+1o0DAHnE84j39AYM8fdDsJ0yPnF
pkNo2tN+Vll2hG6oar/IoX75CTt2atkzDm45QLA1+0nJ7d212yP6ZM8EduuaEhiNGcZrBqlO0HzK
mWZgP7f9xgG95TozbJ0WDXuLcDUAC/cK5Tqt52ib0CdqNrYAPbRrJZMtheHdRtg6mj6QxTa6WXnZ
6vbSaNTmy0GKjoPmYNfoDgWSC6pDUmggMO6bc99wvNQL0+wwMQResNWz5PjsK0B8QxO7TiiO2VOv
WT6ePuG4Fs+ROusZvNyjH6ChyjWGj0bouO1lUeSyMGgED7i9PL8eEBBwzcrZdYEWHGzLIXo/bufj
/fT8gkOOTcds9UqemhwXmvFZcxsXlA8IUsBymdKsbSmBEkJ5DnNeksbaMIxQnUDTRrNTMr0XvDiG
q9xYQswGRSId4wWsb1+S0X8+h7+hsk2zMQUYlwDFkY5r7ZHDiEavdqWxLaxFECixafnhfstdejk/
P+B8UmcRYY2288CN21lDSo5/C32o49KbEEMDlrnnyBgsmRHSHRyjGGBXJDyTWpVdciQTW6COpI6L
4MsorAFgdmxHEWIVfp6f76iLeme6jaV9jfG0xrS6k1PL2WwP45eDF3CjpWYr+67jeN3VUrVGCp1z
5yF7Ag3xYruAwhaeCOXsPafgB8C02fzfKsRSHsix1+AXf0ariMJ8gxaa+wxuWUuwXYiig/4ytjlv
9qs1ZVMSsSFUBDWVpKlv2QWumPyYwzBQsWgQIEc7R2ya1Ci77/eLRHihrw6MgWhNO0XhOaIzKGAH
F6neJbDGRHk0QTtFjW1BNUcbiLpZW4ZZP+eHmuO75be7MgKdTTIhZS+Caoer69cH7G9lGR02JZvw
xGBKImqzRlvj0TwdJMMNfPi6nv/zC9mgbiOgRDqAAXqo4Dp3zynQdgpFeGZK2pzWbTtuTnCodknp
2NZOUTMlsWu+XZtV2rdpYJX2To1RqVXJhIqrUTilO8UMJwNqC2gG0tqXtF5kMoe/UMUUxYwKKHXJ
APn6PKJG9Z6OVTCrmDpd5XkUH7DXsol8ziAqqk92hBBWktUpsayFpAjLTTQq3cpNVbudZqAsvp4Y
lfyoVovcLRxDOtWkxRPF/RjEt0aypS+9olpD1W10mskINGRuPELW7pkUSMdFApnQ7V5K8phdcUAd
Ut+Y6t5ujylYLKpF/IZVwKJF/p2qfSB852m4ty7DG4ODDa1WNEcvKS/k5XR9A8it91yDepoehdWm
PWXfwU4rSUBbtGEvHMIShwzplh0y3caRR8/b1+Ed9WMyCC8IzhCcvGS4zh4LKsM25gYcPDg3PIAD
WiHTuDGwCqUjjWS+dO3QXIIuRd6MxlSj+SrD2SXlpCTlMe8Vpo5dw8hM+OEhbhscz2ZwzX3ZFg3A
DKZZ5bRl3rP22wrPcxCOzy0YK7MRFYshX1sVyPYENLLrcI6w3TrMSCKCBAdg8VX6W7owyL9vPEKb
WaeqPSyhB49jey3Edq7e5wU3UXDN9qyvl9v+2eJUCL9xIBpxkFC02W8fn9gEAwW9EEXysDTTuNbS
+34L4Sd/5Ramj/Ldlo67Q91YY62eY6FQ9j3S07RDZBEyAVARZbE4QKQAFbfy2Ez/jcEXG9DhDYSC
RhO0XnAGfKGFMkMV8MHbs3soBxHLqNNc18pq4qGNaHhubCto4AczZAI3nBwItAlOhC0nxXff6/Sr
B9LaNweB00NIriJ/BnpLpVw5mxBpCQ6tmWil7XmrXPS6bE/YcnfY2VfzvYGVcb1cADOtMcAghnZc
s54lCUCiFDA777g6ifYf0jxBwMDRTZrRmoSNXF7bb5j81wh+BKleSZ08ukqqtYnde9TCDlU8oWCl
43o4wAw86ixNJhpZSl0rk9Mft+P59Yy72mlMxR72vhkgNKZuzYKB7J9uD1mfgcgWDO+WdWIaxuTo
CmqO7zDB+U0T4wQosKnRLDdYd/HtrvjbOlXqrjojoQTbpk0EaFuJjtVwZeoZQUpi7zZ2ICrS+ahZ
rGjMQR/Znyi+dn0N9hlTV4f9I2zVNVc7IZadYjoS1rGDRkN23/Ah81WOJqPh+wnht7bnxf2oDEtB
o05y0yjr5qSFERdtFPCJDs9zPW+g2ob3URsjicePN9gL61t01qkTD99+RzOqeDUzHffoCD47N7sD
DdNBpc9sT73qp7YaWrSNRbo1UK3oDvHyV/hks1kdy7BCdARAWvGLYjzDO26NsW/ObRsAmrG3ButC
+Wa3gSXFAegHy7GMK9ESbP64FRMWDWXjacONQvJXugYPdhFdZ7Guod+Gro5TzQaSxUgKXPpAdyp2
rZGd38SiRlC/4saHzl5SY9CPE5aJdViuC8LWDLPYcscwZm03takpvKxmtxrdWTS7ewCbMROt85pt
QFLnI/4jHi3ZcyyvdUYFG1i/zIr6DVt2wVQOhzKZpbS2+jYoSJlMmMdYyLY/Qu6eZMcjzU3zN5CF
uE4J/IgfaGPddxqov5zez+goTTUHyPTyu96e4U6+IBxQi2on0XnBy+1nuD3Bcf5j/zicz6hKsmsx
O6p+UzzgRttOxRBFZwpg0EL7y+V0QUhCA4wa6KZBLeIxWaY+5iQWkl5hm04t/fepkfudAyGT2dTf
YYyFEfPZ+GbF9miqW5kn33eNNoDMXJ5mqwjDlM2zI9M3NS003wLCmygHbdmE3nJIE7YcO9WeVdII
1DrDdY0krM5wEHfgSHvpUSeaiUK+QbtqbnuW0VBUDoPlztUmraXpgNfiftV6dzSCGc/BcJV+iGiK
iu+rlrKebGvNK5EMIr+oooEtYbg6rbaSbjSZlc1URtEMF6HPRMXG4FnbLZXf7XX7zvK1AmmNhM/+
HnJwcAqtQUS6dZjaKDQ2dns90X4DRd2hRgOJKBQr3SCdh73vnK49H4P0nOG0bq1AML4Ntu1JTr0c
uF7zzn43QSwhN+IDaedREYVE1N/7lu6Dgm2bUpky1si9CVcdJBPcm697PKRxtwbI8Xn+iP41KOsQ
iKg5NTODreEl9laqw8pgdl7WAsq6am2YWQ8GJFSkqp0LWI5qrZUwN0aNdpoHxNdxSEvQuypaO/v5
n+j4teRiNKZjUWOajdNVSS8TGhg/U7ad86y1o8Dggu+3D7IZ6USgwbMUrSZueQAXujbGfZ8KATVV
b1A/sX1KNW/w4yQpBtTxL6aNKrTSXJJvaUMk/naPaiLbn8bkWElqTji3hOnWDxnhlps0smgTib1M
JwRPN1td8V/tO761Kf+W+are2Waf1rxhzVYTRqNrMLC6N7D7dY/Y4YV9jHcLGEe1vWXFiD2B1xJb
4LUpMYc8fMH0MCwjmBDWft5PYcNA/KJ4QHPt6iIYmco60mEo6jB9K+oo6TdIKjvUzSPSklqUkmUH
FlHvhLrVC1GOH3G9KmFp9WrqubLAyUNuQPY9Qf1TA0u1ZbjD46/TT1h6oGWz99Owbdi+UrpuEYEl
/Ox4upwwVuPxcIFmMjZ4MlUQKf18ULMX3CNPwTlaq7BvU6EKmhLddhN75Zozdr8389CI5lHPnJ9t
jApnu+aa5fx21J9kyf5ZGc3BjAfNC9W254A6CMdaAMfqxtzw1FHpEhXV/o5DJdcsAKXqaXPzqb77
NkOpMbBUd3pb20jUs81xLYxmeqeJ9Zc8sAPrGosU0uPrJWzd4Yl7K3LJ3aIMbctEBu0xPz47iCh/
xNJRaIlrI8fWWfd3BUtbMDVRjCDXTFue9tBa0UluQteyznIck8dnyRRT/LVqnvIzuQ2gFNvB3vit
gc4URit0TMk2iG4L7Ia1ld5BWSwOsFgW1IBKP6aiDBgiynKjb5dYncizU99phtSawkC8vNSo3rB5
za/r+XA7Qp9BbOrIOaJDKSWMjlOo2mSA8dKlu9yyXor4DWUznkoI01ZTdLBHoyVk7DB5f70AH1RI
79Bo7jlmQP2+bLeRNtccnaykLPeqq+uo4/m+BdvrZNeu4mn2Jexp4p0ZW10ZVAcHOAmk9ZIVbHWA
CaZPbGwnOI9yNoDz0zXapY/z1SFbv/uOXwVbVfatqvDRwsR2hw06rjdyY+t7yHh0dmPHqYTrAWqi
Vcxez2KZPePzNY8LSaOykN/Qy/Zo9cqYJuSBWo+phafr/iV88S9UlOBQCXvd2YOjoKslg5sCUk3q
ilaMXJ61h4RdOdyCbtig2+srrtxYs1SSjXk80p9PYFu4M8W/7JI3s+u6ulqOLzaIfBS11AFE2Cz0
qyUkv0Q3LxH/WQwQxWoJxS8hyBLpL6a+hGCXGPzyvISNfwkbnbYoPrF7hosR3Yy8W/vj8RxF+7F7
3nbP99Pu8Tx9pn8JruT1tNvvrsGBSH90enAXgZDd8XZIleW7288rg5DquTImQv1EB4xrDb9yeD9f
jsHv5VfpplXG6C4uU7z943QPvtj5b+F27H6lTx1fMX9quLyne/zv1V+xsXPVIAJiNqbxV6KOiovW
tu/z85TuY3yB/fQ/FvuVvy7t44P/wH7epkEdrT7w9RYO577LkXH4zfJXzo/wAsUf2YUr/sEFE+l7
3fS9BPOhK15vz++v2s+rDkjv6lOipJ2vu9f7/iMmxMI/h9NLKvZjFLewr7vn/m36M/zW2XnrBp+F
+7330/5Y+63pk8cfjW1Sg7yE27C/Bwln4ig7F5ykr50plW+na8KRgmDcXnfnsPr5dBxXf/Bb56fF
xpL/pNpi6iUJWbqgITrbxRAty9zb+cfpuhs87LTo9MeXf/QZ9evufvs5/nH+q9R8E6JrORQb4YVf
bsff7ZXFvF9z8r6xcnPR+sWtiUB6yYoInN9ibUn+n58hcL3yKlpP+pX2GEiSEmWHVTHpYV8+bMor
9z35c7NmTAvOntrfIX9ubmYcF4uiaHJwM2xNujyNrbHly1j6/HTZG2uYeY0ZdRvfIalg/Lyrbch8
PPGE+Yf72XYOoScnSFkygeJKf4DXWm62aCY7Q+kiROZdPLb9dVS0Qf3e04+m7y71VbK9k53jf8xP
P2ai/TTJacqsmdloVuwbtpmxhmKsX+nF7GNmwsM1Pxmkd7Ho9D/xetDOenBwpctrkncma7s853U3
obz8qw4YcXrV2b2eVt1HCxqM9CGc4J7ZzbyOnNYhuZpo4Gev6PAe20o8wCJifpmZUz69zPwe6eKB
ddxq/5l1oCXNa9lyLbdw1oatLr4UrKbmbSJ08sVq4Hk9PR9RvRAss5/GXuq8kJlfZFC6q1s9Onk1
z3GzJ5dkdzZwJCHU3rL07OxMjCP6quonxDq7r3B1dyHmvUYrEULp3eP9dBquBPs/h5v4eLLRg53H
8iZTGv1DMcDe7TUVv6aZ14yyLgZhb68p+TU1ec+orvVwqmlITN6uxeFleQM+uCFacsovr54flC7c
ybScmjX8jO1wy02Kg80k6LnpafJ1LXtBF68o+eX0vFyfdVA2Cx+3v50vl3165vEjRxoRYIvg6C4D
IWH9WG3chfj9VzVYjwDQYHeSt5PyRKMjef7cPb7ur/vDGAKGjRx/qFzEDihSjoajHrCjHvgVA4fd
5Xz9i3+8H1Iv6fEYmoTIPD/++Aw29vgr+Hv8w0OElB/W6UqkhyPpNTlpu/uvYKqPuztapaOrmHmV
j/3jrzGg18zDo8eYH7bpI7JH8/WIseeuc9zPCkd2Px/BtHHD1fj1jGjObl9bQpAutG55dV/PlygB
If6NniX7+JBCTY9nRETOcMZn9Ozfv65/PXYR2tod0gwxbilJ3iReA2F1udSv3VxS8WCXGUgkLtmC
6OINTu7x93X/EQ4iou+7mDbeaf6rJFmDiPXgpA6ofbYW/CKObE2CaUZyVQQwg2AGuTq8B9cvHvLL
+XhmVxrUa1qpkJDlSh/n4zHGaXCxnizWJSCQLjbtdvF+7GqGfqSYETHm1fh1OvJWMl3Gxltt+VbT
11cd7wV/K+iD2QJRATieH0Ef/+aPnhxYjAOE9cXvbtwUa5Z3kyjGMQvLPSvrXzBsaLqPU+aA3T9L
FvHpiBene39edpJ/nlEu85Xmr7Ff/rSqKpbwDsfz6+spIVfDtkKZEH39m4aj/RGjvcP+sstkYvaE
fV3vfT5OX8db2N57sMyXU0yxgv3RVOqJ3XicYp+zf/t6+becSmWfJ/tLrRdRme+3y+lR3B+4O0rW
b8xq28/3XG36SNZxlOf5Z/j9N3X9s+Vgg7Tx61KBGf3FhcAnA7QbLAEvtaau/cmubvlQRS5P8mKt
qh9O80yolBAHp2aNgLB19H1I/qO4zPym6O+ajZbG93XZX24Pvy3U9SCZlOGNUq4/5lV3Q6MVVlMK
oqT6WUmtHQbF7+28RuotFDzub1wbdFt0/ezXC5dXhV9Q1W1K5fphNerqu0+Ob4P7IIlMxmuXUllD
/BATjxOGwCwwzigi/odcvgbYXenrLuf66MG16oi2IE4455yhS6b9Uvua6uHQ27b55OXqvtiasUHm
SixX0FW3Bp241XVftq5ct6yozFIECtdxSl3vhqp19s2omnXzVZtksRELjeOe0gI+ZSlEdYN5NaJl
/bYfT3mNf7hc+F/vm+FTQ8XLfhmw9HMU27iIY8tzYn5tcZWOt4/zNSF5Y709+yGeXKhII9Dr1wBC
KkTdM5uEdLSX40QhThzsQhwGnGylG3jNoOqR6PI257NNhQ3cydB4IvEXDAiNd3J3TlAwf2UcMVfx
zazcbq74nbdL6ZV8wAvVoF3oiKXRmz0n/hNF3TWeXyaaNxS7CBhAteyjkX+3m8uLQVcXyUm025Jk
3eJ2eDlfrhbYI8jvR5qWUEtTB2yH3ububXOtVR11KHUdPB/p6t55TVj5j3L1mGPwzBPNDJ1G19dN
8lpI+O8gcmYS1CA4OYO6X1SMH1V3CXPoLAdiDuBdBjHJbXm5xMs+vMxvFgGWdQiUQaQ5HNYNxRhp
najjxMD6+3E+/fzH269J9fNILn2TeIVHZ6Lchp7dBkMQ2Zg5HG79NXxADEMyAyLy5ned4hYZQfu4
SPRQpSog2QFPZjdBUTycCGU+imusoruwB6HqQHb+6ZxveT39Y1qpftdjbmVMn85MuyzWr6d/ul1/
3C4/Tv9tH1yhXzvBL6HJEmYOVl9P//Z5Onxd9vd/jpW7cT/5RYbgIC0Ss6ii76f3GDig6CsUeQXi
UL2e/v18SXVekWvNHERcwQ5RYZ9d5fl6DyvwPz24QOnBmB0RbnzxPEEFfbMhbx2NsOvKR8GvWrJd
8Q73anj0/7jcbvDA++X7jqf13073txN6XbLJNPczbFEa27PrJL/FHfnleMTOD8//l/3X43HeX2OD
LvTqZKuj3Ip+POUs5UBEyenGyl7hZPHRYKOpcNt0UPX7AV6bHHNS2q4QTrDhPScfxYal2i4g28av
vl7V1rH8AvTksuAMCyS+N/oEol6i9yoG73XQj3+d7tfT5X9cz89/TjPk4A0l4heXFX7axq/7y1eQ
gFjRmVvRsWuQ14nmYz6KxWmm5l1oT3tyAWM38OUFBE8STTcFCNRuRfLM7n76uAUDuGMzscOZrNR/
TqXm+HnXGc54GmJ5KNxPM7H8w4JYXhK3DQVz/5SgW9Zo2r5fmP4B1yqNJmtzNfPl11Qc8Nb2HCY2
QLTa8UykyJooV2X8Y+xyGhaKXkgMpYbqq7DeC7sgzQuTCGLCI4Zvkqwx7+sLRB9qRkVAYp06AyQX
UP+i8bXYz6G+mUwV8WPp2Eh+YXPktjd193K5F4ZdgEoXiRjG+/H1OO3iWZ/iEe9Z12olJVlxDzUb
yK+09b1MYRv72uMkY/LdeotQsWJeONoEYBwd5FI0uY+hkpkR8261mTzfQRLWQrypkjjpn7f7c4Qy
Ynry8z0vd0dba+r+7njz4yY9+GviNNmTmLMRQ0scKpi82tF1rZXrRv/LkGBtXdWxEnkVAI07St+F
lXGvkPb+9Rv8vlV1Gsz4+2OmeCYg8WrH93VWyrjWI8Qfl12W4CE3s/v6BAckSDxkzJxcGSuZh7Qe
L3GK0HOywyBKho1lGTaWyGpqE7Am9rAWwVhGMG/30/nt+i95B4Bgsqyie/BxduOdBS9AhDOqLjGU
e443PG1+eP7ALeBt3aBzTLEXwBQjHxOzPmKgyyWiFWBWqXpEPx0dK9JC1tXMJIZDGM7uniCxfDxK
aXrCvshbx/66opdAJyS74kkp1hnizUU6ucv5xwn5DkQVFHdweWX4FRSVHZN2f+XLafb1uzqKMqjk
4dIzvEU5z4Nb2fuWM8VKsusWJmuQhuEukbZs6D5RLUnw1/JCTy73y+Pz9tgxBFI5F/IRpyTfz9vn
/nB+/k7fNmleXk9Q0IbGwIU5Zp+Wtg5ZTTeMPWWql4snf0R/+Xl6y412hpKlwVFL7Ouw5i+O96sI
l5jmwBYrCLACKRai0rdYQYIVaHWUm6l7FXNM1B/6KF9/Jbwg+sae7BKxDYtvVGAFyq8mPKjFCgas
YMlHEXhrsYIFKziywug9rUSX9Y4J87dQ8eV9PH+87VKk83w/cT3u59peYutq8ScbOq899SGfkM1M
6nZOknTI5PV13T+7cWwMbe3SY7BEyz0GhXIL3taoYoCyM99RwdEhYiM/Yvqj1I2mJJt+Vr10jPMx
ysaguvlgpyMegJYlPXqoReBjvbHMY2XD0tOX/e9Yvcc7jtR81hz6KNgJjhlEgzXDsn4KZT6Cd52J
hcmQri6VOytK1PuJykYOMV49sOGFmd6qnDeEHuQeeJC2DiDEB0+vr0GYgoDfT/vd3263j+BexF4O
3GK9FEtshOarxozs4cRdd4pmLFkGo2s5JnxA9UGHUjVByGL8emEykOk1XH2BFJ9MGM8J4lZdHRIY
JWx0rubIj12qo04vITwsInH2eXrlsrPfry/sC7uZEhzJVEbCutwFtqNn3UkdXva6G8lAbeM969l7
1i+V1Ojpn2PrhQwZs/e7gLUIZWfI131L4Wtyv6JQjLB6hqhYLUsRkAIlZG74AdxwYvli4lMoUQma
2JirsFjEc1wGPZLH9wwOu8aAmY+7zNLU2fVp8ltJpEj25PupyWHtpWLg2iIFkKtW+QxA75kdyLz2
w2X/eJwQmub98hu6FWLCPmyoOqM+KYG/WNypV3X5LU0lu/mS3P/YpnPMR83uRviAz/tpsjUvL7df
rDfZEUHI9BLDAno9i6TppUALHq1lrwUNfWk2vtwX3smWdUegBefxuArFJlJ1fFcDZrLHDJZxdcVZ
KgvW9Bpmb1ObqVzFntKQvziVmbiKPVN0kJ/9jMMA7j9O/xCMwOH5rzEaZu6vIM3tV9UyebFkzS/8
R+Ul3JJd68gScFPy84R5R7Hw/DzcCs/UsoCtUPx76CUdiW7FL/gJ/fJINHl0MoOSX0ChM8V2NC8g
KwzUWraKT3d19eghm2LeG1hZAFWNmNgFSBpCxksxXs33++m1sB+xoeJvpjhDzl2uVrBteTnZwtbC
J6WWvEjmsp+h/AKnGx7PbvXjcD+drmzS1ICwbwbj+KSpq7uRSxeC9UE8EzneYbKg73Q9izV5oOwb
C1H3WQqvg/VfFYNUP35/vNwuaKOoq0TIpKNxazL1GDD28XHOFnl/PX/s3k+RJrbL3VeZil87l0H3
YnFslUUEv8jcfqSQnbTIrw3PO/ISROzT8+n877/uv9EClrxAKqdx8wK/xxeQ7PNOkxcg/lf5AZZ/
XpLn1WIXp99X/POGPE/PNCqb+VBjW4lIv0+VOWL3er99xMYZ19vus06UDfd6DLXnT5Pzq8UFc3Aw
rPbyOxz6r/h/3HpDNY1Z1rGs1gsvlsaLwcX6eTFaTDV/baxenL+08W5jJDAXcrjqctOrpb+yq1ny
pSS2re/ctjVHLbl0FtDxfgb5/zywS47ggZhIdR4vGc64saRavWWPZaZ90IasuLzhtb1sSSE9G13Z
x3G9TS+nGi83iM2WtRS5bitNxN/f641d0JOXEwvVsrwim95QkjfsKgpheUnQWmajctl4O8i3ruwI
dzt+gc3TcqkQPNy8ln4hV42SqeBV+wWUs+obyrT+wUDbq9Yblgp1ixokCn/Kdo29z/fn6+meG9Le
foQA+BlczB2TvksnTK4HZeGONMPY/ww9L1YSMra8Kiy14S2tIJ7CcoNKf4c395aYa0rerizCv4kl
PkcB247odX4qhwyp9XrdgUmIPhmZVmBAxeOKf5w0ps+oTeVxwT9OerXTMr05dJ8iQLCIJYsQuCY1
VpxYm+D5eSDJTHZaiwbvCjvixa7tfQQAORDDzg1h+mUV7eN2zz2J4j/ktpf/tv8IZ7nnEQXDdMco
VxBgBc30L5lW+IfXGFACVINWkxJVvFyBhzK8Wpa4u+oKPCDhlyVeZmgenIc2DC0XzyE6SP/OfE3U
OsQMFADTdeipdmovQVT/BDFM0vE9yrudO/T0Sw5BGTEAYbUg5PrdDrmcqotrRYXxYYslYQ/NW5Q3
Djw/d9gszqXyEnzsZolGp7clQjX74e6l4aS7KuyS6BiiTgnJj0n2sa7C2FkfAjBGRGcU5c23iT8U
lwoK9L+l/xKxga/TY/e5PwRby0ApSRd2RBd2pZVbrZZnMPCa1fq5/38uz3CeX214txf+3QR5N0P8
iVJqwIH3QE//3hCs90uBIU5XrLO7PVONHby+RHInfvo66cqiVtIzOCHhWLIIUEHrJT7MkMOPYCcL
81nNIqyUYMmjdA12Kaa1OtHV88V1dgVPkZEM+MaRjiSbPSdvVJBlqgVEPPd7VcSjim2dHZiUEIjV
VfwmeXK+tMatyMhtoSVQ/nhEte2qQWSUt+SXgYSRqgPDWdqGzlK34xtPGSELyPSXCh3pxLIbmOQ2
zauyuU1amEVtA6D38zVijmE2U7iYZ1nIJWFF8ylNdhUnlquUIHu7WosKatlv8G/j4IXzNXWPGpv9
7YZ/f7ncDn/tIDlTmnqL3XHF18st+Fj3pFzxQoQfSZsUjAuNDQbCxQzhRVRZeDnKQiWFk+V7XU6v
rdeydXoss2N4LV1nxq4+cf/yuF2+nq3lerxj46ttOUXFuDWF/gFqRy3ZUHJ93w/sfWfSG5QaBkiX
ltZo5X1VtfSK5ClyjuHgl4RYno7h6nSsBoWfZ7mLuslslQSwJtz2mF+aeRGO5UUw7PeZpsvXz8l6
jnB2HhJxCrgPElV6Za4aqzzXVQelpR8z3J/3OCsXUsYIRXesk6lsIV8JKOqmhHdfWLZu55eFWj25
Lqdfh8vXg+nEkm4LLM9k231QtlRRs7xI9Fv2klDOopnD3zJPztfZuLodzPTP35/Iu6JCWPRmzSSB
keUECOKyzj1d8XG/rpmRy6sawRSU5kqS3aJgTgBar6xzhAfiQP7TiAOp6vW2ywPle5kzWq+8EfzF
7uuPr+q2eAqjqqvJfBHyDEW+D4+un0OOZliN0jGsx6lVWt594lzuWe+SViOJmdW1JjSzhsKK+kfE
WY3Nqr/eubqDOhqUVtEnbaFA4b6iooVvo+TrGpEnY/NcHrJUGlFQRD2/EJvZNoR42MQ2pVg07ENC
B0ZXiP2QDgQcA0bAxxu+zigtnLAjayp13VBPpBr2dwuSY2piuHbf8rVgTVJf1+1LVcAGfZSZQxlB
2aaxIkj9NkoiK+I7vu6Viavodw9ywyqhjql/asfolMJezDZZqG+2nN95WJARIzZAHRP1EH3/2M2s
0nh0kZEfWyCeckqzTiKWdJCwW0BcsaZtAIYfl/PhxM1WTYuMU1rdQiXFRbKP1V5jkIq8Bkn15Tmz
u2lM63Ahg4IHHzW/j4yHLYfWQeutUWgVOb9R0a6VeaMXtNb8dTJyL2Uvpx0qnQ94WH7xRmPYv1rl
9PESwWF0ZuTgqSyt9wid2mAK8yoFF/ZtNzQ6hILTk0MnyRkifR+nE96UcTK6W4QqLzk1lEm1G95l
yDWndShSPAnxP1yP/yd5JyjM5KAofrHeXI3eiPmy+EbBwGFRmXd2INqK5RsEI3t6Ht7xMpq8ArFP
5Hwt2gfJC2xWDO2tNHU5JW+A9rCn+k2VErY41baO8kTaqeO3vn+5PS7WCY5ujqzeHYe+TC2Pxi0f
N+jx1c01y8fhrSPqmvIgFieLluj18mjyG1zOj+eWV/Bg/943XlRH5ZvO6mAuPfweosxooz+yo8jc
OL8wgIPOiKHtUC4SpOzrb3/7nepP/yt3/+1cfLrKs5ZL/MvXE60hK2vAqwMPq+PFjboIcIMtr03e
t76IM7zJqd9h5Gk4eovGYJgGIGlSJW4qa71fAn2qkupj3XDBtHYqIR6+stTXXdqiopCNnWghCWUm
lFu5vx5Oj2cIJnJANNR4AJSkX1RwDe80l3kO1j0jsUfcG805vaw6yS8Z+379W8yj/8v1fzxOW3uT
9XXUOoUvqWf7zxPIass5vbEuJCboKhsA6R62vpmoYCg5VeT6aGb+8vwvl9+fIAKyFPxYl9D+Qrgw
SIm/Axy8aLy4ahQ0yPeG2M0yHfqKuJOtGFIG90kYeGv8JSf5/Hhsck5cvwMEuze411k7rUFGB+Z+
/K7VZgNBXxaFrxkwePm68zC4rBfvLjpG8nQO3WpdwkLZ1tSR12qDRr5rlVjCLmwfPcGTGMwSM5J1
EgO8xH45lnKsZWHaVZyvANbuKljQMMjzdDznMZ7pnxIyeL9dHrtD1OqX3ekHOxLVz4OLYgCsZPrL
2IzxeLrtYqr0lATnsv98nNhVhm+Nq8jEZgsmd6AnpJe63PbH/Cb8i/h5CUqo2X8dz7f4VSEe+jok
I3U/cKuMCZE0cy9CcEJo8jnP88fp6/OYRgt/pVEs8QNjzMUtKLpxXK4bXZyIhZA1h2zov4eld8dT
xNa5Lxxn2KeVolMhRCfIStnPyp4SeJ95q4vanuFtxtM/X3d56+FIYj8Pl4wL6hjzaDf1ZR0EKSjO
lDe4MVOq/czIyB8Xbebwaafr4f77M97aWVAX/233Q+4ev6/P/S9ujG1Px9jGkcuytnYWkj0YADzV
lSacJ0ppdZ3wPuDWaNIuM8USsWt0dZ3zI+fgHl+fsa/p/5+2P22SHDcSBuFfFDLex0epNZrRs9KM
Vt3PzrtrJitjRjAz2RUZDMVRldlm+99fuDtAOBhwB7M0azZTqm6JHoDD73M8yPByfy7QAWX8fkaG
YvGCtkF4MRiBEzpIzkRhXccr5EN3x+l5BLaQj+YXEoNEd/V9Vj4MRiwbIbi7DDdFOnjCr0FD1Lbw
acur9b7+GWmLF07RGYw42F3n+2U/KkyT+RP0MLKby7j5ClF48dvM84ddA1DanBhOb8IOkmW382ne
aWziVuSQfALKKbgEuI7j18Hoavkw/HuwPfKu4d8jGgzvG8NZIjcEUzCMUmqACxGU1kYzHT5+vmnv
2nmeL8DLKfKCQXm64wylw+42z7vn8btRdi+0cl0EWPpnAkvGTsUncMaAMbAAQ7v9Zbi+ikAar0io
8i+rlzpoWMqCD3aGqON+2L/Kt8u9oK0BTp01oUIi6XiApjXjWQwHXAkhayZ/rApQXlmUL4CoHGxv
POSvMDIHmPJpuMgCt2JiO0PZzbA13G/zWVNGhSekEkIbZcd54jphpwvVCKWYK/c3s042p2kWjodN
puLTezVLA0LyZk2R58uI//k23gajw4fdabjdL8MRd3BJcFt2OD5iE2kINpNf0QwAcsBt3ySTzIHP
x/sLlB7YbJv8Dkx9wvyrKuN2i7MvcGDCZcLdTDvtYVzulTgc/+hDYQnUcgRPEiwOJzxl2enf2Q6x
DcAZjYI4/f46nnav0+EwnkRQXbFW8YX4zsAKZ5kb3JpZgNX3+Mfa7CTdApU74xl3KInaxT8Asn6+
uh8CezuPLzt8Evl6TM5j9KioHg0rQDztWVU1XukfEVfqNG3NiMKgiYA+349HO41CFBuezQsoKy0K
LqmNJ7L/amTqnW3+kpUgo1SIklRN/6AGdz4BoWhE5jNAJVqZlzETdD+cydPypzzOMBLvN1k1uRWT
eEjweqqCExka2Fu8icZrkhJKAMpAJo3vN6O9x4U7L9iap2oVZt8CoQRq9+0OdtWAXVzX8XZbJAr9
F1ddifpXwTxt98hTugB2e3BRUcExaxtBWBSVdVESdmjvJ6iRXVBQEVUdd6Au5gEu11EVZobmmJYC
8q2K5pHmMEGrkFvFDlX6mi6rqj4MjLfd9TiOZ+UcXt50aCQzCE40jwecILHSMorey5jkr+CPemXL
Qd8zjceajPk9am6YAcfEK+89fZQ/3uOUacKrvRJkdWllNdEESMNqAzk0OROtFUZGHq3N03wa07CM
svCaCKRPYNwho8gs4r9EXdHZzSy37/PlK7yZPQkqw931dTjM32WzjvnzPCX+EGeQmYR54OAc5Fm7
0l3Q/WVOggV3z7uboS+FujOm7zMc0xrahTb0uazilC2RkkVQsA62srvnFnOQbBzcp/FiTnW/AB//
8z7ptOmWUJMRwRpoNNJMKMhubZa0G1XIVSWznoVrGvpjbY7pmsPFIYkNOz9GZG1/yYEs/qAszxgw
DU4JUHiFHQITSOZPLg1QuwRGMXChzEBMGvQgqCgoPEIWaGel3dsT5Gv2+/EqO+JNJ+sqcMONzXxN
ugvMNsLspds9+9/lT9TpCS+Ff7N343//AqXxEDr9Ahf+oro5MMF42UkL185B/1Akdw1tfDvfNCjF
AgXEmLXBHBRXKP9lfJ+ugnuLYGyME8H0SxgrcrUv2ESqnKfygHy86AGQqsMIUOkBdaAm4oAAz8kz
ZR4UZlGky500ILUHUj8gegHyNL/cr8kD5R5WQUjC+PtlT3MILnt2wZsxAZ6MFjLnu30hEv4CQzjU
MGDhQ20dJqH+YX/gi22U/HKYxyuCNOBfXsbLF7gH9mOLQEsfCzTqpcQ/WwZ4C5FUbJ5xa4ktdzMD
XFzHfuT+8QuFxL8AP0meOuK18HjNgTFcjP0RlLFfE9zZelDU+C2BAryNhwQxe/ayE1zrNTQYcjAN
R+VyntNziFXm1mAVL3d7Nd7Sy6tyqo7dkc3zkO6YZtoiY2eso2fcLJIKJgBaiohjuPhymWmeDf7t
y8l4qlEgrR9bjA+Ia+//sYD4Yrgd/9OY+MfxYP7R8q6iJVo/ybIpLe/WDOSWu7V+MDU/FmXxIGZN
SgX/+uV5OF4D8pcZvvW8ybPrFpCxHD0c+FcyoM4DWuZ2M6vWMyj/F2nyzTxDQYjFWYAcxnZt1QVK
r7T4M3T/N4OjXz7OdED2z19wgfget758mY1HZUSp8bSHty9gd37Zz4dxf/2SKz9ZhAoy/8fqFy31
iAkQguK1I2aLHqEs7soXI/NBlNqjnQeoKTI+6ZdCAd+EOK4fwG9Cg/YL5YPm2vgLCkwmtXkag0M1
V3+dD2nCeFTSrC/0Z6tf/T+SdfVlegZMS9nb1s9/R67vF2uEAdrM+rkH1MUAgRWCh8KozRcbtVEP
Z0upUJx0i5STYVLZk7MlMGgoX7z35829qUJZSBLD8NctGqL1ze14VB6pJSCh4vryNpzugyLc2ZuA
QnQBSH8g2Zxp/SYy+B6O1Zfsa2tqJI7gdsDhdXglKgHBSrMVZlLmQuunSxDOgYxtxoFDtahSbaLW
78lDWBka5fkjwmUU1/5+vIbaIymJIfbgZJIFaL7ML+aDaxIKOweve1s9dYpieq93gWe6IvpYBMod
TQbGyA/ZrshWZ0o8c+dZi0qaXNJ/Qa6MD8bxtLtGZiP591v2uKwkKnwa+QwVoyyg0qx9ZCD560Kl
CzBRkq/J8cfSIjE22YiSntFZhl4E5xYfY07Sq0dtlbU+9Ra8T1K+NcxKRDPxkcAWsZLClUc3JbWi
pJqEwsiO7yRfo0fGi79SCeGssgENvYRq/idiKxVb2N3qvrocWgEgVasB2aLvK9anmThK0meuvEOP
MYzqB+IqFSsCxtpoMJ9/KKxSsbE/iROJUZWKbeNsrTlZ/VhQpWINluxi/4MxldZvvwPiBdpt2n81
ptL64VYkcVCUZ1aWb4+ptH7KBEpjiAN2/wMxlYqte22XrvfyB0IqFVtEtW5T+XREpWI7UtqlfftT
AZWKTahoVwuUfyieUrExXJjZAvcrK388nFKxrVHYjYpx0PxHoimVzwzh2SryDD8VTKnYPgVXClj9
a8GUis3JawN/eHswpWL7jNvQQ/lXgikVI1XQeXn/g8GUilVjQmQ8z+stwRRGJomILKuohJ+qH4Mq
KTaomAiGFqL8x+IyFdtL2Xrf9n8kLFMqQcL2IUj4IxEPJfBT1Klf2BL4KbowMNE8QDH4/gK9fpNR
IWDkKEcqy1gqQgOmRHTKVUiqeABmcUQGtYYpH+SGE/5/EH0qWHwrh1/5gfCZQkxlEeaJmh8Arz2b
j3OBKLUzL/612FlRxVJbPxA5K7MHMvjXI2cVG6sYGpw/HvCq2ApbJ7OKH4nGVaw3qw3Z8l+OnFVs
6WFribX48cgZvlDFkobg/xdZ/kOhM3rujvEqvHdZbI6d0Wm8DLIzurLPhc8QSl2ygDWSXfEvxs/o
cCx51+JM5PaHAmgEjAmdCjMX1cYIGmHa649g6tW2EBphib08GL5FEGXcEkMjMDVDNgjoIF6yKYhG
CPEyB0DWzY9G0Qgao8Qcj5ZvD6MRhlntAtByURZb4miEE5aw5Ku+NgfS6ATMCuFdxxsiaXQKroPR
c6g2htLoc54ZxkDYp2Jp9AwsQ029ss2/EkwjmHU8G/yZaBpd0OO3wphaU38unEavxApuAMtVVv1Q
PI3uxnDO+1k/E1IjQIwCe+zY6rfH1Ag77F74BzRMsKga1CEexucB5gvqLUV9xwoIeVw51lEk1+Sx
Miq+/pTq1LBbRi5Rq1l1NIgG82fvNpXsv+In+LedDdeY47y5sQBynXTL2lx8EzkDvPs+Pn273Xa3
fZZ3u+E4vZxoICLO5nWTfiXYmNftshLQx2JhBPlkTMSdMRxoRLkcwWnbBYat76gZlP193KElQsfS
r1qy+oKcGroYqMN0hVauAxxqr4SUah/EpjSgbcRZI6zMaKL/9Qxl11jwt1PgYuGbQ5bPIa+hZsXu
aX4TDwfJE4ctX9nhcXUBOsNGWlx4NF0t+g92eOxRTq5ULO6+2pVjgAP68W9yoLDz1ICddF2czvLd
03E4fUUSk4H1ncdWvvjny0WvthvF4NzYunKcsWZ5OBT2eV8HoGAVmMGb2nXZsgniIIYr/KOK0JZ8
jo5zITaft/wcb8At0LZGPH2AQvXT+J3KbGXeqT3GaTZLvUbT23S9audicdiqpz9rkaaIE+Hf6YxY
MawvxTQBzGVFF4OeEjfOp2oo8OmHVxJYK6z1k2H+U5Q2x+ECe50NHRgz7u0sQmk8ceYZzrXhzAxC
T3+33Mtk5tC/jLef7uPvr//xy1//8pN6i5wVY/lIyIMoqXev43DAOa9voupqbT+vYzYfDLuML1jq
TRBJB4EQ5pTxgoPgXV4hrqxx/qzzvFBtgAdPlcq3mwNi58ArIJzJ4Bss8zUQGIWlQSgWCAVGtdxs
BQ/hPBhhftFglP4ieewiqY4Fi49+AZPnaClmDxgxKp56DbTj5OxK5ArwfnCVDrFu0dExr/a03IBd
XRCUTvUet3apvYOFBfJ5IcqR62k4w5I/VAEo9q6jTJ2VF701yKu6LlYS/G247V8BsLX3ZCnOykJo
qEwlgJJBeN6tIINf5QEItXe+ZUsMyiB09aAlS9e4pqhIbwu4SMsCiTrObQscPqQuFxuvSUi7sR6N
hCxjFQ1F68s51jcqajvyB8aZ38+ymZQzCQ0UHtxq9zScZG3WeAukgZx7E3z9ddI+5dYZUEZgnwFl
QNcYqFT5ZZn5SbWoccOxyJAdcJwlmtyyfe0PhbNTqhVHvd1v4nSC1ueZBJMOyQJ9G2gV2cLiBTM3
ANragFlMbJ3YWm4oVjg4gavP+202XAhTre9Pt+l21FCeM6sMOv6qJo7ywjhgBtYkw8LqWneq6hHZ
aCeSdSZLKm/l1RUUkZk/4wfKKsMHL+aOpKFlHs9DM7iIX68HowWExe7763QbrzCjTeYwz+us+ehB
ArVbncBSdknYEbvd/bTkEZJCwFMI4JS7rDjtEv2awbyGQv3YfeCAQKcrf4lhj8t5VH7OWT0iH4AU
02iXm1wVVXm5gEvKm6KJ87FhxuFFNdRKXhvVYOgkju3W2+oyfkpZujBQVdogxlYjSWj7GIB2mi73
vIPxoCxb8x81Gu5slxzYi6CrZdeGFalWGNtzEz4CZbI73Cn7NJKiu9LoBdfBigwv00jDXBKcHdzH
tV9WgjuXcHkZErHPMB52KIyV8zIa1wl75BUCxkYXSV4zRs8gUmblh3y4Voa18gpEI7y1MyucQGup
YGf1yuP4VbO/ao/xCvyWqi/jRzmMy4CyhE/o+QDYvOxWih+7c2He1sWY1DJrelVUklNXSlbqcdDs
SyZ1gi1GQfgvMXGh9aO1UBk1MIQAwXwv93aXmrEMn42aoJzcLwZvv8AvGA/0L+b98F8ex9PL7VVz
PmrvfPguTPJj//Dx54P2abV86lxg+HY5B34lWmxgJLpJMriIsF+8VjBE5G+6Ivwmc63ditVOP9Yu
H7JQp5FtP92Vn7OD/vErn2g9Dk/jUTljFjsjEM19eNHu5jcjM1tBlBB0wM5/49PUJK7Vm3V+kTPj
YxhtoRlJ9Knfv+yiDfAthD3w6f+NaBy/1Rw6ugBbB92EQUflozpGOQkLmL4sw59rtzxoy4iuXc5o
jG5RENBnVRRPC4t8gk8bz6e++2Y+GfJVMEWftiGLu3cmEkl+3QU/7JoZ4an/CmkR/tQ3dy+NXLMY
+s01FqTI3zZeXLg6HcoWPVg8ze7bPGkGdCFbO9bSgTkjdvAMTrSGG8v+EAvq0x994KYZIMvchedJ
8fdabtHllM16ULAjSH49al71zI/BhHcVJEFs4knXP0UR71Nw2pkyc3rssGUjcNAMR/HL8Q3JRjA6
9DLhutKCFAejVf0EUvNusmfiCoOp6ezBdz2OL8P+YzhPNNfDu7KiVkJN7d8fbZEqYqXiIHAZgrd1
yyzrqRS3FBJ9jU30Oc9Osbaw/1PyEXz8wFklW2IIikMbulS4RFUcJdf6MlNqKmRLYh6Mb+8evxqz
XrZxWbilEQ3wvCL8aY4azhzh5nI8ylfm9s57MC8/ZIHTxpJh4FgNp8W5SoTpeAdivk5ZsNv1S3BK
vlwtyz/4mHbanT8b5s1YYxlWNcd92yzf3W/PnWzOe68HjYNcMsMXt1aJL3mntAJXr2rKIF1EJhnM
fIHJmqe9wqEtC03iH3IwAWWHndIvo4v5CTjg2c53XjljWyIlXc76v5DyBdIvylTgJutl0mBP2NDZ
DhCUe57Gi+J3epXGLGh/v5ORuBjKSWftSv+YD3EvczAtONExyfBYWeDMKD3CXDD6jni+7P1f58v0
GyRIlZgSU66UgRSiNznODNVizG2Yte9X7LIsncXIourbl+yGFEOPHyrrFnl8mlEkK+9fR/WFJ/Jt
BM4a8KD/TkiYtkRSs6FM+UA+NMl6NwgURgpQU19fR0XUdXU8AG5Lhaw2HU//vI93a2YlYhh5xWgb
LNxe4LxsJ7f/4dFaWQdijN/2eF1R/WsCqm20VDvTOPU2SySXD0avdiOpPltOksmUZfCAGsKwIAom
2k0+XCGJhjldve6IWajo5gTWpUJLDUtfgJWdRyuf4G9A8PLvs0gnH2gTeCQ+4p3Kznj9CWZzUFJi
Yf3zPu2/KqVEXf4QeV+NKN9Nb0jsRqLII5F7NnqU19ysRsnuhyuN2D4BFX0b5YGybB4fBIIKNx8K
Y73XHVvkCe0NcqUfmxxNIchqNXdNG/5mLC8+ApgVNgcD6WzdljKSztcbtlheZBsLeZrlcrue5YnT
bL4l3yDJASglX70fVkTT05le3F/Pu6fjDNF0vJQ8ItGjAqil5zsqXDbERih/Mnojl9oO3JtA8V6T
td6+gs+yQh6m37DuTLaJE3+tFH+tyNfTgvxnrfxZzj7jG77x12r513xLBXbT9NYDhs+KSrxb67sM
0Y/rrY2AKKlllLAZaqioOn+3Rj5kxnr+AKu5nScKn9UiSrre97Q0YKA11izDQ8p3azq2U6HGqQ7L
Z6X8WVezQ2Kexf9aV8gPkLEpU6yiG3+tl+/mP2vAu2lsKB/frZXfjY2i4gNI8QE6+QEYKdO4Wk8l
bSPTpH+AoGkEUZLJn3WM3+BumT9krtAk+zVSVbXHZCe/G+NunFXL3q1WHoBRCTJR4X+tkzFZeExi
G0xfeZRk8q+1+ZpKGE3Kz935Q2JJT88wWefy3XyDGW6JdxPN8ddk7u4a9hnuSGZUIqMkZyiBxGpf
e1nSVTImWUcx/Fre+s9y+ZBtzR6AmpE8B7QyBzDuhlBozlDSyZ8V7NdABPVMBFUyKfdcmGd+9Bwe
UkZJVqxEUMMUlSwnGzbojpfyIJXIjNO3605shklZKGScTdvwkL0sJ9mEyweU9LIsYbP3sIetr7zq
aGWNk5ey5CplTHbsbriHsve/VsqWQsd/Df/wKOl6+W4t06YdijJ/NxmTecb0Gwo/hknZCmLzTzFj
2bNDlo18N3/IBsI2rm4OqUQ+ZJYpwjyTfy1fKyqvFluZTXPO3RkKFH9I+QEyxgEtOo7+uXvZVOND
X+3oaX9ImbtzLvC6kEoy+QHaTBbmrcw4GbMUmj40Z2pFcnlMNhDzbnrPOLXMAb3ngKCOCe8mK6rG
/xp2iPiPCllutT0zsNlCcHxs+dUy9mpwy5zdLJdv1vJ5FawYGxEiq6me6VIcjdP4u+WKfcc+A6nS
dExNyTK58HKLoslcJssUyRrRrTXJFL4sSbJelpK5/NhtIdvlhWw6dQ+ShBnY8q91XJcWvn4dqUQx
nZiUBPOO+W6yHMnbiJXgndVl4dhqG9W36TopC8Sc29SsLSQX47Bp35MHKW8WYnPuORLt9i+/yD61
Y7FnoYUaXN26KMMdN27bprLfg+1Fo5WdWXxr0sF4+fqqF+cjUpTBJimqx60sw/H8OsgLDtiOHCiN
KhvWLr2jSKt+jNZjBYzvfrWNyC11SWKXhX9KoOAy3EcAa0qWbRVaEzQtKanZyjeKkvfZYzSJ2jhO
iKvDdFA2QeRZwVb1gHwqrcSgp8OwDjWoUSWmuoWyYzRJVlOXXPQCWXNlPQdf24bR2ya2qIJ2uMqr
PzO2HxXyCn25foM387+fzuruP7aFI8e0JX9IrLC73JGBKaUH379Bzf9x/u52ncr7jep48NMGUXW8
GzR5Iqvy0reprGKnOG5lp4xb6b3P2ITy8tt8hNs8DRcbp8a6WXVxTJ7VD7s4opuqaPPb/YYzYWwC
5NVQrrbmo2L7amk8Ct+wM5+OH7vlYS7T6QoNBsqiOrfiNLr7EHFnF7UE21vkWDbfM8n7vYKLy/TK
NjvSqIUuhrcNorlnkrkE17csmsdVk5+4GdtC10AHdlMGySx8O0gbQsmysva4YSqnwL2kq5j6dKLt
h6n1oGz7Fub6GnYav5yFbS7TF5expVLBHt0HRcZ3l8mqjO/2BbZs60doV1iDeEotQMt4+J6ZyI8b
+/SF01y7UoliuNgGQSCDpwBlbIWgr+BnIvUw3/VlqmV81c/jYmepkKT3Y0UaV8DRlVlM9ImTy3rv
EdOrVyi55KWPyqSK3kchkbRBXdd5G+hAcxrIPiXX3nZBqqTrH7W8rhJYsqYAa7loyoipKV+DiSA0
NAI7gwwMmASKhT44gErWbVwLlOv89wq78oFaZqdAOj5ACV+HB6V9g76LMWe5RghKVMGyN2XDuSGP
PL6POL06C5XS8u8P43V/mew/YM2f2v/W+3EslEls/TJR1oMsPyh7BdoB97Dcl4T31Zgru7d52ZSq
GrdsI1XT4x/das/dljV3TKXAYzSBuW+XFKIA12wN7lo19dofWhw2kAMyhtlRKnClq7Jc6SVjED8p
2ihnWVrY0hUjDesk7rypIr84E0wFOoxFG1lnhmvOcTzfVREIXWjhtCsmnE44aINcENtLbMVVYqmY
ixXRMSuahER68/rtBfatTm+rDb/Wr5B90kzTDRsH/dQee13vm/dXZuH36WCO9TrC/mdZhjFQUOyZ
MzKHCiLoKIGhsIaVXsS2r57V7rbBfGXaVGpPxh5B25jbs42VQe/QA2koNMGWdcPBypVNAUUF2BK3
y2VDgK14RiGQOyngbDh68vvlmHK5V6fhPswq4qIuneYbSzEsGyzXPs6zXCXR8fWUdn5LtTaY+dxY
mWLYisUM/+ji1o1MvmyzMjxUUwZLdG3d2Hx7NYx6Gt6oDzi1nZ0Vo/AOxsieb32lIYsagDIt7fyH
ldX1fXxSHE1GOFg2nUfFJYSMZAHJnfLCO+XK+u/UbvaO44hKkzmOINSgWAe9utfdKBDFljX6w3+O
pXmcZOzIFFr4mnhlZqPwwHi4AxOeShENjIkq/IMf5hlCVmDly/RfaCtGt7hPPTP5avA76zB8QCwE
ON0fx+GixX+YEwwOcRnexa0BH0/WRkv55221XhpbPGonfaku22JblDhSMV8RitJYR7RSxAXMQ+Du
+2TuZ0w88POVXbguU4fEV66WNC/ciIxlW6cX01Zmz4ypTSwTXO8sVebF0S27uFlni8aWDe62ilPW
CR0LsBXrANtwPY/72w7dBtkmYd48HKuqssgC90/j3ZiuzLen6alEC65CUVaYzEksllaiQHKiU/U0
yOuUGZ/WECmvQ1dI6c8mT4rNQcxwSw7HK0UNFXHJHW/8I1hLPUM04tlofpkVuyq2WTw2ynHHFu7K
NhXb/Au953kdkMn5DGH6xEL4gusk3CHnOnjm840mJep2UM0rV6FiNFh37+PwrkA3dR6mZ3mhzDI3
M6URexYfacDWb4JsiJV3XKRvwnXNzD20J7pCSGUoWiqPJ55I/0O7INidsqrP1qjZFNOHmMfGuH6z
Fjs8CmPcq+GihiNZGosa54t4ku82PG1I9DEPMMc/HqLc20J/5TqgE8020Jp7vSKYsW/QqCa4zNDH
Cjj3cl9WPR2LFwFo82cZXzWfyq90zH7ISyrnlSOVhUzwJXtNMEPKwL6j0UyyUcdyf9h3UD5m/hQ9
mq18orYXIu5JjVxrhh3cIilPmBNM3eI2T/h0mb8aVa6TTMPEGeQR8qyNuh7DN91/7vgcYF4tBxrT
er0nsCuV0CYTP6hHufR4hm0JsNL9jhJRN5YZQipsflu7DXIfDz0KAwAWf9E38Rjr/SQvc+l9tQTl
iypMGnFSP07QQf103H+Fv8AYjcNw1BxFRi04TLEM7C4eeFx6+9JRRxaMweGcLQ/5j+836A1xIlud
stT7kjGi5wxHBQYGEJqF1pZQcWcEGDMygUWrIoxRo7a2w/pA9k+KlDVmYavGwOA4utzqWVLTDkC0
m3mMX/5CX7wNJ3J4DNriZ8HiO2uGV12w8T7/Xfa7gnZmzCdIRA6nPa2/oUZ/6uV4OZp3xolX38zF
x3c7BSD6YziU3ZWDQZMUWKT0HgbMMnFuK6BuAVSUOFGgdqAIAgE4z6jpZTiuiBTH/GGjaxXCSZ7E
1S71Qfxw/b3Wy0ZgsgUMPIWVEg9gfhsvEEe8SsNgCFbuL1VVfrh7HDm7+fnZ8IIGr2RIquxwfde+
eb/Y0UP7+YzTvW1I2CY+7D8VwvwfQJ7bDI8TlyD/Uy0d0AIs4n/6J7QELy9PtdDTgj9Rsp9go6Hg
B07n+w17aw9yZglhuBko4Q5liwKaArm/P427t0FoREcojT+JHV3bfeKyyXs2C3SMa3fBGV8Pu8N5
kr+u/Q2xjXHbM9iqLXO0oa6FRgc6XOYfoemwdMtzi/kVBKuQSb18bqm6CW53OhvbXTYwCPv+CHWB
JQohhgxjDPtX9ClR6N2Ul3RbL0o7cqkOIO3ntzNMI1G+92/FxzyZ72DbBvTsOcQrOMl+5MU84yiP
VTOmXPbdr3jcAEyiyRpSAIgVHS1ssxxuC+94jLstgARq2V9lziYNjkaU+7PwIQSfkjMpImdnbJYO
9bfpbK62e35SaLNgvIutu5/gPuU8OTsPWLKl6xTykNFmUAQfI4VimXK+WWANVSV039ABW3/tYklU
hdDvpwnobPc0naBVffd0f1GuXFVMUOR+ZZGRMi/G5gPQC8Eoz1F61mJTRxO3Hi4X46E83Z+fDTF+
m8bvyg+0/GVQGgascT/TvOcNfOEph80l+yRZJ16JYQNGtufbf0IB2i9AcahqtQDdZjjUXvrhLL/S
PfN5eh+PV+P/j4q2Kyrp1zdqOx1jRc+eN6Nq5fCBMbeh3K6O6Yc1dnZPUGl7UfmhF8hjMVwU0vLv
XoNLXmeh/LbTCJ7EAY94Ew+EjZdk8gdpxQYpdLVUtdpdwARQ7sKkfzCYKPHk1sdLmF6VJ8YW69/y
KnZN0pf4S/LKTYTHmDoYu2HvahVvSuO1MTUeeb1doQBh1jMbUG+BGN2mWUmMDXwV5yaUK7hhVIkz
UeuQKrF8lgKwVhbs7B5ZQ+wKoTae5UBxVMXn6CNhGlQFMz4L342xXeSoBFh0TOCU9Gf1SVWdsG38
L9SYuf0kenSBWeVMHkMZE9hOdh2oub/bvQuoEGm+wDZES/SYH6ca7fwfHhD50KLYsyC6BQQuCbT0
5RMPqTNYWxUjdnlH0oaCPIfLANkFayNcbzhXcNvFrPsCQOGvTR4BmAKR+4s1yxuCpQK1fMbScouL
7md9cJ8FV8fwFJ6I3M7ko/UeYZRuDOWdtf2u5oiDAYvNJptOWHpi4PMsMIhrT/jDsAsPm7ukFiw4
cuMFZpolrt54MDV2fNW2eswCgggN5cJTkPxz5BkmA7LOtrdZG3oJ3Nl/NjrkMr1Xz9/iUNmI5zrU
IbBrfTHMj/Nejp4UbHQtmgLVsur7E9/3y/dFhjTSOGtv8Q7m+agAKD0A7/u5b68DuOsXjQNxs2S2
AMF61iIA4ooXcYbpVTlKt0DJsx5zY325vg16EhqQwgOpsKGhsh0N8/1mKMag4346XEN4kLSQVnkW
bEwwYqnBmHBjlzbg0b6e5u8nB1KBUoe4toL8OL1Nt4UA3ya3cUqJTtsgC4ZEcYqtO8vb8L5zouEw
vVFeQANULoCwXnpxCeEYLo6pfF4vn2OWKuOfO9ZSPm+Wz13NP8o2YwEe6KFpdDL8s315mBgLtYhS
sw1N7+/Y3lM+TuLBD1UKEywkv+0UwiR1yeCYC96QM9Sj+D2e1DZitRMoTDyBbKnS936Trs3+dSsA
ySv4PatYxZM9oiIJgi0ktxO26aGv9MGzUZBY2G+p+HrcuX+FpPBsfHZ5zVeRsXVhBbJG4cQYh2Sg
KEvHCtcaRQlWnENZxaBcjH2vQeFT/8Evs5oxhLKfrwqMgt0Hip2KrIzAGK7TSQNSMiD4Rx8BcgKH
5yh6qwiJLzLgGb/VQxnZkXwoNi89x1mAWQTSYYJE6V47UskXu7Hk/upI82H3YtwV0SWk6/F3RxLN
Y7Cm9PX4ujnQZK6H6BHShlOxbXy8eWVFR+N01GiAjbYH8vYJvfXLpQ/EdhQWGJqPMtn+aHT+BmgF
g0bF+DGkX9/m+fZ6vY3nNO4Zz/CF3yueMYS1e//QDsaogVejhXAu4/NxVOUA3ypAJQrR8zypcsDT
U5nh9PJaR1Ia73XGiJ0oXnzFFMoLxs1w3cJOAgtgaWcp1wsnY6Iysb+hcAMj6eXZJqoVljbih7Ed
CIaiaiRgKfTU+RpU7PVgy4yxc74Pl4N2R4YqWp8dgzUk1EqxRlQM34dZleAcP7lvolnhR9VMfO8F
qetWEN5Jpmdo4bVV69O8qMfxZFyiKxYXksYO2SC1GXuFFRQBe13mq/ZQpYfCt309ijLtsb3SzmEg
R97bJULWfT7gZ18wS/WFKvt+B3UMUZAl1vBZX68O5vESgG/DZcIZ0wkQvQfRQE0GgrCHWCRGAkbh
YfiaDgdjGo+HFIB8AYD/37B7bENE5wEUi/v05XOYqDwMnBLJDrEVEY0HkS9lPwTifBnPlxm80vny
xb24Aqr1OK2WtNwnUFo/vAkGwCwuFu/0+TKfbkbiSSXyOGO9tlTS1UH+HT8fXvbGiD9oH3fLxyya
B+krKMxJfN3YoW24nbJfngUZ7+k+HW9QjaZ9ni+f+7AY9nXaSEjEwbFucnE4zgfF180XXzcYjivA
2j1Ng+Y5Zx5amMyNQjOk9KsCrPBuuK3Vouz8lZapXV9xzTaGrZdO1Mu4nyC48LtnqV0Nw3+5rwNj
/jOHCNu7sWLzgEPShyMMJtcWkCDczJfM5WAk59b04JBtcVhKJBC8ZoEHoUbbdMOhTd/GfWnsRoPR
k93Ho1+99MV4SMjFA0iDTBjEjtPYbUcyxfsSOK1i5YKRm6OPn7p47SvsQKK3D8A+e+/a18Wxwog1
KqtPoZIVSBYs3nVdCgGfLsbhfFWK9frwMfLYY6woW0dcXsZKEwmiHfFjxOeHuHYSgTSe7FgOkR/L
WETQGQdBC/Ov/E4RHWOLou4DRR08Am402v4EjE7aZWctB/jP+wwZAmpg0YFVHhhLfVtgLjR7HvZf
cfms72VVqjF7zxQFznsv3MD3EJsNwybxnwKzSQkvuKYBczb+jX7jIqSWCPpu87zD4mQ1bkroY4/r
DTn5ntuppk1xiR2EMhkmEZcREHt46ccUcSj4vci/7uezZFMQOF+8y9Z9BjIPA5rzs5X3V5Sow3TC
uQJy1oCEoH8dXO5QxIRgRZIQ/8bOrgjCOiYI1+G7g1qz7B+Exef5wV6O85NBoLPUvPgyDs/1TVwh
TDztq6shZ2eDXcfh8jLi1AAs15Q28hHBeAg1skgdOyGYHyPel/JqCclasreGhPojr7Awzv5+2WCG
FFWKY06U2UQ7GzIMB43/GLlUuAimah8J8n4i+YITBhZjfnf9eHuajykd6vHKtilx6NfpbTIvtUpk
4VgE5eCMKf3ykwCzcMIUMxYro47UMfHd7mTENfAcXP8Cocnp7f6maEAvy9jaqvXLDNf9NG1TLf5s
bbvUiwYi7B02Yk831ID74ZoyDfM+vG0hkuMWQVY0odlQPpoNhnH9Gre0NmgYNQIttrHXGN/343i4
bniPLkV5oUWS1KHMCvZjmBJ6YOmNUl4lS3H0/jidyTpMmcBtaF2WEemPQmaXZ1mKcZlB5/dnheIQ
p8sk5BVj1Dqq7rY6YFUVe891hYEN0u4oFy1Da7PY9TyHgjOHrbQqxpcIjux0UDCGWy6JN4w2Ci0H
S53HCw2WIg2ti6fpdjH2vJEah/EdWFzHe8auiPNNI4Swn49z6mJFm6Jz8KaKT5nybeg/PoCEUomt
9NUUiilPjtXz4T3l0TapS36SHBpGp76+MgD4agwbeTYSQclTzEzBi00Biy4wahpBMGyyDoo+5Yv5
0LkRqOPBxUBkiN5UDRYuynppg29bhWZcFzeqPxNZqFJsivmGz4AssgCV9SbOT4gizxEYi40bWTrl
FZ7ysJZwUUnS1B/COJMVvjmD/zLKd0MPG4VYlaUscVefvtXFrMomFbw6zAnk5G0qtvGKLYw3mnkw
mL+8DfvLrByqSB2KWwD689f+dKwhMjDdX6GmdD9d9nea7gArSAdxmCW9hIdqx9iSABnfnsbDYeFw
Mscmu0x9NqRr/suT4l9GIxw2fPhJ46DsuBBhw21WLP8pXVUXigi2MuizkSIe8WRbj6PPXSafu0/p
iOm0P94PY8rprRJK+THAoRUckiTyMNl8wUAezAZtR82Ar6pQFDWtjKwiiSzmXOCM3aiSuW7UL+wd
ffMVP9hmf75hneGY9qkaVjWASFoCLLqLXXb+irhe8BFd05v1PzGcdJttRCntiJZlikScWT+dXPzG
ulapd2GGjm8hXRtxMDoJFrUmbLlooNj2/oLNdcGMx1eFQVljPYR18752lbLG4xyOlIRDVf/F/iv5
fpjhqvw0B1fejxkuiEbtR5bUM/+mgicx/1kq4HqWy3OLwHAAqH1amjRBGxY+vhhN9AUAy4fMaake
sSvMFcCqXjs1moOheooUnHyBw/fujpeT4antYOyKBjyOV4oLGJDkX+CPJJzGw/HJm/Gf9+H4CSjW
FMFLebI6TNBHg2BKAFOmwFjfZ7mUm1R2QBgVwEi+k43lI4xqqT84zbcv9lJbMdzk4YPbUZ7oTSCU
27wNUBGlHBiwDVGazQRoYz/LxeoAxwQkjeE8hh1ONtteqm1jcBxyEIxBzxZIhSdAZi+G10rSX5nF
CMf5WdvfvGLE470izw3bkFOtWDzzZGwOsoWfcvbWvuMpEDZbwNR1DIynvM1M1VYBXmy+aBlalizs
sU/NbuVjtf5WmxFszToE1C2ez1qkp9FT+HfyaT8mKjYfqFnRTR8Irm0wiiKpYLZweB2Vf4yftrx3
GdUuIWa2UU5TxZ7K8cKWC+VNDLcB1Ww8ChMSve9EDDCTljQevRg5rLmE2Cpmyj5UuuWjRtimoqLP
FMrO9FsXoe7uAtrdpv+LPKGbNmn/KmBHV5h2GQejn77cXodTUvB6rYR1QvWDdtso7rokK24BU7ei
VNgIochiEjMglE33yWN4YUyYhJC3ARs3WUQgbCOVptCtoe0mSFTQeZ2/+bWrRpOYm8GUXdR49SZR
ZU2i9Ku34auXUYMxjekmJu/WVJxWKE3sNIy3txnBXuTRutIH5iZKSj5WFxN5a9ykFXZUUgRUuNF/
KmL3cqy1CTW5l3usjITR37aTlE1MqQT8sNGZq2Jm0XG8Xj/xTnUWA/JZ66EqNAm6hQlypiJ9OXpg
PWzDSt3FtNOCleRN+vAc7VoXpO2gPuaPrnVBWir0MakQkMlGL6eO6Xwm7wor79LWQ71Fy6UVQvbw
1Bj3OV/mF1hG5MrkYaCWnSJDsfS7MPIO+8JL3xfOFhUZMDiB5iEYD9FIDEImuvJL39rP6AEmzNvj
Utuvje9N1/1wgcTQMkB2R/E/pZ899z/g1ZHLCP3vX/60yxvleH50AaZo6XjuaPrVKj9woMd9fIQx
j/UEZtiQAL79XEJ5ApofBMHCbQaWjZ8mvvZTD1hci2jIBsblSdcEwQ8nYMHbkAqTswnKhg1fKG0C
OOgCgDkS43CCqVq0XsD45jbyL/aVLFUQGNet7YxUmOBB47kQkELHJS/tqFdzW6frbn76VWriLHll
T20Toq0rfvFjjxI/nvtmJawqdkXFdj3bzs50UY7AAGQ41TizYxJwh9ZpP87PKQTUYb9T6yeNEAJ2
T+Pr8G0ydKIA6dhLYNtIkJj0ZaM0QUvBiH8OHBBn3VOsC76MMC5Hx0fJ8FH6SgNc6eZJKvUsnq6C
oWVUJgLLTabnaa98z06BM2KK0Ja52hwlZKIgpyglokqeZquDAMSy0HXAsaXKtrqSN6DUdpMePbJ9
X0NtI0qiLQ/tW/QKmpBnkxPzi2vk+ve/0NgoaBL2f/uSZTno0yyLS+2c0s629zN3sV4IWNAP4GQF
ys2gVk3BgzlULl2WuyQ3FKkSuOFIn5j/9KDik7IK3LVsHxU1AjxE39g2tvP8Hb8w/2lA9AhJUk04
MKjN2HSkHtVET3SOIPIWQRSVBsJPlMpLWqRgtQydwt6n0+Yo9WwAEv4rnI3GvJpfjFn4b2DwkuGx
+pfJX8Hp3l4NU5MaTHWxjabDYRrsTA/799Sb4vI5tyIHz40g69qe2w7mB6/lu5ujvvyL5HlxP7Ht
UcCW2LKhudv1P9bA/TtnGqxugVU2WCdmR3iDMYifoK2aOJftFvdd7FRoDVXclpIhc0+0DH9LIRFz
jL2fzJMjbPOnnY8znCyw00eKMSzPNgvP9vA4fW4hLcND8Lvln7YdkCdB+4zKOu0Br9OJTmj+khQD
oCBzP9axxBUHJe44CERyOGkmxYUlb0JBJiyI3leC/ouR/wDHuC0ynNKrmw4spc5aq+w0RY2nKQvl
ND03hujPZg2nImRVnQynYKcBh6FrHk7TI27yTMFN4XHTUhtHtoZSE4YbDUrJMAP7qKz5yaB0dKNO
u1HDbtThzpM1FF1sl7wurHYuAowDW792hu+U58o7Ff6dcH1436/vlOcl0Uym0Iy3k3BrY189YKYt
CTMKlKJmr4SmZPlAMYSZWsFM4Y1Q3G3V20WLDEpJZ6m0szBDHJeZmz+rh9em0/Taafw74UKZvige
XlsVuCWvGUYtg3KufjxNQ1zZaq/trTfce9TVdi4bZRypA5pykAkmx8WImZfbuCa463l3TOpmBII3
d6NkrewqXwdEF30ExDd1417g3qVmLQidaggEG88GtNdZ2luuorIkgWBd726fcwhEpzsC4qfddRBo
6Fzlk7uKKjIJRM0mzcFVutK5t6Sp3jYoKhqFVvh5bFidCGXJBAsHDHwxgGzt2hfS9vP99mV+/kKD
B8mV3vA/9KfJNc3eemt82Q2F/tj7mRbVwF/8UxWyMZRbsoOX7itc30UKwULYYpr13jSrkXBrIFyK
YkIJKX5Gf91mFrC51hh8I/LBx//nxfKm+UsKWFGynFtPs28LCoxbI8MP8SEzw/9z8qAYGex8/itv
yHwv7NUHuxbI/OdGF6v2j1pmaOFm1i49jMbIt16c/Xvy7uRLsGGq6INDRMCT7WGhy0NKyllfq118
LWxAq6wNbkHoXG1BdB4EqLmqaDkI3YQhENZuQBBA/pWtOCYQhjMRRK1dxMYCe9x/U6H5yU+hGy/2
FJU/Bd+Tak9Rk63QaLgoveuKc1DLmoNIMR+hk50CvN/KxiHsKVpCZ6uBKD06cwgjGJnAQehGj8UF
f1Q4RRmAKFAOGY9NO0XGXgSWhXT8UROKy54iY3QBhah5zk/RkMXfqLio2IvUuEc5OIWqc+yL9Bp1
pqIIBIIROKi+ymYu7EVKetRKA2F9F7wIjshqg1PoNqhFZ8kIHC5S9gGPqCafBVF7EDkOkg/khe5p
WBA5wwUW74ekZd04lVN7VeQkQkP0IuwiPWbpglPo7oU9RavShW6zWhAFQ2e2RmfeEJu1Kpv5i5S4
LjRzsaXjlz/BmKc/4Zgnm9Li/2qbaeKWMGEIEhfS2eiACw5siQ3ghluXT8R5ow2Nh7X68Pp9+u23
ZS7T8k+bzJXcmshorrjYo+1I8IASjE6AfEiqw03idj8sA5NgMwRjg9oIpiHnfgUmJYIJTMPAsPAA
O02CYwlM6cGAAda1D5dKUCqByRhunOUdXirBMwSmZmAgzmAXX7PTJGQIvZS3UPu8t5GwFW50jU+n
KRiYDPcWr8EkLCA6DXupxfUMwSRsMQLjcdPD3/vsATcJXUNgKs8OGfVvuQYuxle6iCRAnnKobhVq
NB/4SlfjBMiHZzuQU13/cJ6ElUivVTHaAf/RTTh7mn6yDYLWL/P/nLopJS9an7yoM5xeZ2c0h5D0
6DFCalgapG6pV8p6TvMLeXLwl5QnZ0PRbHRkBoXV5k8iCQtjSzjbj9HNO8x8di6d8jbYBpfhtglN
bkgM+jO0LtNVig3MfdcgVAsEXObQuHrJ4bYNvT07QUXxwdZD0HmVTlAuEHqg796mLfF7nUnp+8Kf
IKNFFG5j8ZAM6BCEnN2hyRwWqV9zsPF285cUiZS8Sat2xAeZuH84WNvibz5ulqOCMH/WLq1w81kp
9w9J0kWH3+9F6jpcz7yUgW5KaREQv5DHeF30Z+1I992S7nvK9qj8TvV6aSPJccQxZlNdzy5+t/xT
8ilhsrULRzUUicC4htUgDJClKiEvYQE1CyC7V6Jeg0kwKIGp/Hlwp4jh04fzJDBPgEoPCOPxkINx
EaDrNcxXBv8mCZ/CLL5aL8fVSOZPl1ocJ/oI/rIxIFT5gBCWS0Exjxuyi/PB7Xf4942BoJIFgqC4
0PzpQla38WzDyeN5Y7SxZNHGFjtTWxe2me5/hMFzf4fFRFZ9sX/j4RdaQRuv+IMarrJ4SDCvc8tJ
47pkXX89NawXFNdaNJpTaEmhgCU3uZ8na2wCFKF2RBuB0AmHQPipsjmu7zN/Vou0coIqWWeAJOKL
zzpcye4ylVCWaD2bl6RrQ6B8BV1egt1u/rTPO2ElzLiEOdk/b4siutnzuSvVg2U/dsGKfdRA1DcK
9go/VTcv0aAonax/myl2aP5zo9flvZy8aZHKWxu0dnsjKLxp/2FjzLTnt+2cBKOyALeJ+7qRhTPO
wvRnzTqG33+a385/Nd84K4j9q2RCnjzabvFojS+BkbbSG1elg1tufOmCJQE6Wm/VL2JsKcqxf98I
s/QwsQgOFL7FJww/J4zC31KChooF2MKiFuc3uienqas2oI1/T4UXCKBP6KBiXvQyLolxDeLzZRt9
u94TpO+M/nSJlEVdjVusGLQa2sVq6Bpy5llpeoJJEEDjzY6VsPK7IkjSLP+4yZzpPdySVta7nfVO
FweKeWOZUseKpSy7VEsWyiWhtmQ+W1vbg/yLu9BztwudIKioJwi+058CPOAeL9Jl7/I79u/baNen
QX2qA01lJ1mGLaKFCK1ZCK1E2jB/LoW21jSd3jdaLy1LZxUdtcAs5UuuemkxSPNOrtiy8h1ja1g4
aOtS8HvdgOxYpBsrvnDpifmzZBDUl+9YMgghECkVvRMRVj8f5q15vpohBpMZRd+z2Obw8hNMkfeR
TfsvPPRSI3e/RpNinAU8oJW2MPPSBU1xXr2yURPP2vlHZJ05+/vxKFXR2jv2y3cY97FBNRhAof6c
T4HymQ6XyZiM+of+99j8Xai13U841vT5aVYq3QmGN7dZIxNUUO/G40il4MGWPg1WznO5voAXZ6nj
7BNzqd2zsGHDwmB0At5snluPfIZluUb+7Zq6LhsYlgVTQjRI3tgNIvoGP3A9dzsNQulxUyxrt833
8jps+2HhH6YKVo26jXmbUZoxdFBIwPktxvTnrS374Xi8agaU7xMDguuX/Q/j6f6mbcxr2bOsGkHx
axzAswDRYLCGN/jrshXTFlRvuoX3jVCl92FvBlaFa593sbYw+pgG2Srftg8tiF6+0M4+W5bL/o1f
5iwvDQUrwM3nx7L5BrdkPax+xSfHeVrzJQEt99BAghVWhHFoFunD7TbsX8UxiQgt8xYKFte4HkMG
TXx6BFAsAKAvpux93fH4fnMlxxSZVZJjmc81YsTYzpEYb6/zQfsu94lnNg7D/rqRS5J8LFiRUr/a
GuS+vhgxMlxHt4L4OA8HDZjPHPfgsfZ2MpmDhv0WssAmGCyZ7xsS1+ehcZrKTk4LrGXFBbi6PSvq
AODSKnfdDcfz60CD9WFX12k/HXfmyYC6B/VHfKa6gDd0ixfN/xC7qKAnC/g2dfO8iL3j+TK6tk46
YAqKpyKcBFJYap5O+/kCE/R37uqb+njsFX0OmzYn2ilqnMgs544qgVTsPfA5mvhr+IXNttnJbg3V
YHv04VChoumdQ3CzO2nxQ2rXORjOfrHdclfZeak8ZxfLvuUZ2yBp4S0N//S720VQJfeDMGLAVi9Z
qrNA5ePUCwyca91rx8Fl7zIoL/SsRRkeB7BDgh6F/LMCyYt2HIlXJHGEm9tlRPn4N2MDUJ7LQ8rf
VkyU0w7v5TQgfw/Qbgrm8jec9C0/fOm9YTC6bdoEZZi71HSEUeTDabrOt8t8Fjq/EFjJIvoY982W
U1kzjYaj7u6ToqdK//qYkXGcTU8Gk+7MB1fsLqQjXsubfKjKKy27S1N9uP1w+jYo+PLhhxJr08yf
dRyefCKm1Wn5ZeZMkOHgHBz4++48vY9HpYXThpNYSSOWBEB9wT8cQAcE5nga0a/NUrbgqgUcOnuN
q2T0lhE9Irbg2b5pXGuhiC4a7Vex+AGGD5zIXoFzAyaxhzQJ1YcQWAfnA0zWj+3ssPuTzKEE2teb
w6NV5T88JvDTHd/0rMDxRedsEPLDEb8Zhn2egI7cuhrNOyLINetkYrOlHbsFm6ix0xEszz0mHBSo
eWwF+vq8yvcs1MT3aj8+ipEn43XDNQsGEPVpzZ8CG8tFLkEIpe+ocmNQnDu6TKjEv9hu7v+63/7r
+Q+yW2cj455X0CFjm9A3AmCh4OVij51ZRrD8GTRK8cc/DIffX14UVLUti6j5gXzGuvi9vKgHv2w8
itjGGkLxHw2xJ3+6iZKNRehfaTuN+HHnn5gNtrAfPyvfeaGCAx6cV3D++GV8//n+ZPGmnNrLD7ad
7gFA+vYM8b4fHhD/b1qIgh4tj11+uv4iuvP0WRn7SdrL8Xs0Mf8GcbLxkjx8X8Te3pOdcgYWwe3Y
SNrh8DdUPMqXdSAV7Zf2xafkkTsfjWbRvdun3qzLQoq1UsWIkz95p/gv4/Bt/M/59P+MwphzWvTo
uQed486NMjAi9w8IJ01B/kZsrQWnoDT3+3dsu2VDD1zoDwkdVbex1/DcrxybaTc/KzpChQr5efpn
c7Bv2xi47QMKtNrV0ZHy+P7GLI5lGT8tNqoYx/BbK7/ch6QbsHv6jauYhOe/nGZ3/2TMwQqvniZX
z79s9rCntSSAuouZV17o/Mcvf/1LGhtdTHw7vZGWAEz6l2zmIKO8TcfomAT3wX9iHwNqm/4sQxul
eNSf6XOUIVHXK/WfMksIp548qGMtwCkC+st4UjLIHWsJ9GuzAmwoaChC+m6XMCOOT3E1DP+8T/uv
P72O+6+//9ufdz9piUFWYYE1AgWJiBDCH3Jtd7HPLWKFdO080n//i2JW2Z+vl2/Rx24jP/7vX/6s
QSg8BD+SSYuY2lNXfle0tw/CX/699r0/OU+gqTFe+yU7sU+hrRBeagBYTVFJ9TwRED9/+b80tPnr
42zRwiq11TG06qiMFS/wkEYI4o9f/l07Btt7jZ3zNgKxOkalHcMXaUHG3JLQy3j7iQKK2qelpwEv
ZMPf/suXn7XzewhUzgrsbLOy+e+y35Uu8h+w5yoaCSElttBVTDGweBTkhuolHrUM/KIQi7QPvLLz
aVwcatlxsArRvA7H5+1RxMbH2yqQ9FXHo4i0Omjn4uBy9KjxB4NYZJEnj7UhjtiwrIxf8igGy87f
Lkq0rPHxLbZxTDthImDW+GBX2eAItab0r2EXTNvtKzZOr5ucCLRmMWa3I0K79KBd2ZMcBNhtrlu4
MqTAhZQxwvLR5jLDPzpPwH//9z/IJOvxDukpK+GxcGDnZpkdtiedESSL6bc4BLARAp+JS9U+ol/m
uG83Wy71dBxPh93bdHob3mUA/rnAVu+ybWQvY9nHmTHqUi3iCFOqtmLXEMP1n/T9K4T+9q9Qukvw
31+FDHHJ5ntj/SSmWyCh4+fCQW77adh/vSogbOSQ8E6pUir4PiEzP0Fu7wqh/rfz7WOnjfqz8PyR
2C5zmzAbd7fLcLoOynImC6VYoPAURnCq2RwG140PGqBuAQTh4sLuofCnWJC0m67zcbjRnqDjQYHZ
+MOhnHS1aeMe8mTmKWGooXY7m8vA2xWL+xzebnw/D4Zgk/drPag2CGoEqN5d7iccY2eU3/5+uRgX
/fihgK09VbA5dAgWTvX9Mt3Ct9wdZtgkfz/tbrPR9q+jRrY1e13vF54xCTTuni7zd1z+dJrxB08z
/pwGLw9ouMoeHgRA/t5I6/1t1F629Ni0+9XcmBJzMJqGet/DBucfoJraUyIzrlePvpXJPAGxda4D
5r9uM2YHdzcok1FgFH1IhPamBlk0xXEv7iS396k9rsjgtKUFx9nc5HC/2KmJgC05L1SyXQcAqsa0
g2vAXSFbO00f8qQtUiBJ6qZJnmabXDF/P0M/x/Tyaoy9YTpKOV57Pk9fRe1tjeDpMFPB5Yn2fDW7
7xLMS8DbTmk2e4Uv68NM8Aa74W48scv0m8qe1jagl6UU6YoLLIV8ngc83bLo2aIc3OWvu5fh8gT2
5H4+HmlnvHZff16KsTzI+B/n2oY9lY93A5dgVg3qZ1QmYU9RLrs4w5emHbT8uNOJhjObI2uw/bXZ
dlsSIctTaVTtr1aWy8TgFcuYfzrgtrb7VeUQfxa0xjtZ6wPzHSawnIGSCL5qCnjm47s2Yhoc1puf
fQ5Ve1amMfolErw8yXGGFPQziFOlxMpevQrP13Dlg8bAHk4F9z4a1+E0bnscry1YdIzf+kd5sGGq
vfBLZQXe1ujPK0uWUgzpR7uhNwJYcZ18Q+1K/gkgYN1nrnnqYJ7hcHiiQuwLdDHeIIt7mK6gHGHE
N5gst+ltlMsws94PdXLKlgrS37gRb/++87ODT/MNbVSwXm7C+lWaWNc0bEjG4tiBd3g0PufX8eOq
few7vNhWESNEMaTBTrgk1d/mb8NRjGpWNcvUw//3rKh8d79K/k7GNm7jt2hEuRFt1vbUyCJjy7ap
9wMOQNx0ur9BByrwDl5IOb0Pk+Pz9Syfj6PQjflq/BkFQBcD8GCcDmhNXjccyKdQWCjF34g2sNJu
XTiceW4FWBu8jfVvv5vrzd9hgbCGWTYKEHfzLo1xRGa4h1clNN9gxsrAYDz+8ZNkhmRVdSzayGgl
RWf2Y9YM6ulkIDXveJEkuMUO2qUKxLaLBb+3EY49E4viAhtXn6BdC6FgAVhAyyfYJ18GRT5CgEUR
h51xot6u2q83LAoNpq6VJDeiDTBLfgizXRSzq7cyLuNp96//VsubhFlBzw/xrz0+i6x7efh5BrbQ
yhjVk9M0ganFGYpZxNObecLJ/N5Rhe6fH5W7HU9htykvuxY0CD6TguKq2CRhLPF5joa/9qWrFjSi
YETy08SLr1DCFdrBD7Oi8PF90ooM64YNw/Ty2yHUeqdLDOmESNfA+ZpFDAla8f1tXMbFDNdpv3ua
Dx+JLS/Ij677ssW4NZjK1gkiMIYBtgBxpj8CQZu78UC073L/HWQtCptv2FOU73SdoAhXA1D4eTDY
kuq6IOUGJYtGNgfMu9BKdIu+8kVnLnpnB3Ve7YqByW0zwFDR03F+2g3Xj9NetOdKvmLU578B0O5o
KEvvKSrZsl52D/zd63HaU1QSRs/LINi2PjRf6Qnul6PRmf+8T5fxkGJUmt/noXhL4JlWa2MCania
L9pN2BCNPgoAiRyRMp7GiwKpZp3yXhefz8bfQczA3W6zHMtGrHggtK+C2J8aSihMjn/Hw+3wmMpD
w8BI27ELZgbbwc6h0LPpQOoFCPM+H4CkjlItUFhe4eFCCSCtB9KtgXwC2wirXGAxJphO2DhpQX6b
hgWgAqlYIDnfxXpHcI7r/jKdoU8AvGGqo6W+EsVBR5JiwxeoL7FauARSGwpfMO7y+hWVKiH5ALnd
qzmPccs+FDh5ir8WjZzkNM+qLFUJoCyk36bz7ul+EhURnsdjBPp9bHbfPDJkc8/G0xvxsRQAvpGR
OZngpI6n+f7yuknoFDEmvYzf5q9jglbw84a9Kki/B5weID5iuwuSaPWCnMW/HhlhentRxI4HAkFs
G8MOjjRBj9Z8+UjSbJmimKsxD5/m992EjYwKpD721kzJ6DqKbRAsysWOp1J6j5nEbdjqa+ZI8Nvg
39X3ZssvWVSQVlZdphe08dX+2ZLtXmXZRLzDshR81rSKpzhW6xrc4vn5oNzAf8+s4U0qyGWz3dLO
nEovyeWev07WbmGSaT+QB2T/a9HQdkslaIwRmbho457Hcf9qTmR8qetkh6Hiv9st/9InQGD52v1m
XCvI2IsN4a6gB0MGzCVdgz0PsFIQPn5TgOUF69engWdxcHs4lEajdDY/NgGLQ7s4sOWWuzt4Ut/m
SbtwLswDeACLcK4KIDb7yptFD2DMvxi+KlDYdDJeEhiHs3Ph/4s2OMIVSi1Ha7VXUPDPRukzV2sN
Bss/BiNAyWtS4DGMofKWDvayZ4+aIJKcz4iglFYc6HgczliKM6kkzOcjdPY9yAOaaMyN8wB2r9Ph
MNoeMaPKQNrAAq37dXESdvDRGXTdebhICYHMluj4ZSDYFo+XyLJe+qbo+GqmhXOlkVT4RRULvmZ5
LX7BBjAxja4M0ilY9wwjPWV9SMEm7zAJlOXyPdicqeDmuXyqPLyHrchwzxS+Hjya/FJF/LdL+bfL
2P1ORsWPh18gHYK0sf/4Sf3ZLATSWCTJP8tXi/krK2OVCtZ6wx87b+Uv2hAZ9jfkhWJF18Tusb8S
1o19OFJiBXyU3XeIGYZvA6oIGtVlXir4yrI68y3JWS7TB2v7YBeR6GN+e5pOg1zjhA9WxtIMeEm8
Fg4GeB2uOxzXZkAZKwEbZClAKp+UpS+opNRyWCZzMSuCp4GT9gv5YTvhYTv5iy6WGZIxeJ6vk1Ss
g/jzPI62Za/BezaIO+wQpJJ9Ktl+oICJMhnbWQxz8/2GjrQ7jc65eUxgCBfB9ChUL2uYecyAUcB6
Py9N26/DyQiVCbyBl7LYPe8LwHkUJKR63EDXPDCDgQ9fb7fzDsJW38i1F/gOgNg1LU0elOK9vx2h
4PEChu/99izoAfjeeiRNHtDc23gbMFuAkQbxY2vV4cdoeLpk9cXmFyCkaLQwxPCv+2naHUZClwTR
5YsAYp1jZ5Hd1G4Y/5RDvgL/Jp8o9yfyYp/vze7k92j9t14SG+vlfph3gNFS/NQWB+GnPux3hgeg
oTrXXZuJX5eeEHCMf+nR6OhLRJjV/PjLy2Qpyk6cjwNUDcPJDd6PgzJtCCkpWyCxPj6o47+AmLRB
J0tVv3sXsZiFL2Absm7PO8MSx+l2wzFTsPHUcKHMHHXD7rU8RhTMaQZA7wIc9qjtYn0ZIXAZxnes
E99d7jJJ5LFTIBVDePAIsoSKggEt4iP1jE+8QHMMaqlTfuIqZNE6+Pp+muA08tcrRBacqm/DC7Tf
s0yQTOJFTFDAg+TN7ml6sa8hPyj7nhYgFd4KsXc5yATh0mALDttHJtm9DXsZD/57NgXOsMnbcNu/
Gj6BSnaDD1m09DHxMF73wxnGVBiD4ut4k4/vBRtLY9uv4AmUn67aKBH/+x/+D5pd8CSX8ZS5Lw7k
aLu+PBWlNBgavytYueLy3P/2v3/a/fSf8leZL7AKNpBTgtAc1Obbb0qpZJmzSkl/2/edfk9WtO/J
c/9qLAalxq7M+tg1X56+AHZ2wkoZ+kFWqetFw3Sdd9NlV3fKh234IlZj78b7frc/Kd914Q8WwUuq
Ry1jR01SQBWixoqdk3kH5SNfAuicXZqK/YI0Pt2Ooyxh+piwRVMEDLfL/QjTy+63WWbRLsYnXMKM
39wk+9W/FPOlFRvX7BINTsFa09ewP5xS1qx5TIBDmhaHn6TQ0sbQEtgWtWJb+N+m4XeB8vg6T93u
LsvMOnZwJrR0+7Bqm1Bk2k01ZEmYz1/H4SDfu5OMy6RV66pL1kqP46yQcVb4X8ZuX6+u0wZs580f
+0e5FAtdz8YgS5BKETt4YL/uCtlcaWLvZXV0YDTJatrboqyrn2NOJrU+1LB2gMz8Bk+d8GOqto6R
CqRUXmHoHqDPGHon8iPk00fttQ/zw1JuB75qyhjSfx3OAygPZl4IA2xQ9GRR54FTXKVwqf+adVpP
h5OeU8U394hjA3CY1yKTS1XGcB6cuVfO7H+Yzc84U2l30nGpK/ZUPmRpn0o+c1PEHDyU5gOacYpT
4eobVx634y4srN89fdxsFxzkwu5vZ9VpyrrYcZ5gBN9kAOx+PbtZnrJ30PpnsONEI8RTKuKqD4mH
HLfX6eXV2OW3HbnO8g2qmF0PhANyo9vZzQGSf9UweedLd4Kj55lCRF5isZY46+Z5ryLh40Vlh4th
6No1j6ooRxLmB2XE9QnGq2Tar2NUA41UVrtBN8eHkXlQvEbaUuyXQAqookxhge3P0MwnM8VKCtiR
IeMJ2vmPEyRvMCl32C0SMeHteuWL00TLByvMlU5exzfgkiPIdeN9ncbvEOGTARcx8+5jeMV5eZP8
VE0eE86WsncYyvAC6138+ah2RTJzURGRylioz5d4YMGCYzA4gExrRUxwPbKJGlGJhxG4++1YXcRA
Foa58kfDSPXBW88yrBr1NG+0CIs6Flo6GBn9++svbgS1tXYMMwkSg4x6XxfrJiCR2Bv2l/nNYHJR
+qrlUEdt1Nfx6TJ+x/9919W9EHLEQq/OF3ox6UsAlK985RtDBP3WblK+y/13ng/21z///F/wcfdn
5dMydtDj/DLtB6WQrWtiv2i95LzUMFOHX1b8jqPyXfZw0FAuy1K50dQI1CLL/F1FfRXDW0agfU2J
h6qvYoQNIu0274bjd5j6gNpYPkAR9dQC2zvhM7VV1BocL3tsYIM4l2rPMdngC/rB8Ufb/TC9TAof
ZTH8hVZErlgRXuNghaENzd33Xy/46zLi+6TVrvxswX62WYwXnA1xhHqgRYb8epaxXsTyN8OrUQ27
+WIEuxIVzEN12K8czdt8VOqQ8AJl8vqNgvUidn2mUGS0l7FYbvC7nfK7nlDd/A9m7bzfrzjr9tlY
EkpMvYsp1PDhlQhB2YW5kiIQFag/5QxJ3obE7lrGDOJeoCYcG04tz9pRZ/MNJnFfjCN8HG9S8LRg
wVMqQqI9h666z3Xfih8XDSsV8iIAZx5QwY1R1DM0joJzdDlp5yjZOUqWiMM1GvYWtIBFrZRzuWCA
w+LmjxhJFCyVvOKOFWYINTX401URflK6WXov1Gwsf8m3JHnf9hW9SioHl7/lm3N8eJjeYD8ej7un
8RmW6FCCdf86HQ+74XBQKILd3MdEbPTxOCgVbSWraKMZzHaoCpTbzpdJiucQLfESR6oKiZGAzcSf
zRW04jq+JInRgUtjQQJ/ovbmb9qpSlYMx5w2iwxw2hAh7zJGWOFgTePR1AofKhX2xXKsYhe9DnsB
0BkvF6joQ3dIYVG21Mr3CiFajeS6GcL8OI7X19G2VlrwOm+4WrClGrVxQzBvjtgs+c2p4lG3dXNV
2CqVyRCb1WG9Yxcjk4OxP3BNg3KLPHYLkhTH4QOmZj3P+/s1dQVW2shai6V6FbpCH+P34ek6H3HJ
h80TwCiv6TAmRUDdxDhWqrSjE+ShuK1iSLwM4M0rGCxi15CqIel3uxjSv03XyRDMT6TD/gMrNv8m
12IS5RSxS9vmmQNWM3wok0HoAlVMyAdqwqhnKgK0pK0I8T4UxC0/kDnOdLuBbYd60Va74ASzFLPV
TJCBJLM9I1Rj7Ex1hLoJHl9V6I9JDPtpVdHFqIiSt8RIp/EFV4oocxzpVOw1adlUpZZsEjGVsvlh
TDNjk7kLGdGmmzJlkcfqxJ/uL705SqscnNkb+dLQ44Jx1AdjX3tOK3O+qZmqIssYY17vp6/jSaGZ
KGJY+pHpj9eJui2TBlHBLlrjvjJCEaHYESL853S626lJr8OkHLMpYjgnbKGaV0ReF0O7PQsxwxbz
1w0tWRXPP5gJClraUFe33Ho+QXrhfUGxarA0jC99SZhUDktIyGLKE6UAroYKX4Y65KG59m3A1sKE
oOjK2Oss5PLgeiiQqrieUNiqasSrhWY8KA5z2asrFKHJawmT2dMdH831YDKnLlYWWYzPoDjKhayV
9843ODxyKzldxHNBsK3qNOOQACaIFQLO48ZDpTxOFVPiUvcAkWrUwyGUX+bvOxBGZ9ukoevZsoha
O24+BUwDJZXLJZHyDOwJQQnlblrDcKQKX7G5jiTtimvzf7BZC4fp2+75Mr8ZxTy+T6hgjTTwqpom
YNwodUjSM2Fq1jF9a+0TROaV4/BzwLMsZseSJNtoiDbMHgCjNK8Deeq2DCU6kFwF+EryrIklzehl
EcWXuEK7tIO/H91pIzGhUTKwuRSiYMoJ6KuwTh+j0UCGbbLb6j7m9sA+ujxryk5h1zbq6EB/xm2h
DUQmih6F+pqYxLqeR1yQ/Ms8H3+ZzrvhCo6lAiVqf0rtTXT1qLzx9PBZs7UoQwlSrCMcOxzFAS6y
NoyjYHWPdJ2cbUnVnAhlLCi9WLSlT2q2Ihz5O0GYuQziHcNpehsSdkwVM6jsqcmW97uYz8N00dwq
T6oNSJUmK1hAC0MOdryyotqakEwIBd+fLoGAS2roUnERgHS2aZw2qiJzxTWpi5he8L9LtHpKhVrK
ooid33Gtnab3kcRmW67dq44ZzL9/JiI1fx7m/f1Nj9PVMdoMyJ1ZUjjjH+Z+gxZJGZxcTqG4rhRG
V3BWBaxgm5II44e7ccT3aLbSv0DHXHnHVn7HH/OZiy5m2aZsdai5h3K2TYhsypjaC57ohCPmyXZO
vksWk9jMmwQ751+warIyZo4fxtswHa/G1317g7blTW9ftJUc3djG630siE8CkLr2+7KtM+U2j7Lb
RUfdpKoR7VNrptKL2ncF8rlI070w/tz7bDW3sOzAPoRog5cYj73eLjAV5Pt0EKIvALWr/FAbXPyy
DLF9HbDHHiZ2woAElN8XmNcswmrLltUa4AC81pMfnA+/EuM6uS9q7etVP3OufJItn7BZ3GK6JvdV
1j0b0kf50AuIGmS2yzh8xbojyI/K6MtZ0QJPXfx6Nz7/88cOdoW8XIbz686OeZSxx8omCown2Jt8
fX0zqD8Os5GoJwX7PatmoNkOhQ/O3yEgjiSyRJjfsCcTYF5FoH3G71fhGMs10UFd+u1yP1CE8+BW
Rdg4mIy6mlELyqpFWJ0oSvV9uBzko7kdsfB9WeEfdpKu8d9g9cLZOETjk460ruG1KtgQ0ripTofE
27v91V1YSIFfIvnsrvPzbff6cX5V2LovfaENTgWlO5gvn4YTjJOYf5WrdLo2j1W+7F+N5znd3+B5
7u+7ZzeiWJk4AwjN/IMA/ZS+ZGvY42LnWxKCpxbSRp4AqSfbBehgV8GzylhsYlde4vYWK+0+jFn6
RhCO48uw/5DLNhAQr0ayKXSoRkL5i6/0NN6+j+OJhOYJhu7v9r9+VfiMsQTUF5jj2TmddlL67hV2
asMv4A/IRyvZbLN+mZn/Nh0YDVndd70b0fQC84PAABcKtUkiMTHwMNX1uDzB00XhTAaCRp64KTHH
ySoXIoR3mTAZ1mmIS+1pwcXvDHuJw4eQBjpPTt4xwaeHhc+736Q1m/hOXL74qOr124snP0KFMbJO
6jnaPkRps2zK+8N0mH4Rt2rBKQp/h9IzVfjGZDLh38l8fh2U18n6gE3t20BRJXXtppvU6WBedLAJ
7MZc2ogUVnTH9hC9zaeZSorQ7qBKe4VYGZn4cM/3EewMHJg7GJMdd3szvpdlacGEBlpgy8yf5UTK
KxdxfQTFbHAOQ3A42eLybdydnq5nRQyWMXoBBxYd4INygSJWAzm+PdGsdOg7nZ/hGLvvxqggduaq
WHluRsM82Anz3pzv5sgmIea79Smr5X64OGFMfN8XWViT6nbpHqbdZYQRyyNMhb8mwDRMPDAHjfSt
gom2Cl+n4yUMVhV8nw07YsMdLL8xmNaniiI/tLGn8xsY3GY6iAAcjXWtMEUdk+BMYw3Wabcmv9iz
QeqKXddPxVtIyDz6hJ6g4XzlxZsYkIjnMZ1O4wUkIkkRrUyf3A92Oj4ciklH9FdRm87vOHrmMGHc
Az2yNynLSITWx1QAUQisIsMlNOMFJr7qwsGt7CaSZfOfFnVyM77RC9jp2NEkVhYRqeQxbE6ns0Eg
XPLmViC+UVqVLKfU2E6kbXZMHykOjHUbcTbeyHBRHqbmPM7WWTKbdlcrdnUXE4HD7Xo3PH4jd/IC
zsJiNSmObxFD1/5l9+26Q4iKJK6Zj7CMqKR6NMpTQ3Lju7iVFWmf+WVsQiVFtyDOcZmPCuEUsRdZ
+WQ2PoPlK4seV5wyXu9e4QIOhAr20G4xj+Tvq6jXAOGmHU04uBo5DIdTDYCMPXGV+5jdg6Ci1IkV
V4l+hZYNxuXtL3ApLUtBFl8dE8EYB9HtO2ajlUsAnUzV4fLCSllCy5Vk3Az/IE2yRTOWO7q+4h/l
l1v+QOrBGfnyFXPmo7XLZNLr63w/HmC6YoIhuqqItYNQQgjf6e/3k+KwFDHF7e5AVPxyNMLBZWMp
oz0cvomVu8SmTE53GG91Y2BxbNRkaNJx2m7xRxUVX0ebXkhvWDoEhIOsTQjUYiVQewvpaKXH8A2H
bt5mRZa2XHviJtJm7YRenU534aJpD6TxNuzmy+4ZpsaYnzgrvFiovg5X1AnbjvXEwFFtsuAxnEUg
lWhWHYYC6rUtbYdSTprRmnlBBUrX6lwq8LzRQDqcLDDALqGzuEUC34DJBlpNUK1aMG7z7gNWYEwv
Jxiwoegj/5y0yMX1BlupabfJgp5TNHUd822XuCvox+Og+BhlE8MvKWYIExynt+mWcgqYy8NcSWZ7
fR3HM8wuUkwspgWWcZyOthcBcIJxvTga6rtBtXKkjuk2tprykVO+v8IGzER0Nlu5l+2DCVMpJkwb
05Lcz16C44smV+iPoRoKBwvbuE9lgtfbcLlZl9kmp75O57OlJJkUuS/jXSAficIhhljspyrAsgss
LCvl0CGza81gT9yLs+nvxmk4Kn4ZYzWogXB1549CxCFQESPNOo7ULGlQY/rjZC1gWFb9o9A796w6
X+fC74m+9kFPjdEtq1jogtPWZxyMrunXMTe7gAHoHMkcP1vcNQpp2Ogged6YnSF8aISDGRBX4YcZ
kAaTF658DN1CymZC6vF+c//KoVyG6hLE6LUiw3VuqVzk1HZU8nk47ZT0jqsgrJe6WDt5t2jkj1yt
eR3wRVa0yie9/6RkMzi1NJI/GorPcnGtSXqCIJW/blmqiw37lUrocz+hBz5hynnx5ZeZlbpTRb/O
MNQtdrZY+5f7+ZF9OGxLLN/JfbdlH44U8/ErmPkoRjvpnFV4zixYlLEwB8LDQc65QksNQzkAdvQZ
BtTENm46UBM+uiMtBXEV+8SnRZQ7dMoVMkY1+Ee/jcUUOu4Y2/LMclYoB6nZQTI2fki8lJL1rbnc
YGufs1xhhuoxiauVoua+F7OvY40jUWJSsNYwEdq0/iXEWq3cDzFZDt1syG+XoWCyE0Cerufd23yg
Dge4ABz6qhy3ComwTt1dkZV1vybCLgVNERI1FxL4krYwsFBev87DQoEq+ZQKLIZh8s98kJSqM2jA
yVJejK67ArDNQknZh1IGT+YMWRsiTYfxCTLHfOFtK3ZjoAdbtIq/Rj+zsfofxUETU0yQGfK5YKxO
V87ZeUnLejD10o86xhoq0pTfzz6pNhSpUTOpwRs5FWiKBKibOO+gkIY3WyoPdvsB92WouQe6bR6V
KrkivqsspswfFeFWumSPR+Z1qTe75r47vw/HVIrFlbmfJLYShlmhfFLVMaGfCVOy6I2KuGpRRGLZ
x+SRNGmfCL6L8ZlNOD1EUVMOLwl5DSSDgHvdYduGAopLGqxoyy0wFIWuihUhu2opBZqneshRdIkW
p9yPul7ZjmLrUO7Hm/XhvFSFTxXirKs112d6g3Lux3ysTeRCuWZVqrriOIPfjTJhGyPyE/TIjSkk
KFq24YKF6tztjRQkVG2UrTNFGpVZjG4BCU49Ul5MNczLqD9VKG9cVVGmLRTRUBVxUat8UhahzKo4
U+JcC0rKKc/gMcqChbp5oly7zQPlyOtUl2xjKkzMUiZgCJd2SLaPHSoVb0Uspm4bpzCHZZf5XtRc
RLSI4HobDI9AAvovto8fm7CW/JqSBGKxoYy2FwfZDYxYjW+wwfZ+ZQ1nG1McvCwLEkJFlrGU6Hme
TrfbPD8/Y2fOcDxed/sXJQTNMnhZTkHoXKvcvYsDESiazNO12CRQh9CGb/N0MA/y9KEAWUWTnUeI
WwFogwqVQUO87S9//MOu2P3HL3/9SxRgB6s+7Qy3GtpIljHs+DVYs0YiiJ9ahmnqIPBLgT6oUBCD
Y/hxvnzMuE3y0eALt9OhDgr58OfextP9KC1Mxl/r/K+xae90S1tCuNN+3I2kDR27BwCFDKASkWXx
rGQVEUATnqB6LPuc3nDH+CgjonVzyWBVLBSU2cGFtLNgh8c5H4fppL2dC7PjXarCJ6WJ5goQKbvL
iB3mkr2CpOdxyuKHVr4up4BlRzZufBBB9f5E2NxVONtHeZHKUz5bBE+yHgN8bPqUCKRlz1qHz/r7
/7T2m8J8DJHegcIOuaU1jorHcVDeu3j9jp2i987T7RWm3t4v1/mi7wXqfNy+CVV7QBoufm/b1kji
UxRbJZicSYoSG3NYxcFSOX2bMR07q2PMO58bbNaRrBjiZJLpGc5KvyCLmIkmZ16+XpN4a9o+Jslg
pKIybLLzKRz4ENd29nYAwMlg2puQ8ud5TCQNl+Fp2u9sGkgmflkg2tSTaBjgnRnhZrjlJvcbiMet
b9C63TRLTMjGROPyCIcHm/8cjLCVZVPOZNNisVBxJ4Kj9kgDyhGzbIQhrVUxLEN1Fff0nCch37SN
MdfrcHl+uv/22+7p/vwMQzlwrYKM9s5DYZVWyOVPw+ttpxJMm1exN3erIX9bSoG9VYNlj7vDfJe6
aTtfV0JCDOtKIsRE+4XRPJluHyBaB1viAElZmc6ymIAkrUmmJ8yHpbGeSiMA6k9PsliKXajBMuSR
JuDPKksKRLRWycaWib5gd2KjQQ00g6Rl+jAMGpVWa6Dq4KyDnnMZtqUERU/QbXU2yljui0ZsM7ka
jBeYz7s7LO821rNt4cAEKFZOQiR0eV2ZSDztYfWXHWoNc9l1qm06byXgcuQybiVcRksQ1Nppl2tb
8lO0ALNBeMnpDCrtfvlquGHD5Zg05IY9+p4//a//Q7MsXc1MU0fKAl6Mz4ntY5dA1ypjGZDSPWmg
i9B4iLy+C1oYRurUve7+n//+WSa1NrTTipTckCUQF86sdxHP5qpVZfJkNni99CBS556ejMWX9rfA
pW7Vp7gZa6KHw6/DXio6xvsxUcj2q6QkrAwvE7X0eIfe9AHY8fIGezjni0zldReztPe/fjV4w/rn
QbdwPOrA2LG2tRMwQb4CqNXaczJH+1tB/K9uH9XF5DonF+ZDp0JX1W0u2uLjO7SlTzdfeSLjyr8h
m4nO3GkqSsY27ESZJILzMhU3E9Rx8YW0tm3kU+frYpjBXzDjFQpUeWw7gbYu5pn+CpkSOwceN18a
u+6kWaPNWh8V3B41FPZ9HI+7X2eZ3JuKm+S1z1Eu3IKoehtvl2l/1f3coorZW4G3vMG9a/MytCZt
usw4GmMhq4MydCybNQX99LMibP3BUd41i70J7oj8m03MqKA68A3CsWM0ABZvbncsaeJRKU5F1DGQ
Je6atcYbqNan8fRiBKFMk7XwMUZ7psvFaMRXQ+YXWQn2MVM5pCSqotbpqAylQR7MBwGH8w4xFyoA
TqOZSSie7kELnuKSf5ovf1uNJ12kjIxr7hAvNgR5kloDKDKul8bo1QmhMdlMburQQ+o46X2bv4+K
+dUx39lP4n1AL826vj/BekwZFg+m4B+t7w5DaQim6vz0K5RruoFbW3xAVyG98imBJ/fGF5WJJ6tj
3ovNsVsxhPV/AVnK4LrglZ0zxNQmZpuUMFnN6Y8NK7ZCGncCyAiu2ritTM1OxoicT8cPa6LOz1v9
6/pBabOIvfENIfC/pX8pi/Yv3a+32TayHwZYDKN3IuS+QJSNo76ML7SaHBhqD6bW7vrxNj8dtYam
LtZiQ9daOl1ci8uzscPvF6WotmHd0QDZyiGawmBbftSxIV3DKmmBkPKMORq+HhdcPRxUfb8ajoNF
EYVSnesTJKjo2sAu9FW5disJVedqlcM+t4GLimqhLN2W/tryu9PdnF5r5Y5SBioAl3lR2opYwoqv
c3Zl1nqPMm9XVTs6lw5W29xwuX5qQErFTglqKi+jU0kw9KV0vPFRGzR44aEaHyUxN6OUYnzfFwB4
6Ho+8SwwKBJp0Dza5ui7MMg1xqRoWNavY61tHu5b+tkoh2kwxi9JZdHyohEpvnq+Alulsl3+35Xp
Dz3vd/QFrqxzh4pKvUdwvamNgm0WzQvySvlSEQ5NbJkQmUeJRA5hMtqL/1Bd8887DOmFqTgqQhnP
AWCroyJcsxRXRNjnddB6MSpGUiBPXeMtqwtTObsvq3XnbmzmhH6IPNrhP52H3c0PDNAai/qYign6
kGkioDzTi7qQuWpovWoIO10VRdBXfCpSiQ2zNiFzeRkXcXGeITygzt1omUqpcJNLI91KuQ9vZ8nY
ZvOoMVAo+shTCSaQlznGVFOPD+0b0i56FoAqOjiqcdyhG8ZmXnukmTbWZ1eNfhKwVWgTZKv8lQ/M
XI0HD9779ilFXdgTmK01saJuVy07vQ14HJQxVW3bsEoXCLevRPwGbDTROTYwTROFqDFvbbbxzTgD
Wv8Ss5SCjcHrtr/kwDy6WR4TrXxQhfnrBUpevg3Hu6adPY/htOeiZoOf/FQRDFob2w1H8hsOnhSI
D8SYh07y5YhjBNJDlvq8jxk6j71oLi4/vp9h9Lti0LeMVdAYJMRBcYxNboIlDsrk+XjXrAcuqfmc
JdTyW4aHtXURtIPbeZeA9z/fQDvPl/+cjn+3QkDBURFrI0TVRZp2Q9N1l1efmRGy87FFrGjQwoqk
F8uYSiKv5VHJKu6KZ0aqkLBtwJHRjIp7wQ13HpQ6G+k9/uf4/U/qnKI8OhFAHfOjlF1lsXK6x5CN
q1szP6AOzurYeB5mALpo6fQGKYfx+w6XXyp4Zo28FQyXlJhEm0RWlvGiPJg1dFZa7vsiNlWP8jEJ
/cLGbLLam9UMO9anmxppTL5aueb07LH1FAbd+LjW8zAd78oVmz46kyc+xWPbkKgu41NuMl8MEw6k
CabJEsWn/CR+Vh+mWvmAi3D/5DgUXlqJNr5bqoSyYXsgo+PadYn46RMYWza+MahvWionKfqRojqm
CthubEQBjsJyPdxbH1IYS4rzOdF4JhpOTLgsmtgcDdBM/6Erpq7NYt3RQsJrdwab1dCqQuxlSOx2
qvh0OE92dsrS8/4CDQl2kBfYwZo9xf1jmH5bcsrhaWlFzjXh8JiarWgiM0rxzxnxUOSzDZs5eSGP
4uQw1csKMNUZl4qfwxxQqojL1w4onxCoOO992cRH0kaUk5sho2VoSTvl0VkF0I9mxwvXYkS3ZHF4
3nBUyYHlLJask1qU8Df6WF5O6oPCL7pYikSrDy3Yb/je28WZAD/CDYZXYuZFWIuRqx1LeNAyir5M
riMs61juT+oyxy/y8DdKtckc78G/wKGPvdpJj7/SxKohVgjEqUjyz5axsiGpowl/tA3zCU2yzKvM
wncu1RYo/KKKUp9SPl500SwHeqSpIaBtLYznSEavWzY8GbOX5UMIVtkmQv5GdD4LEP39+GnHuo7r
yyC2cwF+2oGzsi2twQQVFIG74kM3j4zZNoomZxP9WLjDNsss4lyaj6iI0T66351X5qUGm7VM7bBZ
PQ+jhj/hnXV1HicomvICFU4wht54/tfzdNS0chmzXAIr/jBBYSsatOoM9K7rYxoHhyHjpEvCd8Ii
Y5N6vEPi68uNwr9djeH7fldyNtwF9oqCmXMb3PSeA/ECNihzcx6JYo6164lmmZAQg0VkaOLdT/vb
PUHtbd/HAhHIxDQUWONhbnJWvrHa1mA6T8i2bcGszXTutut7IUTDjrT7TTHsaybnIA5Ydutp4VDv
HXaR7Sirq7jFTegtNMzmhKR7wtmoosY5iTcflnmM3CjSJD53lKKIGAE83vfkOypc2wX28FLvtYy1
0QPYfPgzzzQaJf5HCKlvYtP4TH8WX8UuAiWmGp04tni2sExkWPJMCpfyxCK3nHnWTBkCH+gzP4Ha
N/9iPYTrXNAG1fV8cJ6fn+8HHKVTCw1nIj7ygNws50fQHJOXZLlBG5XGXFGHcWcFS8Xa0+GlEGyP
BBNe+mjVpotPnFuY/YxVlcaPGqHP4DYelbmhZRuT1JapTvPu6XhXQmecyb2xfptux+R87jy6MoEn
Bsyvu24AeQk5RfLz2DEwwm3DwSlh1Yuz6ZTaEIUYefcxzoDqVxSt5J6iodboCEmFRNgI18JPxrSW
F1VkG2mxw2rELZPrW/ZeLNuGOL7cr9dp0DII/n0wZlP80GRSTRYxCmDBCTzdK6771mcctlUr5Th2
uDx8OmpGap/zYccNJtVZkgUL3hTslAlho1TJ+LVYCpM28UnOgTj7jP3MjSABoCtVHq53bxCF48OU
A3P92GAJbEC+2/vh8/XI32IdZVp2SSgBpof8QLttPZHigXRrM2IV0F2qI3WyZUdjq81s6gM1gNMJ
kPE5aLNruzxmlDzBoPnTflZHezZsUAMLascqlBSjJoslimlo9OEyvOzAnplh+rTRDZrZmoec3Dl/
eDr/p5Ekf7rMb+oylY7FWrvFiZpO34x3eEibZl1MDklRTSXaWtbrLSN9kFM+D6SUDhNc7el+05PJ
0S0WG5YAKZGRPNQwkX58lmJJpW4yjvOwCfbbcJmsVYTUrBkCbFMa1Ai4EgFzm/3r/WP+qiQk2RBY
3FHXegH+dTgNiupguG1y34kYJiDdexmcJxihy2KVbD7VM1+m32BKKizxNnZ6al0e3/PBJpuSb4mj
dmdLmpiFV1zfXHB9HhY/KHKvXOvJVhmQndru1nR1tALs2wuzq5UXf7DMM3WX3fX+pDTmkyHKQxb4
R6WC1Cem9Hz7AW8DwcdDvoAugaQ703J1Q9V6hRzVWdIkqcvyMf98NmVE/SjUXsT20DzsljRPOZmz
HmZtjWARFl3Usfqg03zyAc3EgrE+i4axAhm3YYdFH8zR8bPcV3selqr4ZEiUexdlMDTc1hi6qgHD
VSMr5dU2N0WFDo+Uo6zgO++TZct9zI/Blj+yDjeV07HIAF+MAmIZl2g/GwdGzR5UdayCQdDIij7u
4juE8CS02lvhP49d7OEuVKugUk7xsM7SdlqbUxiPGQ6jBFniK0JefFXkUwqZWXweue5IJEZ1dXUv
j1+nyPnxOH8HzNi6KVfLYkmShgweUjNDyCOI1rPEUuGKkVEnw/68YAcUbCq0yTkacGz8DKmYOb0G
oOMraniVLTP2cERRamR/X0bDO8+DkcrUyK2wXRGjFH0jZnLLWLv2C+1QOWplxW8MwcCADahum54v
0MBzG4SRkYVfStC3wU4ThLeTGhjgQ6ds8MPAXaIDxJUKDo7q/Jdsogr+76lqEf92gqjH04dznmR4
vZts3IbbY+yi9d33C5C0cU/nxW/Wl7AXfuPwCi1GIQ+EWmhEJPYbbuR+mOfLstxIwkkKOeNh3bzN
NojhQ6xnxOVL9tHkk9noGALwi/WewFLAAg8H53U0nmslwnEb6xCOV+121ct8HpWX9yeAgqHemhnG
Q32lZUvH4ySW9iKEqg3vYDWJK30japZR0HgcYiag4tlamt+FVfnX6XCH5kGx64mu04WEbEteD/OZ
4gYvxv13i/CkPQWF33iIcFhQ2k0b2uOsDarAfb/BuZb7wlMpyMo9uxR+h807Dvw77pDdIO3+LmCL
I9tXBZr/NQaVTzvLr+LvN+z3+0V3X0biqzchJYGfFkUMtYRKGEr4N+rAJ9T8h4YFVzS5Ejc3oPrp
N5sBHXcHCraFvC+fr2ZXy9gaNGMm46xIA1fmINc2s0JsWkYowqHawBdwu9uHwqAu47IGw6+VK9fK
Y1+/Gn/IkZqdHKocoPd49XWW4Gc7bjjNdrQErUmeDzIBup2fKyqyeo5JPJ3P3R5oBONrMVaCU+Hv
rgkFZhFTM/MJV1OC3yBOai68b7DQDplQJwMK6mkWnha/Z9IbmyNsYQkygbHhYATbbcbeOEUD9DHq
X10IYgl7aJaSz1LUsbtgoBCWhqOborxuGb5u44h1xFoUawIrw/QLv0t7dYSFXkEdmk8V2vA0D0XU
fct2hbqJc25kAPn0O/OnbkK08ScOCP/X4dtg//kwXWE2lyIC+yxUBJXIVQq2u5jMwhH0LtzIAiGw
mciJLnkBPGkpf1soC3E9m3gye0O0SOTp0oUvm8Ersl3kXACSG8REvMEj5IaMQjspDNOsRGtj6/hx
tSS1NidorItCwEtZ6aH8eh0TYWTyDkca3TsmVXlfM15hzT/j8XmpAFoxjqKbu5jVLNiRpSJF2Jl8
lSxd7fpxgnF0p/l+3R3G2wALJlUk9w2jcZ9IsaYdhqwwqCMDyKMq1ALY3y9YioaAYDOv+fu74lnk
TKyQY14vM8Hho9qp5JTVn3ndAVzcs/wvTS+w7bEocWkil97yTRSZh6jPY0/YKE+Xxb5/VKxYzqAI
zzamGH0jy0qUv01XCqsp7JIJviVw+Q7j5IqeziV7d8SxQWjZm1+XmIxJCp5+cPa2E9fbTEzXaL5y
szQr0O2LXHE5DHaBmB9OV6GIEEQmP7aexG2t1u0f5Vhd1H5afp1sDxtyACNIseV7FZJxPrFe737S
weT+oVnPsD2BNcRWx0Olu37KUtHhVSwMsDKR3JAayzg2jaifnXtGXvo+OHWAhvfr8SY7d01AKxYO
ELsdnPdtJG35psjcMiYyWRzp/e2sB5GqMsav7zv7FFa/kgYY+aPoyqAuYpyIQUUsZTOmCTlVOhzX
a7PWvgavRBBoG4riwJM9G+bGsGOpSI+y9bGoj6yVFP2Wx6xKC2kRrY4PrY6b3KwclShdRdqKKEHZ
sUS2HMsmTVeH0YKoTqoVKdPH5KVdwEFeFWQ1FQD+EjhUu4uJqRBLCTGTxbBCbj6UFyqcxZ/dEx6o
dZhA9oaGrBpAqbIwptQpPifuOFGu0cUehkY7W0C4xQMRdEiGIYsm5M3cC55xfxwutv52uqJVOlJb
pTj2hTitiBn/dl7bMncIXTG1gY2cpToqYB9tG22eOPFu1O+3XP82H6gY5cW8w/2mRC17jjEfFLGG
MkK7akHuPkYJzzM2m1s2d5aN7CY3MTnNQygJ95EH/UUbQnEW4qGchwPsgEO+KiGhLGrjBRGuQkFD
EZPGK66yocSEbChjPqFsE61sBeWCXTTcObw4E8bw2JstrIELKyIk6vFTF4Nt2rjO98te4/U+tIJy
zQpyI2OtKaNAjTqzp+v9nMROX8giWYm8FuSnKfJ6FSpvVzmRHYlu5WAMU1A74dKYK1xhH61CVUXs
yS4YIIDREuAG6JYTi5az8QqLS4Z0eUXX7G0HFaRXqaiM+KULuV7NkCjc39YhHfFQAQ9d2jCPJg2Z
Xc6HGTKzbNEVuuWahzonEO5URYLcC0WYSqskCfioFYzezPYodd/GcB3msuSxYnQObzSwkbXmBr9M
byOEyuBIyudRTSOmZ7VX6mIZMWur2sgJN34VyzQaYvaW97q8Wo0QuDqQtbuC9wriiugZ2Imx2j3r
WIbO4wpBwTRMnGhuA8eKsu/aLqRK23QLsIhZVuSkDNIheHlMbXMn08tJ5VglIyxfxXMbnqbTAeZ9
WraVVVEd+x7ENlSJ2LQWRsKGGy5dLhRRHU0trpktbd3FfcO0KlFO1sVodWUjKYn5rlPSXXgk7C7S
xVoR9xIDKUIi1+5PORENKTFMXhLBfVgZJnH6IUGdbk7TKoZhyOrqLULlXFUTMwYkj3irKxyNwUXN
bc3QjIot+/n87GwlGzHSywC4yeuFFrZkHd2iWPpTzaa6oW+LG9KkjTnFhqtixShriaDxcVXFnD6W
F7tfjlYk4CJ2JRqexbTNp4RBVsasASEnogQxuPPpcyKfjkwqAr2Oa1brx0v9mKT98hhprwjgGYrq
0XOfnxVDtYrpFcSOe/q8r6WFzhjpj/o5NieCNfAUItGzjx1PQrG9K+naG4UwoxKAKPGvoJwgNEuR
Q5memtixxMyIPZ8iT3olUvuJGjJehOaDbKf5eZ5J4dlU97KlS+G6PiT1cqsrNhxv6WK5aMphpXLU
2Dars8D5eJFSGCX8X0ct+nj4TR2STMIymr8PdIpylDbuE8p5TSN1ZZOVp2D4NDcot8WxYcjEhpS8
z6hnx3l2iVe/ibadVgaVxyyN96T9q1jo0cBXKNivu2/XRWypqqbto3xt+TDsH1NKEpg5zAKCr8ZP
SFVyE8azWBmtdas+phEWmE1vqkHO9F2ZFfRnz8saSC7Zofvwr5DgtKhO41ED7l+TfUIeKBTRxATf
mhHPN63qtCvyDUDSJTR5lBPdRtRVrV6qpoSn70rcW0J1KcDVNgKZcqs6lphlVsv2/H0W1eLD23m8
XCHWNF73A0zTxyv9//76lz853SmXeLdNDOSe0n+fy6C3fRTf6/Ju3JSHFfQG66fx9n2+fMX4hMKA
eR0zhcll38KA0ShkWPeWjBh20TJ6F4A6GsPl8EE7MoG6jsNLIJQ3iaueW+n+N4T4nVaYEK3OEiva
xlOqoC1XxCimVlG4655uFi3CpROAfvj2grM9FezUsei2YPQr9aEsKA21VUX/EGRJmYs8plFXfo0k
/rING+EuyI/h1Vhq5+PwoZbJR0OJD/HIbRmXvolmOu5gLoCuQ64Bz3M56J//qLAeC8Gx1H40mAD6
0PztpIUHozkO4QkVAo8TpLMPFAlax5Nz6kfVKs5K9EJBZmBLStEsWlJhS26CN348g/U3r+Pt6ozC
27wLXWtFujWxFAJT2jjsGh4ooTDbLmr34lQvXDj1Or6nEj6sWBEqn23LyedLfZRYDRdubH/Km5G8
tr0RVakii3oWH+WKlGqHd4fpm/KGnVjA/PED3FpGVbrkeCoiJF5hCGx+fZ3vxsQc36ersxBJtAD2
FWKoYm41hTSpPk+vEK6jpYEWUWgFDFjQ4PW3LG+rxxYoFGrUdY+fGEfYsKOL0OH2ZAyOYVSB9QJH
D4zrSwiDkIXle49xShrtTQNIR1jkKvY0AhxbSoJjM1kG5P50u4yLz3eFsWf73YcIpWNQfGxZqkaE
L2wgFL9gIQw4ORgeRqC4Xn5B0wMQm65DID7eEAci8CiCKcPTW5F0mk8fMBjFtn7Nl/PrAIDkIXSI
0CxEqOtmZlPXD9MVdKw2dx4gVQxFrF7TplVxkffTdT5KMhxAWHWIILz3LM3WxXfpY7iQpgTjF53/
wmvw4MLExkfgaCjVEYwLvHMew540chh/vooREvHX7+1e5X9TeipoF1D00sLYYkRsHXsbRm3gafl8
H/svsND2Msqc3a7erGO7ELGSihS4ytVVFbsQWeJ8GfD9dFMeo6zCx+htneS4/wrTav0MJNkbRTCr
N63ZhWygaXiCP9Ur1VkMiq/fp6mX6lwMfOo+JjJsm7/RgjMUgF2UJcAApK9jQDw+Xo0NcsTFAcMB
hnbIcpMRXrt6a7AKgvZ5mmhgeWkI6iYV4VbVIXu2ywiAZd5EsoUCX7GMKQppMjryiL8cWnpBAm06
4fi3o329oAdKe7+WvR/5Mq06cB1FRFS+s50DYMlimSMOOxhPpIph1eiN/kubcZTfkZM4KsA60KOn
GY0t2DY+z1v0aRdDtlFINKjhaTgYFSTroDaLiRB06wxt3pC4E8/dtIGAC7Ofn3uyjnMu3KYKjYwn
GJcwXD525/Gyp75lcfQSwmuiJgvi9P9GBWPDWxh8vYwv5vuresAy5MKeA5S/qmI2DxZrQg8y+A3y
A+UxnWk9M6vUWVEMTtmhWXHy3LrMbrZbUIM2fx+V/Oh4yKzexETG2h4icjJWuXycImpMGAr+usNw
dMIAarpQzPKtwFQBABPrvg+XwxXDF+fhZTrpZnPFyJrmh9qRKJTJWzbuAbjYwF0ZZ/6svODLkjgZ
+PvxeEwRd5+F5gwzaVHFHS7DdyFOjlqyiJEyDjgBdKGglz9mz+W7Uta0M70NypuVtXgA5+0sQ7oe
dzApNnoTKpNaXeWBxFfGqJgwCZNjZvN7F5yabhs/ZKLpYneSVpWgxokaCF42TG/yr7WCMZrJN43S
jLVpIPb127jdtKni9n8j37WJ3dU/shNnxl+hQjVd8bR13M6QXckiD6/PB2QMe+MtUfieCO36Oo43
ufoaBXsdE87Snhk8QVQVfN6MkymwiRm/oZMDhCWL0kpmhgcbXLMm+xgrnIc79HaM30B7g3cLG8zk
F+YeW+2n3LpGcZiKJtNnkXb3kMUG28lo7QAZM2UskGJXz297nDL0BeMiW4s/5HGea2Wea2Mcv/Cc
nY+lDMfCd2hiVDuc9q8z6PW9fONipezo579N4/edG/cvP2AZ4666a4umVXg8apLYsWW32ZokCZM2
ahWHpPOLpuObOoYwp+OZgS+LljYm3C7j/n65Qktl6sUY3v0QXPDlBtrMa9Ggm1Ul88t8i5W7xv0E
N1B8nT6PPYXXbUa3jol4S1vGEElGAsltg5LhuE88aN3F7JWttoYMNhqAWZtBujUYfedf/8/7aNyc
4TS9DRviJk3UzzEn+InC638cYZDnx0+pgFJdh2jKKRyN7gW8mA1In5xtohR5GXCNi90XK1Z031/P
4x5bkVw9ugyp8pD8+3lIdq+2mBtBGJmHwTWjg4Hb1t/lzwv/OV+Klsu/WPNfxDWb5frc4mAa/L6L
3hrn28GWkbf7TVm0QyDaBUSJiquuVZOUPqrCq8YqYhU8N/5rnus/IHsNRzdCUmlDwUM0MXwz4vGt
F8oMWTpRGdJho1qq9Os1+/WKVaf5p3NN4EvW73yZz5A5FTsYEHDvARdsGkOhnIWxUdH6zQbSRjn6
iJErWCt56XfyKadjmGqZ4nOXvl8m7NY7ysPOCeN1yGsNCRIwpu2QSJsZvuz9iE6IgR5AXs671wkS
F2LUq+6Zj+cTuquabWNP28YZAUxTRCPFRr+5jkRqmYQVvSlvpOGBGs+sNEFCrofO/KablaXsxt3D
MCTo/ZqX1CueAyqNEJsiWJ7uCHZamP/RcBohPEM9CFetr4zxD0CCTFNVreqfcAGGy+wC5kXrrGb6
PFb7fwBFdadYK4DVZ3AgQG+isI4ehzQsGBO/Za4OM5Lsk20Qd4AbHrJsfZuGw8Zp+AazwXH/NRRj
PR2H01eZrIsYWV/GZ/O/e3X9I2k4DdPjrK7TXuz144zTa78a2Xl5GRUDrmFWJERrSnotW+0Aw3Cu
+1ejujEGJtsCmd+JuSJGhYRK+cXrWPzMSgw4CoT5XK2NeKCsjKaaEMMY4oMn02pN8b2YR+jnv9xP
gJbDHY1TuzeGjEqdlhsWXWbOEhvXrU6NBQjc+/fyG/BJ83Rz+bfr2FPbYOfSuPTH//qrNSn/AsJH
ZksekGWr50ZqQZ+P0/7DMPsR5q3LRFM3McGI5Y1UyUa3Ohj5pVW2ZX6T7sqPsKOM8HZG97juJZjD
belIvqDHV4VrpUm6DqfD0wyhq/Px/jIl7Pam7mPPBTj68+lvlxnTEbLy4tE/1PAVZ8/v0/H483g6
/H385x2SONguu4FR+1gdgI0QegsHrADDb1hvbAxvnD6BxbUiYBYuZD3BKIeMH/i///4X+aJ57O0u
49nQJi4B8yaYF7cyzruYU/o23oadE7TfrnKDcub3I+O6nxz/6J3hQLRkj7EUUL8NVDKrTXphpjPi
yE+OwV4RAxtHmcwnPt4Jco4iibLUIFuoNTkZB04qG5BCwXqRgTKmKzvf0g17XcjIuuJX5/mM/85F
LWeaTXg+jjB0AKq29HJCeBK3ah0SuIwGYecbwXYDFzUrEQHZYiMABLGI3gW/7BmfJyjYprILnYAJ
WuaPBfZCXlQeCbvhPO2WDPnopIqyoKH2TLG6qQW4zL1cDoxhUwVa56GxkGuAt+nkwRnD+3CEohtl
A3Ptd0shXD7R0GgmqDACUDfMhbtfUo5YxED5IyIcDlk5Ve1BhcndES0IrDoF+XLF/XGSnUPH8oTC
O1mWY2HK/7oYF2nCyxd4LFS8flc7WAj6kq7K2Tw3sLJQldHAjwJSgToqCEMprBZFYkgygWF2xeEf
MGZdiY0RDtoFNDijdg2PB613CRKIMnb1gPA2QOkf+Hb9vPfzYbihR7WXlQediIkmn1RQH8Pqzi1y
b8W/XZRqnKX7ghVzyrXrqBRNCmgbntly3jbGzA9UDhnxGRZxj0bMTMap/S2B5J7BZRshQrGNxVOE
idtl+AadQkflqIzB/Qw9TwHbWLGrdChQYw0riEH8HMbTpImcrogJ64C2t5NlX8bYeM0o80lxQAiO
l1uxzuwDxZGNdlssHDSWQylBCWTlLfxh0RIsNv2IAo+9Sk9rUa3Z5HiP0o3WMNbGOaDZVMUKNr3E
s9BYtE+0mfKHcHoYEoKkww3SqcaY0T167vT6TMwzziq6zLd5Pyc6yvFmRSxNQJbgfj5/YF7IoNqq
OdAesv/DfDOYyebmTC1UQPLFeAg4BZSK45BYzH+pRfbyeAjEgkFKwyr/xdguZFOf2+ktGuvcBA5s
/g1RlYy9Qe/X76J1fqOaIPSJFnZ4GxUq88AgRl/3UdqQ6aGJhQosuSN+cNkMhRBxgMVwNLp7q+fd
F9H8JTK2z5QtPiBGt+QscMNaEJgn4sTRzjs4iVrDZlXo7sJItkoeXZjd/QSRv/1wcotY8N/iyLLh
ZEOeIA1RNspRJtY1US3xENyBbBjuG66Xgf2PED+V713H/Hv0xC/WLSc2WTnrsudZx/L/moOoUVHN
mjF4RcM6NL89LF/HkMZfeZOsq2JikxOJgXK5XdW+ZDxOFpPklknQpFe+bnj2mitovAyubcTdUBTo
kWVQy4QGxGL7xovu//33v7iq/8vNzmGXHyuPhc4pGva/hm/DzxSsxngM/ls5oFLFg3NWxq4kx536
e7mw/JwwqaOITIWplJ4+lARZLIyj32G164LKfuRjR2vl7LHt3anpe0tYrYuRoqFAYxuTDQ7dOnKk
mddz+MenjwiA69UHSiLBd5veFHJiSR2weDpOTj/9/PMmOmLhb4iDZgmxrqjqKo9JyvnEzC7vUTi3
Vha867pkWxAxQycUVS1Np2fYxZYqpKn7LiaMMFxkaAgkLiTi5wPsdDO+zfwiH4q12jCdzSSi3V6m
1pzUTJcG5faigSQTuD9PDUZlbS9HNLC/XpfKOJxygiOjxTZ/pIdoRe9iqC1bQmQIzYrM7Vxcaod0
CbDx3Th8QZR+Zx7yTeadNtRKddygH2BXiGz8ZbEOp3XGmQ5oyySNJnYejJyk7WPJrCDZs/t+GeQ9
Spl3qBbnoFiyPtRyYV7wDqNAXoyAvV/kw/B2CS+klku50jO+U0UNZ2dN7Fxoj13dbIb/GXOtyfMw
DVyu+s8XH3qTod+GsW4bf8BhZNAgLHO4ZwBsFO8YP8EYCJ+uMv/0O/P/US7qhNrBpSghpjNl4igE
cCCWUUQHI28VGc16hZi1uGKB12m8DJf9KxYoje+GaNRsTB6tfbAKRBmRmPkg67olbmUM25wemsQW
bkLXstJLNkx1s2nxOeOIl0kXbHoZtJU50k+kjZsqlsomqpv+RBxAhLNFpzexy2NAa0ALEPlwt2yL
l1+nivZeJVxIWA5OeRjlvlmYSSzievTreFbCF9F2ypeLkTu2k90GRXHrPLzGdYllyLZCH+aEbWfP
K7jkLggaECJZDPJFizDgkPvN88/wCNgFJpNxGfbB2FIbF58cT7ZNDESRqDoZqv2SP0xnLuoJgIEB
DC/3erudEz5xGa1xUSpBKvl0TVi/U3u9Z6yVszE6d8biuA1PMpG2MetuPg9GsJKm0Gp/WDk/VNzU
jXefbVrRldxQog3nd6RT5XXfxrD++HLiRkGk8D5m9ayk9QJKlvq8QalYbVAlaUBLCpx6TewewqO1
MWdmJTF3g+uQtl2ov83zmyIVWL8es67X41fA41bD6cg5mVR3wnsmtgUhmjKL2et35/1iLCJ1oqaL
Mo2sxHM5kc/oghW9ra1h2TYqYrYR7al0c5c8iSfCeazdmp2FLMBNrNJkzGHI8OmzlDwpZHlSxWqg
6DgQDkNuUUgw62P28+L/kFtghMANPCFZ6rexQlKBcWXUNsE72ZArugGsu+0ZusrOw01R431Mxp6w
0uHZWMMwTe/+dL1NN/TMNTuFD4lgC3GwlXl8ewJIBsl63hGfqY92+CzPBAWu0xm2fp5VlyFs8nFh
RlulE/L654qTo6Uy3n+yItIZo3rAu4ux2ydCdVsCXUXMfhQDc+eEWR6Pui4YhQCVTCK8QZNy9cuQ
2niaBXxGGPDOowFq4oo5uWy/p7WWkYa2WMltTB577toRe4Vl5Hu7Mkq2jbouFt6PBxkSktVDAsVY
uUL+1/EC0ThbHm3Ih9hPDxTxCUwPNYGxZNMGouujjV3rEmXZF31sQPe2F37gSzHdJjoM1AvZ/db7
BDgFFe8ZpgupWlr8vLJ1OvA5S3I9HIOVdVllLbQQ4Zms9QBAWYXxshCGt8DJJ2v9xVg5uD2P3b92
NSBGN47tqsDqYrAebgnset3ZwJ18PWu0ATTWWRCezCBMGkVAJ/IwuG20PhFxEOK7UmjAPyJrJ7Bx
R2veiIPg8TiVfzGMy9WhEUC9BVfKycrFga03RxA5wMe92iqEP26r2pfjl+z4Lkt6Ajf02dhHyivb
KmC8BD54HKfqqGLCJ6NfnyKwZPbfKEG+/OmiIjRnfOVVoE9SJgqVWt/Pi6fATrjNrFkrrOmfh5UD
UE8ppl4S71ux981rnGrar6OWV3tJRerU/mr1IiBWKgPUNvhVN1eXKt8q8/BY1GALqloFVewJGy+A
qNDMll7ZIUFOtCkn9I/JHSoe7U4xlpdhQOhVFri0NC9m0vHkRkksr2+3T0LS5H6YYOoeOf3XHWZ6
oXJSPlCXhQdipqgdSJc8DxNc0ARStZxLgJKMfMdoz9fxuwylbmOv/whlj3vgpPK21g9cREjZyrre
Rtm111osgAHfkpWw1Fjr5XGtbxIDUKwUFReRPftAliVt4wrvWGOIDDX3QrLKllfbwCrCKBrSiCtd
3QQiAZX0cD4fJ3BFvk97hSK6PmQ6l+UnfZqIK+NZCqZNWBXzhgsqFg3Tj3w33Bqoq+3UyigRHHsE
WK/BS1iO4+mFvP89tR4rWpvp2nphHxIJi7UFaXG3kcCW/30oesufjPfSWpzRtBkjo0djPgMVknhW
tEUde05v3MzHo1tJndCGvScxkBpNF38BGmIMBU+nWc7a0iPUTCRj1W7uB7z7vVfgJcixDzJg6hjS
bCsnFpcajc8SkMcPheujUtX29Dkv3HJDQmMUVQzUoz3kuz3JWxB9GITKJFxRYOsBt23QvcWdAjCV
CROko53R5DrVDF7Qoj3Nf6f/FUxOGo5XTU9UoYVYsV/kEQnFyGyY6vORVnBB7jg9CffQKHzhn4Xt
56AeFEgD0ZiV8fBnQy9/1BoeiWC8xmLBi33Qg6MMLyUYzKcpWkzDt0Us5qsYJV1ohrlcpLGyUWQA
ezqLcJcMtJINXkU1gXWzN9hJzJ2FJ8ubICluGxRtopXWfSzzy3XDtWsYZMgJNJyK6NJPx/vlijH8
b6M65YXEbx76cOWjAZSyf5h4LBcTE4pY7I4mthN8us5H3WKoGMPzUK7G8EZQPsGk9NP1NlgvsVB4
vwy8mmXkqRVzi3Z2CueQ4oS68CSI2Ucb2J8O58nnW5eB9QYh34z5sDtP76OiF1t2zKxETFhzmWQ7
LWzHLuHD7pDmVobWZq0T3XQxFG00+UDjOTciKWpinqF7dnh7w+mpTogq9MdwB/1KmR0ZfJieJ5IA
tAlymXykG045u2ZR+E5By7wKz5YMP9gZUiwKcPIur82NvILDlNBcTR9zfX/AamCGFkiTplwZ9Hxi
nV/lKlv3fUxuh/sULEFg3RjMxU1IpSr0F5oHr86h0JZKWsczsYyTxAHzOUtcMseJLdF1TOhrQ2eh
8HWEON54OuKehYQZEo1jGNTYyRCoeRU/M1+FKN0QafNgI0wFo8ApUgWOIX0+ju8wv9v65hMzTLAA
miaUYrHWaRxhtiqVtp+H6ZQo5a/zNpYmWGxtf6gdS6CJXAwQWbsNhIe7nJMUg2f9PhxCB0dX+pXw
oHlsyMMjWBpZ+X06wGYx6JEk5JjXWfhMPnotz1P9F2gXh7CxnEKBg5RKVomDnd+pOTk1r1IEo7Wo
qx9Hgt3ShN20e1iSoBfg8sZzttp66y8jnepk08Rwr/6ADKuLtWkZyYgVDI5/MFXPB8xdE7zCk+4P
AfwkDmSw7TbUJg5XxjLEj1CsI0PFtmiTy/TmQWIRVNOUG3jZ1pbBxd3cFfkXijDVL2F04+aCOteo
1PhocraYJeo7nFMgnQQWY8pUnNexMhOSIFB6mhodU/V9dBbW55XBsj4KxmYp5cZ1Hh2W/HhzFxm2
v4+/eIAHHp3stp2yMolGq6wff4lWKMoHzmLJ+KjK0h+LFZNDc0xdUPbyMWd1my+D5nY23m6Fvzb9
4zCTZOU3WQbczocYpPmzjGYjktFWNxh6FTZ8CCIrtmEX+nIVKxRxqcGUp1Hm0TylFkh6lyNJeSzJ
onmDlBwXp8iQC8iSbGimt+XmZEujJFvqWL5siWQstSMbCYNZvhmavhlPiiLdw1/I9sShvhfDrVdr
jCqeZR7NyV325m3JDsW/YuBLbaPofeq+aYNpTGQZoX+zs9CWEAcNvoNewpdBaN8DwHYEVRNujrPA
CIa2wqz3U+aacDWfC91ZUG4Sn0rYeKDO39QXdjBoBoTB/mmGUS8vMpjWH4pJezrMk3Hnr2Jypvdp
3SZcZOtwPD4P8D+GaCTEQg64dkHsHOp9M1oTbsC08MTcWe/ncK2x62nnCUsJ/3m/fE2dIQ/PkEVR
Ii777j1Hc7RszZgoNQlVKSflDrQS+UUVyCXzPcslMsTlqZqIK4uYQIGK9p9oLeCfT3/+UyJV1sVU
wm346sKFGEdK5DhrlgJB2pcqbO63maAmk0dViFkhweUeiaIbUDw17G+qo81C5D1OSMhWMXK01JU4
GYuO0OD7Lnj08WxtlV0qslV2YdimiO4uZoFBjLwo0f+iDTM0vawMbLkZdNsoeoApGNoDbxsVaNVU
4PUmqlaKOqZSFuX8Rm1lSvytYol4ZjWsZnqlU39FE4seG1MVwtETjrmatHuUYmDzyoZLWCyj8R2m
h5QweRcLQ3m6vMCGJSV3w06GWUgbtw4LeqZURc+qyqCVSehpnnEz5bfheNfCiSzMmZc4s7pMloEp
0XmeJfOD+BaXBwsfE8TYd5uE1ZJlVaSUp6a+WKbYZUrZYMVyP3ztgh58bhkOe/yDW+6udnTJSKLI
TqahKlbQwLq17O1dIdxxQuqRQiskKPoYbwbzVdn4YCXG7tGJXTuuANjo9/nZRsK0GCpLq2UdikDz
HwGB8Eo75T5N6OXUIY2FXK7QWbQA4rOZKsVLqWIVkcwrxOngci8SHbKM5TK32EWZ4uj0McpKqbZS
kbsdY4CFazag8kRaWTc26jpWBOeC5UF1ZioN0Mbc0U/76XUeFt+uMzqXmdYLQAuWAiWLlT07dpqU
MUjETv4QdQ9unPmzFKrO8EAKR9VNrERmczWFqwyZnzdkDJtyU0lpnFYUImlCsCUz1fczTF9MZ+pY
zTiz113h0myMWEg1KdqDpy+9N2bzEIFBhhyl1zHURTQeIRcuLYuBtDlyrV8vEy12Vns3CUv1puI2
Zi8oRW2cGppNASJV4/MAWM+6ftgD0BJbv6otJTKa2G2XPnsXE5ue8C1SflgbSwVrt9W6QejGnmbB
o2+aVdPQ/RYyqaLeo2YC8wEuCXuliWmVxwIpRTQUsbp9PnZ508jh1u/XZGYtHecELbJQWWPQYRc6
2WLHBB3kdaxmNaEzFY3Zh/Uc7eYAplICW0YLf0MtDo7cYX6D9bKuXkzx6kpZLxynN027scrGFouU
XFP/hisq/gWLTmtFsEz4KI0IzcocCEqGIfMKkW42AkVBVBELFIWQqFNuvkxQPYZ8rcDL5UJ73J5M
dda+Z2gP007Jorca5u7fO5BOWKb9Nh4maNW/aL54ESuM3/J+vfJ+Xaz6fwtQJc5XRpt3HltRqaOA
KogVOdjGKpofjSrduKvDurx6HS4YjyiHFFvCox8jPa7uZfIF99AT+aIHHuoiquupBm1pINlSX9zE
TJstD9cpD9fG1PUj0MTsQ7oor4sCkWoj/Dg66AK1/+Pp4Eti5Dw6QSsC4zzsnWJEUGqdHKXipzoA
zBxRDLYsFsh2gv3M0uzvskipY8oB1147I8YZRYoB04QBts0yPVdkepXHqCCoYcXKDKUog8yHNmZL
rs13JULLdHwO18ul+zEDjXCn2GfscmD+FW0X6Wskyf4mJdQI9+WnS+mN45R0rtuYc71qgxuuNl51
2afspKyKyZulUJXQRfppglkxek9oF40Fju9n4+wbMMNxl3CTK64bcG2Z+TNXWm8VMvVngahMHyyN
CWvNUrZkG8rSwLHDEXbpduK+jXHi54OD6xxZ2ptTDNAm7rGuKu9xQhQIh/GgdgbkLBcAtcDdWome
xwv002mFHhULk4BR1fEpPEHoaFUmeNpS3cqyczlgD9cs2/L5El+SVvbB4Knrx+n2Ol6F9AVtSkRo
2NGaZRgmzRo/uWoBoCxnq2wHvgMDbUp5s5T0l7vv8+WA6TgcebrgD+EE/52+f6Var3OwY7Tj0BUw
fEEKSNxaBaTcnMC1sSn84b3IGASMKnDYBggivWr1rtAWMVNXBEJY/bvd9et0Fv8Ll+iXypzKso6V
+EZBwRoonNsCLcEyQL67Kfd4lkCKgPi42RrXglYyoBM2JUHCF0oBUeYfcDyFfFA+pxyUeF72Mvzb
ABVsDuZVBsr33eMoLjs7bQXPdi3aaSPafLey5OsYIVpiZ5i9HD/Or67wLn1dPtmH2hZy/amdoXD6
2L0MZ/nKbG0gc2JEsNpV+cBoLNBoE+S4/1WmHzZfuASJWVpbNgoMXRsYSCefrYrt/RJPZlzAw3g1
wuSgzEAug01uKEUVGjT+PMgm/Bf380UrGy75FnswtrA4geUy7Dfk461/bT8fhQGqldU+Tuj3fpKt
I0Ao90WSnJ9dmEAcyIjgeg/OSsFNAN0UABlwtwAuqKK0DLI561uL3FPZAo8FGFt5EQclr02u7Hss
N/YLIFP3HY5yO39l1w4vyhineVoLYfNFwSPqfJUXzspsbFnMy3j7iWypw89wO/x2/S8/i4hiOTEz
4JNA1YfKPTmxVFf6oK/z5QbTIKgzVirLq6y7xkmh/OQvyIDzHzq6zq15x7gVl5Rr5/VE6LoR5dOW
/rQ2YBuVXCIFILWx0k0fbYjCWIYgYYEXTlm4ynBZxSEZe2xo9+Mlvfn0+N8Zvju/Dk/jTZqRVPua
pGW3U639GkRkZVB8C5Z3bCRQ+K+Uc5XhfrFOP9f9Niuw/N4pyIDWXfpgrvXjWYxA1z6ivWyQy2Wx
Re9+kN/d1xizuMwa0u112n89SZFZhMNLb6HgTbJqEsfxZcUl+JhlFreF76fzZXye3mVAvqK4yNAP
r6OAZFmAUHz1bAlxy7Lq1r7GZJ7NWgfsn60tCCuOp9tR84rYrkw7HO//XWJ/GPSgsvGv43c3fBcA
Xq9YISfJGreVgdxVkD3/CIHaDpdZKPut/I6XOqxBPkzD2yyLZDfrsA5rqJcfXsgd6hNOe5x5KJ/A
6w0+BcF4h8aGgHlUC1TZIa78sFqEk/udJzYhT6hYYMlQmF7wYwz9GRw8+U2Y3ebdcir/OLDLDM/P
UKzFqghy+VB9+Egt62+CURP/F7SQLaBlW8itKkHl5BPMa4KxcVr5xZrYcfzVlrHHz8fpfNaO08Rw
dX0dDvP3q/wV07BMOS4/L3lSld/nQ4SL79u5Nkc68hFmn5D8kp+jCGnE1s8s7XZP4DRh0z17E+zz
k+/ETD5f4wDDQKFtTOXgcuV3VHbOufHa3qVEbuX3zKz4ZQK5BkF6AiB/XYY2arHmk5NdxilfOcpp
WxhFvlOVxV7G4UJhsDomg/jrLWUG2jyQym+mWYlGe4S0PC7b2Kvc5vMbrFt8MirtDRuUbrcZ/41d
N6X0aFd+ucdyv+bhflgRDHgn7Xa+KzesQz+tXz39DVsuL4qMrBkDseDaAsEGbxbZrSTnKj8+XZLZ
MFRvuIzKhcqQg+g4yMXU/Lu/6Y/GfXXbwOomuBg3+ALX2e8Ok6EbWOtBut62nHpNKcYsWEdxDmlI
56pYCLa3VP6cxwtRZLucgDsZFRLiChs5JFNEZ8GvgdgdG0btP13nozhGAwH6a2FO0zIKBFKNuSZ/
xmcvsHldFhuAcyRA+Yf58GzuBK3vAojF7UzKHYrYQOY1IHOd+9tpEzz/Vrz3xnbFf5shhXOch5sC
gbdCl95C34CXLLqnjX77+nrBbeSbzsAmYbMK/rfh3bb3Y/X2Baw7mejZnj/ESlkERE9XAcweh/NV
Yx42IaHCHEdALq4fhpo0ZChV+M4th+FoXv6aLV9FzFo6IWxsPEKZxRYfeqTeT5vQyrZcwt/L8Cop
zmG8V6Eu6eO8t+Fh+MKBGv3wPMo8aUHCJ3z4yMCDfN3wTpybIYRlZ4O9TSd9dkbJNg9hSVvdsBeW
n7SI02biFdiSLRZz1edllGxggY2h2HACrTTznq0r1tC2HvZ+o1YTmhTfx6eXIxgRCLY4yJ/7iASr
ODmfXr4YZvhijIcvGF/6Ak78QekGblhTMbO3PvZP+wuZW/u3j68UAABWg/oz+VA+yMtHeu9x5Fji
HHkZa+a9vDztfj2PL7vR2BLDiUaWifGVhvXx8uw94PJtOMNiro8XmE6BHaIX7Tgl69z2wXSlIaf3
C6xXYcfl5/fTZX8ct/x6UcdatA1VPPNsjfh55g/PRpoNJ3MS8A1eDJin+eD37RxYHR4tQhCvyOL4
BdqeRQS4oeKv4BCq0YLer1vDexb4Rx8+O1KgcWefRuNQXb5C6O8kzP3s/dasFd6WB/CYhwgiBv7U
yJYzTFfM8XIZPuw83rOrf9vGIHm0d55WT1CjB2x6kj9nZOFtSFqOtJufn7GsT2pd6f0qeRKxUJDl
pMZnLsHmB7DErCUAXMCBVprb5uhmwshEwMKHviqMvvZNJhAOULfc936lZhNGVlBogEBeVkwycl/T
qhK76L3z1rhiu8rlaTxNeMLdhs/MH5q1dNECwDcLiYhDGcvgYlwr+Xk2B7oBW37yjasmoDTXxYzf
fvJ+bidOE/q7MabEdmbHmbLu7320csUKawmJdVpgwcjB9Cbz5IdF4t1KaA9XGU1FFaO3pwHxLSOE
nd372+fDM1QpEoEah/28k7zS3kd/lkxUUYqyTsZhGZNGMLeY1IMzZRDmH537/ROWH2mdML2PAyNs
wHCeVY+3PA6ng+GZs0KHUQFMG6NUReWW9hKSsQzHqvA7zk7Abj83LsWYtidVrzNjyw8lClSe693d
rPlqBhLXNNrRGlTQviz8A/LDscgnsMO/SWHl3sdAiRjZ0N8A5aRQTyfb3ymbUjUbiUL1VjUr38eV
tHtZEFf+emz3h6trsF/vXi6TzJdszgwb3LU2VHbU02lH6flx73qiGV+AkRZYe7kVvBZdt+kY2EUy
osrQ5mhl8WYUtZ64dokhAsY8xIXWHu6vsmHNE5egHEu3xBxnaxq5aB0XYWlWwdbU9lTACn+0zPXZ
wSXF6F7vV8UvPNxwQteZuCpV1aHENXsflY59jadelsVhy0G88QAvwMx6X6hMq8iXhYX0l9QMpyZj
fM82ReFQBWVmHjJEE/MYH68jP0QRnbRkVxfTpPQfEvZ8zJV/YZLSi4yFOM2A2z19JBfGRFlCUPOc
vd+wSz/C47D2BahCW7efu5iNFLoumMBDU1oePMXS5gyRVnBsEBlVG9Nqj+ED2Y7PY34ODpl5HmAw
NNbNW9VGS210OdEzsvSBWOtZgBWquxVVjKg/aweXTeC8F70qSGUwRcwJt3lJ4LMNctOlkQjBGTVj
ZdbTAefUm9PboyNs0BnfvYFFSHYniC3dxxNuZD3mjAECqzLwKWFlvfWfgBieJ9UgzJsYXeMVP230
+8tiWWtvm42XyBgNZYCZ0cB2Sg9M77cir50bqqp300d1VVJXcSG+dhjk6h23/3blqAEpkC64zN8T
r8VGCjKNBG47zdC2dZk4433CJiP54Zlyy6iCxebiub0nnyQaKfmEeVaxGiRfZIlTeOYPZ52nhkTg
2zK2b7CHi3kyOywhckJRF+6VHFsB+WEUzKshXGw7voxy8KyIBmYDI/o2z7unSYmpZrFxgoGesYtM
DzRK6elZHgbQ+8WlzbohJhnZQq6345vcj5n/vXz5LiDQwtnt4NHCvmBoQJ2fd0/352fZX2rWsxBt
rgXbyywCDcF/T1tLFdNzvLlgubfdMrkbzBHtJGCZf4smFmh6Hr5hhDrJMll0Higt2aBrLVWKqx0b
8pFyf0Ec3lqXrt7hCk74+yZlVWUxdF/vZ9i3u3u6zF/HxT61EV9ZrLCn8yVFi5Wr0U7OhLQvvThc
hpfdFpFU95722GgRYBZS3oZB9l/Hy9M8XJRojj8Ey4o/iPmt1rrXYsCCXecTGhnyl/Kyq5hBvU3b
0//g+TKOir3VdMl4BHz6iag+U460ELvfKF/G9/Nx2k+348enxEx0BC2cG8vZodUddCp5CQYnqtWS
dQ8Ce8kCknuLBTVURXC1dRqwkVntBPYrNyD6gcUENHuvqKQPChtex3CJD+ztR2PkQCGuzTRbV0WZ
x+GTlAiKLSHC2eJfUE1Ln7oWwuUUlT13K5+791941Ul22nCaTx9v892mprWVDbmt/7WgWNTGbUFA
EIgPNP/s0hJbjqU00/qxqHVOk3VqPk/kamjw9hO+r3iwmr2NN72sW4DVGbvvFxixoO15yP32z9UN
7UjWlUmK9xUhVTmnr97nrndXgx7YTIeU45QKhJV17LsVxnjJpT1rGSJmYb/O9+NhhwN4Ya4L9D2I
WLOeHQJsOt85tx9oZMPTePsOWwwtc4lwckZhvBtrqXVzO/loKgxJQWWyf+4n+GKg0mBwBY9GRtkh
Myf9JdxMFwDVL5xu6RRLh8QOBl8yRDha1K+4qxlXqLBn8kWKJKbgV92CQrqDtX4HkuT6TbL2kaay
ohOP0uXhUWwv7MHyJgn5xOA5v28RwXiB/ma4azIi13AFjC6ZoOmd7mMHV6EsljmtDmSgZVmb54TJ
ENNpf7ynBs77DZ/h81pusDXHKELE69X9I6lZV2fnxdmWhSFAMA2TIL5QzD4/7lPb3TABswQo8R9l
PVV6PPk2hr/P3w1v2/G5uzegJ+gTMz732xPk0Z+BTa6gmK6jrE2KnsldP2PUOopLwTbJccAC+K+A
EmMt3I7ii3AOQGMxD6YdwveyTPK0xgbbZKWsl7lG9PyWld3uG+Sm98NRvn7BDrrg1o7iwXOKbF5m
dSgY+kB0Qtve/IK5Chi9BuwAM+ohRiVuyPAljgunNdb2C7W0EewwBhENNWNsvMh6MWPEQ9Wc1l4o
6zR2ui40HJy8qWVTo4mZSHRomubmhB+03vtrqZLCjc+KMTiXpxu1ATM1Fhl6Hg5YzMzWnrl9F9qq
pdwvs16RkBufxZxGJeqc+zXfKyp2b0TP7F8dfPZf71dZprWMKaiA0DGSrLi6OkZ8drCqx7d4hXal
bSwqrKQioULDv1OkVzGb1T95lstnb6rYMxjduIHMs5hFvZTXL/4FlWwu4pDMNxvIc9YXLDRc/h0s
MlLUVh3KdSu2pBXiGDoL71i6sg3wAs8g6/cjLE+HEdAkhkS5UNYyo3q2JO66i+Kq6uvIM9GuspfL
cLIGgSbt61DEdA+8TQQDgxHm/e3jLPN1zqgvw3U2OTuOE5wnAmukhNSCgceKukxJknAaEx9eD/Lm
fnNk1FDEaDONgrFCiULqEEj+ydzg7yO6uPYXZSu65qaNG+kP1jzRjO0lYf9K9v2KmCH84KLtStlJ
q0KscstIt9CaKmbHZkUua6IixtSuXNq+4HCzzqmsP7PYpTlJ0cRX6xi6EAAi9TB9E+F2RWDlWEfO
rsoGfwSB24TB2/B+nF9Ahqm+a5m1UWuf6Ol29OR5u8i2MMM0FJrmtmfYFYzbi6K/n5TiWRXD3ss0
nG7Wfi3kb5kd6CNsWSYbH3Ub81IuAaNAjgw6xbAAKjHTzu9UXy7QBjbeeMIdD1e0FYBXcYYpdH/I
9h2jJ57mzjLZvq0Vo2qbP6nJOrc1wcnwnHkAjxKOkZFsETGbEzWbhYln9V1rEOyanqcxFfZwPU2P
OCsb2bDPYuYAqCIwRV7vMG4VPSVZQ3YxZbs0O1AIlpo4E4Gg0ismjL/nn5AhIAp08CX38VlAsOxl
5FQxgrK9hdY5tTT1Nl1t7IvqF2jL/VVW6P1KUlu2lbY92F4SUWqtQ0fmfLqvwLSU9+VtGsmOVoLN
GGxkm27fl8wuZ5llONjS4AQCRrZkqwh7BXcCoyQMVxhvxNkYaqgh97Chnq4pNnvvi19xlA1ULneo
yNPe/Q49TBA1ggQdGSmyHO/KWJg9l2NWPNi0thLcQEQwBK+YOdjLRkNRxwInn5KbOq1lte6XroKU
CWDlI+E+epHX27D/qtmUTfsIRlwoBMqlFHwKEJR/nU7/rVocLMb98FY81iW/USx25yQONcvRVtjp
m/WgZWs6avHZqAN/b7FyN/cbrFay8X7C9u8w/n+Vne8YYWSZLJGbPBpgnX+bjAIGD8zwXt/sVtGA
XFY5RcyTXwKO1oCxuyVKGYy/R9FDFa35s147KbYGn3rBU/vhc7/1auHL/Eecqx/wt7vYy1JIUq/t
QY8wGpjLCtkEaRXv7lMRK7dwLCQnbkXLRjSLRfvO3I1kXLG4OI+OgkkSWCwJDcodc2aLeTf8h42N
IoweFHk0ioG/oAUxYgZwVsoys4t6owJ3VTJ3+d8tc4icmj95Qg8RbbvjsXfGCMHpIBuCjX8uVsGy
wRqQCYCxDJTHuTYPpuN0vz1vpRxozLLT47ZVTEGuzTDZDmnLbVki20PBbQLZWe4er5dIhuMATj0X
nnsDiLUsZZkcGGTZb1bfm5Wyr9z1Qb68yFZPQylaKC+jNO1BxkHkWbJSPmvXxJhnHC7Hj201CMzC
YQY5CQvbSLf4+u+Ld4kVIb+/XIYPOTy1ijhUoVvEBXdMUgmrDcAnKmO6YzqB6jyOSzSKtUDuwKiW
CSSq3YHWYPDau+zSRq0M2jJqPWNdc3NX8xOaO4iUy/q5id3KoT+hJhTk5/Gkhp3Esk2HVU0f8WI2
qjD5bEUTCzP7GAOMjECvIWEgsHIiVshmV10YZwY9Ntllb5keyn0X0Yu5F4Sa/zRf/gyVYv/nfbrI
6fwsmqbOcrkuqeljrodj3i0spxkH1TqbxWYfPk/j8bAk02QzvpQtuFXucrfUC2gMVPUxd2ed3XUY
0EYVY7i3ignCLJcNl6aUBMcySIS0sWxxlbHCtUiKT36WLGJtLQKQ/hKGwqxAwYoSygb9EyhRWfqe
+3U7QeYjou4LWbGJtsuni5mqPnIY0k5E07Lb0YR5Al7XlihkK6KO/QgzEY2SgAoRb50cJqj4BpTT
/hNZWJQsOuOL33kw0+rb2/zyQtpAT1q0XQiwiEdHr28wSz8gDDkiWsei9lklMwYTgXxoomwOfcpK
zCNMT0/oGEeXGixpED2dFsdKVFb0MeOt/d27gKY8Fty9HdiiEqiylAVqHtMRSwJb3znmh/Mnay1s
Ddqb8ipVUz9ePc+yhcR8faBMNV1UnJJmOhqT9mdfMrY2iuSQWhd7bMwqYZ2BQvZdLNvmjDIwvu5U
Hu9qvLcEa1hB0oImcxk0K5aHS9S2lKyAx87oe4jFLnsvr7fhAinPC20hhDgXvIesUdzmy4c4NT0E
+40gny67AVE7NBJ/lnHWxsgUAzZgT9lNL7I9Fi0+CEQfxr7H216WGU0es13iQNKJ3CaLQYOg7IDT
zHZaFKrkGR42buShckCutWNOJpvMq3pQciSAxaNYZnlz/DESc/yBaGQdLaldZsRZ04eFDna2Rk3G
Uc/M+KVlz+79CmS0bPJWTRexzmjwzaoGfrHNFAuc5xlx0W21rviQza8mVj5vq/eNAf9s/Hx3lMv4
Yj6+anUwvByk6PwoKlLnSMK2Fvy07ErjkkOVkcxIY86hE47AGlgOjf94TThjZRvjFVdqbUdG220O
0yWRiS+i5QvbMs/0v6J/lUhAV0p9AnH2y3gaL9C9t244kYU6Dz2Wvg4lq7INZb28uq1lS5pWrtsS
FdWiw20s5pHlcuCf8RAKy0ar5JSJqot5d3J2MVH0KtfIH28X73LKRd01SwYBTvo+JrFkHZAFDT52
8Ml3W3ymqY+6jaYhLCaWWDvi4dsEq4QTafM6KyTPzmYL7dAKa1ffDgl4ZfUI7wj9tFTx8ryY+aBj
jFY54543F3HTKmq5u00D2augAukypmpnokV7n4mxiNGrqmtiHuY2tyRdTVxXmUiym6DLgHOts4j1
QqqNeHUVtfLIqqHD/YEUt5HTPigt2/1trPGMSWkyA7DsgjpkcL6CrD+7qMlmS2EcAUGliVV3PKoh
hyx5RZxvtItUB8qBwmiVuTO//mM6HEaltiyPRQuMz2CwBAMNUvG3aAA7jmQdu9Hk7ndfSyvH0HWy
Dnwzmfb84wITSh1G4/t0Ja9RL8KIVmB9soxIbwjiLhpOsyC6Oc1PSsI+VjlkVfgndF/VF6n6Scun
qQLzbG2SVLo9ZS2phSt0KyrqYmWZHD+vo37ikoZeNatepKUhiOoYUfI2KDkIHU3nbTMxaa4KRcLU
Yulo2NoZqLaBcxlfo7qivFesX1UMvNKSsE0xhyKS+Q0bnLyV6WZfyejPoxW+WSkXyfGUIu8Clxtk
WDIDhyfnbOSxm7Anl3B4/gWutG2Czqo/JNtNeKTMa42YMtqohcrYM2ZFm/YN2i7ezyvjuon2ABh+
wmwrFEC90QSmg4zBqo117uZygr5p46FO1ov1NNEGDr0nK4tpPOCR/yJj9O9jYt5AhNKNEyZTZhN7
GvKiZ1i/p8a+ikovBhYC8Y5qUpF4yfD/Mwqkn3QqrqNJ4KeB7fWg7k4cBzFeYP6P7duwATeZv4pY
0NdGyFzdmwXl1gnYkSKrjiA5PJSHFR/5phJDOYrGYrpu/140EYTfGoSgLplcUYasCys/QKR2k+bL
dZ7gDQe86hvP2GJMxrapWQlB0YgMmy12BaoobFG/DXdMpyXwgQeGUT+WNB4RJP8I25VEM+o6z0s/
CJJtgOLbsf8nTsvWBEEIPa95tMkV4dDvON/3+2U+KcMHKz/VqQ7nxFo4P3hStl8p2DUumCsyILYr
2AaSkcQOL2MyJdJENaLtJ6HNXtgMJtsMVSyAHK3Z2NCoVcQrlHx3Cw5BpX+mggcMcGzrQq94hobC
GLVWMlnIMYcyGmvcHydzotM4XLbGF0tWIc1XMxsVs6UFRj5gGAt2DZe4MvcvJMD/24dUSXj/TAI+
Ib+ZN4Qqok4WTsjxqkiPDJPQG1FYsbQOzo5o0qUcWwo3yli6fD9fcGihJzj0AMkcIFUoY45HwYFo
mnUNeyIVUfWfGEWTSLhH2jNCJnLBQtlWKGOS45GVbL5H4aU+ZhqiL8UT4YmeUyUHHlZjAnX/Qa0N
KhmiWbULSxc5z1EP8DWF6JyxyKHeBtLFhtNkudyl2YS1fEFhTNxJTYrlkkdYO7Z6j3y2pSwKP31M
WKJdD8Pwjf9JGydhYazszoMOc8Mt+z7skvjnfTi6AQMAznwG5WLwruotCGa5wATRY1tIcCbmwSXl
F+PO3k6mOgRpY7h9uKLagcT0CEYvZAilPxSfihYcyuqBBd/C/Go6UePh+Wj4cXy+OQA8WLY99YLA
G/YqfFKm1DaMHxX+RCwhPBx+HShraliBUpIKiI79LorOZsO1eK+5fq2CgacpoLFXIG93G13UIflW
6rQuuqM/BOuR4Tfc3kFP5M6QRt5Hbscj466WNaMqgBiRe9n6wP7GIxxgRel8U6g9C1mwcotTH17x
cvw0cbL7Qrghb+0yB+NTVkWrUGjJLsjGOgjtivRaWewTRT4p6K1iEsCw1AaRVng6wx1cLlpbbvmW
SR4WIVmLw40Ub7U4yR24hqtwvx13j6SSPl3jT4er58rY6VjUPHW8Jnwvh6hiC6I8efCoyIp/Fp26
C0ouFBnRhbqjjYK97oyknGmQnWWDK+cSBX4fI1FFpqU0SxXTdVI/EGGuCiVHnWb3zeKtYdejFbNF
5IJoaG0T2WXsenAcK4eYJH6Vs4N0tlrQV0s2/hHaZ8VdzSi67vw4Cnv/xvxXjcIPRcpwoXSsAiEq
tlwsneNcc4zoKkUIqknweoJQyzqmrzx6cSLhG1rEeu0SvSXDc4sXTZpoKUprY+cT6TbFlkVMsm23
jHQmy+OWUVSqK2A8rbC6yc1yQOWDNtvyPkyRpaini3keuh2mMyoXVJmfShuh7+vmQ7Yx9n085HZp
0saliWLlbdGcfajE8w0eV4rc/XPzbqMs33CcvI89bcQToZmoyr0EbHnKAFjbRYwAjoZE/U/pCyYV
a1TGdoS5EP2s5ZQLLxEq0HQsc7UnPx1iyLNo6rmQZ1V00cYiCs8s40kdZlx9rV6VEy19cI3UQVW1
HMFu4nWz70vJwW18gcG4ts5ILrmL5uJdtlfOs0bjYI/N4JuGoft3Bg1dV6mBp4nJMp1YcZTCRs07
bnjNy/30dBmHrxTrxR3ZFNuVizirWLBRYAElZinfxVURbFuLhYiJRZqDFLsyN61qC6UslQo/cZS1
HovPmy0jBDZMDWCvzCbox8YmpWRCXTTR3oTh9I26PSIpTlm+NLEJQTwLu3GKCK9f8TMOXEU3LLC5
3K6ufE4WNYlRwlY3or8AquSHhm7mkZEI8ZH6NuNqm6m0BQc8IM09G5K7rBt5focq+2D435apPFUX
rbLePBROacCv5X4q31yx+/46wlqdG9ko15u2GyCPtlFT9mSZlWpOjcob/z3aA3KFWVZEGxsp8YBb
5Taqj5oVC61yRfRSrkcR4vJUZa7LqCZa6LU1T6k2yEenVK0mf6UNiCqLTfD1cwtZ6n9r9Qa+SC+/
yJKykwt9ssd+66yUi5a6Ui47cqYM1HfBxNjznO6arJtYl/R2/wVhsOfB98k8R5JYWuYGOvnOs2O7
8Ti+qa3cfROr4MkyubOFzbvBpHkpNX/blU5bhoqUrDIOKnX7ct0duFu/g4uT6PVORaxSPJytsWl8
Jx8kgPeP2BybrI3sUdOvxolumfXBGvCxnbpcteGAyZvqcG1jadalGtMgN9Vr2NSx0uPPTXGQbc5o
yeLGQTD6cNIsVpv4L3V+psfaRKu0s0KekNSuWiy6SD8dStIf6KrjSh7USV5p1om3S1JWHqtWbfGP
Kmhb/wVO9TdA1R/0/bmY9e5jwjg2dVQegNgVsTIcW3WG2Xg2TUKvcC/7WBPldFp6zdAjS16ryqOE
ANoAIfD23FTtVxfpjY3v84qUHsmaPLpDK5QsejEI0w8Qq6iCIWubJ4px4cLG6+F+QufO+wpbsXoQ
ZfdqJLhjPtkSaKPTlKUhAj/oH8Tqrz7TbXNROm3aeKcNq61n+x3UWT9ZdHLWP+8z9BeBwLVexoSD
puQysTLmWEDvPpV0BVk72mekdEpEDbXNM9p07VDEGHRVxKSbMkU4WcCPyyCqxRuO7+ZPGeuswtEp
ZyrsHA6w4PKK3+DMtgslLMbzSKNB3P9EGR7X+AFMXRhtY8sk99RkLkOwpTPdg6Aod2BPYRXmCzbk
2TPLoGzVTBfquvsJ+JsKhwngxe7l2Qi2ZXf05VsMrMcaADMstQVouwBl9rL9nvqFNKzZlE632iUA
WFufoVAQ1scOsTy9IVFjutwPs7X+NYJt/ITPblVPS2uZYTnc9TaftferNl9KOUQevJb1lthr/Svk
3rIbrgsUDbby87tqjzZ+UGsXRryP0/W2m27j23IS5YZ9yHPVAz1up0KPcSyILwWO2cwrDTubF3s2
5UGbdNMXtKnfLrTZiQ6WF4P64udJalZq/DKtFZ6Wl6ZS25uhhCvNKUs+Xd1uoG+3s1Uhc3YummRS
y4ReKsfJQlw3KTpQYLVljLAZLMbAikBpVhzchfxxU5BbRTVJ/ATKAeoY/UVltSXtNDm2TUyirJ/9
fppU3cQQ3K/GFs0nJ5QO012DkcdQtOKLT0jKOnavKK/uIBR0tS7c5SSOHGt8V8VKwBkWu47rw6UU
SpPFXnN14dU7auRZlzGOQXjLkeCgk6YDKo82qGgtHg2WT9oXVRsjDd8Pu+UpmwT7fkZutnWUzByp
nma2QWI06Bpus6bvvMpky6kCFbNd9bV5TKQvR1OqnegsfUw8sbN8CulNox7mMDpoW1ReG2Ma2uG9
6SxFqMiLLZyi0FOVsKS3C76mTFjP2zmv8UjCDTXVNmtF01fdVoszJaqq7pNGmXKqlj2mj4x/m8bv
Z9h4jwjfwiyM2peWT2rPmo0EGC/U6jFg+PvFcKER+8dxENPueRFt7EMiIJBAZLaXarz9Mr2NyjSh
nPUQA19W+dLeNoDDvUyeoMNe5VPV8e1cp+vtct+LssmuPX+szlh+GbSdn2V73c8wLM3HO57vp6UX
SY745WUZC8DaYMIKmhzmycv4BB4o47pNcsAk50GrAjSN+dOuqSXEuvSPAXOTg715VcbS+DRfExC1
ogKIn7yOuysMDXeIkmGzYGaFlU05bxkdv1nH7HCUA/05n0fv5YzFc/ScGrA+Ni/NimODq6M50zHR
KpjzmU68P/rpPh1v2L0eUNDufoW5MUZcQD43iTQ2SxWP2Lg96qcPC4+/AVKvfN0idl1zz/F93N+X
Kbjju8zNVbT0C8LPn4ARHTMqcZyhCzmTnPMkgjcdBViA78v8xrjdHlVm67zeBn9ZOWUD8uYxFKDR
RsEHBCIhw+3BzMDn1cpU8jI6csTzKl59cCM5j/N+0LmVl2DUSOduws/xQ75aNA8TJXn7vA9sIuOt
jia5nIBbuGE67Y932GkM/1q+X3TKna4VtuqC6M5aBvqRejh5bpeoZb1ZWpsHWA4AmkQ+fdXFEp4p
OjLveFtrB2MWUG3BK02CVVKeOW+45uS2TSuwfDvzcfE4N6gRCh5Opq8ituBG/aSIrnuAT2jwtn9E
8w/DjTQUpBdeR/8whNHTbP7lJSHCCx7ph9fpcl16foK98vgQ6+8R/aDwaNwOMuR8+DFhyYfb+sQB
VNbO33eH+abrBz5EjpX4Ok7ALJTy201su4+1D4gyVerg62nYJE3kT+CXw3xaM418k6h4l4yMhR5k
SspCzNhFoId5f8ckAKD2+2W6KbQYXY7nKXEb67K6PNdKi+k5qKZ8m59Asl/3lxkZCr8nP2uJTdik
hegfuQKOVTjXWD1xQFcFUh6GX+zsFizqoBybE4r4b3bxLtYGBjoSlzShWfE6Hc7TLoRBiyzuT2dz
2ONu2JvXuR9lzd34FTSN25xSuR6W4wSVdHvjVWI4HDKg5ocKEZB1xJuQlxkYKjnQzmKDJ01oD8ww
zR6Ked0xriIA+3pNmCSwLgNNSf2NtsdghEkGZMNdiBVAiuXloDxHqwRuIBrBns2Hb6C4DNKfCMHV
Bdm+j+EAhgjLQYgTJJAsKoZw1hVNZUNYPGKEBKSW70/yqHi8LXu6x4GplqNovMTVkJiwFAAfII+9
oI+g0dkI4NNwUQIojR+HtjrXbzQV73VSxsAi/v2tWB7LVt/TQQ6GjRNZd7wVww9rIKWptvMJ9sq9
TlcLU1nUg7DqGFW4doKnD4dtTRIinCbETceEgnm1+eIXXuzNPx2mEwQdqfgBRvvCVnpYYbLDlDxQ
o97O1PgZ9/ibHcYNuqpPUvXrcDl8h/CNkUcG3xddHnXsXtgxVfvyEkKwrYhxPry8rRhJqAolgnXa
CccIaWG0ncokTZbHiJEg/eHjL0YSXP3VIRygQytiMt2S1A/cs6/C05HeovFny8tcx7cpSG7y1br0
o+A8Ov3hlJ18CU/LBXZ/2vZPV7jG7mFpgX5XBlhFRWag40qZdDh5LuYbHcLN72ZiUYnUNH7nQhNm
YOKU4/DoTilfMAuO6IZbI9d6cCCQsPPKnXqCruarr+yXD80RmOHEBqsETwbwcNxZxtRFZ921oRgv
N1HTj1CQRzJOGy7sJJPwyWWjo8tjZM9aIGzB+gW6WvHR7KILmZHKNAnm8nmy2HnWGll+vm75HAuM
ysAASgqBro89myVZI5KWglJLVuBVuH93GK/78XQYZO6se386jA7mbuAPGna7v5vPx8tfmBJc3l9G
d1PHVKtV8dPJ+LiTIi668K2Kz1tYk66M2Olq7MgO9AdWF94WvMqI8+/CJuu9jPPbeLt8GJI8M+bH
xiT6ZzLdgfXfBs3qarMYEkmqwARL3hL0/AxGBsRgsR/K/66RMWcDVxHPbrsa/E4D4qux8ssRaMIi
rrsuZp7HPQ2ZYjgVepa3Cu3h4SfSyuCcGpqHu1vRav+X8qMxbcIrcvweMSKCNI23q+cPzNjLZPz6
r/ej5H0jnfcPMomshRf4XfxiOE1vaGFTjQbYdfjfxv1TA6+zgg7eBPJIdoHN1S2Uw2+Wf4IKAZSm
duSeAhwkes4MA5YqIWgQ6oKA9fRidBJWpyAwLD6WCo8BKDMOigxjjfkGsDI4xtt8usTi4hs6tK1Y
eLKjrNWZYKzyZZqwBEi+YsMEBYQ1bVSTqgeMgMaLyh+vpIB4nTx9Dub++mnsnhqmk96niDTA+HSZ
ShBASTocbV6tnIEm30xJ8nu1zDMvwBAvbM+5jCvt8SsFV8sJT7vCnu4qH4uxOR8n8gALMhYbKDzP
VXjmni/D+Zpc0oigmi0MzS65ezUv8tvu6SbfltnXEIDI2/6RyiizheqaqXKyXhXh3eY8coDjrXvp
hW10yNlEJ2lyLL71KqTA0YANP66dIvnUeRAsC1bMe3DyOeK+aPgct1fj2r/w1buWPQCL8tFyZgCD
R5V3petHghJWB8Q/k0o5DbOn2RjkqCjZ9rJtXKw8vqyM/CwmZTViTqomJutofk2+DaYmpNhFQcbk
fSPA3KaSQ8+z2CRI00xcxJmYddy7PoHp6pwx1vsHmS27Sxf7NrE91f8vNQXTcAPNO+gxGS6D8DKI
rQH4FB/Jzmmbc+Rgc1jjDDcM81BL6OsF6nWUSjJszbaVLGCt8S59OohDsWuwHW4w5EDGHoG0BIYg
va/qeBD2tRtceuZM2JO9K4Ht7PoXeo7v49NXAxEhYK/m7n7CHirjNp3v6pVrdr6SfE7ubi4HRYtX
sXMbfy4vgKxDj0caD8nLubRQx58SC6Nx2M6CJJD98/OOxjslLfDeA6UxrnbOxBOOFrVWvF09rc+F
QHDsjAWisCjcDp53Yz7uZwq90ps6IraN2KqIQxRkJTtt7dcvXO9Pt8toS8Y0oUavWrFTlkh6GU/S
XG+X6evoeE4+Tcte1c+dY9E9ZZCjJS92n7L3BwnuQwLw9qRxJntFcO9y69+x3UVkWtCeEuydWi0V
FG0OyCPXfNqvz2lbQOFemhSkPoTUcUhEs9tsIYTGJwiyLdIBtPG2/Z58BHXNdskaQBYO0wokNpWr
tsJMNLe+mUIr9A5v82k+wkCXvedkzPUtnfqK2OOSAbNwJRPNkJI9gJYg2QfJezstRqGoomGUmaH0
cyXI8xtltc0JPWGxIM6TS+bsjxNpKsVhLLpolJckti3CoGTGyS/6U1UyT954LcXO4iZiiBDyVa7b
8dJiUmMExwXzE25s7W0ewGPppzHA2CycL2ZT5tPTUTE63XT0VYAtgimpTRmRU8fSE8LViI1EWFUX
yyM8HoiqKm4wLEWmA5Y0KECyF1ay03ixv1FkbTpxe0VGeRc6ihGUy1jOYzmxx0txlCXwxPID7DgS
nk5zynFreEq6VSiBAFodi7gb30ENO0zoyaeGRVptZq3RfkiG04TH7Vc0RzCw8fWKBTzA4rA85Qrz
Wi9PWuCjKmK4dbaohe/uS1Ht1HyBxk/Lb8LZMcKRuesjP1pZ6pwXgEz5PG4IcWNnUJSdBg09iFQI
qexiYYWVkI+Jdjos+E9H7cRFPDksEK3uz/Pwe0pAFzLtsACxn7UnsxH5S1iOPb/J1B71CB+hglrX
I48Ny0tBgW7ZaI+81IbJL1zFYrMkYP8CM+Tor79gqzD7iWGDkqtiAZZNLH57Ai7XWLyMqZkNhCmT
YrTUKH5a+VhVTEQEZsbiNyVT0HkTO9F2iW6Uxlahnq2Fuk72WHClTNpq/IBhggnPX5Q6zMMBXG/V
imtWlQ+S0sSyc5oxKCvgPiZ6tyoJX8NkPQDYoKgZakUeMkO5hc8Wf9tYuPuvH8TOMr+xgGa/xDks
KBohAaEnII2EJC1iaA6o2ACCpZ9oNsnskEftJkECcF9MkVd57NlE+1LZFI+Ez6Q9jcpTNbALBXyT
37lsY47G4/nwD0z6y4frdYn06HFoAtMDA6OjlDStpXiZbdqYbRXQho1gpWyfvNom3oxGmJ4n+0/y
uapYTaXwjnzgmPySUZ0d3NSW0MszqPGebawsYIuGlTmdkW25lG2E7iO9ggyij9nfgWOFE1a3eldt
LA2nekjyUxaxp9SMJWttv6AoVlykKoa24EXvJ5y7SdO09EfgmTxvb26xjTc5G3UyYOF62+XFz3jM
7BOMYQUcVA7LfBH13OJPnTocq0pjofngluni+iZfFd40SVUuoz2aFPzMo8qgm0/IgSNW7XqbTmsP
afxmnhUit7gtqlRtOTrIklOl19KRlOLx2vM4LugrUq6qTI7REjb7YqsU+uccgih/q2IoYVZFu2UC
Yk8X0jZ5/Yk4pJolaPxeIPEdODT5MaM2WSS4iuXIR2GVBF6uiHVpRKwnDOLzGMtO3lGBhNzFzG8V
a0rYompiPvjjMV1lgh59LWNyQWCFlM9d5eF7qtJ+cS/UAEE0wqz6SZ/2jbJPuAlJQ5eF1osFA49v
4xpbdKsyWtIZEaubkhC8m8myLksbB0l33/6gpFV9XpuxHXsR8jHAV19VGyspnpwlHys0PGpWN3EZ
LV0HYnWC2aWXye6Qh2mfmvjH5FTOcpPeiHjF/C+M1TnaIgRUUaKZjqAafmJcbJ8xYFDL8Sv203+b
rrApcysq+prlz/icD144cJjvOO57eIEuJh8aSxUQsJcrep9Hu2ChuqN6+qdRy1lbH4Ul5ApOBA+Z
3mUOLmQXNSrIwqKOenO2XpWdlK5nBSM1Aq/Ze3kX6MUw/EFpy6FHqsIaipKn7KloJ1mf0Lf+RCWE
rcqm9/XfUA5i7wb317o06HosR0r5XbulEPd7+BIm2xPL1pfAaRXARRGwu2UZnd21+n/70hWj8gzH
miyL8tbFI1fz9qdkSYohb/7CbLeYPStf0IjhUNybUGh5Z6E0I5YyJwb02XISJqkyGl4rwZl9qeWh
gOqJ14Ql646aUMZ1fi68ee3hOu1/RHLa3DghF+f0EM1jPsdiWAnL2VoX9urrFjLXoE7/ZNfovCxT
E3C84m+jaonAe3XWUIViuGBx9wa4dnOkArvxsAkJ9Ro2jPozIuT8Gvj0Mkhb46yBjB3XhfOVs1Ye
cId00G8BfOJsnMR14X+DSjJtivp1HI879ktpdkB4hUdGAa5lUXfrM9OeqAQcW35KSG19z6x0Ip8d
0RxeOiJDa1D1paJVQWHr4bWF3+PwCI/9m0Wt6jsQ6Ad67cCwZgn6tcbvG0gqY6xFJWJObK+BKTAY
C/Euk4f7Xnn1s610Up4lZ7fMvXjagkYFaraioybT6UgTHm4JebEqwReBPWknKz5H4QqkJknQK15R
BELBKASCOK4slAsEW0irAGEsAcWqRZal33JxKj/FG0xONN1mXaEamwSYEQ4fRfEJ4bvhR/L46Tmy
FSx3ySMmq3aJo9lz0Z68+pN3Va5YRqSjNcHeRpJbq7EcimHEPDYoYDOntfYhdvzgN2jAIzQ0k63V
tHgHcarNfPcc1KGxCMjipdgRKbjDcWmNFyVl5lsoqm5pVsqjIL9Ng90BJoKy1IigWDssOj52krUy
VTvzbQ0rCL8O5+E0wsTqI2t/ccsPtyCt8mBpdUoXTlp5psUYQZmGa4rYAL6JnXrpvzjZmN67Gx1n
cEiEBJb9XgLrmp6qLsggerA8QrOIJQp6i4n0zDcZ0ovjeTtOn4teVNkm8x1LVRjliB+QXd+dVT4g
wycEIHMbgVx1QqW3X2a+57CKhpEW6mbcoplmme8PolsT1wg8iKeVp65kvvVw9caErBCBitTJfGNb
FTaVOBT5UOj9Cks4oXDAO1TyA+fBA9tseOx0+yfr8R4K+VnZXaHUJW9CggnZgmiFM48MmIkw3qND
d/f0SBMpnAmeujsTRf3Gu8uvwyQjsB86MBtjTkoshrm5FMB+9JVpz2JyvxS5zd73ZlluJWrpdeJt
PishzDweM6LBVkZJUye9+Se7e4t+jHv7FNgbjt+Hj7gcrqHow44RXC9955AxxsMh2/GXIlA3D7lf
WfwMqAV3MkbC2/CuFI4hvMLD8/LoEdp02pvjXWHb1SkBsmRHbIJFrSI+MZhE6NxwZjcdHH+g9ZzL
fmJDVQwetfSQ+tjtwe9eBf2QTCjmg32SAp/VbCd1v7Su1esfcL16yrgwhJSxZ69DmhUeSt6gV7Nt
un0g6R/B2eT1BkLi1L5oX+nVOTLld+4YSBa73syaG4jVjQemqS7wR/VASzgyKdX8WLOVar7b6OHA
5kQLLpeKJrEdAoAWHgtsnmgC5GlOAPU8iiWo/vkpMMrubGDrpNTyW/d+OgM74nA8plgxY4Kooqny
SVGUJMqSUVAbE0VUvSUnaPBkTEgsuxJWT7DgP0Eheb/m4+4B8ydjKhyH/Xggi98/hfwC7ISQSMvr
IkIk205YlHGt5VrBrdiyc7mNKFRZuMtCqdCubmu7iwm4MVsm+WC2xJmEae9zJ1yY0qnsP5EVdJpv
h/FmnDRFTmfsVSoMVFUyP4DxItgtNdsy3a821LI732j3vLXIE+/RsLOxwfcPXGHMts0Kugm5otcs
iIVuvh1lFqnKqMqnx5XUsgSt6D3XttTd/3DpgG7kd+VKLovKlDfq2RguMEv9mDYYvJRiDSuSMCbg
JGO+KTRT+AdhVVWPD0L+pvVE5E1y+CLtmo0fuCVlhSP1MancoJ3QKppiOiU0Bb8neHBVL0vSrZos
D9VjHRXxNhOPowsT3JHVIS37C9sU1BLUM9IK3SMx1VGzDeb4EE0o8Z2gsgtqXf3NfMH+a0VXMrUW
rFnYaGPL1lAhuyxcYMu37TZqcbDzL/KrVl0o9R6MHpgwfx6uVxsEdLVuuywr5MNlga8TMVGZOybj
iEGheGqxEflUzSADLpMsm+7zQyODGWSUwM9lIyP1om2xtn7aR5l3OLjrynzKSYulbqK8zwSnfEtm
F/dLV/cGttrJFJK12w0BGWOcB1h1w1qE2HUEKfnhZWaHtVzcGsPWK6cSodPiGwXwXcmYuHYbbbOU
5JR0mfzGHn1Yv1wlpXsCXpbQtmvbR1c/ZfuZwISrrlbKO5Brm7X3UwjGih0Sg4MfZNunDyMSedxg
sYaUk3pJs2WFyJVOc4aascAhnsHG5yk2X1NKetKelIhw7cQkPSSmL6HFOi+7DYeVT1klZP6D+Zx2
KmvJd1bMZ1nTVQmijIXzVGuyyhPmvRiJ2RjWqjkfYeqzUak0SZ15jM1DhxOPZ/7Puniy8O0Tl98e
v80aWY6nrP1XRT0X/sVZzTSDignowHrQD5rn67BTKwdgnEGt3DtfRxPKlRJknC0/RL7GXhF9is+F
frNqraDrjSFbGXtMaUEAryhTsdA0TzehHixW+JNb3RBzzMDkE4c3Wb+5zLW9pAOSrquiBQovDFlz
huQepmOJ9dp0zUS3VdNNPEPQRDME+AaXTTG7dHTNDgGQQRQREEzIWcVoB/alhgBmfNTY4hzZeaG+
pDs5S7CMzRLckl9TcmsFy9lhEVP3UMbv+u2WDKhtCYKiJa2MlsG20RyeEXR5VduLtq16uufT36gc
qIrPK/z8cWtWOgz2de4ah2k6ul2bnp7Q3feFWuBth1bZ+b1Y16JVoPNpisy8sjMPbF1M8qEN9bR8
zCDecesoRL3kgrpteN01S3Pyd3EdG8quDUs4ZZxwgsYF7jJdxtNu6WlMF4m3rGCe5yOp5YlPWkjw
ZN/5VhWcKdQLwzN93USqMNjSYhOnRd6Thhy0aWJ8EW9aer4fj1djRY80NB7+cUf/vPtmaH3eJprY
bH90UAEjzQI/BIiSSTsuW0hG69Mhcpab/yDpK1cmaGUJfFzn4vdcX4fzuCyvJJFhvyd5Ef4PXE3F
fPx4cX1MckVXziqQaOxoFwwXjP04yKtRKY6r19UvGkhHwzTqdlPfcebntlcLY0CppmsY9uk8Q8bT
jQYt6uxRViHq6ciHy/Did4ldQdpoJc7U11GuZq7WvTZJl9qJkpN0u3CSbsNBuqwPxaBtqY5+3T5K
aesj2uka5mNjziirX+mIbF6qNwJJqFyP0x53ZpyCgTMKEpkK4Inf82i+Pt1gAYVt4LLm5OV2hMFd
02k43dJitef1RMzNDLrBiS5JaxWKYOW1RDg2w9YmUUX8CPXZ17Qc5bW0IKBzK6H3xhi4uX2ORqhc
hr09FGwLghWDTJHsxvczoBrMdvrM2O3xtY9IRplNjeNgbShGzHtb0ml/CH7AcND4BoAaEVDfMTi8
RygGJ88VOO0CpwCjzO0X/6GL19rFS3bx1pfERy9eyge2QQG6OKvV/qEDK4jp/e8UGU5XV87bKwiu
2XnJNJXhdAqcysPhmx8cnNP97Qkvfj0PJz+oB1cZXmehi55uyk7I65GiJ1Qw1npSQlu8r6sff5lC
I6WMHZglVx5QsXSyYThdB9v3jEB5Lih5fJ2MmjWfhlDvJwmuhgBGC7xOeAMCtKMWa85qZJGicGjH
ObRJUHyrwCm302VeK/fK1xxYyudRCMTmgug82GtUyefJlHtxkigeJVgARzlP589T5JlfnvRD/FZq
5MYQCBPp876QEVgpB85WD+GqtNMcppBbz56Ft+MpzKAAq3SaU46oiZZWP2KAQIWSu/wTHKE8RJ+t
OBQchtUma2ua/vZnXGkGQUnjWx5+vn0ctXnvtR/R3qytXBY+dGsP3Tp5BWLpIfIsLpm5zvUyvuN8
c060FEAgeAWDV3mHd32iZAiGoDUMGiveCILMh93hjhtYaKGb2IlW+t22fW+zSWVlR51Mb0/GIxhu
zlqmcSfXlNvRMFvZF5zur9eFcI2hAHazMg6/yGN7GXjA5QrO1W48HWEo+WFDkIW3sTGlGPgB1Oe/
pb2gL7O487JuN9rdJnWkQ1GtA2rt55ZtKGsy+oyHWhjlLYMSFmIer+Pl21gefGGS0hHYxfxK8u0P
4xnCaqf9x+L8EkUqmKzDcHTNPavhTNMitjhXfLwKljpWwgsrZ1nHSq1fH0waTFch2qhZsQ4O283q
RmRC9dLmVRTkgvKJIpjez5hUshE9Pq1D4S4WziNrIFw16IZK8IWfOJ/XD1Wlpiaw+9l0jassZHom
U3kQ+uEnlkDqkyJnEGTHxKovdYicmQK0nz5yxwQtzd7IWNOUi5+wXaPaWmqE2K5WkzSbTpwwz+ms
ZWRPSQj72+UYdnopj9WGKrVbw6IlPQbgednqsAkuWxwTXbPs7n8eLyBGpv3diHcbNdyChr5iB2e9
yq7PDZmNxX/I0lAejKGVGnBK6cifYAVmsPBu/yi3Ycwr/fy9dm8enN/yTC0j/JJt0HnsFVy2pGkd
gwSTb/lhg3CSImbTs3O+YjWy/vp+Nqff2KVhgOOTBXzYad00o8RQV3oednnufTFw1+N04AO1tNs2
ycNtk9ZAW8rPMPFKpduNQFPaqIPSryPv1w0+WwTfJup/4PpCgr+3nfGf0AJ8AxRrItNYq1Bw4Zm/
p4i6IKetZN0kVruQX9cHXLIvC8kq52O45F0ygnBKYq9bs329ne23vH2fr2kr+yEzQOeFjots1pQT
6JWIgFTwzH1CNsntQWQtfkRayjApyPunBUq1O7mSGG7biOXm7Go7AfNlvNmBn7ivYLgqqbOyjWW5
QtcOVvZ+nzc4dfW6tCEob14WWeKsOSra05JbVcyv2eKIJTiLfLFsXZJgt/Wy3CjSz232jjJdYDge
PzAfe1F/gU8D5cy29RfkBQcEnvtGTMvGwNv1fenJotzPx6SiHVoE5d20SMCWqJ3S0PJs7Uq6cTJY
dwcPOZ2e5x2NcNXAZLF5p8uohYnt+qCCl+uWipeCl13RMNFw0KKr7Nsl5mgaUNHpko+lV/gWiYGs
dXwfJ6++xqKWoB7bvjnWpGwoQWofMr1WQw+Xq3M2gyoVKMyw/6USuPKSiZVJhqViOBA0BccrKagZ
rIJx7K7CznL4BmjednShK5KWtOdna31dzwND3gl7G26vb8dkHZCXBMBV9YqAP0O0vAqtQcr9xyf2
XypBpCJeQbGEpuQiV/q+lTcZL+syMcK66ZoMGmLbopuVR22Y+US0zocls8B7tPRM2ftha894eJAV
87omExjjP7zbuM/1fj7PqmRjMhxXXnV6CEkriSjqeNVa7J7aBRkYPh0pWlqWsKyovExbcb0eK71E
bzScdfGiDXVAbqkRWx5/08dysuubUcxsYLUW/Yzyw+NWZX1kjnCyrRaETT4o+r6K16I+BI+xM02X
IGUTK2PmpUfOMh++zVOyGqlkaQuvTSJTpRUTr1sNN6/6cJYWwfjEfPcmHtKm+e7Qrucq7HD9z6bE
BSdnnnJPTGBXaqAZ0VQdm8bsRoRvraVu1uZrFbhyq62DPzCNuW/jOsfdET9aDUZkEf84YCO/Omt3
ts4SqcN5fOJRndMr5XBqPz25XXvksXOWyhELD4bbeTEwuQIm82DosbPV7EEs1AYyYrrzqlwv9wB5
rdICkKtgfV597WfPtr5TYoUtI6CQj8egNP9TpFT7sbTtehBL9Nhqnq72c3jbdYvI2vlnK7ovs7ga
CUFaWdSuAyOx9zaX/wCk0N211+8TROTO+dt4cTsnVb6v/Szvtl+NC97OPvCr0+muqMjajzhv16Oa
lt85zbf/MfLgv8VCkmnsFzLQKsV7fHYskocPUytv2jLZ1fmtilGo4xHtsQ1QmdSisGkTQl0i8uIe
d0KkP10wK30NR/EWaj+umXFD+UBj99NEnJUUWYz328aX08cw9jxpSKrWSKpFQApdlEx68AFTHke3
4w8RcZ+gtyRjSnZI7Ue4ExaxSqlPPYmzNRWgTMtRbu2TqlgB3SVY+gcwnHPR10S0CLYts1UZihRt
ORFgrUfTJFSS9jwFwyT2vnTlJx9fU9M5o3w+FyhG+eGWx7TkYe/EjfC1xEi4frUf9i1rprixQ/Oq
3Xwfzciv/dBzlL9Z64u+BWmibmUjBDDxxPODXs+l2+rp+tWa4lckgPMUrOeLHuZDRZuUVSF9xpkV
JyGsOKo88OqKpB3hZTzrTYke9gdYteJCltiLAntit8rxdvlMtwrvJGWSaxXRAlqbL2dzDS0OXqz6
AD/ZRLuljS2YgstMwY2Bwa2rfirhZzCiv1rHFCnwSMVJq9DnL5PRjtOcHJif1+G6nlwI7hBulPE9
NiZTx7b/iE1MpXLbnq3fYovjRVi5Aou50qQjiseAU3K9WJ6VPLjGKmyeLrHG13c59FLHhj3HIrcs
o3qczlo6kK+Ua7z5YzcALoFqbGfcz8dNva9tNGYl16Aq8SoedmGj0h6LZK+vl/vp64ZsarUuC6yi
u95sacL16+SX3y6sqMR3mFCCuSVBYBYLM7Tx4Esbm38Pa+YuLmCw6SvJ+v512fgvOwRh6VBNP6kh
4Sq2fk9os0yUZppb1rEIvV1bu4PvNgbCe7YW8DE95iTRh0HbO+781A7VNNGSbkuxS14Jh/Cr9c59
LvR8UkTz++voNynupmuwpdjvyrBCRtu7lsW2bS7F8GyKPt9aStX88+3V/HiiHLfj3aV80oiTBkHz
trsGSAnkpjhca2fBpI98VXW1fL5UQkPR9jel5sC6FA5YXdCfZWBV8INJ3oCVBsup2sdubw7mqFwu
92B4KFNEUyL6bGloueJDI3YIUlJENhfhwFCptogn+XYlOwqrwbXmNlMTiz2hO7T2ShYmSilbevN5
S07P+zS8NoXFH2M7NVPzc0gdt3GA5u4XOOgezfEtbRssK4OiOlAaWJcAYTviXk2sPuwxbZlu87tx
EYcT7UnaUNjAS/wfqyesWfqJUSBNH9+BsXRZbeiEcC1bJPyY6x4c6vo6PW/oYujbIrazlRfnWuG/
ZeYLT2f1XmbyChjHJvc3I6XfnkaoSUqOImLjGHAAss1oTYfztOPAMZxCXtqO9MjZuGrHpY5Z8UO8
uK+BuOssoMQjZBsxbwbOKukYVGau1WkHnWP30216U/e75iGymXn4Q10HZCiWMQfCytfTUtyTpvUu
5iytWokUDPaxBHXEe/50Vq8RTAqImpyv3E1MnZFPxuL57xWyrAF8mJ6fx8u4xbuve2X7d+jo4C/s
jzAvKznIqwxLhFqtDAzNGkXyNPHMvOIMK1ZeE/ckHpxgrXsqi7lKVvP5NYU70lFSQ6eFJTTZxfSo
qpIJGvejwRwuGm30WQrxlVAIJTDoJlZtwzEttjKH5c/xM3RGMPXE/psoVCQ0O1uvXmUrolB2lQyn
9HB495nbhxaM+kKxHQAuZMANA5z7CH38gKUMp/BwaFxSo8CpZTgVO0+WOo9yr5ydh8VatiFMBtt6
sBTRbIOhgsbSeHreU/HMNVWOFwxcY5mMx7BXega5jXs1sfrH6ze77/qbcfTn2e9Dsx6y4g013hti
+uv68fY0H9c70FDwut9aw/E2OSu+hQMd5r0vFAWzdMOhKuY0sDoCAOeuthFSzXw0ZzrGls7rdVDG
COFF1NT5xgXSxuKlnvsUPA8T0fiQn/y01uflh6xuBAK0SGdk62rlWqxSkIWAlnjDYbpQvMEw2c1F
bn6o7qhrQsupStcP5toD8ULy1heSU8ZwMXbcKEIlSqJZJdfbx3FVm+1GDNylCE/jG6a63EZi8zVQ
54FwHT4f50shw3ROSG7X4pV1wyv7j+PzzVavQbSXKtT1EYGuQjq3Vdrd4ynhmgnPoPG9guho8WkR
G26sAGXHgz7noosABblgS37BDbjMZ3DNpbBY4zvx8KycaaCoHfxdyi3exm0v3bCbe/KxBfK7B1wq
x8pigAIA0xsIjE8gsI7fNCTunZH40/DP+3j5UEglZ6DYMGA3acOJaXvQrUMqXe4pj80tQdoL8rQp
FLJD8oGnjxR9PY/76Rlm8Wh3Zi9C6tzd+XTw7U/7+xVmtRJwcR8LAWTvwW2Y8JHBFwLPXyPhhqGt
9K4FM3/c425cd0TnKxjYnG+5Ds5HSmU7FbLZobzGJYCagsHphPlS1/GG8bjPkl3zIJ7RlqSQF+YX
ErYGKvc2TLdZKPvB4Jlm+RSH36FTdrgM33/3PB2Pv3sb3v8bh3cbSf3xFxjbEoXf+aVH8B8oZKxD
j9BJFPz8Zoy/V/PK/3aSR8lAM49t7gFQLDQ07Pfj9UplihSJJODyiTwY1rV43V+m8xI2tOd7HmCQ
qDDa3oBprNuOR/K5SkDU7nk2PLWbng3vjwc3aOE8CBPPO8/4AAysLGtk2aOAUjR2uzHfAfqfAXF/
Muzwd/O6IsKs94M39eEieEHchvMCWdSlxNPw/1lEmmOqpg4yfvZscCu3bcbcd4BYmZGjV9GUwtCb
Rx0bF+8QP2GzhIysytav4ufmr1VAV8vSbAJkFy6LsGwmC1+xo9C8h/XbPL+Jl7A2P2KYJQxfnga1
uwxJhz0O5PfyPLiC4YTTgepvjEyhVlVkF5Gu+5w9UYW75Gw+bhyg+Wa43caLeZp5vJIfIkqXzity
xIlfCWQP9zLekAL/ONwGQ98vFDa+zvfLXjxfZVNYeGHvbD2QtxGGP78OByH6jGTtRQoLrUaOJh/F
iwAIZNuimoejAPH8IoWj8CSehnENeUA4++M4XFT+zBmOWc3KA0Zul/nrqB9Eo+Dp+rfZkP+fT38j
Pj0dFLqsWo9d1jq9pkoy4tJUWWWeKusM/wgY/ao+dV1UoXxNaw9H51dZjdQxNWI/c/JiHERk1xzZ
vjrNHmo8HieIVJdNlkR1yTi2XZPhkhcgOgRCSmGLk7WfGe+eztbzGTl/Aa/gfpVFSecJE/ygKuAw
8iD/YsynP2oCpGGXy8DPQxiLzhkOy2aG62243HYj/k3Y1t55cwcB5suynDVhLj+wRWL6h6whzlrX
fewpFwGn9Ivic9YxdnY2hDr1ofPeJ57GfG6tfhtN0CYddr6BGn/bb6J6JCU7S1C1Q2oPC3DeLWPt
YUfd/PwM5moj6rW8UIiQSuTgP0b5LnkVMmgdvQvYGfIVqkDXhILZy1PnTOwWg1YCWGUxgOYW+Nnf
4T6/hyLAP2HP4t/Rt5JVfx0+Vpsw9GSxn4eSKBAgxwSHVh2zN0vQinE8X7+O32WrvGZq/VH10EhH
cw+ZaxjZPyIDktPgEd1gPilVWZ7vaQVfF61ivVy/TsNufAe3Ac0WqWgTATUxbfhsuHF3Px+ktq3O
BwWQi3IowabEDakEI+3ub+NFbnMCMon/trNzFjl3WsxdTdc0WcxTCTgCVQz4Aj8bjPy7hS/er+xi
zoUFuJAui0SJRyt6RQ0ugt3ZryjX7T/IVodHXQUPUXUkEG8zkM3//vtfdsPx/DrIQowRdbtk3Zzd
AVvnsTA67VowMxqyoHXx4DcZyW7Qf98btSwzSd8rjE4ewv44vJ01CuBi1Vf+ObSi+6Y3UnR+Ylnc
Dxwue7jOCWLt5sXEJpzOr/daaXNPN9SEgE3zRkTfR9mRbJuY2g3VVS2/dK6YOoJVkaC+sufuRYt7
3CJK0IozHBQMt4VcAaUMZM2Ya2Y+hS6+TeN3iCPvoEAFix/nG6yZUix+ZqKjekrznxzoQu5jUREK
eddx11arFEY7lMkYHvpNakYXrotjisTdJ0QdU/7NWhD71O3xeBXnWyOeC8VvAN7BOAxwjbCjsPOL
04WL7QcICyPp/+F4v8iE5OUJFPPUWVz12wTah6z8Qwc49OnxnRMmeGDUN7joNyYIXo7z03D8vSaz
XaJlkQNFKpzyknj3svfvjnI8gPg2Dtf7xZqRh3HG2fDT/mex/hpNrjoUn2WMknR5V7VV6FiRT/zP
+3AAe2L/0/3ybfxl/t27IMD7mCGLbq9lC6zCQQtddxOYk/joclB8QPdXq6ZUsOFV9a/n8SURrarY
rSjRnXEt8HqHjJPCEA0zGFhMqTj8zrrNP4PX/DeoMPw7GG1ycDmLBQRdyPVLiuRcMhMZE/6/SUVf
UhCrLGMcViGbBSJjvP2S1PoFO1UO3gKFOc0vD0cnPSH2O50g5qrTb8MO9CjBlitailTkacmibwVU
vRQhtsKQItL2T6raYrYN6/byccWfbCekloHC6KKX8/CcNt+7JChcTFoODDbMfXk8iYtKbtZfVZ0p
kVcv7Y0UO92kXCJK+zxGBt6YRfsgbUNmURWGNH2AgLJtALru7sY06tCuNf/F5TLIJ2OZDvDUq2KN
sE/5NlXVhqqkiolpEpcJlV/GYo2LhJvJQcZt1pBcExHPg/ElrSfOxIA8wVQFZsUDJA++pU+f6LHd
nJlnfCr+YudihlleqYGWSBbzbB5yXF/ADPjFqYTfX39Wcw2uOiKeIiC55W366xn6g/46GhNcDnNk
feg/l2GoH1TmXSEEFhV7DEi4QON+uuzvb1iIrNgQJdOa6DIHXLglOpJ57ADj9MFhPB09ja/Dt2mW
tWbJLFrUVtH4U1JeckPCF285JgFJ9zRcR82brKtaCTqyeN9mk78qFJM/ZkwmfUIPsAYOrqs8JqNk
kdQp1u3CsHKMhdEfGCZFXj/E6ciFkWVZF7OGQz+7kv3sLJVAXtJUpKtl6tU8du83JGxP5tOBzdaE
3gLOF97tr3IVAQuePoYtF9Hi/Ho1lc0yJdyJwjZKQCpEG+XAfx+mMoNzUE7+eBxfjLwzTywHURpG
nhX8sy/53eB7NbmWksVo6fgOI2Bu15ReyhWnAsWsikoWIGHzX0MabeVblDHPKpAimEJNpOHKigUf
13Uci2+ELU2yZG1jNGH8kSUnnfRem5VwbkPbI1EmU1dNeIIuEmjYjJKCJRSrJdVw9mlp2bLrwjcJ
+HSp65XlXhej64A9Tvv5gvUwOoOUMQ2zClOsSiF2B2MeavM+O1/eGE9r8nSpcUHPu/FyUTyYuo8F
+a236HbypB6+i1bWhDyUy95dG36dxQ3LxUsQJzfg6zHJSCWlKzH92wRtOlDuZjQykpMssAvFyiBF
fh0vxjCcflMfrGKyDvVgKWRSwGD5X+ZIspxgqCrXKnE/nz8w3iArZOaV24aDxkkJrV7vZwiqy1LD
sz0GmhrBVyRnX/EVNYM3XrmRyqWwoyG+6iCBEXhTVPMkCxX/hBAs2lBVsnjv8umYxAZfqFglnJby
7l8+zkp0hEVmHwVW1FFAs022c6KFeyE3lzI39wrTMPGP2bSkXmTcjFPzw9CPe8i3+TA9y4TFk+cP
iUxABR7IO3e6GVgxHgLLJQ8du0WgO2fmvxBjsivThUWNYYgfkPTgXineVank54nU03WWFbMkMNSf
OxkxuZP8xx9laVDGamVZgI31DyUWVKIlxAJREL3Lew7wy3DZf8F7DdB3qehiLVAXC5Kq6aqShcRL
ikMHkpjocTe+nW8fmqlSdW0sdmuzfd9fJ7CYBph1tQeSknluZQJ3dm3h/jhfl+pmoccQg4ecpJdu
W15Yq0YqqkyxR0iupgssed2e945QfRyhokOrZWqY1kc5n9RqjktlMma1GNVS0cSdT7KOZKFTKHWI
j/lcOdpVhGG3ULoDhVmyTRU48OqLfFmPsmYBX/glpwc88UMlTpev1BZUCuPBZI3VKdFlkJv4SGER
jzeTZG4qQipoheSbDKBRCsyRmchzoSZv1XismGfIRmc8oFs7Dgu6BTPRH0xj3TyveGlKVfush+EP
HwbiPrvTiTJ35DElz10PzJug/2FdJoqAq2K17lolYoVyaHs8PldILFKOI0vHquljnGw0T9lkMoai
NWqxNg/ZzVsFFLtVEo6iJIheKiw76NmvmklJXCjbd2XMVNxQU1CVnqTAim06MbWQTH2VsVqcte6S
vUcepnyIIwnVOAnlztxr8E3LLKxRUIpPaoXohLOkSwoaVmvTorct1cfuzsl0c51run5jQLVqG8UP
tUUBaiUAL+DL1zGaKWksMO2MCY0mFi+TreQ+Jpr/6AIzP6N4R0/aoGG87RU5yGNuNRsW8eDu7Ifz
7lfVtS+COOSqEv9FbSoqO614GUOyhgdfTm9q/iKMQYYFPosbua1Wr2IBTVy4Xlhwa76W/UhmD7Jt
btzK0CikYQ1abODQY8hlo9dXl7zao/ZjX9Zen+rwd1oHmpcPqIn1ctOyr1gjAiiLKHrl5EpRa9bg
ix+8iI3Ogxz96UrVSIn5VslSXJ5ZyB4SX1a+kO2rRTLqotvSmBSUKaaLY5if0uJgurCeDtw18wm2
zKQbOHkW5LHq3IuPzWRaqrorbMRJ6eaalSZhZE/u6MOGaK1itNbqU1iQl2SVQvkVSwzk1J7uxqaY
E/2NJbP/NkyXX8arUjnFGo0BcY2ND1p/aobeG0j7X+9P1wEq0uXoILM2cfSq+bOIl6YlqtJWTppU
c78tesa7i9hyj3XkKxXwqsNKmVyqHiDLUX29mgX77TwFazq+jrSfFxyrLRUJjda5ZtWVrJ7CWt9i
WV73cnQjT17ANYBiMOXFAIpz0oB7S7Qm2Hzc9xvFP3Ci0umA2R0o3JciXi0rt8SC+4aK1Bp/PmQR
48junmxfyBlMv4u0eA2O6BLppZtWa5EF725E3mGEXovD7uljR53xgm0Mdn7tD8daOOhg0B9zvomR
RURW8/+n7V+bHMmNNGH0F3Es7pePM9JoV2bSzhxJszvva3asLZKMzKSKyaAiyKrK/vUH7g4EHEGH
I7K1Z822prvUAeLicPjl8cfZZq3G+uNq1kAUh1rRGg7gl8KsfUR6vTyAkM8GMICr6BVHmyOkrS3z
N+Huw6NI22KWAjSn48+DeRjm80t0M1x0ugziXrQZXqVhw7L4giq/oZxD1AwBB2yncLhMR5Kie0yh
tSyuUlo6AKsWLwvMh8gpYzCh1urA9XSwJ0Np21diqCNu26Bk+I9ZKNMsw2jlBXhf36KfFpU0bXeB
jEETX7EzFUrM9MEflXe0LTfLAn3yQByIFTe+e+yagKDmWeDVFqdDcAHjF9iLBbww3doa4WO0Mmqv
7nJ4XAfzF8C2AUVZSjeAlmENtvMzgxlZxZecZOQ43c7IVXU6H+Oi17jnobQhztpeRuq6Qy/evOgS
13uJg9LYvl9BIExFwTrH/evsvJLg741rKmJOdTCeyOOGI4GGjktHyS4oupptsEbUGwdjB75BPFej
sMW11mz/W7//IGtmlU7/qBc0Z7ed8WzSNTlAH834eRVe1hER0QR7TSkC3PL4zvoVMB9zq+/oGT8v
y0MTHn9ZGEkLDHL24Aaiw8WX7/55i59427JbjH/U4cxoYqiFxvjjVPoNwkRYs5kTzMPYcvbfCkuw
4uIoby9DXdd5dPSmDMWy+OLodVPHx/ZywfA/qbHp39IT97vLrHg4kBPdAKS1+zHN38Y5fuC9V9Ks
xJtuEISedunYtVihDPwdP4qLEw/z2wN1d3ykQhpJfHxVmAA+wkyzWr789QD8th8fL0B0dYvvEZsT
2LbWtL0+LheHpdEBsjBGxQwC3nPb6T80IafPMWGXNtxS4tzptr0CSNR38y8TZlZAScdf9k6y+VLC
+R0qnOI33q8S33CjqgMGHRU70TI8RhmY/yTEB6wJgKpGVRu3/EH1iDmzMPQ+/qYp8s7PnxXmodVh
r9Q+myNj9jTsQ55V4Y24K3ey7sRNoG/tc6QKSc2OgSEjaAB4D2coD42hF1pPj7fKBg2AkDO4ddN8
1wy/vAh1Ssfu8Mn4Eu8pW6vN/A4whLE7wuL3qx+pnyZT7cVapQIuzfXxgTKkvMp+B8AErusvqu7K
/L+46vamEOiWlQfSeKUY6odUtHGb9eAu3mE/ELhwliTdAxmddtmtpkouOZgZayLGKPV2gUVbkYTd
OMVcexy7kVS7Mdqu5zui7aBVi2qVcheaJTxJsAFUrB9qzUzQHFVD4Og++6uHs+J955Ii3iUgcbnw
KhnBoM36pMOMzMVdkr5iz15i0DxFZnXYLt3ZZPxRwIDXemlIMiEAeo7fGiaPvoD8C6aafm2KwKG0
uYfXxxUjL2APGKVyJWoj/e3LvX6B4HZdMTEgaXIWy4wEwXFFxcwVnzFfK+/N1JC15+T8Gu3xazMW
ePD1PD7GiAJqI/jn8RQH4qMg5JLyI0PB3tj14g1a5KqpW0kqka1i0Ey53n+HqLWKhw4wRqXwxLUM
v1SG2cTFBbw1gETLSnnLAMXPnHX1Lqzw51BfxSI4rlLE2KiA79L9Rb8zSPAUUr/foBkdNqQYPuKL
q4pwDPa4IY31+sbFtzcLQzs2jTLdPg/xGxvfbOZIZCvLDV2mj3FZCMu0LIrhsBaSl2tzYtvofVzW
+Oj7cHkl4nquPOLb5A8R2S0KdtPXa4pbPYJNtifs6jee1arLU4zfKa7KCqzld7kO5/LrEsReMt78
woVAVrG0UZDL+eOsWDt9E7GUrOGwI4rBbdYMKwID/4auy+M+WvSrNQSX+3g9no3SxZTMeVC0CQvI
w8UubArMP2wJx6kNvYJu46KiME1xUG/LmJzKkDBwVcqftDT15OpKDooE5r1fj2ufBzfn7RoXy7V6
pAxAKixyAyIfd9ya0NytkvdOdwRrZj4DXri2VYZPdiSORe/iya4+bkB2UizabhnKAd/EuCRlobBX
8syMuXV+hYAr1BN8DNfPdOTVixgSfZVCtEHRoMzpYkX1m/fmY7hBgAf6WijmjVd6YQ1faHy9DKd4
qRPOKAsCi9Ua1TRD6ZZswW4b7wroUp5UArGkEkM1M2fZDKxWwgwXvb3J8AvTly0yd1dBmPV6mxQ/
km1ntgLnd0VKUhHClt0TtGmrzg9+vT3uTCLjg/j5MWC/Wxpmzmx3K+tdMo8r/iSItwSDXttHJr7r
XifBC9N3uzZuzdBfPn2O/pRynVjEpS3oiIs2bEL0X3/7wyFv4rPNpYDYVi/Eb38f5l14ctfx88dN
f/8xiHxff03E9Ehx6y8R8mHWdfO1aIYa465D72DNc1op+RiM3vpZvX6P64o+zBP2ybdHF4WaWZGc
AghrSYAc7Q7p0tOXIno1u6hVjXUdElxTD8v1RegQ1U8ZRN3mq4JsgutcTU8edQZVqf9aRo1VBnRf
bp9VgkbUhP4FZnTZEdMlPolGCtDCj5v/cMEo0E/9jGtmsDIc9tYn22X81mxRLIjm9wQKQm/z9Brr
gYwb00rv1L7AR/xqVZKDxi8G3QmAbA7K28fmBl5amfGw2dvuJA97ZhhII1yjexociuXloZgXzGRF
cGDlsgVbDz+V6WlYvLgAK6ywMfPzotXz4Ob8pvQfdPLSlVDrlRC8pD33O5EHR2ONxRehlVAoTnuZ
01J1RZVJ2AuLDDLX7HjGUCJlcuMCmEkpe3MX3ozOSrg5sQg+TyS/zeMnEQgkNrOTDDAvv3hI5v9+
IHOPim1tGSdQGYIWGTDFQT2VcEcuZV//z/jyP/5k2cH+/bsSua+ZfFCaPIR2K2EpnrEtVi8j8lym
VAPT5wWSLvZiGCFuJbZMD2PfrZKdDWO0jW9EK+WqvP1gn+m49dBJcBfzDuBzH584i+L4UgfZRIjP
ncGU4ILkVflFu02Nd7PhW4ysQ85YIJtg2XWFHLdSqjnX4rw4xr0MeTsaEXLqMNcp6CkrAkAY/xod
sIRqrgpKR9Uy2j98uOUC8D2Y2oqzPCFC1yLnYSZoASgshhUrv1qxUnYW72cAKqS6B1WMoeW5rEEi
mdJLnVhBgpXLQueI+1/TFTA4Rq1ffp8uJK/rkOBArndI7DhDDJM+lhgAksRjNdv959pO4p1dJgUM
X/LiRMiZFCEJWnHydUu26PlwnSzBZbwUKVfw/ww0PmCHvgU2HGO+H2bzo5CqzsYIohVSl8mor/P3
BN62s0zoAQFDyGsOFMQ72paUXKc8Fb7Qw76XhqvOG4V7GixCowt+/YyXDzRKXTZNZW/zFFbGzJja
6SX9Ksdp3VcaRx/qp9NJJRNgvEfMPXEb85ghsKPTmTISUWxu0vNyCHvT5umu8qRk0hDPnTiwlTWA
+84vSl0FVyBPHQN8vOr4ie9nktOuZmxHOVaVhXVPK9PWF/j6S04cKXSjoP58rJBdbcpSiYzUjI7w
44yZMfUJbxhv/zMHR7qQvmad0oSqpPWO7KHxyltFHkhN/qeVrJ3XrgpK1/APqd1MnO0i01p5UXSG
OujQeSUI9otaIvHZEu/u7RpTMVrqZ/rXvTvEiNiYrxpQDB40Fq2akdI8N7OQC+cSPb1YDRGAXauG
X7zfE4L6j9f79Nfx8hqv+alDBsYySt78B7NTCermSiEF8gBSW2yol6QxBqY8y+jPdqXxRgFIXBPG
DfnMLcmuv2UQTg3H2A+ei+JD6kyVSi/TKDix4HztO2zp7AK9fjjeFYbwQioBx4YgmjFfbtsMVp4o
Bp4WX/yqtoxqiuduhWsDcGM04yeuqvd32Jc2fnFxLJvJBH8RrHuaFTQjsd2LNe4mmky/DsCjDcZY
cy2kXVNv14vWPAYfw/34ruwYjOxSNDiyfw9cd2vgjYCm6fGZ2Tgsfu913G14s0yFh++I0z+bl+Fw
UVZo/VQcxxcduy0/wGaxSemLaq1vuE7KQRrfx/l8t62ENaMLBynYnhfPM1rGi8IWSdPopL15hT4l
kKiGcwPv7h6P1eAwWRceET257rvD23AzEnT/MZrDN/uuLqkSD9t89KfpDY6ICMnWE4uPZCsecCRe
N2j3lnrXA1RbkbzWD+ErsOPLOtiNU5bHJ+U9YJoS0FQtymzq9VsGwltP+3JOylwbiovl6Z+mD/14
u8wfSlAlChsAOlPlo8KfzltJUtl1MUYKdvPBusd4H226iDXbRIYKejEG2Tdr9wyXH5D1epnu0Ob7
wxic5/g1cJgEHNGnal4fvzqwLvqwyvIaSWo/EGTrFkmATduUcppj/fLopJiqqfAP+04g5m0GCrrx
/PZ+J1NfnVrPLhT4ea46hOmtsxlA2e5qe5EcxylJLTTyXiHch/l+USQ4l+eyEus9rqjLcZnKzfa7
w9gj1uIQJlUAMZzvqXvR+QUynDpFlu0z4ZKGPxUZKKTrOc3G9LpuiBXNizUcYxEHeo6ZQBEvRc1u
DAwzDid1hNarZO7YTdf7+fpg4HZFqW/eu2J7Z8kSx+C38THNX5BQKnNiWgCjyU29fYvfD+/TfP51
Quf1RRmraZhOWr28VappbmBx2LYMf8JslLGxCHCibD0zN8DDctplHRojNOZAl7t6AFUtmQvGccFr
Yh7mBcTgeo2VyJBi8jsGImEdUISnXIbl/geU0fOVckEj/quZ1H9gMnD5tzFWEEoLraTngFTM6fM6
fJyPBxg1WpphjVCmqlq82NaUQUm3vU0gcjAd1i30QhQfuBSfyvXxHV7M1IweNS+wusqcmSaMXMiD
Du0hIFwb1wsZBkgRKzdjMzWSPbJyh5/nZZc92fAb6rnDBvOgfn5Mj8VazagQUyYyfxE96tPin/Za
k2UmbTipweH7dD5Fy+9pU3ppU44jtDV6n8/Xb9HUAEk6W0KFP8/pTGyvP7h03i6lspzEU1p0khbj
D43zR3BUxQjyjxdDedm9BSE6WPTZF3SsQyTDoMxFZZLEtOH9RRGAVtp8OjtgtCT9kPRKcr9GVu2z
cQdox8nOUsRhYzuTScQuBn4VPrLiaFjEYj0dwGYgm2D/1SeaRunWUViU2q7nNpxsXOhNo7CngXI/
Hb+4XeYwfl/m4XJaLktHo3xsmCvuEdA0qnUYpkGcXYbWMN2R4WLubuy1oqFKvzU+b0pj+DCJ8n3h
V1RtBFBXHvR54z/3CgyXz6+5LT9RNtbvCPMzaBr3+XE9Jg7W6sD1YOlgrNrRHBP6mm2ij83Sr7u3
T9mDdv2a4eb+Cf1Hc9ocTPMb9B8NVEtbk3RdaWn+W4f53rmvZKkUknuGTQ75nVEeAWYs+rQZwJts
k/oD9URwqvyq1h6T3ZOHQ5YeXWOGs+4ZVoKnzGz2rqyBoNXMgczu6hPTieNhpUztIgvMHrtlq6Nl
56mY19wYqNAUZhoBmmrQobmCMLtryvvO7URW9BTE4fa9dm2bS9EEmzoB1t7L+KpZ+LUkDfREWp+B
rC7aqoTzWIQvbxM385M+pCOPgcHAybXu0XX8EQR2IZVuvNrZn6OMW85LT/iP/J7c57aD2LkVygA9
G6D3rC92v9gs+vggdpfaekMUpXZExi/dU7sFedift/NvlJ/u/AAlifP+ADKOYGP2redJpdtEzyqw
avyk65jHx7BFmm1IhxwuolIWwT7nhSZOWd2W8XGa3GVE0yw+GZfWpD3FP7rdxjpOxxYW0wCgkS2a
3U4nLgiumVm7xUQ9S1Or7Ea2FcmcyzQbpFPkutleDHFLcS8rZS+ZZIP1kJdFZC6KdJS9fryv53m5
K5vK7jhKlxUv9zk+G0oMFAcp2EI4dUtaQ9gQI32Z+54iPmKC7SLBp8bXfo7GPHC4hl8VNAjdm2gs
IIg2rk7EfFG21Mt4URIbnKD3SN0rJ1M3W0nvIpOJuPo0GT9KAaM4QuH58fJ5eJ2nDx8auRuRe0S4
y0n4maz4x0+S2lKR2lw+7GepVZR6xdQItxGe73KpKFd+2nB/bPYYnYZD4MuQERwdquRyCLfbndVX
3MTStxDCcWC38972aD8T2whaCNzxj/WXogeM6UqKJ3Yu53u+gMNJF9Mi7hUzim5pvVXdLPexHIrV
LlO2PGfqgmcXJBlSXpGs3w6zicFap0X3fErfSqrFlj2kUqwdpbxvhSLd/MnPNZ2s2T3skQFl4vKH
oQJRHpiaHRXxclXcbFC+zJgA+lw6FUpCM5DkhpZdqCOCHy6VG8RutHe0QitFsTW7dmurlcKWKZJZ
84e98mmPXXGE0nc5pYXjHy1feqUsvWPvxQrMcCYeeuHKm5X5s2YcHOG6FRu1ZjcS2HHyNttmNJXr
zNZc9d6QIY4f64li/xH9YSlaWeCVO6jYRQU/iQqfmRVgCuiWN/D4Poab4l+RbmC3iOpdy/isNJ1Q
qX4E0wnKObXcF2qQBnMt6hscZfp0ATD1jUb4pxx5UANWN+LN9BU4M/BJ7Y404zj9Og6L7tPztbjA
Eo8E0TsXH9A54e0mRUmQn+XxYd61T2U+Ffu89TY8Dyit+XJlmHodpoAjLpwDzp7nzTvkiu6M9aaM
2/jpeX/Nsd+gBeAzNc5KiScQCgZIaTe9Bv4NMQp/m/423aJRD/yebXiLRaW04X8aX+9/m/6C11z9
vvBbhbhIWzC8LyiEI3R+BtzAIpcR+1DSTjilAyWlejidRCnz4/a1bZMnP9iKj1wV2/e2DGIMGBlS
eXJJDWayQzec/j4csYmBlrWlt6SUZ8IzevaqmVucfs65peVDr+moQd9srfxQo9tbb5O9iqXXyg7e
urObzojKW9XL5qubUToUXfqWmOxtqfkoSuSg584Thg9D0zeOPKFHLZc34jeCIuhNYWN2+IfkqCpW
V13I0ZDQbFOsrq6Wg3PiE6s5lXyc0r8I1ogqlAvDBNUn6e13eabcDP+qM5SLdYbKXc5QtbWesqgz
pJkXXGswkNSzeaGcZNttD6JbbabD23yGB3pVsloEha2pxfxiF2yochB1GKbc3M6PN+VSsh/NMf8m
GcHK3azZAPDWuUhAOIASq6m4Cd/58vg1VpOGFpETUbNxsNY+kGMlIsICcaz+4VkGlEW0/OzKp2Cz
sn88tOq9RsV6164y15MIDC7io2nRUR5kZZTxm5AMdUNC10A5lqdMhn2FqN7FTe10Ng/s8KnceDan
Huuy7I2fLmMyAFP1/Ako/dvzHIA5XKdU5h2nU8gJmmf3zYqAYrr0cqjpcTX/5XT5jtne2zijGfMx
/HSjK3qt6OTItMM1QuXaj/Np+rGkp9f46SHtdBcNyGohgm6rJQJ/UHHe+k427Pbk51H+/MlbV6OO
3wkt+8LkmIh7wpsKwD5FzTay/PE3At2d9CtRyq/Es9GtKJ2qloMP4akqNmrN7hNhQhsr/rPxmi/I
Ia61tyfBb7aR3+DhUsSJP3hFywjrQ6VioV1p3dJu0gVr50DhBu64fY0cYbfoX+pNEcaRlfNmO03+
Z6krGmVmFdcLQrZIMXJ4jBGLsq0bavsSRxsz0seZ/LGdsXL7M/8lq5hz5/syHqcPiks9LsOcdEAK
2dYhB88NlnxLsk5W/WlTp4/okD14utJ3uHzSoiF++rftTtUwO4x6DMRyvIqAtfV2hpWn5RkX5PWZ
RyALV5bZsm2Ch9vxfBPuaaHqqEQEsi5KySZ+XowS0O9y2e11tsJiLNP7O9xmo2gWHQ/BZgN58NxS
ED+BEZS95f68L0wPowKK8D9lV6rIjihqv223kf4g4dMpPx8J8SeMHOV8++16yqhhomxqzVbEewMi
DdZioz7DcZ6WZcfbnMmB5ue3WVF5VSUnoIIQK9f+itQVck4+jDEou9NF5oIBWldEFyUXIJ33BFBo
k4lU7W2tZHNQUDA7ooYtzxmDPHdN5MAUY6TKZTOGo8kU28PfSwRZVinLQ9mbVrb6rZKplQBCLylL
Z68kTRTuC6H51PM7tCtYWrMZtIXnwOUlH0ZEzHXGkDAxiOkqt5KyopSb0wDJeCi5HAoOL47y0nel
oCify1DXigEFElpLRbpCkXcMV0OR8U6s5PzqpSEcJysZCdNphKJ9sX15MXijVRa6zprbsuG0uNM8
WCUUz3zuwo1T4UQtFoB6F3uFy6pFJm3ZS+OQjsZkmLIFvGSQaVg84DhNPx0q+5bf91hhngbObVpJ
zEDQ8T93Gcfzx8d4OiMeB7Npb6O5B8PdsTpF0lAwYu/wOa3tCSGmMt2Gx7OYNFa3jsXqHhj812f5
fsxASq4Bw3FEp8TboDYktmxbW/GpsjnSTMt1XEZ/TZGzrxaN4YAOShRO1DI2sDDhipFPjecXzioy
4U2H67uvCol2sPITqzYTe72MP2OJW5qFFw5WCYXbb+0DIxmX4Ra3snEKmReLaq0UOk0PeEU/xhk5
D8M9T+1OFe52u6n2oyPbNZQLMrRBtoRzT6BofWHHi046OkFm+aXaIbJewlgnI3K+8CFfyzcSAlGG
Z1r9U8l42sPeD+ldILsiAGp4Fg3YhcQEy0w6XE5vQBW5XzqTXroFMT1iQY0kRndVtkt/T1nNoaY+
9QwxjulFklEuJQRIGa7xGr5ay56DxPmPeYJiPWCx3XVpqkKSoct5uX9JFIs2PJV6e40tZRryuMTD
4SiC7NL5ZBHxJW80byDqqYXWoWTn/wTQhw6jl4Q7DfOh/SolXUUfbzUo0S9R2fielRb+1vH+j35U
vmuuODehWhtprcw22V8dRFNk4/m6xpRiTV+36kmxxirQFVu+aWXOpi/Wj1IhcyEVs68+SsL+LArJ
qbAPRfBqa0wnpcRnsEJTdoReqDqsl3g8vpiwJKeATQiVxeoW7FxR2UlV3alAOZWlsaP1+LUd4WGa
eSUJRqxUT6PpaDPpUBZzFpcLRw4pK2El8v1KB6jSSySkrSwkogNi65mAmcUcLblcOutVxdbGcTOB
17SLWqzpJKKp1/PljpiotNBm1ZYwqN6b26QD90thvXjXYk86L5WVp2EsOja91PDdMLtJDQES9ZRN
LR2OTTFDhNxmnhWiBn+8iMXe8r3hRxx0GcOC1D6wgCX2novQfPW3iYaI+cL4de5pC9gLxQGb6m/7
YnZG+ozf/W2CQaIFULW/w5uKfr5u7euskErZQ6gpEMNFbwiN4kvaGXMyH0WdgycFQPL65mkFF6Xw
PfMcC6yzE/9t9evnivWnvdff6dpzQuEK/LWyNthK+qgVzm/E73ka2iJy/zWz9PnXEKH6EWWGpEH8
PuJ7mD3dAFUKu7QcKafQSfvHF6Denz6UvvJp5urmMdn1vW74b6s3n8lPtkof/21t5nkjEXtspC95
+/JSun074Oa0e+WT7voqSQlZhv5dYCLMyRve1CoQMhB9UJH5SjJPjmKONJwLtGOZT3IsESGe4Aps
OR0ph6E5RNQ8KpzLZGG2Ep3F12ho6MnNJPswNGQSJgxjUihLDzAB4grijf2dyqzRcSosb7lISQXN
/mFEm5zOeH8pCApaJTHekROxWmHIVKhMpJbsIOZM7WYtAjet9m4aMx6+Uo6Ko3gXms0JdoWiDcqX
YpDri3xHGFNgbqy34vfxHeFERLf6S3xHOI1eCibsKg7EWbDIPKvp2cVxhD/fSs78l+mWcCgW++nW
R/VrfEcwTsMCj/kX+Y5wS+pgR/N+N98Rft1JkrkHT4lf+4gcyJetJfpn+I5w1FYS1S/yHeHW5lKk
L813hJPIgqW5+Mxe7BL5vZnE6bdGVNjbl2QdznvJp/pnqrZwgt5pZe1313gLK1UwikJx+DiZDysU
jQRuDnuTurWfHu8E9SXEFb0rvcQ0akXzCz56zVkjOeBEDBdoOfiml+ke4yERJRhS6QGaXdzUbSdi
C3xA5jxeTkDORMkUxNZqjMONJK/44t3fz8dvsDYzxkGVq46HRCpE1PBt+irPaVlvT6/8TfAuGqyN
sJyTSUB3ex5vl+Go3eumkki+5JJjxbbOJYbMXc8iWaGVZIXK/PqaVLci4SsF4qwUurt/IS54p7Hg
Kk9v09X8zY/5fEek0XTSuEpr0d4EmpodN7nhwVVe1RJVLhEkNamXToo3JyFfNBGmgpENO7x2vmOR
VQqIpdERKJWIQLHdaVAoVNZjRlgc1Hj4rA50gEh4e2UuIpXW1VjrwLo4inOSyS0AdsLJaC4s/AxB
KAdlPj7MySKCazdTXB6G5FsyCn5+XN7v99s8/uNhLi1+Gf4VtAK5TdcFW6YdTtPxoWqqjrOs++B9
ZMz//vOfDjDSOm74a8t9Ph+V32Lsd+CiWzv2t/3WPx7n+ZsS12X7x/y7zW+BjXicxxO1Vl9zgEaL
xTVgz+XE+0mbkZfP6xEKQODdOCm730vkgpuxXEOlBCVzx8MVTWywl+Gkd9SjoThfJXYhraXBTuPr
YL47UI/px12d3YbxvtAOH484CvClrWul5ywlTNcp+A1FfkopRakM707J/CfKqNUO2Qk24e/LhGTc
Z02KquBeFeJWvB2Vs/GLZR0UtWntuSldn0mhq82w1+k6Gr8EkQvRduI0y14Kt2yXOd7/5Wd8iM1O
dcmFgh06gP8AXaIhXnccoZuksuj6CwrVH/Hj/po3yqibuGjlqf1X/bj5Df1sWKqVkXdr08S+v9TQ
XhFwb2NAfXonCjjMzGJWzq/z8GHk6ArtzA4O5xxrjEY/ke3YYLzsbvrGtj1OagOMjnHix58m15AQ
xPQw/jyON9Xn7dpW8rzUPX4xtqCy9FYKSD9dKJrgcDyOi6aQu/A6dSkN9zP2GCsTrne8b9vfwI7j
O8dvvqpP8WG2/4ty3b48LlOIO3+j2+BpxAcR1M++reCeQRYb7lnv2GdLGbd4EmK0r6dv4/X860jM
/ObExhk8quU4n293LybgYSmT5t2CvP+QZXn8k1J8VNzVJEQd+LL3QXOkOh5f8bHQLKuUX2avZLNm
yKy3YheOv7+8j2N66b0kYjTML2Y/5+GX42VSYn5dE+5E4YqHzVF8WBDFPx7THWmDrhONrIwm4lyy
TNlD7nn5tnR2J0i/o3qP9Sakg+ilkBK+bOdrwgasWxH+ARtPztrt4k5GUYSN2I+LQssE3dJ9tY73
xfMvkouLD8d3qMdIzaKuJblGXXi7DEqOsWty6ZkxV9AaMMN8fFc6RNJRNlJYhnZye7l1w2ITZrJS
SSMZfQPvvPKx2AdE3EmE9/jrpmxsJYHbZIWh6J26kBVGqWxqIW0qOJvYRVT7lKHFWGQkVKuHGfuC
GWX7kXzsS7Gbn5+KpnA7SVEZPzKlUVgQlJmYMX2p7Hwm7bz+5PyiqC3eTbNeF+T3QtN4vdSB5/Xy
WKB/2GAO5G5jRbtfQFH5+Mko71GVS2eansxh/H5WfFTWiozFsOwd3K9VWVM65kDTBEIZSOgTsVhu
+LiZtYEKAMDhbTxC6ypzg5Wjq6QwoRG+BbMD66O5wDCkXSCsoa3wOUS3rvA2zNhNCw9SCTpusZyd
Ltv6VlUiMBqf0p+acmDJL6YhaSHWrk2o7TLU+fYFfbvCp7id5pTI1VNm34aZM/6YP65oCznlr8xk
g2TuHTWkT+JSYSFwrtr+ihoCp2C5wS0VJ2B3sL0iK92Z75cUt2rdStyqUZu3YNDuVmjY5aqlf7yb
jYJWkWN8nIpTcjJzu1I+ycNPat0sLFhZarvpV4XVKePpTMm0l8G4+VFUesESe20gzkExyh6kTsG6
F4Z5fmWog7K+upS25P18up1d/QFAw4hZ4PFyO/8cLxS8JUjyDvpL+h2/9VhI3WVZ0Kht35Gzw/CP
JwTqv33uOIOafe6tuajVUzCgeyis+wsgaZBakqG8qvpuvW5/mObfTdN8IrWtjOUPn3nG60uG22nx
Int2tK6lHXUoGssusWugLD7Qy7RzNlUrDZJljfJJKV/pWvmkkHSW5wK+nG/KOjfsyP3z5SM3C/L9
yjnWbBIrOwLRb41mDFLjh3GepxluRyIpkWOgm3Vw80mEFc9AT8VaznAY5nHw9xcI0g/fz8v5xZy5
mb5yn82edRZij7Uf5QY74Ud3GAO11AUPsF+HwwRXw4azzdwPULAYH6Dz8yHuyEacEUVobZGieeL2
r9hmyuoNi5Y0fnzX2Bi5PgY1UFvOv5KeVbBfODm/f2H8RRh4j8oufdfP2hH7l2zMl2E+gP4bT9OP
K/3T4xYdqWDL9sZQVBTxTC7KLrLFMpoBVbItfR0maMB+o5rI+E/k4U90yn56wNBVuEFKiWnp+8uv
UpXvWMvzb+xYUOkXVO3bs/hYbbg57dfmnDzehl3l6N7Hjzc+cOEHbjbzBoE2FtM3Y/J8W9T6AhRo
PxJYs2W/Szw+jTu2a6KZ3wFWNxDdAaisj8XDcN1dXHOF68YARlxYi3K/+oLZzWest/4NurYIn4N2
7/X753613HMXn381PmDtB/RxL1mDGs8rqUbzUI3Wyvy+rIe6cKrtXomOj9iGwlJ+TUvQSZ6U2+w3
1xnz6GJP87dxXvAL+ucDNAOPWk0uxLtWitnQDn2Kft7PKN4AB6hZtVC1HosbIJr1oG9ZhVkGvob5
01WAAI/+43gHSPI8xbrX1D7vtBZLBhMghodbLBNLW+BrzdjhO9If6FSjrb9llZ54W631ZifgSMbM
HM5XbRK51GTXDmIBoYe3y/SCbd3XzVHmlYc1lNtzuY76rtTMnC6QgrYIx1ijbIAbB0y7MpcmbM5c
BUc0LsvwlphN00q1iHaE0/TxUEoRXWppLaorniVkuQ/zPaJ8aAK8oDdHKBWjYbJjXSeFFaL28di1
rLELRMXcVAj36kMwN4c9DqfxdD5imtAOdjm/jsfP40W5fRVrIo6l8ebP4GRWWMTh9JhR2Q/fz296
I22XA6SG3ijJgSgbFzExQFOHghtMSbuJjVcEWFZilfgdCi8Of1/McsbjQ//tiglqhpZiljcRYdXn
wiW+8w1YNop1j3qq2TH5iiHzVhrVBFyGo8IPR4titbQeEWZnYqPS6GkrF7hk+wKHmgWHStroMY9u
f5SR/OnyyHCo56KgIRqikOrbncx+R5g4gtA0lVR3yk08Rvs61j7bv2EG2GpFZf4t38wM/yxCIS8U
ySoCcShcbpl+Fi4rRr9QQu1pLMpa/FxgR+qtlKbfmXrDFxAIxv38Mcbi8bQX/hgAUdxtzI/b52F5
N5YSVoK9HHQtz9rUN4XnjfYyGgM000wqqfLazYQoRGFjHTY0rchq7dWzqlS9dMELbFsWUTXZCDkc
i9dJlIK2tUiLdwT23elkm9ACJBJa10UVEY4kEuwRtmKZjzEfjGrqxApK6As8G+11PS0Yv45m/ej3
G+n3N/lQFRxDUyklerXNMIXyPduGDG21LOedC9xCDrDH1BhKK6Vsamk6m6ESQzRSwWJqH1rGS8gR
P8+CkRyplA4mfRLtpiy3df0slOLMNpNIzrBDqrJBvVQaipKrfNRJu7oDC0Bf893FXclgBLJIptn8
Ml1e46YbdfLrmg6l5JI4buNpQcBbAKvW8ePRiIfTeCdcjZKfbXzhF7LrdzyziqoNv4jlMDPfnKLq
gu3Msj76hU3Y4xf++seSlZnnZscvvD9k9jD6hc1V4Re+ms1hg053BwyKDmC90adlFfFJtv4Lf4Xu
aycWIn+M/yBbI2dxoBm76f6Mfl6ECy4ZuOO9XOI/W4c/a9eZx4+vqqSdcRMdTic0sVP7W7HlslxV
BCqPX+TSCo1hHhe0XpopFkUeUZlCAenBnNDyPj0sVSoGKQ6nSzzFAiM3mSSQK4zcGPRpASvDDWjU
BGzmmzDhFz6nleVdfMtKVSgO83A7n36MQ8xfx3lWsoDE51l28tHGr07ZBitzyei8ja+sEDVCFhef
cnOhObmgvaHQrPHTlgRr9NO4LZvbXtgpxxVl2UgqKcviiywL8Ysi+5efkV2p5Z+I68kyk3YlK+LL
qBpJHsx/dD49ANgUNUBx19jHHYKK6PO/P67fDqfhPkRXJstUFpf90ss++DWWV4ION5ytEmTBOXfS
Sdvn8a//+3/8YVLEpPJiwhiLskgzS5w3O8PmCQZ/uqQVS/Z06dGIBIoxwvTbopk4KVCOOo4ufuM8
Ftf9cDkfbRp6iX7sOhM1fRjuJ8jy8XI+IqEgOvjv0yVK5cFKFpswprwM34kMH1hyT9Pt/r+mk3aS
OYMcNn2Q1VifrmPchWM9D3BDfGLZ2H8P5A+2KZd4gxBGR4BjMOLgx316NbbkAjjAeTjEbCHc2q4O
h2i80QtEbpfx+gae6YfjFIp28UEmLDYYY8IilAFVLqHVDwQ/AIqLb4+jVhbnZQe0LbcfC7jg9FfR
5B9uV1aEB1YwRBbEzChvcvVoLAchiq+49KfYQMy0KdpgoncCdNH0VHnIKmnBVsZD1Fm0VDtnJc1N
GO4/Q70HyOT3kepEKaAD9/g62b8YNdbmzEOCmjBeCFuH/znGHS19wtscEdzM95AmrY8PRc3KGCyH
lIO4ELNHfCz2dK7t7NxgeKLrKUCQBbA/8wjBAUVL5Jn1EWClGEsLL6cRkI/zfR1vx+n2TPQYUOPp
ZuDw1Npgx7CuLwSeNcNQPuYFklsp6a35ebL8tcVqxQK/mWdp2kiro2QhQjPHz6LWt2ODn8q31+nx
YaT9ZnJq1LsbLz5MXUs9dUgVsgF2TIi1DWbHtQ5gDgbuoNKtvfa9tliKbB1A7w5XVrzj49PuHqIV
fvTTrLkPQwG7j68x750+LsJWS134seX9uFjBNCb/yfwfeCujDg4Nm4cttTcLcgeiNIcsWSNmhwwh
vXYaE4Fx0NNM0pmdeRuW5cc0n7jpQHWlC3BxxCD5OSswpBtQenbkl8f9bgUWbCS2W/F7mLHb5AXX
6EGrA5B6UR3CtXheh+i4gnGjxO9z6RVJt+q7Z0OiUAwJcYdFgTkkJAa2hJlHDDwA34B2hBtAChOT
pHG929aihqNX1eE3gOHvcqCDUyxHNhRrR0FPwX06vFwG43aseGHIT8RN2p6Nhs+hecdU9wr3mMsc
x6eDrYGUFYl3reHWHgOYuYeGctXoE5iH8zRdL5/KE+AnwyixwdOdJyyqx6wI1U5oveFYNGZjyNLC
+N204N3v5/GHskh2m3jDNxoO0Z8rK50R7rjwWB97fV27QAZ3vPqtvxPgq9pOZHSVD64bMDHvJ6+o
AwavF4z26H/DG2kU1V/Rd0E758/WA1Gva5NLp0dbBOiUYcbOnwqPM2z11gzg54ba43y5aA5D3Uvf
O/ve0m6dzrMVT6PjH3OsOVDm+5SsZpY3K8kSJNhzQhqN9cfumXfS18cOjbQf7xDaQ/1mzQEfI8f8
xmn6uM9j/E1y2JGNBxiLjuOpFY2k5WESZoFvI6PYOdAhFIrrUmga9sVIlVIug+LdFJI7gFtiHtbp
eEbUiNsdtbMTKAF+b2MCPsOd+S9Qc6pnXNWlJFj4tDsNZTyiGUJ1RxJyRVezp63o8cLkXE5d3w7l
OeuzStLcz8/Z8XM2VyZG/876CmLeCQXIbzpwjw0X+EcowRzmbzHUERx/LjrYTjcxjNwOzbR5VZzr
ev/dY7lPH+4ED5bA5zgqj4pfHQPoXsY3eJOoevnwbVQefD6Az7Xj9tyW8XGayPvVWI5xd2rpctgD
P9/Hj8PLcPxmnNyHmVe0rgWXlGdSUMS2ZEJNseoPgkJB7RuyZCIyIFf0VF3En3NviThvhUAGiIU9
nOZYOjzzXaRIWjPfitw7wBTpnC7TrPi8uSRheAdJOSGgRrl2rRwRYZfOimtCofdZIx0BCMXHaFz4
01fUZrGRUEtbbZ2jBSzB4QWMFLQHFfVbSU/V0wOctjKaupHuzNNIazRPGalUrGXz7hlPC6rN4Oi5
zUzBAk1DtOyt8ZxcNEWL8kA7WgktMmHiXddpcjbhTfFg29/sMWs1tjlOg3auK0OeWhpneUdaSqWB
NCQCbPESDsG7nPrXxQ6HjwxdwdN4nGaKa4S86cpMK/8z9TY6CJaWM23IpWG/4Kl7U5tRrz/B/ZvV
VRp/26htOPE22OJ/ftKdH55V5tnhxzvaC+oJuu7SOAT4IXlVBoNAodjm2BZFHnI/mgWRKOFXq8z0
RIMrzt34IZQ7cbatlj1hehSukavgEyyr//ieNKwKKeK4WtjcWXNNK8AYhPi1osMIERv1BCDIAw7X
/a44tz2PohQ8l3gHfgHv5BLlkFLOnzOCmo1+9i/geDN6FWsIjKDGm2Oy7h4bw5ZMNlR+1rB5+VSi
c2iV5GKQh0IQZHcnqlkzj3Nq+jAYh4EeEnRbSqWQ2aO9nknvjn0S8Jlf2XXjg3BTo1uTaEBEdgZs
pn+YNW+2awrJAlUTXyzCHyRi4UlCN3pYro+PFyMpj+vyuAF+UXnhWjYcIqH9vcAopwMFmGfzfdIS
D1UmGT23YUHbxBgX7qopkUnxKm1uu+sXS86Qct8rKV9K24RnDGQNihGYl9LJUM5tjf9KOTdjaJg3
wVr+5+VwA2oqxVxsSq/m6h4bvHKDET8hc3EhfTKe9jTocB0JNm1GVj3AcjevZlhlHNa3JWdWmjMT
Ps5XayMYm+1ydj07iKpcCcNU3ickPCH+0TtvDlyUm40Mat1DXEvEDSbReajTlY78FW6lMghr1+15
x60W19MulfcY8HOvmayRbxW4uoY2bN668Vr2LkJsL+ueaora4bFj/jQaQay85l+xyb3owuAZKYNw
cHTrGcddcN9eaHzmlFG8jDAFtUpI+nA6jybmhYw4CWjNdJw+PqCgXu9e2/Yi1NquxVgKwKoCXETK
RHpNUgkOMrn+ki/DrNybOpS3dpuVtUGZxIpq6ZDdfP7v3PCOCRKyzleblPSaQtMSRThSsdEVtoO6
m+86EHBjrI6FsocNa/OOwCR3X7BlOPjDATO5so9iC/p1XvPwRhSV1zW0ocyq08ZyJP1aGwsaxota
g84/FxDd8Kt89+A2oCKR9to6QgD6uSp4B5pT+9RxiiFO7uPN3Gb4P1D+rMBN2tAIbNXYre6g1CxS
02FAcKN3SYFD2auCZWql/KHNbQ0Q0SRE1Vq/vLi/WG1EJSVUxQdnIRI9H9TUeRgeoVH+59/+/Kf/
wBX+O+3WL5fhZbxEkJhoVMnZaG8s2qTrQ8tRlJ2Yb3UmFSma6wQ1infjxp5fkf7O/O9xI7bmQRbw
EvK2CN07PSHQM5QLw3/a6xKnFsVvt/Y4yVDVFF0VQf9TSrRRgoSsx7oCwCXnsZVCqX7hVyA1vJPX
jnHLBQXnetJDRLgrpeS+O6NoegCGVL/2OEHRxeG+n/XdZrgtzHHCvwbxBgMB/vcdF6ZnksBK754h
VYmwXZ4VnYJL0MWp68S8gmW+IsJBHRSEMl2Kzre7J19ICtTccfYRMnSAyOxYbEB0UXCwLFiLZcXm
z2prwChqkoclnkO07j1JZu87ti2QNK3arV/nYLVLjCqCnpFeOiIa5oKkh7S/dODTrGhXlthiby2P
MB9+/x9/VkA04jWz3+8wkjEawXbX+y9sV6B8mAx3zNCoILk27+SYFoWpgwg6qRQlwNFKGYzY06OE
PXh8oWFt3qxftABTpBpmaxoxGklPlg+yKWVzeJU4RqP2jd1DL2vNj06H2wR2DebbjPKKX5BOzjqt
Dasg87vTqul7FgGE2EfJAndujLdx+hjvc/ymNRlD+viu3ysyC6KbVy2sWRbKC2dbYSTQYT3HDfCH
ORUfz3yfVdJYYCp2nSDHZ+wRQARUCXwk6ytCE+p930IvQD/m6foWRzpmvvfqmqS1sTIWgoZn23Uf
UrwPRqWNM8JUgr1jfLiFIyyUoXgg2lVXi+l+zbnKvK0vJC6hgw2qpDjrO0lfLxUp7DUbjLOFLVKc
+aAYDEXcyEGaDwfiUcA7XF2yRAwEP9EFWJAxh5fXUZoI370np0WRPn6lnrJGa9BaS2iy2DcjivjA
wPkRqmQ/3mh35/HtDJVgCXj4xvkJXmMINVmFaNY6XUnVfhs/X6Zh1kLShZSpDuPA4Cj++bx8DMZH
UILAtbRfqzWog8SMq1JJ2me8UueB9IWqeaWNr3t6fv0cVEXBvVUiii58duitMY+Ou7B7np0q5j9w
l27W8kRmo3ppowgzi+ylOBmb0NqHfO5q0Yhezy6NCsgz9oKBHdL0jJ5oHeg+vQGOUY8j4mGWoY2V
MVl3dqs1JOJqjb3N4AhXWfgoEtdL8lVsgyKPJ2MvvTctMxhZv2kxHQqPh/4GEefD6gQzMhyEqpiH
XsOlMBXiqzXXBOoZeeaTJSE9fy88oRVz/JxCx3zM/H1I5HULsb7MCO3/AaXxn9R7VVGMouHijGbv
eSluAZsAvkyByevcg/OvSsa0YWBZ9gzzw/2i+RNoId62mcsLKJyb9gjVWSyM9CR8jP+v0OSv5WUA
vgxhuJ52mppVu7G/OdQHS/U+ptP5VUHwcVsV0BR5VqZjk4USnOQCANvESxO8vQP2BOuBobgFZdTB
iM2uVGbXSHhF5x3YzhfJ4FCpeHXMm58ed92dzzPJY3UJOIVzJfNkxGJ1AguyJsB6DUOYBInSbS0A
ht8PcfZmeicyyQaCw9ofPC4KyYRGnkMLF3QmNHDwqhq+ZklqBp+xzjOCKm1MUXGdeymi5hNBoxUe
QpgqAXfRUTYiQg8x+joOuHN4Hc7ao94V4rqeC4iU4paukbfG+jqU8xlmRXIYAIi9XYQuww948taY
dxZ3Rngg3C4I6sRPEHy5ynW66AMWDDtU0qOmIQo/RO8JVqFSBnPtjrnVNjYjZW6rYllHEqVypWFX
kVjri2hdt3nIAXGsBOYaKeToz9aeMJhtkwburlqxzI1BbpRHoZMApLH4lyJlvNLIGxQuMqTGXutt
7CxIF6+nZnN5K0+yYn+WksnmLWrzD0nbvMzlaFxYdneZJq0YoN76n3WAUQ8fSvuyabD0XExV3B+v
r5CY/0iBHjLP6rZ5TFjUzEpweqSyVJCFAE+cXg8v4OBZXJByXoV0Xtu9XuH2+tNU96JTq3uiiv9Z
x+Fs7PF1wbCXbzp4v+HBGK/mrCVAuR8jEB/UQRebjyjmLjfpvHO8o5yjYsHmFlMnDTdtKMlpi/l2
QB9bJgsd8iBK9WFAIJ4uERMr7+3+QJjGQ6/0sifHyr95h1d3P2n8OY4XwSCNFIXBSAqOrgxc6zKE
s1jtRm+mw9NZNKHyHnWSA8U0/2EZwEX9NREnY2YGx5fx5I7GRU+ahUWNqzVqfDVW/3w+HjzgIH5i
WSNplOfo7pt5WZX0EHtXoRSwyZ9r1Ly7recq+k68/taKSxdidiwowxMEwcYCZbkK5u0ZDLfs19a3
qCAx4rws6aU0eR8vZ/myS9twbw0JcWumtZ+i3optuQHVtl+r4tKc7rqUnjr7AhBK/IQF5tDg7vwP
0LwAjWUx/LhuYCYGe2SYY0jI4j2RLi+tPbJQhqpznn4g18GiRRd6qV7U1etQdRo2RlscXDpRk19z
EExd8TQi1W7Eu25QFqqX4trPLociX1kj+Rw2rET4PsArKCeUyQJKdw+IqcBAWUuLU4DtngMMPEwT
zulfzTn9yfgN/5Pey12eRN9v02J2kxTxVNa6D4blb7YSJWhFhUV3wk1uHt5UU7Vv5OzYU+WqkcqH
HtLraxF+8OwBl4oHLOYQXPQFwoGpXm9kbYlVoRY/uaeCoOYpXw8OtCp4AHiAknHkQD4fn9jYWEaS
1dyuMbAq6Wj2cOQyPswnJjJQC5SQIQtPMVplQpOvRfQ7XrpF7FS1N+9W8dKkouY2D2tOI6FIKIIE
tOZaBKlreiHvwbFdzk2w3SjR1kulLopGqiryALp5hoZKiS4PqHEaiRbBJlONelnIonF0dIohIQaU
IpV4NrqNzDTGfDcK5HTR6loqfypgOzWVGF+h1/V4MdrE9lj+MNapVnjOYiQsseVjAtirXXe38kx2
ee2rP7xcNECXaKmv3gjT0lbJvnxSalJL+fEgBaTJ8so1Kv8AtWasJJeyS0ByarG0adu3WqUEqnkF
o49CUa0XfmDLvnCrrYGHi8TlKjXrwFLVicRhdsT9tSMwVMM4s7y1ZIea4F2Z434hDNCyAYrtXJbb
+eqwdToZWduF3F1tbBjHw6kwhNOAnt2MsXnaAS/TQvJAVEYHN7CyT548jtG22+GYvM73i0JQ1ijn
9t3padxwnZYThaANN77kg9EtJFFICFNTSSRyzztvbNWFFYDMCfgnnoHftDIDXWb+5Bfh8HJ5mCvw
43xUDrLJFAnlHAZ+qjsRqrhaRoLnNdHz6tFQVg5DuwX8NUdj/XGFqNSNiH2VJw/3kHHlVYVngHOS
nGcqDBJ30K+RYQPVHUwZx7h17Epwt8htXhL3h8srJTZFN8T5V21nvOAywIh4mx46lw+eYLfnbr5A
f3N1s7tGuU7MFFAbDeFAtSJS8qldhs+YNYFT6ULaxVDHhjU9FG3Qud5wlkw8M7Tz8lAPRewgqrxW
ZJatvt2q7131Rzg7L10VlmMHD+U+Cg+cDZNSHzzxh+rruONj9DlThmtbMP8gLReIU0NXnosaoUTR
zwKtFd4aKJE8322xga79Gn96SB0Xe3V3lbLhhvuJgZHSBRrhx/tovIjEc9QXirpf7yFYNx8qohDH
ysI7XYtjgRilx+p6ZSxuoAy3+yPuGeHpMdn20RwnCRBN16la8OS60B6JvVvWGgRoDaNDUgzClumv
fKXsswN/Gz8xwqBLZ9OEkm7ZSXLzfilxiVJ0xfnbebWMD+haK95wLdV4Oa5sdGhv1O9jMYc16kxf
WRbHiUQSQ08M0Ij6wYZXp4PSswdTR96HgcfePtXP8Z1Gie+0cZROgoOu5Ume/hmXxw/DeFWO2eBT
i8bmcYZ1hjkulWxMLkUm4rBcRcS4ZDxVDq5Mmb+OLrquV2p2vZhT84dljfDFgW4SKbaqE5F2K+m8
ni/qWYhXoiXQC746Bdql10FjMK7cF+EulQj3hqaSZt8VdaZojDKKSnjH0l09CtEwHBpKVvNV3gSE
stbSJIT8Gjo7s4bU6ETUOJH3vCQgaAzUzVIwHhmOQDItmCNmGDynxtr13MqyGWC6fNcqSXMZpyfa
gxRgVOJgmSQdq3FyRVdyOn4z03osSsCWFxKWWyZZ5sSnChsbjncvn/HuCVYICmUWUgZS1LWuvFEt
HKUubc9oCk+uktA/LUPDYDlux0k/WYV8Mk3R8Jl468RL4wpjerFYxhSOMM9k3X0yK7qQqmblcon4
XrWPFDGNXml1/W8MizcFI1BxbKTfJSvVetVynSlc1mt9Q4JpoBepzMJ0/H1Cs4vHwlPp+UrifA7y
S4/r+Qgh8CSixy8S4oOdFyOfFUliFkQGg3CRpOuVEA+uK5PbA6k1PWdbdJsM9Xe9iI3Yg9ZULjSz
JqE5bub6Sa0srSfgapg1VuJcLcoKyh4Pl3FA+Oh1/AETV7IvYgmSxoOgjCVG67FgkeprQNJypb6h
kFLZ29SZAv0vRORqDLCnQPWUfKhe/Nby2rdGqAvzadlk5ZQxBVqloBwpOm0+MP1wdwx9xBiObXY3
4N1TToizb+Qb1CF0mFVlreEo5ToEwyuHyjonNBhg/BLpMf27A65hYOduNIAS0ERCZL/xLFpF6yRe
XGWV4ovrITgBvFsvxGw5WATCz3lbs1q8N40HoymixNg7KjB78enwYgwV+q6Zip7aIpOhVVAzloYA
+kbsYiSoAzxehtF42uOFiENV76ytRQt29c6+1Mii7cT0KeEwsTEAwM08Fk7R7kUcMcksISvmf5in
j/+czho9Yi0SS6LBj13voFLeJWeSGrFqRUpT40lChRcrg7Jp+wQElpPEeE9tq+hzRdHXksXOGpvt
qNrn7uITV19SmXWdCKH/afTL8DALAOqdaVycCQyX5DatrcSUq9J0SujB2m6EpDZGbcrkKvI0Naja
gKISgwFqExIl6tMUMtRzT6u6QvFJizBUR1vmAJmJCq1avMGWh3T5GFbwM0EVHRGRJfJ+n+bzr8BK
cEHrRtE6vIoLG5jm2uJ9JRb5ZbQHSn4WbY8u4CsqQyzJ2rKPDLvVN7K31RK9499FTVkoebaXt8vl
KtQdzDswiqVkgFFAKhrN504V/jW+VRLOSkKhJVOgOEjuB8l73wchNa2YcDaedxjHbDDft6UaS5wE
WTBKxAF/pfW/Yh3ITUc9m+XEghz71mkY5X4fqM9cEnwnj+av1fKJMs4bpfvXTSUWkwSsL6vxiqeh
YuGCDorw9uwpMHnOI+zMIWQSAPrpUb/N6Fn9njw45Umv5L4rNjII5ajmRQYf14z4mkoxdH0vQdx3
Ye2qtpHehdCXX76db6QOwOxW3PlSopx+arulvQCt2N3KobIBQ3vQQbR13iukfW4udE1tDFbtPdvn
ERJAdN2i0CR01Dqp5kUuytN8WDFZI/l7Cs+67IAiQQn990hVYhmFHSrvNFIvoai9CwrL7g8oLHZi
bDzl08Z/6qtO8NNfVGgiKsqCqWMGEmXcKtS0MD5E1oRPTc+mvoN8CpfAZuFvMt9NoCZY24tFo3w4
ViW9x8F2/GJ76yrbUsrbgkFMz0cDMO7hRdmaVnqFFXMxtdX1Oh7LpFnsLs3LBWnRYFIWWIcPZPm0
445gaQfyE7edTc3HiGhAO8H1zirT8hYHs4hplMu2eYhuAuR+7xlOh4bSMw44kSwu1LCElP2V9aEA
dYIUxv1ynAGTY96EiomfxZyi7xptaIV7wQw5Vg4QPE+7dE3h7zoLNbuuplCY9ZGAiOB0+ifrbB3F
yu912it3WXjdudxdzdLMFcWi+EUZopPOOgEQS17V7kmStw3uV+vJXIzD4zr+vFGvW+xCPiv5mbar
pZjaZfj10wb1L9hpDgA3x4mgDApJXsv7XnlAn0o5otUcdpwUFWMB1oSBc8Av8J+M62gMK2NNOt4g
21oLZBp0IcIGX2Ix3NZjuqh/FV6Rwv/QcjhiEVMCC9J6QGNXBmy/dpQ1pAqThHlp4tR6+DOO5nGW
djRgE7JGaWpx5ToMRB0sPJkNA1/+YZqT4xR+nGw1D+w4VjPvHKrPw6GC3barAmW0e6d866myXYs9
5KklIlitB9XJGw9pua+M5XeftYvAsYY0x1Xrgde4WRUEe4TF7ZOEnp0g/P9gXVZLfmFpXRVKe8eH
m35cERYGvXpO0y3K39F6YDJ2TPNRbDsQNolUCCVaj0jG+2utrMCtTmXr8ixr0wE9UgP/Ps9Kxryq
xP5FFmZ0vn4MPxV9V4geiqeiT1fBcvpQVhlq3M7z8XzfEzFvGBKFmtlYdgfXPJQH7b5DMO0IoRXb
YzgRrGu2dDr5hrLb+HFJdumWO7Y1+mDNyrAWsKvZ9O+RpVkV17uMYR1WWMD0+upa2PGkMASkiUcV
5q/8gthV2dba0qP1OT1Soey+FUt2I44svbIarVsvvdnGG3mB87StJZVKJEyyiIQ+4e25T9OfJsvx
r1bNVrVITiGPptNjV3WTznwnErx1oYfsgtKXebjddGpSzmUOTOt5Vns2ftcDgXKBru+fctsrscnZ
thjHsVX6jJSCFWBxvBKlq4owmx90tiueb4EEde6I6MN2i/vK5yuGHChRrwaKFXvRpwAE7aabfRPr
/ONgtimKxpbr623bIwhiYtJUT5P0W4RVG6H6GPEFwqzUzzjDXhaPBq/LS0C+eGME7+7SqaW6MlS9
GC9U01oKx34jgm7TNNZrb3mwHZQgnFjdG5SA63tV57VSHwzIHNuVJNXfIJcLrKUa6D2lzxvq2Sp9
CArRG5MHdBGbbQD3AC836plU++htq/Sa9WRE7whTHr6xtXJ0Yo551cmOphezJ2myXmP+5TFyZ4vm
tHEeAqnoY1Vl7Hl+apJ9H5VkUVM0Olu4eWx25OPNKyMyV8fLCxTjVqQUEEMR0xWxQnrzrE4sL1g3
m9V5K3CDLjSqbNHZCPQI38ev8rR0vPsJL7FfrXBrBjug0eMKZQc3iCa7/yIBZK+bXkYiUA/qlwUE
NiSkUCgoGrGtqAXsMEtAMcq59ikwmypzXF4xdY5GV1oHtRJKytn5lA5MgbU5qxBv/6BCIYpO4Tuk
332drvfUj/dVpRTSvAzHb29IZn9Qs1Vd1yijfD8vD6Ok3seXefyhzKRUmPYRr/5H7ZnreQZuiy1c
cdSpDoUIpuYVAb3vnRgJcNrsq0ZnV4nZzmeyxRSis6n0LONX+if1+abPjGy2QvD2227rldlUaCm6
rIbtHmy7Vy/pcrOOwWo4iTI+dFr6s5YhSx/WBKAA0qq9E43Ut+DmKiQ3cQ0drVWgqEKOewWUcl6H
HV5WEuZUgxe5swWR0w334TBej5OKJG+44m/DUqst554Ws2YIV9bQJNO6GJZ6K/j7PJwvezDn5qUv
pPIYB+CHpCfs6Kd5X+fpmiKJ7DqlJxlVKBCH5WV8xdbTUP2lGLltSBfJH5lElUQrV6CxHvIOyqD3
Rmw7UW5j7MdKBWolWrLeECKWpoRH2onFTBFt6hF7ijqtJVjMKkggPGg0qllrsodFrLVHVKXNzqoN
6csC4G2EfjJX3p5COjmY0AEoOa2dhJ9uXjao7SFY9/a/VnJuLGuPsYK6d+zk49Mw1GDdYvVtJkp/
sSBY3rNcIW9paxH2wE9hDTD8i9mI+LCMX1mDT/s+lXUHz/7O4RiyokKmlvZrW6JXHOKWsGwu2Re5
FL/4wpxzec7WwNg/znMOnwg3L9PMRO6ZgFeLH0DWpGpCSqhGtn9SozCyhZ7RgZqPdlLUVIxty9b3
RKmP7QknuI9zifs4pmiVNlOlZs67YsgdPaF6uavlyjOt8ZV3eRur9aTsEiS5nCmHpDIrZEu3o4ye
DRkEuY5cczbW/bqcP9TmAl5BoqlX2yyagFRNFUrXtWwJaaUodSfy538Y0+VOkDbsBLdtVZYi0sY2
D3UetnmwtBmA+ifqXSiEs+15kXQKnLs5ZgjgkNZc7EOfCIekbsTGvh8jzShpgMwP4B07uClQx0j8
eYkhLBS433TlVbapUAZj8/EBMVzQijuAaOhyMN73jx8EoXrMF7SLI+8ULbT0A7OGJKfvoJlO0VIp
6s/RSpOCTcKC2+V4PrMTVBbXhnPowjnEIoU0hy6cQ6fsckq10YCbY2ujO71nac1zCxO7Rf/csdVl
KJ+VsPXD5cfwuRwe99dDp4xUJw9R+biTpEdY3i4xKKQLI+38SsdxWD1A5QiYemElWKF6UT5v/Oc+
hhkT8sMFsnwRS5dW2cQ0S7hIZYQqnFEX2ydlUdWT+PB2465MSvEdWfgMJxHmRrBxEJYuo+ZW3aSi
jlfw+ejk47o8brdp1uJNDctTM3uLIrqEJ6PgbhQYTBqgedIAe/rF5VpWWIwTCm+3twq1B7ySysHU
BJDi6za1FK4W5na+YsoaPdeX6aRxJnEgiB/Tpd4gGgDNQxIdCQMyEJQxOs+iNs6UYlKKTVjlip5Z
DRLnWSPmjeSxUq1nzK50kuHlrNyXT70At97WFlmoscOZ7ixFb/J4mx8MbnxATwGtyLsuFJt9095J
KbGs5EY8xxm3Y7js4+dqqjxaE0sRxj1dreuylIqlrLrg5EFKnqWLmtUrjxKWf2s9anhexeOmg3ZC
AJxUgIBYJ1xLfA7ewwZcOu6QYxBUmGZaaWNYkBBL2SHspIQGexHGIpTUlEpKWGxatxbTUyaecO5r
vFDZITGhoKrQTlGhjdJ63jfhUnpvdfFQLGay0gW5TbMJM5N68KjkEPWyEOkUuOxKsjSXDt/28LNk
jNdE6oar4/yZKIVROmp+tNhacluPrbWz7uJizN9zC044adNp+kgtJDFc2GtxxpSqg6y/KEmSqpEW
J2cmlgfaZq+Pi+trk8ggN3mnNE61Gfi1JdNE/D9K7WMhgh8GoAqDOhNLSLsDh1o3rYTdczg0JMuA
jbzPj+txUM2+plXRIuYCoqyrIa0823S5zn5DeauCTtuwijSSkasYtjlrgYU0tx23qI7DFfBRL6Ot
ZFEoQArpZQiZisxyjsPlqKiFQoKUip02MLqtCVTTSV3OGVYPB9XhQjUHZfuul/bVpBqS/U34cpFk
w7bxHv9gruXvkVvzL+NyPj2Gy19VTruOFx+zfuO+KdXaFXdni62eAZlZCvIZEaMcoIwrpSbjq5xD
/NwhKpAJCm0YZefKPl4etKYkTuePD+0y93p/FEKTpVOlvEOzt8ZUR4h338g3aD9npJvjGUDI9dZs
jcinRdEohNfbiPYDu9AYYfqWcJKN7yDS0lj8YSJ2W9fpovOXefo2XlMMcrV40dSkn8KY2otQ1BXa
bzRHgjmty8X5PPWlUhZUS/iqX6fpw/cQ0wiaGgV849PWiVaLbZZieUgQJjSVGENZ215cgfDaLkjt
2Z6JPZS8KYKt3wnNkmwA38i0x8/8BHQl1naQCmCskLidnSlzOZvZWN1FZGbO9I2XEqNJ00nxAnuE
9/EGuB26Z8oBisDJ5y68dl533ktJ8QqYmgbHMG8DNoTgwhGRJJpzWiM/dr5QB1RYeu4vU7V2VRsP
IyALkbHa0M9QgG/i5X1mClccr07GhZGomucLGiOku9u1IlOK6k8UIovVc/dAhfQxV2B/RAXsYYhK
IFZMoJ7GV9eqfQTOs39PlIXUlVi6BOuxvLkTFoeMyFoHqL8ZNYFqluXZtjlyoYTPknVDRtkWChzf
M7FjW+EryRC+IkrsuVScI2OXJx33XMTn2qAPzcas7dv4iXz9StzHj4O0TowwxFc7oN7V0dK1iCkP
HWUbePmz2jAi84nZlc0x3+KNvoK7NE58JZn6LJRkX/4EUWSbi0XtK6qcpDNRZNdlvQRfCh8n8/Yq
kMQ2UzCpG8daDah2vUgSuC7IvB+o3s0zbIRZeclysTzIasPr+WJfCXKuNeIPVIqVQvO31oUQekm3
P/s8lyD89hULmNl3ouLbSuqPsQrmxwhMlKoo+msCT0gfWBJ69LvspXiWDB9WEMNehjuMR1q07nUN
oezzuVo20BMMjEqUgMxVL9PIC7m7K54P2cLKA1RI/LjOX0qVSmQiT9JIcOWvIaf5WP6xsXyDhJZK
VlxWAbcXo0h1F9nF81QZadtOUQ3EsA1pAPMsKLeGBfGbbG17LlVpo1X5W/kVOfYJW/F0KpZLS7yJ
rQlW0Oy+ohBOIo57tzbywOIx4wtN1gqhnVB8okqyjNYqngQ7fdNFg7KQgCGC2hXLi8Y81CYupGM1
IFUV9n4PXDXqp4emtzIEw6ux/C9XGCtcjarOfWmPJZJIxC8yrY1L4GhRr6fE8yZyoa7e2TbQbW76
3ToRuvXWsWlisj7LlQJSaLu9jNROjPCr1AuC+CeWRDfUrhTNdaz6MxutBDmKTibvFsoFd0Evi1K2
OAPS13QUsSnFmn4ScD15VneFUvWkeLskfMrT2qiFEtxJJT1u1LFSWWXkgddL1B5BIHggYFkRnYSG
a+DMFF4rxLAFUd4nGku01tbI91pemUiO1ZWYd37yihQnqJLu53NtjVYWk+VqO2TX85axBSq5eDFH
4Rqj2nz+/Xy/aG1yKkmDraQZ5+t6VSxjcgDG9AeqPBC5TIce3mnloRN3PQjEpOqaO5459AF3Z6u8
QwwE2oAnTLi2ETsn7aKXVopVNt5eEYnuKCTanQg08VXbF6PorY/0w5iIcIVVzoo8Y2CRIEOhM7g5
MVYW2+3pwFEp1XtdXBufgDH3PiV6gdVyuREinHjdDHV5mac3bCBoriTQ50TKDxAO1zLoMWdpW8y6
jJQiNwe2nIsbFTBOnYmQVTsK+ZFKuB+n0nugcMD6iF7yjo6qOEjn4X2sUG32LcfXuI39BwWW3Xn8
K/O+Zue266UZNEIpwUtZwYlry6pg1eiYPHqWsXWJe7OjMy7NzUODWfOd515j+Bux4lTCmzKcMESO
c8tSd383a7MikBKfWoLxypNRJuLR3ZzShWaAszH24gCXPh7/pulk0rnZgZzmjVWskDBXEtB8tjQU
KdQanXklwa/tJCwahTwAiAIgiAjXqEzKiyNrtO32x0xuQWj9SdmYQtoYWhbFnzCirW8Ng2xDRNPV
53EVtrMRNe2TH4/T4dpgMVafUcmkufTxmDYN1UnwbXtqMW5V+tLrHYAK1n1C7yj3sg+PnY+0PvrE
DKUwrNKkmEaFMCgfys4HglIxWjsagyt2uNzBKAuvLlPWVITXu4ruTuKAeu1iJvej7yUtY6eB6sE6
vhYsoYpdt3mughfPBjR0red4sTb6iuazEi/bPVEcBTqnPv5YUcsn8Irv09sb+B9qiSuNV4ey0z2p
9OvkAg70F4rWaKSCrVAvG4U8EKhAGSdXxuEll4ltLyRDYz25dCtxGsVvEAvyhskYeJNdJib5eLVx
NRavjCdRZPvCiJ1pQT51ogtQ30mlQqsw6n21aRr+crLW3M6SjLspdLabuhd+NxeAnKMQG0N5PKm3
sgpPxfb25u1EXPV0ugpeTt1sIE96aKnp27jtvzqlkB75iWTNRxsyOyswv16knBD7YoLHtAfr0nMK
Dg9Nf7kM129p3rhOAvtvGPl8+lar1q1rMe9mfp4GSeaRO57u8FwisYC34p/KXR4wZUEeFyYv9vkB
lWjKUcwcAs722ZlefXuDxENY1ZJ9SXMageTWoj1tC83FPrO6YqzKpwusdWMitNzalEnBx/YhFEyl
Vico9MunJfGDkpP5rCU5uNsvYAqP8+VVAWp00ilbWQ2a9u4sC6+LIjYdm5t1Gd9kZ1ixrOzH+XJJ
xmfybIua3vCessdSre7o+1qKiTKuXr5H0EgeAw8qNV7Fq90ruPN0x4EHEuL6SkqAsdB4am/fBNwW
wKSr7PosGh9/itsnitwpbF9LESJXEaeDFeq8SdAXPu4JOGwltkDi0Ua6VNQzy/X+Nq/CfNUQB5WY
CZDLlRw6DS7u37WWyWInWDnGnozM5VktinnAzXbwV0+7L+JlCzvg+Ki70rSabRqzmxPpEyVr0krh
8vU9pP+jIVm6XOyQ7A0iY/Au5hhXHlAzGBX4nW9q78temlgYFLVNpS1UDYCWH0piIFPQWkreSQch
9KVYAEtF0GDXYtsN6GeYbvfJssY11FjXzaYc0fbp1vKldVkpLL+McJZBaN+G2+HlobCfNSJAWK13
65VliiJn68JSdbDNthkyS19jEXuC/4CqmioJdcI0oi1D1VRiI4GIuErcVYDaVSLNsEvEA3toejZ1
2UuDUHYdiA4UBFAt2voBrAoBkdZicVEDxcDOFeQX+pmHTVUh1hNWBxAc/ncKtqVLt2MALbp6xkYm
FJxiLxHKI+7u3bhgP9IWYp1lItU32pe7yn/7ptPYps2F1wAdhYi+HV7SINu+lSiGNhzlKaxfFb2R
KkC9KUQGwdfzhfyfV8KerEWsao+m3rcrwqwKbuc6ngvTnmdNtHrPOQxjoGZYU3wz1LUfPSPFKhWL
VnzT+3o3GNLyjHV+YsxOXuPjEPgaX1/NVBdloqUflXNj4qh0zQAOqCTvcfdzNjccKgvqKHEsm+tR
Run9KFuGchxDKTjHT9vw+y6UQhhioazT+xmiD59aoVHvK9RgQHYfmSS4OLeyvx3b30A47RAIycZM
jzYVRyqJ4zDkz9kBtcxo7+N8vsfdid7j2nCUdlNlgmMBwt48Nde1qPTNrO4xa0P6BSIkrLbbHtRn
w9jKEA2THoQ7lmx1SW452hl/Uj7IHdxZjSsRd7gNT6pl0SGwRXCwl8fyebhM000ZJ5dOymgMuOkH
NiVzrx5XsDXUJpG9pwuHIRlZcPC4Pm7Q1FbFLPe+mcR6RZhuW7vsONJxjWG899iRJ9XBxEkhC+g9
dA5H8Ca/68cFUSbnK/ttU0armRhJV03hbcX1sNlQvq/broco11CRKPPwAsAqivD7NWYUnF3y0NhG
hzRbOCgdvbIuvy8uqsUIAB3c8zga38K8GAl+B96/qMVWIpswlgX6pzgJSxFzjexVRNkEdIdKb1vW
BDBQO4r1NgJPoGK/dSEk1sP5d7Xp6GUi4yAirDv3XV5KiFrGAOm4kFM0yHmWdVKhro81hr2J9Phe
30oAKKo1QCHSQu6FWAxCBvF9Ho0x9tOowMeslfuKZNcSBJ3hzXe2Cqu3XQlsxhctFYrI6LvTcT4k
Xwd0fMwL9rfDzAZdMFtS8QLAg2HW2G4KqbvbM2hNYfvuRD/Ah6/+rIAVbKCpkuF4vqYYQ196zxmZ
ukUAdV7NX5nJWUJbtIkfCp1IJsau1zqnNXLIiZziShLRh72Yqwo7iK8Op7mKeBQ6G2xeSTmi72Ze
SLJgBOLVbB/qYIpOYybEBqO0o6nVwqN3yMavNNx62s9oiiwO3F1hHIlmI00r8gLczx/u6V2+v2FH
DC0SwgN1EJzOWh7Hpbt4OSssHkWpkFxQecqwaJQWIv+Ri+yplch9JeYD1XZ5SuI0k5Kc1l9A6gmj
QiaFqKWRSt1sFAABH4kmSjUv4gMjJi931HDuokesZA4JNQioZD8bMRrrQ3DXCRf8Yi7GN034eEdL
mFXZ8D3zve2ULRPj14gGAEfKWLPJpHBdPxOv0Vs3fFvwg9heYM0UnXodvtOxAnL8ol2/cCYP6VEj
IW/z2bJVun87uO6BsfEKq5brMDnhB4DYx2m0iJUlPky5DsMCu36YxGngEJ20F34IhaGotvpH+/w2
zIu6EW10BcSkMWMeHSAiyjZkfhIersB3E6jl4UyUMWo/hndGN2Mkz6Pyg3jdxlaDvTnUxeR9F50I
jZHY0twGh+owN48DLNfhlj4S/z3LPfidsG39FsUBwmHyp2FstON25nCL+QihMzRy7D+j8aUazL0n
GERnzUvOiuHgTaHm8TYOij9cML8v3w5Fc3qdBz2Q6XKrOIjv9iEuUllUI4VWgkFsuYvdH+MVIMV6
NNaNU/PrY1jzYFTbOKn4GR+lZqNkq3fhyf6VsyoyKd4YTABKw+BBdPiWWRmuqcNoYyOs5/tboQzw
FMsVhljJc81Yyq6wIBbvTaII4hoyjOcVe59Y36zy9XwxlsSiuLXwbe6/Re7xqq6Dr40QRTMM+L2X
Q8QQVVX9vEE3Y3IcByOOylFVPVsEPtY220P8VTTe+Thh7+rPA2oHZVphGKzI4hf1kP9LrQhzxUJP
4DnS5mL2z3JKJudSSEG07QYpgsODaDVKjyjGihSzaFfQoCUYYT6yxHP+03goWu6kyZJazMKELAR/
uFw+KVXwd0UM6kJRAGuPRisO0N97mM+Lpm0LL6AsBfcsVYlDzORECl+u6zT6vFyzm4omZyqG9dJb
VzwsSb4gXGfxFJJ8fhBcrkzXJxWLjaNKEIQFuBYPy+P19fzTOAROFSvn2gXiIk2PxkTDZ9eITVq3
I/EiKLIrKWgAfIBYM65P5QfK5BMb3hntTWyYXMNRuZ6YMdtGkZc+qU7cy38aCcszKdtYVdL9MP8V
Vv4hTCx1N5omnFGt3VmyHxQ5ZoLCHHVNUykzy6W9eoMKbogLWVDcgNDB6xHx08rM8vCiKnak2qit
93GVqJpjfDHpsXoxA7mOZV1lPfXUlVkoB9VmlNUUuY1HuJmnVHK9FPOHfsCUIJR5UhAUjavdxbJK
jozwfpCzRKkA3iAmsR6lopjiylCNJBbOFnvHGjs9v57XzJ5rMAcTteG1m1NXodMkLGqPkq7a5Far
kDAcY2PLCXYhXWTQWClbbJNJroINpiSK8nXPNrdFgJJl5ft+hucQNMnhdQC+NOqlqgxVSintiM5M
q4A2eVrcb94rjmWb9MacITCj4htP+55uZuszqhN7Ci4loGyenxfWTFZ9HowwA0viqME2HBk0DgHZ
3KpvI3tm3tAB2oQn32Xm9VZriknYrJuZ3l6rqX1SLUh3geX002M+Eh6L/Ts8G8t9fhyjTxn69axj
o3+x+TA+wn7B4qSom43DdeFwja28wioRCM/jV/5fd2W7UOBs+iCcJxvI8R3ER6jXEVgwm0/l8RKn
HMERej+HUppDDNqMH5f+533siX1MadFYlA2HaFK/7xAdO8Yqwv1somOpi8r9KLU0CpUFvJ/f3i/R
nAgOVK0DsaKOuJy4aDdy+iSoHHH81k/UJ+LY+PrJu5wR23nqjbh8M5uMX9gQKaGBbwO0hpgjbdUw
qWerNYsws71+/DKcNGoA1hMBhmAS5eYBc1N+vlq/BdvAmgb824O9/lEy0oIhVnAZXgD8MnSgcMHS
mzAEXNGuDabChnof1JkU6zAQVq2qzUyoBud2/mnkUaXdob3t/boqNA+2KwPCNUeOBl6EctaOGgMH
wz+s/BjlP54s0ZWF0/q/EMfrPUVK04a9bMlOoEyWtRlgXg/Evq6sgRGGmgIZaktJoOb7Zf24iC+y
ykNJaDk349pO3hY3DPHbijOpuFihesr5cPSUYuNfW2N/nbQ0esEQ2DQmI7n5wD23IxMvn904ZbUl
G8x7WuG2L7cLsqlH67YKxkK4uUHhSGpHSxyE7RdmlKvieb+WC5imk9a1pWCNsnAwb+sFQwXTU7ac
yYR/tNEwPzgr0Q71tetpQ3movmrM7RbCthkXHKKOkaxuwXLCOEPGqh9sG0YF4kMUnXRrgiG0GeSZ
stt2IVr6jc6/js/hLzjGX86nt1GZR5N14VlJchgoEmVNTKUz38peVXxcAIQEEM1404OCMRjiurzT
SALkaF+NRr6BaqGsr4WsxWoaCtYvCUbFSr3GPhbhYiGkfBl/UhMtRYIqSYKy2087QeV6ZEyJoGnR
VE/n9vvpfh9Pmtbu83CP2tTBFcrB5eHB1eJYYJ74yhtVEOpQuKW5Hc/z8aIoyLpU5sQ0m7LRZSXe
MWTgfxZHCJNFmTYyxmRSBE4rfycr5Z3cPLKltCXv54uicWovN8xYVk9JOaIm3N7m+YqtrzcpVEUt
++taw2NWB1rECTRYAKpAt4rQsKffvPk78hikZLkA4CsrmyczaMm0deKNwxJkocx6cTQyEZOjsTuC
xGm2vOfZLtHsEXZxGWU53/dheTeKRLmsXSG91nYCg1nScDkP+jvEHhGGGuDT+CMFnH4XhXvTY8SE
spDvPIU/fUGW8kAnH0crk50yoTxu7wX7Wyr7W4VjBC89JrvoCcNc1YvR+9OH8cJfMYB1VwDypOJa
6fC4TioVnSRas4SsTr1iTdWEolcwBWLNfTsFq5O4mrINzG/zdHpA9HCCYKRqMDfsOLErZ2ULsC1D
ghny9j5QexXlvvjtKiHJUVolzt5th27U4Jwk9NzKxXhKGzO+PyzqctZH5N4FmLcOaxKMSK/UTi+D
aWZm3cVdH2Xn2PuVR94va+lF66ELxq4rm96S3VIrj1glqq7z6QxV7oNydqL1trl16TuQVzvciHn4
eNE9iV5xoYNDB7qG92m+A5xdefU6aVZ0M23i5304z3hWm7dLuX7+5mD3mKq2lDTjy7fzfadn2FRM
XXmUfWB12L6El2ma9QlVbEIQxBetaFTwiuXb13E3nMb4K+gmTYvm4hvMVbDiflWZElBg4RPwBtIm
BdcfFO8QhyN1mxqtZlYdhIjMbYu9fo3y+rXBBodXZJ1RyvSumIFRkPIWTIM4dpPumRjnct01A/lT
9GAtBXCFPVHUVtcounTdk+M0Q0n8FbhKSACU/WFiRL0+ZEPXhkaSglTJMTNFSysGUFskA0v3+fFx
Sz5CddmIPmHEoVPUfxt6co1gSSSe1qZk0YRs7et1wsP/bdGtnHm8UFRuTlLWBvQbyUPkkdk+Eky1
MFOg7oo1DCsYsRm9KTVmViKaUvFWeMxr28cnCHto3kqXUth2DEUg+ywe83LuilFHatisDj0VKZL0
/sAGR1GCjoL1SVJDLy6gqbxjdSc5z7I7j96u8rB6uUE7qc4CK5SMR7wjykVll6OF4qlnybtM17eE
HbNRtfnTMf3rhXo0wz/8DpFqivLo/E6DGVL1MclRNHdfxH05GuN/4Flpt4DbnrETTyqLmmUBGde9
YPz0ykxExRwIDQ8rrarMVgYDrwVlnKPtCwrW14YstRqRM7vcGs+ecNHyO71k7UaDzu6H1rHnizLz
Tnon+Cb/B46maopWiWm44ybKaeW0GyVKbwOyPiepPaFtq8QhHUDzBA+D8cx1EWRR+oCGhdpw/Rvb
JeVJYGLsy7IDVyC5OW0vxUUlMTZnPzq37vA2gdsLDHrAbaUIAbslWUWPYczoU8KbXZ1OHXoHlJae
qTmsJh4vDTRAqwin6H44Q2h6fUVKMHPXE89YU/bx9zCYjLKgXguUyWYx7roioT0T9tqXPz9bLdoF
7pOJiJT7wp5UxhAj7I5mtPjjZgwowtOjLaVUks728iP8Q9nSWtJEKXWr3C55dymEoxg8fCkZFqcL
wZcJitRtdBUCccorIiaEbRwzX6ODyXuQc0XdeEIxMUeg2O7MQ0RG5ixj+5Jr+7JDzRBCEKaiPBR1
nUwtkLmkOP/9JmhYSA4Igl0/13BkOr7FIj9PLvg2pJD2kvh7iFZmHovirtumqhwR+4Bo8ukahsRT
kYYmjJUVYsTV4vtVaWoKWbgxqPTbXFUmHB2ytORPUa9aiXpVScOTNn4t1GDT06wJr0xQUdXWnhAC
3sq+M4xcB0qT4pzztNJ32fAwNtVwB7Eg6ZxmpzRVt00YRO0I5YJ3ZXCY4QWniVnaOkVJ9MmIjEu1
JuFVZRhlKMK0tM0uoFmvWHCdhPewdTl8Wsrm1mkDBNWVtrV9Ki5gn2lN5fUpD/Ff5+OiRjg2iDoJ
GUTo/Q0URlEAvfIo0Hmbp3vBCmbYdOW42cNUix6R3SLNidaQU2GQWnmechYRziMRYarH2JMrbtJJ
KUlDYp+NeMUJbb7XJ5graISnlIxQBT7CUYyRzLi9Lk5lKotlT56vy5JDTopBWjPj2tYNWmqgA24S
frQCgcN/A1rrBd5mV4NtHHHyNuI9AldfMWTw8WOCW4ApMjcDpa8iDch6/LEVeO6+5fA+wJ2gv4m/
1w1rt50HdwypROBpOJ6j6Ev4uvRA+BxCgnljOdWnj5txWk+oRynuEh/Do9V5Gxfbk42aO+MebQI5
0QGLKoS/V2xJaMGQaW3DQdDkJz43X8MQtOekJCQG8InbXZ9RxQD59IdliofKr+n1sBLZq5OpWFEJ
oI4K217anPj5tpinPC43uBZW/UAEd/X/N5QbDTuAssIqOig0X0T2Q2tr1rD+J3nYnRfg6njU2KLX
2K1YwnPXG/ThkTMpJgB8HbzFvsI1/h7jvNgKOyrkcTODeUDrCBtd0G9VUUu1L7TT8/QD0RqgS6ID
NExiOKGqVxLD8fj4eFywScF9AhR+LIyMR5dL9Tzs6BOl+g1jSMw3TRDZsrjeSQkTK09Cs8XaLas0
6xeTFQQ1CASkr6ll12H80CzAhrUYzjcer9/gs1HySM13+8RHFJkE48vxBVMYEbSjEW5BNXVQ7lpW
7QUGiqNHRKVl+YiQiHe3zilL6Yr55ZmX8k5SE19TtVVbzVaVWiVqy77ByYwPV3r5wZoXS0TpItrE
/fRxPp1sC6UoIAfPjwkjK/Hkmsj45A+kfbvHGwY1rNVTviG4cdp5uQ1Egs0Cnc6Sit+4yo/KCcNp
64CNUZfvTn5YLXn9MI+Bc0lMovG5FOwZQ/vJcuw6e9Ci0eEEbNYkfZxVtX1PSqYOwtQLqpgo6BXP
s5AVHlUXwYMwLnveSFa3WOGLbdu9jthH47S2xgL6x2imHEcSCzDtQ4CP1PuwMNM6aSsVXOPUHnjH
mth+Uec0rAzRx1atCrQIhSg/NQ7Qbh/0fKMlwJADIaE6L/WF8QeIdbWlja0gI9uKVjEXM949CIfh
phJcbJuEZRcnFK37pNzsdnOz7frcqkCj0rL2B5LwKPnbBaFL82fH38L7JWkCNcwEqpBm1HK3nsFi
IdYpvcEPjlJK5jux+KWfnYKXKVfebOKuBLfnDqcprU7rTpoSqeQbVrjPjoTDZ2ituCkUhjhf8U0D
NmTLXG61hdX8w/fpfCK2K5ixvhVFqK4bXrFOJbMTtCzHdWDf6vOHkZsIBVvuTRQoUoEUUW9LMh8L
IKWJ3/dh3vQzItV/jRFJ5L5BPIzE4Ic0hKtyhyIiOiFq+bdEh3OoqzasLl778bj+pdH+uBgNsKqj
DQ3Kj+mxjGaXkM2ECFPjO+TiqW0exASnK7YvoNIo38HwMi1YOGmExYwTT/fgyDYy1+YBfTpSnUMr
c2T0o/2zgW1sNGxewbdxpoZwuBKN0zr3zdvb0HW1TTOukN3GjRjMnXmHhg+g3OOT7tl2gA+b2zCV
EZgbUlZTmwj8p7VNGQK07Y8tMV1IWM8+2G17eeynJOfmyF5eYpUbMIhjOWpDYgPb7dl1ndx0egLe
28sInoHCn577+qs2D1LDltLJnLu+f84Eb0NnnV1baB4B5/G43ucH9tqg6nwrCVfgUnqf4kLvnvA2
NDpJVGzSzQjRzfdD8xaorfq/gjK6QkMDoPTifADxZk65xzHjL3tQEew0si0bBUgSoTU0yn3f24Qq
GcANf4f+FIkTK/tQlfR2y7FPqhMqRUfm/sSRddjSdFNrA7MoOhBsF2YdggM1k4kP2TTSlE7TB+w6
JJ6Akhq4blfV4nZxPFG7N52OAted+XnXmLWxmotup3LFS+kYrcazTPDG/43akTiIjbRv9Deyz6D3
Y/74dhhm45CbIb+f35R2jTBcnUlamKTSuPIzORp608bc95NpQ44O4fq9Dt9G4sxXblom3bSbMWnN
nfpxgH94B7wPtL8YzE07UgdiNCdQTShjZ15owQ63Zjh/mJWnmN1DhgW9PGZa0aqK6eaz/8FqR+Ux
8ceK7LMF2z9scOn2z/ZhOpDtAGpMn3Sbs0lDHi7van7P6PafAFcEmoreAOWCsXPGTE/erofjovns
9bQ+jXIc/qhZ4tL1VEXGXKSUM4rzZFY+T5+KreRqWzZPsrEOqfEcnQUeiybMjm8LhkEm1c6qJuug
TVdcYbwZXe65Eto8SDoZNY+9rnGbNSXT8OeQXUxMDkEk0h4fSZzyLIrvPhjNdgDz8tA/oQltV3h2
3if+5en8PS64FROIAkm9s9jVT++aC522eVBWhML13SjGF6Pj7p9ulidzq6CsMtp3DQXMzw88Zhv2
dm0n7dtn/VJCSwyq/dxnoRIPDCl3vMRaDSOese143KpwPHzrm1xwbrZphoADazOuvO2FZD6F8+ri
0+BvuWfsB3ZCABBR81k8xNBaUBRaHQ5YSVfROB3nq3IP/Zro/z89TtBByxiY8eNvmZHu69+xGQPc
otNsrOvXs9Gn+FfwB9gaytvfS9fSajzq9bPS4SkGXRkKJSkH44eYpZE+dp0lLZW1u0IkF8qONZKF
br1DamFFb5Nds1k9bcOATZTIZlN8Nrabnj55cyC27yrpf3Lx38+vyhXtRJeU9nRlKVfDMjg55nIz
TljsvOLcW0VdZ5Lh+GK8xXl0bpe5y77TrHVI4ptV1f4VAafbsleHoofWGvVvgAsxnhyBqusWFZ9x
nkleruTRKQ4dk2afLIUY4uH0ctH9X0d6vbnhm0CJY0BLGgKlXw64KbkFD9J18MTHNjKwKljFO8kl
I3I5U9rshK20lV6bue+SidcU7InGxvFpUaTCEl5j1TKTxLdXNz9OK7NPGZGOn1IeF/PicdyVem7D
emj25w4ghdXohh+5UFHe0RlU8TmXneSoOKMMrtJ1vBzejoohxsw6wLS1W7ODO8cQ4TCazuzJLcqK
SLYGi5FkSAmfOU54a5m9/J2Y91RHrGbhKzA6a8lxVQzqRtodpryxI56ioyvppX6Z3gBMb5TCv2Or
Xtux91/J9lfeWS+jrMHwV4JdRs8o4ptJSnUNF5pXTukTmXvKPLSlPWWe/ZxOTfcGK3ZazDVy7jZ1
qjWO4HT6VFzvjXuVr13RKSQDzgW+YspO9KExUgieykUN4+TiA4UPgnkArLeuaPyiUGJ41sTLM8XU
zEP3NYxbkCttJoLWNrrUShTCbwa2YmQBYAjBn0YzXjJm11S59OiStIL+UvaiqqV4A7uEqwuDcXHF
g+lYtKHIEfVtMUMonMjVOnx8GCvkmJDUmt1F5n5y41AxCb1WQZa4wh6u0ZWzWdFwwb5KIOn6Yipp
S+GtsyaBa+F+UJ+Amh+wVyu4frOh/4USM57+oJ6vq/bZxGRtg407lH7hOdm8geLEZpJzst2bNfyS
apOQe+7pjc0ZcTRpvrqbyWJ7AL7IS8HTUIw5ZiVU2BsicwdnVnR1TUn0+1Sz+C4rXfgwtuSwxufp
RdB0viv2pL1Bfv4+YgAcSmWULjR8niOLpwfEWQ/eKlBcBK66sBlbJlx4fXs6HgmrkR08YxfdGiYY
n6Qrmwjw+F2qQJ1XVrzdkQFLEiErzN9oAQV/SZB0ILgkyK52cCGa+P5U4rVfYab2ucWMwxo4VJzm
WnJPwU77TyPFA8WUbYPn+HZneRjLaWLGKj6bkqX6Lz/jJqoYXnjKHaz4onQbYFx4JkuIzUKlLEPm
EdnOpa4VwgwWwg3djUS8tmY+tiWmayXHijLQleJQVeyJBmfdXplUGF0xfDNJnfMbfZvpLu5JGIjJ
EDKGMGePOKTLOCjBmCKXgzHLY6R2m1cHpQjcDZipTvZML3IuJrnH6+Pg7jgB6U/Gok4F+B1NHIkW
oyfBZhJk8Rgb8KFuWSs+g14FotrCfz+gKzPoK+xYGIp5Isa+SBk626vdxt6HStkQ0cJ4kk5FHIvQ
YrIhy3mES+ahA+BRY3oXCdSTKZ56z8q86jrPx8dlmA9GGsx1fD/fFPM/l8z30DRbm4RDK8qX6adi
oLVhfqHfetjPadM4MTOpVB4MQvmqLNkQZst5ZEnJJ24CkG2Qqv737+uRKJFsMSglmbCEMVH2iANB
QB8Xgfe5bs/EtioRKKxYXoe9as+2KPij+yzR+p99JncEdELzwBVTjq+D+c+s0taCDH0mvbYfD5ua
sIachVkqlLAkIiLwx6lUFwVyb8nvaZKK/VRHsUgUp7OOBhjhLoisZt5KphVRLTpriprGsLSpEjkU
Yzw0n+P00DRQy34eHo3c1v+DA/ErgGqyrFSeRC+eyCtR+VJe210Nws60JcgkMWKHufNl1D2UhsHQ
mG8RN7gu806bi4V3bMfterveQllvKwXZHXLEsRmaOZqb8/MQjxBVLBQedJRDM9yylbwDQETXXq6I
pA2LP1w0/TCcTqgE/5RMoHWbzO2Kr94XeO4YSoVNxNzQO6ZEfkuopM05yAr/cMBoY6dRCk0PqVet
aFQtx+k2UpdxeAGJMuPjw1xZrX9Pu/bvsUQZFrb59+Xg8rvWtEKjQM0WdKIWWbOU8FwkYvNMrbFu
VixSikAvtOIVYKWIKRRN/0Yx/TlkFPVPZjXQb3lWFAhXxXQlIxvCDlSEbAfgI6DQWWsmY9Rd7+e7
che7jRKrvUrHN8I21AF5s9a8N++PA0bb1LNqykrKCm/d5VTKiqV2qnzFr6GzF4BrUr5BHcS3EPvZ
CtENc9vPv0JhxsUO/zIgOG6+a1AWHhLC/o/ZM/rn9j4smoYWH2xy/y0XhrURU/nGrJAAVMZPeJ3H
8VdbN7K7iVfuSaboocVYFesiB1DG60SIvtT15TePtdxCIB0EcJI5hqrMJENuNSxTufW+lSawya37
+ShiKeZLUOnbeKa1iGx2G4P/KeXWS27RelNQTeAvIJOWkg1i6h+iXUXrimrPzg220G/rMSh4YTG/
G+RjCCB0Wp1BxTerpej7E9rK7p8qB66oetXhEhKnUZA4rQQIWnuK7XqM2raUNgfBFGY/6PwVG6aQ
PLCoKK5hn1PCVm/bRkHAiph/VyKyA/UfYlOsQxxue68kxzIJG22nZiEtCLAFw0SVJR7Z8nqAeH2e
Xt8NcCxxrJ1o05HdRaejlDiTvZyFibuSLROzOb/TX86uTtcRHIcbQFQVERc1JeIyrcF9G+YdkYJG
TIiCiezUv/IUdVIwcwM3UdAlLK1dQs9ml1B2bSxt2ZDt9Ojs0FSbS7B2XGi7DgJjW4t2z0jOp6mD
luiU3PjKhPJ1GPz/HdsqvmJlIs06AiuHfZy/NAu/GJZPgoAXdT+CyDqBL7+wQdk6JgdNji9vl9X6
/cJwlR+OPeEUkP3KMOU6DPThsCwEkBD/9qUNa70ceSv6RtTVxjan4t+vDOjnxezA3zhW57eq84AM
1PlfOcDCD+P9paDMbt84lR/HO2+2T8BvW2FVBPJqsZJ2yOF6/hi+PKK/h8yw41bcV1bsB0P91zKH
9yvDtOEBhJnirwiEvzt17otqAut550h+45FluAmrfr+250UZ7nnuUqHzV9fnVSAr16YyKzLpvjKr
ze1ZIfcHlmLcOa9K0llf16TPj5Z/JMAldvYdPvDDRXlZq52VRL6Qb0+5ZssihQUS6PR9In8JorLS
IyRG76owHRPNiCkVsZmfIaDnbd8vAlV9xyJfglcpgKoyhF06olMK/caYeSkAJhaCAZkemGVmG/Dh
wEpOJbTfScURUFJxGi5YEEqd4S3kLQlybhk4gkVlNxWLZnKAo1ZS6rmUvvDbosTTu0KK6pHOJVC4
JW3QLVXmP2NLdBG6p1TeVqXknYTf14rB3cQdumR4qm2ZmQ0IibwN672ByhPjcUk3u2ok1JVPWNoC
MhQ19Pz2F37WouTRyDY/hbj2RH6vbcT6ys1JlcpJeUWAAOWg7Mtcp6Q2RV+2lRykLdZ00bCmPInF
CJasVYsohjUx4vdbj3hWDIbFag4et5N5dP6E7At/mOb/eb7/TcPKdTyL4CHxBFMjAwREwSsN+l/S
0sUyHgWY80XebXImttzCokIU51CMxYVC0CrXrZOAGhutBV8TFSP8gzmX18eiFzRs4B/1eqDn62MC
Rv5/JrdTcU1Hu9euP2AGoPSVEeDpmuBF4PEPr23ddJDBiGpc/j1Z41KKoNgVsWwPxDjZt3G+a/Dv
IpTbWrrUSkyuaoVLvdbfW9T/SFvsysmVbHopFjlKSZ5cSfLkEsPIU8gyEasUEbouF399fNyGUwq/
yKwWaJsixd0q5a7U0suGQSAHWSXiafSiYWH36bFuejpD0FTiXY7Abl4v408ddtOIEG+umc9XwF19
3/MeMkQqa+8C5tEbJc4dDFXZfwbi4hnVFVYGFai7KEhatjbmOIWQIng8hnkclCId0ZCMIKtvDE+a
AFhX0uSsJrGv+sm99CqUoWL8MCzAxtb5uP0Y5tPCZ6eslyNRMWCfB66rm5pNWnrXAsgehls6Wcnw
UFBg4Ik7gcAb3zUUXYXln960XoodGzn5vRG3P6JdDnQtLvzuLl8qIt1J3hpMDo4TM7J46pdxR0w2
F2urpyuZ21bpu0LJRHa2kQujsNjs/IEmxX3cdcIt03BmtS77udygYpbUtLLrfhYVWL+Va7g6HL8R
oMjV/SwIwlXkjBWtQWfDaO0fZr12VIyzxxUMlirzRv14vTt/03L3JEL6Dfcwukj9rPnnFwIi7mAm
qVhSnMU4bELGdfCk8c2/HSdtdl2Vru51maZkWa+GOBo/bka5JQraZBolFmZI8aPUteSUcj6g18eV
lAyuaic7UCtNK9ykvw/Gbj7O59t93xmWUip0nah7Npc7ae3hrrwrPU/RQo1MndWZyjKD5Q6WL0WJ
CzGHL8O+FeX6YiE8/uf7fABWL+VtYrkksMWK1RjD54QCX3Sy8M6B5gYSBMUJZVk635v8RO4rFvbO
uFsArTu/nsfT+i6nEvlZKXlwK+iSA54URysLoxm5ICk2kQcG23DaUQxYMfwU+NBVLQ5qzvL6v9WK
04rZtCxM7vUaaTQqYEm8IaWYJCQS6P+2ZND/j/IEFVKVJEa/EHGZOCteaFxrkVBnbKtCyrUOI4tE
qdzF+ldts/fS7YP6UUBJvlyGqxaMFYkkQm6EwPC8Js3XmjntiGWvKtcz5gMNcnjvgazfCJNZ5uXT
0xPYrO9iFaVSOc6sUKJCamoVKZKk5+kkIJpHeeD04J8VIavlQprJcqWipBl9+675ELUU9NoELOAf
Dg7zrfjsKnkAekjIoqF4Rd1XykYPROumGk9t1UkuN9Xcb5Zpw8KJl41j4vzdZJhlJdRecKcbob0Z
Q9GCL7oPSiuiH77I9aLlI9imYfC9Ct8Kx1lx1eDdTSYSw1lAtYUfGuHUeAI5EpqztVujlN5UFdFU
NY00i4C25zrtIKhqgpsCblRbi6REz3yQGmJPLJXdC11mvDeM0c5nN2olmiEiOy3dExKkjJdXIl57
aNwInBqTR5s9TtVuSCKLxjF9Gd6rLP7qnde6XWOOKk+NGB9xEfnzx5u1zzQ6E/bygflfB6xP/glR
olCMu4HRwTmMiWWUw6BbqkDN216Ad13Dbdv6o73xsU6mNSU6LM7lmkQx57XMPYX8qGjzrBBzZZ96
ybRci/jw+Rn3hXl4Starr2dIv1JdwvyXMPufoORdoyhQAqOlNzvJkdvGyqAq1Pz7qNgRmVi+sNzG
49lIxJfpH1rmbDG0wpPWVgbIJAj/Bgy9r0Ko4Ulgv7jtLjGUTiKSuMkpd7zKkdZmbQ2k6k1E55gv
zpmO9hKwVqVYJS+lcqgJxXgxbt+v4zylInN5xEIZ3laqBMUi5JHpZo1MxzxtKsRMafdc5KLcpFGA
iycVN68Csmzf5zPwFY2o3mjTztc9cR1Wd4/VHGXq3ZmPyqNTyUBnMr7uGrc6qyph3aVDtlZSf+bW
mMt9Mjd8UhgQGw4dwKazucbYqtybPBSJjrF/f6HSrmbJbfR52icHQXkeuFrBP8pt/UBaW9ataJPi
1bDAY9WmrROCvHxe7+8j8AVR0CERdhO9fDGYcr6DPaZEPmrphCDeRA8oahDXOlHDRldSrae3KCvF
oizT9KgKeqIULzbqYeukU5wV7qPiEufSs7pJ9ypwGQZT8eneOqvNwL1iBNeSL39GWu8N9nDRHURG
Q8JUwLbcerhhBiJVbS2WyTiYG1ZG+TSjEvngCCRv3VFHnP/+fw62lx4LgSiOaxst72NookRxf1PV
EaYrtKLXAHgieV1KnpeFONiIxzB/U/V1GR5Ww0nMqM5a2dVKSk7bJAf47cvh/kNjfG26TCSs8Eca
cEclCyNzeT+sFjpAN0YFZ9FtCodaHrnZyRzcViIigCERKTuVko9a7FGCsRDvbP14x+gYxDN8wj1F
K8HiIqyGhhhnrPAm4n51LoZWtjecIls2y6WstJCuuNkwq/H0rgSc+dZjA1nwdcsicpmub+/x0my0
pcptTrzgKpgqDpNVQrlULDpdbeFpmkKd56b9Mx0Q+hFPJsDyGAZbwdz0cWjTqnHu01/vegMJhnlh
ALhdZP/oFCSYt9qcc4pTXiuMK9+GZfkxzadEtWbTRKAzIVPHrqRR3VfSfYSVhWTsqTYxlQRjCBFv
KwnF/jppHp+hJnlbkLASJuhEHktW+j/Mx/fUXm+USuX1OCXSqDoSlQyAwdelKcq8l0hIpisrtFPm
U8lBeF5BarEY+p2pRMYHhqAm4IqeR+7iFwYJbS2UOQXuZRBKlpALDUMFhV2KyEZ6NCxwNYVxaVjh
ILMSobWV1bY8QLOHpqx+om0qfQbIhaW2dMs7yGYrya7Y2NAKro+94t6GjuZwdCOnrfodVOMExamV
0+eGBQbvs7aKBykhl7mrdVfRSeB+zzROxqRxDwGnpfDr9WJCZ0u7iE+WhlHsWHqePZxx3j/zcKWY
/3LRIeHpE8zp4UaZv1D2SjR4hSjL+xmKrD4PpCSUSEsh6anfSImuUp20EtWJyoGlJddqsUKfmV3o
rF+noBMLRScUu4vFEsCuzNdXzGiUvyHV9fgdKVmgIIu8I3zLj8avHpWiLFZcz5wcUlSk+SBu97gZ
SV/rzxS3pxVzDquhCdEbTBQTdYfDtGmdf1gkHZRFzVuboc0fbwhNJpl4HI4u4yXJ/Myb17Ee75vy
fogMDT9tnXK6NUwvOUKvl+ENMAwLNQH2kS8ljVFIujxUxrZRBwb4bds+BbYguok2/4RFFvgqW6im
Mo5ozK09P2y3dejCHCpT5aUQsfV+kzShZN0eMlBVAqe5nutm0GcWd9o+BMfJyKKSDe55kQ1aTEUc
makYGq10RkaPQKdVVZqbTIz1TNTRSKWO5nkjBrrdRcu7dp1WBKbhLQeRX/KJ+H1PgVWX11KcMch3
Tlfn2CQQddkOVv5cueVF7LXGRxqsGq3ms814NI34I55qFMmgPKfrFHkwgLd3C5FZLpuCGMS/WZ4v
JdghBtlW99FGOXRK8lwysaLm5GkcFTr5SuTRfa5z0D22KqgqZcD/eTzCY3NaH9eUg5RJ0IDNjo8W
E4SoT7PeVJvfvJCyCjYGuANjXPMYeoxOR5HqUqQQWgNvv5yvv+zxYEVIgTEGhk+zv8v909hEqwU2
7iKXzcM3tXxq6GPr3ZTwdS0ZgvTrYLnsCABVYs5nD0WXBlboJEf753Jx/XB+xls5iaE20b8qFf+K
Y4shqllIwZm7a4KrBGNy6YK666QkToI6P0g/ccht0HRLuTmiqjGPCkZxDonsbSeTr9l+hXdqVOo0
FSxHuYFFCIiWWpwAOMwOmmp+wF5OxHrZh+qJrlARMH4sOEQfzbuvTwQ40RQUVzRpF1Y4MafFG99f
9DC6SHaIRRp9GiDVdisPlVkTlqEibhMIAnmdkmIjiRmbUET5w3q4f96wO2vKEOnEhmdftL00ICbn
vu6on+wW9qqkhoteSpvYljKaiVPXYv9rkgqX3TL/Mi4pNGpd19JJehlL0Ax0mdhfGgocPEYHnYUk
hIU3oPGuj7nNUELk4pmDiwP8mCc6Kaj2UCD6pYhsCHgaUwyNmyCUhZNP2CYV2Jkuw5J0OOVtemYy
0cDHRUiwZkN+jmlwb9OslsPR/dMm0kQmwny5WIyO1UE2X6xf0K7OklOBpN0MiX3liQk0OeuFs8Gx
G18+YYQUUsHNtgD0D/P08Z/QGU857UKqKXrqnbmjBKiQiquxgIEeA5uBhNYGV72hklD1jYbeQrx8
1CX9Yp7yK5aFgCW5mJf1fojEj40Udda66EKysdNohPJIybnL+PPwMv0kfN6P8wngNlewBRcAAw0/
6e+iv+C6scMvMLtwbSgL8b+FEsOYlYpP1VpQXR3WBpyvdlYU7bkBK5F5v0boe3T+OcYH7K0ljgN6
e/4V1MIrxDvhGSUKMnAMouO4RkVdyGFGK7TdG99RRZyv7+McS3J2vpsT7RX+YfPe0DcGo68If309
HwEdWsaXZmObtDT8o/Us1j6QTN6GvVXKeI6ECceDEF7uerlRzerHsFhNcTh/gDmjLDIvOza5VuDc
+2Uxb/od0jy/WOFQBis2h0g3Hu+Cy04oIUm8Av74WN3WC7WWnIfT+UH+/B2vgQ0nunDuZby+KdLv
Xg0cvEchc7BjolVA+lU8hvgaiyKT1gh5jrd5erAeEEkJq9h9Z/qaAPsuVM1D4EonTNx+a6CRxBas
BRBKliu4v80Tll8ojwkutGTy7596S32IF/Pn+wg1xXFJLf2EGGkZfus4Vcw/nKc5ytbeea7hjWog
kTB25tEGPxO7k2VsmIZ15CONZxT3Co2w5cJrKeyijFqw++NdSa9Rzf+/a5fG9Ujq6sCrdvlvY4bg
oX3EuarxsNouubhV0RyHZcRLhFfc2La4czG7HFdZcnUPwtDRzXlczffzYox9Uqr/eJznb4qEMpli
2bmnHtzA9A5RAQsopYtpkbOnz+vwYV47Wx0W/7G8Y7rEZ8KJh2V+hD0DPDlVruxy00p3P7yw5q07
35bzglJ01FRvlofzs8j8ZXycpkMCFYILrDJJd0uqaDGKyAz466goo1KaDe48XfN1iXFZ7opQZdgO
6fDyP1kr9O/jz+PlcTJHsQbr4pfNVRhv7hr2nple0Ys92N07GidCu7XZxg6yCas346YZI0M5tCIr
JBEgBrF/PMYZCmHMdRruOtk2mjxsEj0rzvF3dnkYY+cNeUSGs6qGms3FKvi7SdroFUq49CnVXEcy
SNx8MwbAePrFXPf78kvi4ciyOjymamM2AUjkbGkvP6blrlhOTO3wjmH+3r7CNluOnvVJofeOWOMO
GJSMhCZB7pteNvMAU/2Ad4V2j5m15keO8Hv2WqDOW+IVRp3PR2+UPCDkwEg+hq/NgfimfyolVKg/
+poNyrpBMgWwGm/Ooj885ouiAypJiq5Q1wJUMuTa+H89jMtxuI3Lv/wUxqtZZ+0+uCxsAMt1r4xQ
+xG8RgFGzegXmf/Cl5yCIo194QBOfRCzybIm/htlOCv3RR7/jc5/4VUX1M5Gf6PwX/hm2nzzgQom
/nkTfl7YH2zjX1T+C/+asB90ImT0Y3SMThoDonbRL/InEUn6RrXiGzHdw8un4UoZ+2HVFbqV70Cg
G8OVq2Y0yMymdIoirPytrzoscrOm6+OO76qFHyT9qiyvJesOqwfsWIpH1UmeOn/XUVWoNmpXSo9e
tPK78/1zN6bAEdG81zu69GCDJR6kJhf9QX4Q8JqUyt7xkAfSMlus8l79rggJd5DwDwuABY0OLE26
KZFlubSrkpBppjkzAjsA5HaWtMjWm0Imc14sTRNYcPHXlu8U9SV0QH/HljqfVnTgYdGsyb5uJRsA
41fL+wwBgd2eW8vtJD+WUShmcRCreoMWTBgBjPcfpQezla7Cq7Gs7oeL8dMgqDne9WfXYd83s7F2
J9FzcZiHYr7n7Px9Ix4klcLws/654/8nVYevXRZ3cDSnpt+Gk/KtGeGuiJGhF+M8qjYEDyj5t/EC
/izwfb5o7nTHzFhk2Hk2iS+DqilZxAGNx+rZDqa3JBkr8voLLYpsfeLjKi+XJONo3EHKSXv+6ShP
Lvxy3UjKHtZ+/oAol6YOGv5ScB4aHj+D+3wd39DlVjaglbwTsOIxQfOlCGhfy3Z8xHMezAw/IYVD
UQDF7yl6tlmwcbmlznhfLgMQYCqh4i4Xz0uJYSuu3ObMaNuBS8wsBjo7ET2JFjplHoKHGYcHt8JW
v5tJxk8u94qhpIfFBgaeI6aJkQqWkOhz/8Jt399ee3+brUXWaWf/CtXV9xkg48bui5bUUAAlkx9g
+/SRIqQ+75YK9XSgHV2Ul6tiEoUpdDoKrD6dgI/DISLiM6u4aPk7DMGPB1haZBqkQrAdsx8Z2BHS
PNZyA8cunfXpuWz5HiruEAksDKAycxifWozBa/aVptR79WZfZojmjq/nn/GpsJicr9oIxMkNqE0k
FwZ5zn5gIhoe9MsIhFRaEqSVAmn0UEBjuMt3DDWbQzeqe7b0uorRWfAUDTwfuYWcHAlea9yoN6MZ
XszI4N2wjAHa5S/x6nO4lRV/YRufxpihMmJBYmgAsLkAiFYtjXYIj68XQuoNKy+AZgr+TQnPMfsR
wtGdawKOrbP2GPt8YRxGPkApwQVKNYBGFRhvgDLKbCEiS4xFcj4qb0Qe3OgeT8R6AA84DYpq2H8x
83z5pOcaUTeRWw64LWurwP9hLr0b5z4PEBkfrRaKPh8wkg1z4Ug+ZLGOBJOhZrfT/BGfTu8H8TIM
QFWtvhd/vvRfsl7i24XY7Gn8DHGszI/ljxAUcszBxK86tgGoL7tgDtQDNmZ84er9Glja131/vh5n
Sn4Bcw/KijRI7bcQA3bSJJbHy30eRwcq1nfDBmFwXRVeLRKSt/H+Oxo1TjWK+9IEgmEdlpVAcCSd
dDq4KUaxSThYGwiINeiet0jbZgtvgjGYlbI9piK+IZW0oO33Wfz7QhLy4KYsoAVj+UQcgwlb/nRv
1yprSrzGl1IX4fW3pdo2yWq7UFn5+Bk9E7+fjM1Enkt8JmW4Ka4XK3JvoLDO4zS/pW5ur2wtiukf
pvnfaXn/9vnHuF5s/caAdd7TdArrFC/R76pCU0NePtU0FO5HF+qgLjIQy8+Lw7SaVqZyaTIR9I2t
/HQwqB7eGYtiIjyemjPCOWXhHrmH3+ZG7VsD5pP5d2f60iuXGLljIzOWhhOaq6BXlIPz8se4JiTF
otymJrwIlvTc2PHzGQw6O5g1aWjzL9gQKLX77IYBfjwvHcZ/uc/T5zpy4nJUmt7hS4zrrtqPgTmg
UO8Y2/dvsbgTfp1rM6DASkJPNOLbHCpfeycOL4+3Q181laLK+cZCoGfTMSMr4s9I1YZbUWxmIotz
4q3Nw6vhs3gImtNNoMqLX8CeGdxRtzLKX9ojVwzEqpceO0vWTl2V4tx9OMCz1EUAQpqT7I1q0LBV
FY0y11qUuQzi8NaFDOrZHLDz3zUez86zlpM93nl73KVFzPsNx69Hb/KMLQxVBq9K+6tVp/9x/Z1R
XakZVSyKhKiMMqsZjIdeUtwtpa0XRpREFA56UhAuT0fd2k5El+FWGJmZZ9810odn4xOq+VazZnPO
VZ7/8RhHFm5L8VGSsywmg55ARSx55942eC1hG7EhWaE4uFxAMHkUqhaIAT8Q0Ale4Y934xBiijI+
Yp9LwUyKpx4oPY7mPHqp18m+Mwpoq2eBsTUttVY+kH8PoXIU6Hn6AWFE8zp0krFB21oXcjCLpOfT
vIQffzD/+MffJ/OFbVdI4QybophHACwAyu096t6S38yDmpzYcRMDhuppDriAMt6P868KLSmGhDMp
P0i1iE8xyuGnok04qLPw5N0ui2dxRx9vQKipErigVuHpC28HOXVpfeBXDVKbtSKUebkDg79NZAfW
3kGDnJWFFFm2cWGiA9diW67HAwWD16IYylNpzNawtV0t4a2AV4s6v8DGPgexbFb7Tuh5cVJlFe5Q
85yIu4Hv89CFqM3FJLOM8ANdeVuSXSgpJVZKFygOU7QB5zhaUYu+tRLon/aCLph7ZW2NjXH/IR4T
Pzae5vQOLh25nR1P/9tttyACWRBKSX2a9+PtbNTcdCdE8PyxYox1HGifiYJF7aqcsWW00zJqSLxt
Wjg+CFCzQCHGRYN1izh4biZZrJKWfBSBb86suSJn8580sEaesdwNx86RfOHrZAULi0mULIYY0+XL
MQ6Q0Y+nARkNPl7OV4QsUp7q5NJ7SCeirdhrF3i/6ooFzu8bgnctXC4CO7fPKV41K2FKvLfk2ANw
mF19xJfQ0JW2amYMe74Bl5322p0SiAQmX0vqdXhBw1JuzGmI1j1i3rlK4UjBY1ExJMxHQCeh9vU8
p/H7+Qjd/27w8s2gkZU8KJsKXqM18+V7nlDCSctid3WIWXoGNgPi4zYO94SxWnG7z7u8azD9MM1n
UGE7KlsyCUv+Nt7/04JOMUJ2CC3r+MPFVDRrO+6TadPp9CSYCky2kN/p/Rb5T2uS/4zb5PU2LVoG
ZpbvGzYkC1WyrpJcCEttdVpfEVe+pGON8pyDACrGduASWGD4JY3mQGusg6RN+l4x6bmnhHGSfs1o
oesSAzhqoP+63wxaZeuglBsjQx8h8KnoQM5EhzEKGZ1RYib2Pn0z4pM0FFm6mxVoEu6frDEXq4NK
wBtFFWP71hYcV4cGdBONWWhqmrmRmJCvrB75M91O6ice7yTeeQqWDSCaXLIVWo10bwnSWqxjqkKn
MX+2er0tlgDrtVktyjwfbAOjSejKVq6JwGATCb8ri0rUjXW55LHsq/EBlrjlroV98m5TxuUiUTPW
s5/+PhxXfO+eYkp+7QFKmVeFuwLmVG3xvz9rvRV45xmuNyVOwACga7GCX+wKY7SZHPX4gPpt7IRn
nxuzjYOGZu466US2BkKuXaVOguF+OeaTKzGffFu72AYhRg6NSHHTdp51eluK5ENxw/Vflu9v8kXt
tWI6vBFrTFCLA4hWLQwzHgJEorVlsLFEqrimECt0uD+XDDJ27IbyrvcuopyUceOmiOVGWOibgGN0
fblFr3TOlvozNbb/3V//aq2qs9Hw6PToXQE73w9oNYL3RuTy+PPNTR6uGvjF0aE6xlWoJF/chuJW
XjGrvaCNNQysoUzzXK6htB4vZRd2VcFVPYe4ZthKz/EJ3vyTnaz6M76z+BaJqC6IFmpvNru2gBVo
Gu9QEn3CeEV7YhmNWjwxhoXpSiRWce4lUrLiVG0kY22YDgzG7u8ABQTPkvXmzgonPIY2uBbvvBb3
1ijhyF4eii1a8qLiwtOsJsU5zzW/OCLPNuc3rq8bXLvxZ4I6oCtbKbfgGdFTdgLbKeYDRWChzAyZ
1aqMvGSWEUfSeufRlkQQ5/1Ff5arQK/AUdgaHhsgofy/2XqY8gx8itAx7O7I4xSUt5hFCSoC4Whf
jFmvFVRz16fEcrR8UyHpY817/cmKlV2y+AY0g0FuEHizkvQBGTcD/U0z/xm8vkksmXXsekl7uuA3
q23Ek4SB02a4Y4vcyG36ahXa1eIeaOVdFqyWgYtFCtmdhSIWuTQ5wiJZgjjmPkVgw4VUbOoVEJCS
2YdiHu9nLQnUNvz9YnydT0YpsUjtScUVqUDrc35Jq+8KZlj61qDPo9yHt6sW9+95tIgXQEmOZ6tZ
y14DVS3WxHS+FARw5Nrx1bVIMmBUy5UE9DK94f+15t5pPF6UjHSzybXX/SYEdhpfB/MJBEjM5twV
nzMv+Wg+0qi4AfRmfldWW7Xye5miaSi09E0n2f7PRgR5y96GSNkOokYDoWDv5m4t2xSl5JVt9BCV
KRnL5Papmgx5yWKmzCQP2CRWQHwQjt2Vr83zqhINbJekdRwRiXLU3OGGtqwXMWNRLe3s5UA/FZtR
eeyrlaFEqQWbVUOnY+tkJx7QxyETrA6MIKIANEfRFaK7rSkQhlhHuEVp6VZs2ta8R0rStpWDjk+x
6heFsb7z3SI2zwiWwTBjyvquSpKoyiq5+otdSGNBnQjRjFBDDTZrM0Z9mCbJ5VfpoqE46k6sBx2A
IQzOGSNAiQRDk/+mqHGeaTe52sY/g4qMj/Pl80BRhG/jJ1iMSsiRWa8N/mFjPz4It9raqTqRjOeV
fbsA1oLbMvNYoziBtCjyTLaZSPOHlW9UerrWr2m6P9vqhDKMufPoOFyHIeFuN2JygbSoJwyD+qnh
ctSWK7IR4ZRI2e1y2vtejE0FcV+iAVYCvZU0hDNsdpZ0clOAS1YYzoYyN2tq6tXwbdZIZiEz4HZt
T8fzGd75cyGxHdVlPXvnEI/RbqxnCAkrSqWt6xgG8M8jMEK5oK0VcOiwSUiaHeG/thMJ9qTCzhR5
AUtolnibaxbvP19Ptq+Jy0ZoCei84IZzg5dEEEt7XUjX3C7nFd+rL5khIsBWrOImuRbALnmGG0Z6
nh9URUMHeBjtzF59JaOTV1IwNrC5HtfhZharAu2YYcm7tNMwjnXFGW/KOJyUE23pihcyumQIGREU
VkW+32PC9Cu2V8Lxku4HBjQ83IHB8LzapJe0jFIlZaZCHNpTfikOPuuVkKzda3CMMLXnLOZkkSH3
Y8rcd0lLex0ucqkjeoz7UUqgCLE60tpB4+lsH9NkiSQPyhfe5FgV58UMrsY9OUCcpYA9fysQ+jzm
c5JatmWEJlW9XlX2EnwRD9c14oErTAaF8vw+2WZ1EJOaQHxAMwHh5ukNMpoYmhq0gFQaDWnJDg/D
6aRFa3haxpvsa4W4DsPqC5EpyIb9/rrKMaCQ/6qmMjOWo+WZbuJTR0p4KCnG58CSxGMlrzOblcC4
6DNj10F2fvGnqufITgDHu8JsasmbfjVF3A5S9TkfESpuzW0kyJ7i/TMXDzueWVJgIXDrMKQ/Y+Fa
cVNstAvV2EriReEJF5yAvQIanfM1xZKXF20kbffEHa2A5gsprBwHBqSiwxxnzatryTeCoAYwLbga
ymRitRVIBUTtStHYtE5lgQ5IAxZrgRQUc+gI2boRWXQUnZUrOounGlgJnJQjoC4Nqyt3nVbApZrO
qDgEjdV9e6rswASZTooBzgEeuHbnclFa0s/1fdgD3SsKMZ6K2/gl1tBuSwpnE14bwxs5MjU/sJWx
b1+nwNVAMrXGX+dMSvqBHcwfbOVm9jsTJuQxRFLrnVzhg6fxG1BxZfFEfb1lsTC+/hWGVzy3Snr/
RBUAZqs5i2GHFmjkcNxaN0H3QyIWBZ7c08gsW6U5J4LVRDM93EMes0gZnJXokgePXQLL3GwVTyOw
GoVsiAohVSeF2tayk3VDU7R7vRj+eE4XudLRZNKu79g6C2qN6jS9ZR3yibG1oxLSge0JHdV1L2Vd
uN/lynYBpxCXD46q9rlFzsxGVJAHc/1uijktBsRs3ABeRkoFBlEOOmotgiC7eMtS2No3pI2Mj9Bw
bv89zOLRkh3N4BD5aYj7Gf3p5TiP4/X34+3+/p/j/DsjQOYXlSH7UuSkP4KMjL/Yl/cXco9/xpde
STgzbidwFaC8b6WSbTeWwevlfFzbtrhqfvmqZrI7Gfg0xn83EgtZ+9MBPNW1x3oCplpIbrB5dY/g
QhAjMdyt7gWGvOsYvZLXOHJMDMObrJj+OybfdRkpulJ6RJ4KeFn1LlroqiKtG5munLAUZtQr8fTY
NnoutQucmIlKt1wuRIh3r8kVVGEnsZWJcXcopYJCkERddp6ztBxrUcfinWuAYm8PkLyXKe3Wlsl4
b9SkesMhDJ64M0hbJrEGLX8zWK+7rS/bKL4s939y5v9sAofY9fE3ZHyLWspYPOXYrDU6XKCgQY1P
1Dwu4JV0XNpKBUYq9j5IG6WtUq6Ryy7uBu7/w2a6jVAriTcxtYjJ0/Oa1d/x2hql1EvXynn3MX9e
Z8ItuPTxLBnHEeOx6G5fJ9MVYJr8DI+2FUW1tSCeJn+98Q/XbQapIH6H6pMK83ituYLCF23h4Iqi
KkpcUu45YzdXWxxwMe/6/4L3hnJbxHH3lzTFXc1RGk89P9zTyu6/cj0DpCnLnwpu/fhzON5/g1Mf
r6tar4NyBbqonWiVN5i9yaZGDK6HL1TjygJsO6nH/d2WGSjchE0tlvVLZYmKzqnFoIzIWZDow8YQ
SkXfec7lZGWYlqnm9j0XCLlhmRLkDk6OBbnB9fs2flLf1YQl1OStQkKxwSPtM1DznCPy4VrnheOS
XdZOS5akJUH+mxfMmMdgm+1Def7+y+3yWH65Dt9/eXm8VW3f5so5ViLSbIVEUHQ0hYTORWAZkgQS
Rz0G3y1NpWWtpy1L11e3tpE9jF8Gj9F2fMJYn6C5uGIZIItZu44H9nO5aZhCU0PPCh68+LwcTwlc
a0CqFG2hzEwvRMB5dX6dDJ4Yzmu1GO+x9o64ZWwo75g9TcylfQixHR+uZ8PFT3gDeknoWBy3WcfF
5HgvrfgGMohAchtSUpbd+xPxccOneYJb/RntqNvaR9wt2PMPxBZsDHpljV5KmOp+GooiaMFDGp+e
y5SXllOytGkgyo1bIhvXa5dqvWJQOcdZul4wNPmekpZfHbMo/KVlFszmaHkZmXKqfgcZq37kMP5C
wlfEZ5blkjrZzIyB1ZSJNeGFjSgmW4qTvg8rpqwMjIWnAS2EfteIVThiHdm756Zrirj0uy6HzvlL
s+sljfc00p4QKw7HTta/2dHh9mwfU/EeFhDTAzaZeDkfFWnu953Ir380N+wn2IeTcskK6SQ2omzj
Usn3J+/yXY8GukfO5EnuYObvCGM2dsU4qUA+LrLedar7dElfh2uMvBDWw4VkmLI0PxZjj3k+SfCa
wfPmjc2iAARccemfxR6CPpEngyJ7xlJ8fFz3vLdr89fwMDgw93UAyw/TatpVyztvEaDdUsSU395F
530evpP1E5HU1981bujVyHkeM/V2DsgOBnhmdHWw946sdWJlEBNWHzhFKplOqOO32D5KNmen3Zm1
0rEMe2ERu+gfV/JYt432f1B2cXOhO/2Vc8/n4+V2/jle1NY3qLP9IXFOkPDMjYsDvbwG1ZpkA3mW
xKd50v3DDIqyh34sULNdqZ6KrvUzL9aMzDQqhTvkzw/IwtSxyaX2P/uSs6BEGnAwZhG1qxkZG4zy
FHtWXIbDSo6HIsD+CYcMWBl5wjU0Fq6tku6Ba9SyyzcuiobpYUZFHDNmDx/TdVJKHFHu611Wme0s
YvufKRop93OEepOmTL8UO04wkwbduo5rYZtymEzCQHeaY4ntobJl/gblGbZhzYAV+OvMMXvAMUUI
jrFh09stqPQPXUkoF7edXg9qq9eK4//r1ldcbiN60YxMsmNtJ9Y42LwMfvGPx3S3YafDj/fxSpiI
aIQCkbasX2jD+MUd5XXsDmFmbvNtt/l2/ohhOvFr1iTW4zrc17gUtXyv9pu+aTS7GSNW5oOT6MIl
tOIArTID3z010CPhALUyAOv3yltBhAOUygBZ0Ht1UxLnBiiUPfB9cJ/lah2gUWZQSt1ftwNUygB5
uAc5aQCbNkM0lF6jW/GiMohNOrjVr1jT8nN/18m8ymRshkDFzXIaSg5fRGlAiLlrMo9estBXArpP
42LZ5omVH7Oaasq85pgrD+JQcXWNho/gaIsCbU9Rm1nXQk07Vjz9W+EfbXp2rTa7cju7ivU+cY0e
B/tS7GzL2VdR5ihXfHk+3qe3ebgpMBXGoQHKyVZXJYl/NOa/UgTAWSf29XwhUI1WhFi2vZSWdkgB
xDDp16KrxbROPIWvsHwyqm0WG3q6YA/wrt5co16N7L6RbhiFdFkpW6IJmUz+BdKZxBpXTRVp3Vke
CPxnjAjIxg3IQqOM1OQif6/Erzb+hsRuF8ETfRB6GXTaPE0aMKcXE/9YT/Z5eAy26B6ZEf8+fB8S
BJI9F23GeWHlksOzFQHoGNaWV2cAg5MtRU3RN9UBRxJvKckrAzcsgwksQs+mhd5OwOm8wfzCzlsa
VGXATb1gaYUD7y+qOguD86SsqTL2QiJV9OJmDvB8fqZKTlmq/EZymPcOPq8UF4eMF91ik8yNsH+n
ENJkcoE3gzjb/dRSuGVIs8+JKAi3YrSACvLrGlG9P9E2JKMlOEwV3oRq33nqzzfHm8HJ5k0fKZ3k
kDACs552VFD2MpwtWpGsUcDwNg41apR6Uw+wkgsje6binmJNYiOpY6efmOtoHOY38/FygOy/TqfT
VRvG4d75oXAfCPSMj6FC4Ve3EhiWN9BBCKwxMVSnteHM9VS9Sis8vV5XgiDC/agPS8OvpUdGfol4
Xa3i5mRsOWYjnoEpLukNW/AX7ZY0nNSb+Wy+07byPjdySfLlyCLCB4y3xjUPbxjOwcekNjxXaYq7
RtSFwa1MMEr2crdi+/qy9aSYQbu6knBW9q1zUYjnYm32Iwr3RRX2aCie+tQjwZZrlq0E1dAGqiXr
U0CEKRsvGkGAwGQPnC3dVWorqyyXNi3eAkRBJouUs57si5f/aJi7XpGotYHQhPX3Rnfu4TgoReLN
NUaIJ4emC4TuoSRGebHlBjtcy9B7vWiqJMHAj2WzQU2QAsRuIng56hjy5W4k9baastmF+U3X8Lbb
Rsi8DxZ0Avn7shJZKsSfInWlhDr/GoUCb33BKRS+UhuphX3Z6htMX1u0Mrz/v4C2/SXFTdBnmSR5
SFh8/sBXjIy0IFrg/qe/adWHVZVJ1VnWev39+btiwJZSwIKiv0aLvYFCdPnFA7BWf8eWwRo8suEq
yYeRhJ7gRIdzWKbHrDcHLyWfJd2x1yqkYldVTVBYoyEZMFyQS7QLvp6dzBEIvzn2hcQ7zOslfE4s
kVdQbLtmW9LarBh9Y1yux7qrXWLXiU2h3sefhK0/L78/v0GEcYE+ePFhMhGqumUBTFDL5WUjkgla
LrjpcrHnmXACcxFh7jSQ7e6HTjG199PKXTqZ3TH65ukWFe8mxUryIEo2Pe4YyH4fh5NSECF2NmPu
zwase/Akzhh0SWjDtpB7BnkFe74KVppVtSkqhV6kCY36cVr7O966gPy4JtV5hzN5Kx6yWC+KTTcO
w+urEcAl8ex3vO7Sa2waYnm8JOuGO7mi2QWD0/xTecGOkaVsbJ/JSLeoLlQEvGXXeH18jDOEX1KJ
X+rAxir+MkbzAn7LxzTd3/UulWKjDG+BrUDtgbhplXoFuWkqhF2PGgYNHzqvF8GZfk7WujjQDK/U
AvNxfS6v8Ez8q/svlTIa2Zr+ilOssaCyFA3VTrnXEQ0Alzr6vrVLFHuCc6X1mJaLF7okGHMaTvfa
16yrCSw0gXBFfmAvYxWWFu+s8ysU8olGrk5eOCpjtjz9lKEB5aepqaB7CbOsh+P5VCg2Xy815wQ5
m9LZhoa7ML6WzALDH+YKIeneK7Cjp9I65i7XUiTJG3w/ptdXhSa8SVIU+PYpi2r19BJ1FK9LPEFU
7eOMXgBZ18P8qcfvOlbRxLJxjBLdlo/PqnvdNqLKQmqzr5OWNEGb4wYJumm8B0QmKWhKnuOesgbM
XRUy2Ugsaa0YxyLRpLrSSllptQ10lV/t65Fkx2vE5Cj0U6DSl4exAA82QTVcLtOPBPCK2iuUMllP
2BVKy5OV0g3fGG+YcGMmEbjNlokJNjbRY6YIHFsEU60q9jicqG6MlcxTDbNl5/jpazHxPz4oljsO
zUDGnGdnG4TjP7L5n3b+UsMA0kRmV2x/CYOj8i9R3HTnmjIGaWd5DTac7RMp/5b9H/eui4GBQZ8g
A10kiI1tj5IZ61zkN2RaJGgKlFYiucyqvmUmUMiBeTqRP4fJ8tZW44Lg5naHxWphN/vFUsaZq/T2
mLX4Zic2CMAFjpfXXfXXfUA+z24Cp9+AOWmkVWGzD2u3hf3F4IGbUtGRTOKPRdsjkYKomHnFSjkl
dt1Ga3hRbQmQtkQAO3heu76N8E39jfBVKW3blJncnoLzxFJTyi81K2/2hDv/mdYKuYjKQf/FPFhG
JA+FYkZknRSTVGk6KI2gEXVUUmaMXFuXi7A8ShqYquOs3t2GQuwe0oiltFwhss9LrOW1wlrOPe7a
s17LJfIKjyhH0BSl79C1ZXJYYTprSbje1zPP+XESC0m/mSJmrhFXPd4UHdxJKWsxZJrm1a8buZ84
bwmVbNqQsU0D7dlkUqKy0iACuVhuTxaMC0lrAUOGxKlA432RojkFShHTNgHp1fLNWEDYVu/1oHbV
a7lS4OR56QZpkEhVo69ZIcXi2TbY1n+WlJDO+GasUdUAb2XkFMkGhR9U/sWuEJWFTyj5lIqxtlg/
PT0qX/UyO67UXggMupsW8QpS7cw2YrBiW/k4LCu0K0EJU0Z8DKVfhXZHml5BiaKRBPddz40YC+mp
r5yDclBN2R7qlizvpevqgDfwDv0TnaO6gPKTFVrorcQKrZUYJ8AjhcF7/TldviKH7i/TSYmj1YWk
M9cuKZswr2KQV3InPYGX1B4z83U1vpg2DN868AnveETo2fVY4tq9a0QxdmZIqiqn7sR+vfTz2DXc
xfiUfYq0ErMPjMMx6ZkbTi/I0d8rdflOutK2FIH4unBq2KeGs2eDTdaGnbOQ5UNFBeYZJ3TyNpTH
xYOR/ePwrmX/myBtyjpOwkmfrw+0dX+nazw5P7RtkKU5HLxfAWAd876LJqjB1F0Aj7A3ysfuLStS
RlzKB9TRqv1Cea8Kcu/d6zpcxoBQYLKoXE0lFTLhPV0Lm43jsVEWRKJiNQf7k1uFiaTdvC0XdVig
hMeyO3VtjAEOZuixOsMajCuWzM4Yt3VBElDQpnbaWnLRD92tPO1cdn7Mw027R53A8w5NW1/OFzD6
30Gxj4vWYbatJFWXzkk0CvdgpBkWcdmT1W7srwPkBXaZFUaRic1poiAi89buAxHx+sbcUweScJCA
D8Yr/PyYHoseZc5z/kSWWpnD++cN6hi/TmHHY6OZj0QlmsfsiguIDhYd2N8fyx0CzRD70ISZQUYg
Lm6NrJAGandLJx4G6jovQ2nBLJVkWbsN3VeWcHf8Cdkd4FCGIDvcuhtcQTTcoFzCNyvUIuy8QTo3
NNGE4apIl/ayKre9Wy0FExyrUQto6iuxJzGGmoxXNpohzt8o/KMNwTJMGVocJJrmOnWgcQNbuZ3D
BndKtNS3eTqOC+YRNQBqlujesK/RBL9sEK5xnLZI3Q0BeUjFA5pqSfY56yR8UHgvHBg54YbUmZh+
XwN2zvqZFWe86cXizd9Wmb4ighWootiA+7mZklKwkEs17uj+fZyXZRu0iQfMRGyh2DF+HuZR1/dd
KYYqpRher7QpKuTOgy5Q4NLnTjxS8YFOApUvHwN04xtuyUbnRdHJzY4C0mBmpCk1o2LrQKm7n64j
atZauGh6HzvKslIBBpVyynd5f5mGGTq9vmGuEkshE8HaUvT8l388QEZsryUPjNTs31wuWMX9dFFW
/BfM8irHHMMI5b8Y1+CHWeAvoITNfX65jL8ksRdZLQXI04zsWqq4k04fa9/XUhCtXF0EQzpv1dYC
QXYLA3lYhUEaT7ZMAmwaY4gO37+3GYTbtqVZUx/agVYisOD18pXa/LYQxQtaaRon+uXx+pqseGx4
1Z+3jsXMhJKTYL5EBmWs4QP/HdzFJBaWo9c6ofbSx2LM+r5uANciDe/G1640X5tXm2KvZZtgptr1
TTHsDtxL0BKHoCqhnZoOcVv7WrOScgkZ6bZvV8OnphU7LkrPlZIp4jzIhC7owsY1nJDW4lc197cW
mzA7XsY0tNjo1F5yXNZp+NCuVopVSEgop23Qqbd9RgFJq6wna0RibrRNWBI81VuOt3XwKfD/d5yn
/wBu3vvnn4bPcV40LF4hPn+MMyJs+GxjIwk100SbdkaD+7XWgUbUFfpNVOir60gHCW9pYnEMZlwg
gHXRmk+yRAsTCSFyqhsvbdlKmlnQh4gu+LpCFEHXHAq4OrajRm/Pi/+ETqB7rOs6E8taWBDPvqyO
7BseNh3WX0hGgKSxWsXAzjZ4MouHClvcpYm2yqaTSffJXkNHCYqTv32uMQnFQ+dai8edhqvZalSk
kA9f9lsRVV1KpAfSZilNWIJSydaDOEn7vY1XxNOfkjQEzbaVhs1NOw8CItiPOYlYLLjp362ci0yk
HBvb7MClhA5Lza9lAwfptmf41f2kISrF/MoZUHT0HLtpsVAGlbAryr8U8wk2TgrP6uqpW1ilWbCN
Pz+u9qA12zzrxGSOgyYhUlyxEnsh4kzysc8O6cTGhM8VQObfFrPk06AH53kTeY5cC3Hnh7USTnHz
GilMwzee8v4YDhE7dMf2W3wDnhNme23OnvNB4PWygufLhv7xGOGFd2SsL0OSIazsxAKgl+ntsTiH
6zbEl1ltg4611PjZ6TNtw9pcxKi5B/f9fDqNRkDM+/1mzOtk2j6THFFbIWRd7gDmloqQyKlQVumj
oJjElius5Z55931zRYVgqJCgludTioxRUTq1hOzOslaJsIitX7cp4V3ZYJa7x4xM0WV6m3SlNiKT
ODumGYpL7fm+Uw7VVg1g41O06zS7vtq2TspTBZUq91km6NBInuT7x/BTyZIwx7DPfJYEAy1r0DDZ
VrjKC7n4lMqtoOjmbFblI4CJl7tjlwT7PQQ9/iyFEASoZu2hKrJc8oPsKLYv/fDzrD0PmdhZjdfy
4HfUjllhk2SUnC2O5TiakG1d+ZCxSPI6/fXp1r6tGJeoMxLpXKAAGDt0raa+EiysZLv8cgFo3I7g
Ui152M80AePP44jyrxREMbuXcSWj+YC0v38blDBlJ6a1rK33R70+vq9l2BEiIa+T7V57Wp+EVLv2
rttF2YUrU3BCjcxVI/vArlRzl0ZnqUiGDpUCcWi7JbyLthLbFZP6szZ3qo5aPL0V2XIfXpQITUDq
g5lvD1U8WGaSxVVCKejEGDAhBDrvCMHnebap0Vq5yP8AxEB4Jf4wzf+l1eu2nDTSdyjamHFGVxnB
xGzjStusEmAZW068sqlcbSKjY1xgThzW+2cwEuJMNS3jEsFbVMrdq6kSKt2+upVtYxJzROWogJim
FYk3fXcNc2XMvXzomJpGomP6CvXL4dsI/n+C2yhnCoQ5yClYTKqfZhWBHgqFNFotN0vbVnDlK14L
Aoesm7lNLnIZOvot7ljg/hEpZiIFXHV7eFJctTkQ0V7wZfmr4jl2hQih8lG4X8d5OrzDkN9Gpc0q
x0L4W+twfi/n0/mwUkylvLlSbnfLO5BCsQQPmuwFxDXc/eB1J8g65IzOXzSmdNR9XnQBlmNlDILJ
hP7l0WToqA0Ydy2YnEv14xsGjUOWl8ZaPz2O6uPZZxwn1PobYJ9eirzMoKIS0POMB0XLwnMRkjp6
Cjcpxk8X2sJFvAOlVnPSbAGd0YD0ywg79/WIdCZFUbbn4LNDB2S0VRPnPVcE0Bc0b4JRX6b7HfPK
84evVdKjbH3WJKMV5zcjwkbFOdczyRfYBvNkNfD0sF6ASXMtIlTKzLItz2xgFpDkeBa8G/Rmmr+P
5SkJK2tlQj2sHmH5yMTe5QUvquUEokY1GfkZ5uP7gQa19K4p0EopGZcfuO1HiDYT1ZxiHbaSGe0b
UqcDzdnGWq6fM4CQPEoE+rJW2l/zVM7nn1BD8/q4HnfEmHpOhON12WM+m3vzbbym/fmS2cucPDpe
oeJr+8z1hkcexlZe95ofGmaCbZ3+Wqntww/nq+Wtcsx8SoZR7GzsI8HwAL6crwMi0KYHNk22qL5P
Y9D+dNNXsoTFtqdCJwEOfbncLtBh2ctVr3s2fEd9ds0BPxVrsRxCH67IhKxZZK1kl8rlY5gkJsNq
1vqK5wV3C/iWkjY15ju2RNiVHWiLTeCol+qT9aKXvJWqDN5zkMPFFoomjZyWHSirJ0L42vlXJLIY
jt8AabVQJOsOivj1rMTqCpFPXyjywLrAs8o/mEtRLce17uPa+ILhY0tvpAbYEvn+LtMbgljWu4yE
Qo+E9SQSy+jFQhpmh9G3QJazDiPNrmXEPqKuPGt7KRvz3IISqOv1KtGsEwH/j/lC9wYP9PDyefeU
PCnq9ZJDXb3i/jCa7TR+Px+B7NyHLpUXpN5yGDwzm+xhWqzkOBcjHsdQpF5L3DKnCwtE67J6NrfM
xhgj/wLFM/GRMtFUkOMPWs1wEwh7mcWIt1NkJZ3GNQ1YtN2NnJG1sRAJBjZV7kpdu5iSWU0xNL1P
FsOnFgZzUDJ63gxX8oNSzbni2Yk0Qc/YWyOFRmNeeZlxitiyqTJJua/vQ6IaLs/zZicXhGKfi2TL
ntv2/5gj/x3oNXO9lIB0JdnQ8RCRDXsIkaL9SPy2kXT8x3D9pFDMsiF3VlR8KeV3bK/PFFCobyU0
I+Yi/t//ANnUKy67tlbITRk4JN1TkkRCrEg+jTdIVxPT+/gTHv59RZONzL26gdB/GI/AptcUCH0j
peTn+4VomdR3rsga6aZYl9mbBEnkU5+LHfocLoJqzs4fb66nGQa73P9KnNk/x5PHqmjvaScbklb2
B+K/1YCcrRj1giQBeA3zJ+ESd/hgddHvIMq5Tg4knqLQbfSaJBvjBuB4OsTN47O8MiksqHAIRS0e
UEhmJIa0/na+jBZsqsQ92yCEZ8P3TxXqGsEDKz1g4SKMbhCg+DRi2n93p7uSY8a884zRU8cGf0D2
M1fVqav7qt9UxDwhQU/jHSBTitVS5mJrjqBqc+2ZxwFFchKrlkLY89vLYGy6Ba60XqdaZCKMN8sa
JW8r1/9vT7rUTrqSApjQ1B6jz6gfvw/zWY0P9KUUYXEhMKKKWCFw1Gv9Mn4fL9SKCpK9Woayk47J
6+w0eVlRFOIQAbCLGgReTwcHnNYKTFoJAUFB8d8K9qlZWxPWwotT0pj7d8Yo0AtU/Rhf6O2h2fet
6AfFI0FK8i2TrKLAT0BGcFeGSAUf0LBjZRBIu/ZBcVHvgylrXkqnym6yDYzLtcsBJXBwviPMLgmZ
5tV2RdhHQK0YuYyvWvoxE+OH5Ae4PuCg21X7gdWcQHy17J+kBGh572cF7tE23deI35W4kFhNqLHh
xfWnmGbbEnsmO+60YnLSVxkHd56mdjbW8duoJa/ZRQI3w5hEzD9JtObrArlkVNAuUkK0A9SP7uNM
J6Ch3ti19jA1G25xfvKS6itkbLhc5tLyKYw1Lg7wjRmDponWDXmZt5JoRa7Oy/h+vtqWTZrj20do
v4K8aQDGmc1NVOEEvBCVgxx4jQY2Ez5ReYpymQpG+9yAu5/tbGxIHXUS/fA4XyU88e22emYeb9T8
7jErs+T9IeFgSld7ZI0ESmOb50s35RvO5ekfqbUdGgQydlaIVWKbmy/U5yUp6Fj1DNe3WiPgUrNg
+21+vbMWmlLxxYnzGRLkGVZvSanpGdiJsW80lhSbkXRhCB3yZtxtkUhMQdJqJWRlKXMoejd7IaTK
iTKvyfJ3uUIbE1e/QOzlFyju0S5AV4pO1cY3S9fR5nJT2wSFh2aABw3eqMp6veFgGUOR9/BCrcWV
4N4TB021efmSAYVGpMb1igZQSiCzGJDH50VRN50UjEvukyZTPPoJT2DeCuAAfEoUE5Pzuzb+IZeb
qCm900rR1ER4EgGocY/+8dAasMl99Hh07IBNGhWYuZhg5z399tX+9L0YSqJvLZFoKoJbdFJQzI5x
Vfs8F61cv/r1mOuaq2OpafxmRyVh3nZSatF4WNfpx3WTLFj7NGvJftZVpKJOHOkHqNIGzGR970GQ
gOpAuqUvBGZaMey7Ld6vtTqRQupLTB7X/XzX2XJF4hyJjkSvuGAvRJl1vofTE/QbrvpgXlto93O3
74+CBC8kqV4bnqzNRhMN7UuRkIIlNUl+EWv/11QTii66YzYDThoE/malIrCMqvZ/SngsdVEr+iBo
vvibmjAHpHEt4mVXbvzExz1fPWc62KSud/ImcJJITnMl1ZtqFIpln2u1cWbLIBubzqPlWS5CCLZt
ERR+rKBkvPfswdgXzsNnmOxVCmOZPJttfHwnBpwniDBcGaO4WtvTg2FM8ZG10CxRAMKC8KzVltpT
RuEuCLjAW8+TvkaFHf0WOCT4LmjkD/WmuDnkJg/uVfoOlZFkQ5KHr1Z4+HqZeTqAs6YfUoZBY0AT
uUGwTY9qEYVOGm1tHA2W2oxa/ufdzvDb+Il0gSQrxmyVs/plhKyJk+EMCGWDu6OYT4XY1ioWcxq/
K/nnnkdl+LkS7Hf0TXu+WCm07XvRPbW8Is/6cZ/oGVG6fFaKpeeTDlql5RYv0m4rbo2QKbjSXJoA
0Kve7WEdoJhUs3lYXS1hIYo1h+vPLcTBJFzULVlX+eyckN2q4JRLMZj6ZMGEgSQVoMjECV3XcstE
u0K/Se0ga5oWNWzFOW5eXyooV57dYlu3WzCHPojkKTaV2NA8DBsR9pmSgviivE8X3cHnHuLaOQkb
ZkIa2F+6L7U7ygueaKZXuYy3OwRKLwWLyxnVmRcQUDRPSOOrLbVjgDtEnXR6A9Vai88WKjSeyOEu
w8ftK35JV4g5ti9gpX9asPTPOH63kVkqNtRQSqpdxj15UUO282vyPc/6DZti0ea878hp+jgsx+mm
ulJiLma9C6DbrP2PwqsZoaIv7znEmIyc14a9er6+D7aaFYtYr5XiHbvFo25Fy5T1wUZaTQwXQN3u
cdAs06oWsUbOa1ruw3xXiZryrIhgBG1dGC0PIhYQTiHBUo6gbsWcNz2QGHoDHQtHqzQPK8SmJLxj
9Ty+zYChh8ajed1nirLNQmAZ443E2k1qPaQxRzaSSzneHi972gA3sn91fXy8jJ5MJsV03/ciENNz
SFtYqMXvnb8jHCC0qJVKsGbL1dXwgF6KWDvLpWhgYD/oXZ3aTGzKAtf+Pq2Pi2bBiKk7lUZOs/Fk
1KuzZhwmMcuzaEaYQ8JblOCOt8ak5C3RTiTts5y/Uc3Wah2uWmqEVX5hMLtSm7MF1r7mwWUyQ2Vw
5BTwRNsMaxunS5LWOmDngOlmFYtOY7KJMG2+lYu2/CYrlcSQC4dO0Bnk9DPtn3Mhq7dAYYLhO67X
91FFi+fMXA6qZqjIGq4u/AMiaJ9LrvckX40DVsiQlG10tNOio5x+v4Ga620GF2qk3kejZIwuhdZr
ALc/KrmVfstCv3Ic/JmSar/761//gmVDCVHpRUgsEDgdAZKJMEMbKVLsyCbVC8pG0PRK4ZKR5bLw
+7ZCdXhZbtMCfKaexVSGQndb1EXtALJYqgGGjG2q6nh0UsBfY6UVIhdZeBdcJxPXnkAT4Ujuzxzl
f1pwFpG42O1Ey2sxauCbQlzcd2IV0oO7L84q1J4DZoIAIUbR58/6CSf0Og9vO9hZ2iKTqcyCrsEB
35KS+uoS7PU2DqG27G6rQtFGUtJbw8zyDLMHY/opcYwW5Kfm800zStuqlkh5yObyqCiCfxw+NduL
Vx2Rl+uHshSzxol6eyMeXGrMp40n9oRHZ4t42zfKVuE34/2mQIe3TzDe8ed5uVNrJVvDjC+tguot
JL/2C7iSOUW3IgavgiqlnfyuDcc1+KK3f55mqKnFfgGIuEcbd0CSLjOSEUuQ8/F6VKJIMoglbJaI
KlRBSfUyRTh5WFbLrx5mCoeRcVXC4VsMoQ7bBBA/C2LTgD2VFLqTOFqVvAsvV6HirE6Fvp1PZy2i
0sldhr8a/Mi14Ee1TSdXaYtfRbJ0sn7nyNbVB14vZMLRz2spzEfIy4Ge8dOs0JN1jOqDcQioGaFW
yQhxrAL+0W4FjwoDd3G+lixsAMdhXca1fSM1ulpnae6p4vA32wKsWmgWBd0ZtHvVSEE3phxXu85c
Ducp4y9oODURWvbEm65kzkrJ7NqkuqhYUYtd1yLV2RPPBlJ5aU5BJg3Dwt/n63WcVc+ia0VAm6hy
MiXCU267JkTMR5UPEW9tLc0H/KcTcelo1V1iIJ6Ho9HQeBvvnidJZ6vpGFEaCzdJrcEp+KjcfhHK
EPCnXx+Xy04q9UosF3Ov1jTfjDG1JLmueHeFCl1Ea1iDywpyiDWXSjAs3fWTAmOANNKCzowhol/b
PKyZVWP62jpgvRi9q8U+Ndjj9QMisicIQLlcAICp1RavhYQcfJZo844q4lxqfWrcgWkR8FKS6Q0Z
CWKb9nY/E5lcp5e/g6X3er7jV/5fD9/Pp3ECQEQ0Ul/7PgMQKCvgCS9sLogNBCWgy/e3Qhmk8INQ
09enQUYjTqf4CNa4I0ZUxjzGp4GZOIWWq/Z9ZGAcBHGVWS8sR/neM7OW4FqXVqTZ9/SPyhDNOkTd
IJr/aSnG8fpxgFjqPJy1kXKZYpaNtLzPUYKG2jeWxPUAyKAsGnEyF+DujzNY1J7/i46IcWA9S4oy
hifNxYq6orDEt9Z8T+dJ+oAYmfUxe+rfoauclgPqngofPR+NFp/ekkQI0Veb2ULL3Tw652SEgy0P
W23m3Fh9fYU2NWuNnPJmlfE6sTgdEDWwTpNI1JGyH/Pw/G7l+vj309v4O+NtaOYUt8x94E/tsqBE
AiqJctUifTHSge/QfNVW19diTbzDCPs2gmnKq45bNQ1D+n+pGyNrXJaGTbHmHFDXa4vstz5KtLA0
UUjU5dIGR2rQtOozL5xGOwVZFCy1PGATai0D8IRw6p77TRtHc1dz6U3SzOJqV18YGMPWtvJK5lzu
EBwD+SmOylOSm9dHIUnTd+TUgY2iMA+cnNacm4cowTZyQwaYPK0jQJ5vo5xNuLzbdHZFSJAsJHlV
1rjJ4Di2ktvhPrytcVdrpStUJVW8xXsAd+IQ4xSXSs0Zljmgd09rzK4TMxlEPYtlSrYU4gXU0ZLu
Fizi5IAzyrpFoLsV565VmC6k2LQWmuFgKd/RLQr2KbXQVCYjsDEcuL+9IquOYI8cPZKgVD8P7tm8
uybNqS4TVS2iBNR6i1qrt+BOOjZvyrbhkFTc0yg3sXTeRa5Y5zdlWZlEn/KFiHaiLr2RU+P2aeAM
EEY+jOv0mPX6ZFHWUn11lNAq55+BDciL+inbg+U+MI6jdNPrldpK9BBXqgEk9EzxfDf5Jh1oOwgF
fckVY6WWogmsiQTCfRQLZROzyS29w8ftX7FlFH60cVlvZ8xXG1VvrKHLZFzWiK1fe9ejRhQAWfoU
27yMwze1rUMj9old7tCHzX5gAf70d/JIWEtknVP0SyGd0/ZsrFXso1ALHKNbxwjqps5XsuwTU7BV
dvR545uSrcVmGK5Z7Djas4CjsckwOIW9bGsFRHJSvR/G51PsFICpG9MqcBHep/n8K2DGjXdwjw9Y
8lVmPhtghwRmqlXH+AZneh4Zx6224xbRqa4q7TIrA7IN5IaDOmCsMhgHZFvJLSwLM9p3rDaTh4Ow
iud185Sfb9hJZljcut148q8XZYySbXLlq9/sGMnvC3/4lh0g+N5Skq3nb9N2ynj+0AuIxRV9sB9I
D5CeFDsXAt9kwcaQP2ymo29vrm4vPI2s8YYym9pvEZYMtOXzbO7AeZCYT8GOCmNDgfga74n6eduS
FmWgzA/UY1YkGGhYVmXihlN43nCFXogKooIqtzulfOyluO7QEu/5JVpLfnbdpUy/S3u0Ti1onQAF
Zzm5bD/CH8b7PUC1vd6QPZMwmsDLbnYY2UIsn53Wp04mAQJjLY03N3b8xsTtotg+rea6yUSTD2fh
67TIj9YmIybOnzw491AqblsvB1tQdjamu4bxlBmOg2YMVID2VXKuPOdGuI9cbgsza6Uws5KbV7wv
l1SCJc8kNEAQqvQlPQr+SuwPoGbCGyUTzrxlKAlzmXAt77NGwZT8jxgh3tJAqVR6VddInHZYE0hw
UPP1PGhYRHZWEI01Ts0mGPc6re1sPY9aANRJ8Pp0MpnMhjJ3jWUnqmXyXKxBHO4QL/7lMkFrxfsv
mF9W5lSKSeDntk8Q3L1q5PM9j8OgrFlhc+H96fV1obJ3NHtTtFIZR9dEUp68KLnQ8Ljcmyy8N+l2
+n38mUx4ZlLC05GrAhWtp19d5mMqbpFnnQhyUQMXuYYqeSpiK/fxr2jwxiaXe5G7Q8DHw/i974MK
287aViZ6X3ufXfEd0ynZ8qwXyTsdoOw6pYts8qzIxcDo5X7YtNhUYjMirdBqKb/c77uLrhpJOxME
A+VRg2BkIuOrux57mcrNjnR6MwQj2r5KV4muiB1X6JavDfTg7UTFkiqfrDiR11OTJSkU2mih0Cpd
N7oG0QZHT4fNqjGH/X6+q9RyecHANOBbVrKpoNQpBVeN9UOMxmsbbTbllhmqDKmvgFglzXzV9ArM
39MOpoLiPBzKKr8F4JOyP8FjB0vqCmcwrpQni7E39AKcrdHZbXPRaLeq8KKWW/O+BsUyr+0J7jat
mIaWKtuUujaRScrfWtsbIMlZ1PLkMLiDrj9FtAuP0bPE8KP14JGxrMjeZwPUIstyhCU3k58hSYQ6
JbuSy83yoEsI+AjD3bafTfhjVaaD/h/XB3AiLtPDvG/oYWoMANwC868JZR9fV34zZLc+f1fQhXKR
lRWm8edt3ltEap5r0daxnef1jmS1TBuczldYsKpWpl9KnUJg2/88wqTCMhKC+CWwG5zWAoKhedlH
3MckOQvvZrleI8Idnqhh3fCG/iZ+znwbxEfhX2ZZBWR7F2CpAqiaeL+A4MYmdxFh5J+zGO09fGED
jviFN/NjtS2tR4o//UZLKPP45OrN5Br7YR/9KZt3ePqpMvVT9iKuH9YqNyfuQ+e/KNhP1Ts3vpY/
b3Z+3slb0yX3lB2Gf7bMQlMflmxrvVYwkpL8sJYFpowLTB7+VLee4q69sRH5dWvL9WRSQtCEe2OX
mGfJTWWnUTHpaeKCmsm72ca/KMPfaNZbtGtT6lw+9zp+CuzAW95QILmNvbiNWZ/cxkbexir5i6V8
7bv4btbh/jfuqONf9E+/wX01q3YjEbzWVmmDWt9K9Q5NTd9n/nt+gm38Jx0KbSszzd6fbOQp5/Gf
dNVQW0VaKRtTyJ+UO2fp4hXbVapiQ7+cy1tap7+swp1p97xpdCbsGHmfjjz5pavX2F6PMv1lJ3/Z
KIfSyYdSKEfPpKXg81M+6cOJtXt0DM2PHXobHN1O0S7Do2/3vIM05zp29Dt/uX/apm2MGsxjVaEA
ut2ZAPXWEEvPAz8v/ef13q2HD93TVW+Faefv9v5zbvh0yd+twwk3e8QffzEPJ9zsOerOYwWeVlol
f7GS97ZOftj6D9O3rvPwg+ftjH7hXtl6Yx7lye2IfFjFRbQON7BV9Q5Ojp1V+zXTD38wk3ejjE+x
CG7Rqo7b+BQr+YzqnVNsZKFqk/Jfymtr9/1uXUSOPS5a7dMPoqb6eRvu7/gBLyQ4jVjzhb2BxCFr
JC/BIRG54IM5QI4HIRcaZZjflugAFtCFA3iJwhkdlutwW94n7NMDIGLzz4/LCQLG3w7n+4Kjx3jZ
ax+Mr/uAQoTGdu3ALPZfSzlhMW61DgXiYpvb0lArrUx8lVZH1n2QiV4eLxYsALElinVRLUE05oWD
ZX6wbuW6oLncR7P1EInTgui4N+zg/GMzfLyc3x7Qbo068MWyDHj0fhpYSL3We8BE4uftv2JCT5N3
tfkIYl2Uw2j9YXhS39sn0uJ5YYZ/kKcPhldjo2KAlYF3wVKtgEzBj2sfNuuHrBoV8ubKN6X/xpcx
Di8v8/j9jLEf7Qdz6QfXy6l92fk1+mJ3t8/ah7X/EFtL0Xx/qj9W+G88QQmEF4lUTvu0Wj+Fx72y
6Bx/QeLZMhAI+67jjfAJoe1FJy4OX3URjf/Vvsa8DndOjUfjTLyeYGU17KIP10N6EKYtfNkSBkRR
5cUnnfsPfVv2dQfMNO7zyGqGzD/e6ZrHb3kd6gmbvFrWbbQVlD+ji2EKniNTZ50nHz/195wB3T2L
1/eFvVDRCRR1qHFI91b//Z9OT/zbNM/Tj/GE/7LMvxTGPMuLXDYYQL56y17YF2HblwU+zbOuzJVP
6/VT2BnbMOn4K3xaZvqv5v5XvXP77US/WhWl8mnhP2WU1OtOxsWKPi/Xz/F+2cpV/GVj/EVsU/q0
8p929AbDt7+bZgpsg6795WWaLuNw/QV0hTJUK20dDmAtgcQAeREuo/ADEG+48qlfBlZysk+X+3hT
PvSiwpQi/aaT3V+iTSdoCC8yqA7YEBe8v5fUxvV+8vD/2cYBDgt00S/RR5umkPkpcHJg2PrHxzif
j6mt9xIERJBNH57dL9H3nr7Og03ku380gvRL4kHLPP8b7gG8MKW1fc37OwIhSvRpq31f1Y1WZ0pw
/HkcEW6g6EFm+HhvF7kJMR21Xsa46VRJiswYXERGHf8uDzSwNfXodZzu78BETtfnN9vZoUFqs29s
e1bSpfju5MEzYxXUCO8DPFP3H2dlY/JesmVtzQ09NOsLHB+kDd+ptRMUtns+n+IfVuHBuow9P1OV
WxLXL/pRGwsm8fjX4WtpuYOm44MoOaOADlxEE1oO3A2zUgGNCu6gqcZr0nqqmSEC162oLORnrYT+
eVY8CyYMPvqPviTel12Ecij5rbSr5sPH/HTroqKZd6GH2tg+UMTtdF3NsvgIlTeBGIZ1ZYpVlRcu
owzN23zdD7i0awNfZYBOkm06XX5N4rLVhHvA3V9nQv5W7VH5yQEeqSm22uNlOCWtzKIPL6GlKDfW
9n06WPMivj2N5JMid2FaK+eF5Nqbt/04IvQQJT2u9+onUx93dqH/2vxfYNC4A3plvB6l8jx83Spm
GgZhGAxtIFTE9rSLDlEw4yhfnY4FBnAkPbEvvYkjKR6v/GOvexfaN/a6vyw3bISps0XQDLyFxOTb
Vy78fJ8PZj7yMeAIZRau3gq43/741heSVY5fsraW9+FtgdXA38eHasJl9H4oyyo0KSZW7ZeAnnjj
v7bNRKnHOklFdBI1s/U9uzUOY7bQ3GZNDku2Am+i0DYCxn7FyA9EDBPdiVISifVA/zb9wXHM/vef
/+TDpRGfmqYmek/GLqCwgDOEFSHrQhu45yJyPBw/5/i2eAO8x6E28ml0FIWKYz/dS/JtrzfEDtfL
Fn+IaCC/ryzUTTJChhL0wfsY7zFaFRIR7wzx18DuRN7cp7yJ74XfRgzK5v5jaNgaFcs2dLmb4Jot
FFth1pZ+0Vrpoj3ur93h+P6A5k7R2Rfh7WDTsOQ0Xl/FR6k6yR3HUYin04Vx49vRhfqqCI4g/sNZ
eP6NDdHh/MG+goc6KoVZdNYr5fPZ1bqDuo0KUFXFxPAXW68fX3gflWB7H07GE3uP70AdxgBy/8yl
frrwUsO8wFUzqnqxDt/nzH9qNeLfPiN0XfR9JT3OH9Ov58tlOFC8Ojpt/60r3Xe/HWigHbTddAJN
oEj5Wjwd0qAcQV1Er/L6zPkbEBeiPvpQgcVopeExn5Vt9eoQAt5dxZcCpaCa2VLn4Zmwty5ajkYf
1lE5QvUZlyJRbZ3u2BfRQordSxC3tnrJVKTX+fLqHub4CyJamo7mJ+rj0k+3wY6VmUPBOsZ3/Iqo
N/1fxsEmNcMZUQvoauXMuLMRFmUID/vBs7A9WgDRm/648r/PkjqMwN6IEJAnKeVjraVdewYtbReh
UuDjUjwAhj2syw2qvHwn5CuA2S/xUZo6BLNYfuXz6XZ2tZtsTsZ8up1/GqNSB+q3lmnDTa9dq2DY
WKsyiiHiW1v477bcxylwr5Sf9tAidlPZTzsovHXJlZ9nI/n6DreAMzJtD/P9/Doclfk0hXTgbD5I
HvfrOE/pQ2fgM14aFOLdX85vyprK8MRLUW4SW9ww+JynvqFBlK8YwMzX/tlNeHm8vlLNS7zkrrVF
TBzYZuNvxu2/PGa/ACox1baykwBk7vKNt+F81TYgT5wp1ClDDfRyOceQAnQcfidrsK5rx71xRo5+
um4pzdiIyEL/3L+CrR+tZMERRAwmW8/0shj1hv2dHc5NWxUHnuIfNdNydkhsb28PSjmnOjGz1J2p
OukS00zw5uFjaC4QcjfgcGfWi0SZWSPNDCrPYJv2PGh9eItyx7J0Nd7ZAzgMFyoRuUwvULqOiYt5
Hj59L+nD63A2cq/QhxUiGRP7DeAKcUGbRJVMVTz3a7fBHySbxm/svzgtKw4GYVHbjg0kDyr2OxtJ
QYcIzwX/8eOW5wc7pOzp4lj9OlaA6cqjv96xL7yJ7uaumEX4c3X4c752BGPVgIAY5+/q4ks/gj8V
YfFFcvGV5SXBsVi492msHSPlfqQ0QhDXUUi/7bYR3EMFmIQDNH6AAMcb/yKTti6GEcQvckk6oKox
vSNsfT7bs4pJEGqN/nwljYHH434/+mm3fuogEYjouYw/jYIh1vDv4wwEA0jWB/WB1JPMcmUqF7pn
FVptiEksmugXRSWLSPSmVWwNbPfN62oeJbC7PWHCcLtdgJ8XhZb6++H/EJ1M1Ug7Gyswgy+yJhSe
mhHoUPtjqGZ+i/To7lkdVRukV1Hdn38dHXWBTlKE4+Ty1hfxrWeC74tNs7yOfpEXsp4q4ofVS8dr
S/ffIBWI7J7X8cfBCmF8upvD8Q83vbUXYC9/3OLf99IG0VEN1+n6+QHARW0GZR3qFgtGzuPikTfy
F/H7kHtFzkAmWV7Fv8hFoY1AgXprFz6/VdZGtc1XX4Y5fsurUEn3nBcbWVOM25rQFFUtXRzW2xkb
r5NCdEW98cHY0foMPggUksC74mBaGWQcP+JD5eHe2AJl6uBOA8blw18P7igioXc0Y42iyVRatjoy
T7fkNEJeEP8xeVlq6R2ly3KGKB0pp/hSvG5g0THlUayziDbp4mJYSw8vXUi7PmAEoAZyJFfx+fby
JYjPN89EQyGP68usl7QfzPQAD2ZcpER7iom6e1sZN3X87rHBCkQ45GrlJk5cfJUpULbSDK1E0vF1
cLWB9At2z4r4TxeiXcpJRM0ho5mR0hdML/r0WVbE9WJRSO8FSdP/XCfwb+b3E7/chhrZ7neex/e7
k23QuEbOKunyUNiM4FnEzWLvAhk09oqAa+n7hcWX4bcDO5tUNsNrexc5FEbCvsulK+Dbqa7P6I8Z
KNvmxXuW8atbSS9BVsSvbpFL6v54GQdvJ63dIkjnE4tafA6l6O8V8TPOe9kUistjFjHQ8pVXNv5j
nahbs7huzWrZrI4bHlmZtGSJsWh43CektYnvpmhGM4WXuHCdvFFZfH9aScsInozG+N+zovrQXoMV
O5b99erFpZNNhjN/xIrJcfNbackr3zAqSd61O76AOjRf8udThCxbtCVrz5gs2G4SQeTl7rqc4Wf8
L6KtfuABcAUWfb/prxmMMFzN/41jKEoPpIVxEO+VP48CUVtlAF+0E3RRolgYHyg+hkuCo+CBuFrt
Q/FZGkOZQc22IsMs0NMilK97//XK82jDjzfbpeRxg8wlfv64HocHSO1p+igZylgaP/POeNUFdqgF
IWGvoPinuf/Ua1A+gXzPBEo/io/oH5flv/7yp/8PMOIqE8j8pxxn6SfQ7ZlA7UfxFzHOFJt5Q6Pq
vMvmjO3TeJwIWXR4mcfhG4Vfhf/BKEZovYQ6Ev8iXm7KqjB56y1xVC1mioP5imasiajjQ+l0wjgY
Kz3GdjVQWUeaf7lTLPdydl1IL7f34fD+MDeWOqKogOCClTSxY5kuB4u/X0HsMaRk0VQSztK2MIZg
ESp2FatZlBtgcb0SmagvOLK51dKnAHIFhCqZKrxlUXQgVrzIbB/sJ0M7iy289N2s6shuWgwSjuaY
76iDRHSsupHg67GQENJ+May6f2P5WbJpREdpCmkfYqE6PAI2U29E+VVDWGCJr7MOZ926r6lN3Tx9
xBHCRdNKwhczFnGTGqlYg4zZkdDRmNw8x2t0i7aUiiKM9QAzjs+VFUN6z9+SZ8OR2N9+NUtGg581
LAPz5Hx9DInUT21bQz4XKUZkkH49fjatJFE/ygM2YPF3YyG18zLeI53TcGKsVBtQIbXzk9xRa63X
cAPF2wV8GEktwStR/BtmN5zsG2Tai9/sLrwVZXQnls+Pl+mi7UMrFcXya5rcCFbXw1z2SGgf179R
sFHVoN/VJpd1UrnjBCqpKn09e+09xV9uJKn+EWx99OPO7xcrcoOlui47OAraCOhfazMpxXokIDlJ
70EhC3AZ/6KWKlTMY49ve3zFnIqAMfH6ZojH6aEiClFQM6lKZ5X56Qfwgs4f4/WsaOjWXxxsxxG/
OLZgMT6SF4ESOXstkT1ZPDgSHF78meqk5RgJdASw8TbMqAsLSfZ9YEa/OYVoZ7lteEBIZ8de9mEx
WBfTHInKw6IWaS9wC/FWpNrw1bZ87Ln0KHxn4hPopJo4m+iwVttakoCpCpwcKez41RRr4k/zAAiy
+5T83D/roOhswVMstFPb9ivPxgSzGTH57A5FoZfHDW0kxhV7K+zcF+htiG159O3NJWmDrpGJLWiZ
kENMIC87djL/Nv38PxR+/F+Py+V37+PxW3wzG8mMNM6PeW0v0JkMi7AASxcfoggNJhZWdXYMGkfX
6WDE7j4or0dE3o0HFv/1TtpDZx/O46sxGMhgjLZHwlPtJRMqllRAne9/2Hd7j8W4a9vj+fkmsgtD
27TrUoulzE6A7WgJj7KSikSBPSnty+USJcXGkdhtu1byxuc73ulMfqe7+MxFJ/jl/LZPb4lqBFBK
6akya8QHlgT/PXo1SqmEXnqfXwdIXhuPJB60wQG8EsaGOB3XilaCrNOTcKZLWZC6HYJUSnwrMUFK
OeKlFGHgy9k8WNhjLL6sQjpsp96hYADbOSk8NAWv6/fSRnYQNr0FeGTCQiyeOVwIGTwAqvdwHb6f
Gff1Yv7dE/VgBcZ33h0mhqoC1dTb7s99u+0ECIMu4zAf39PdnXAki0HrW9s/o/fjICrbNri3BxEd
J88yPxDSKDV+IPQGoU0yZDku1B/JLHBYlAXW62hogxSWlgnHO52/b4ASh/fz6TQqy7SGd99uWvfS
hhHeWGn6RVvV+zk1FCrxY6zg6+Qo/ugKOMbCluKEO6WoGNofv9voAxU5H4WkyjziFITBBn2pE+w7
v0W2cyE7wsf1zJjrIY3rACpX381bk45qHRyiUzUb+vUB/a2R/h56J1tFFIEV0GGW/jBBGbk+6qtw
sGW/2BQ0pKIxE7hvM1p2ShC+Kxq2vy5/4vYDnb/EgDashgNmWJFXM+HBxjIWLqrdim4dpEWFXLBB
WGtSaHT04/0MTY6iQWKalR+QERLgcFDYBZdUO1S/SWWGf/TRC0GbH43J0/L8BcvxXeBCTTfcyrZy
cEyfWfIb8ZrHrX26pX5j0Es2TvfT/UITEBT2cR7NzLx0abhfWmjBdGWNvKZPC/3CcK2/XBBKKftn
VYCPtDKCX64NBLAJQVXApGxVzVQrxG5b/hYRIMS94yoylEbz9wQs50p6RkAsMcy07pGy1V5XABaZ
6zR/dMnb2/sDQ1qpMi7n5tmNYztpsIwN1iFfkqS7v6Kt2MvUYWCLHcH9x7SqloNL3Gm3mmtXTGyy
1eZovE7K6hp2AZvQoEC9tFWeOzbfTwiyQdVWNA+p/WbXA7RmWVSS1tynMNlOw5tWZGw29/N1bYc7
D+AsRAxqu9FeqDAUVtRl7FX0IDT1XSzYI5shxP1JsF4vw91sNxJFJWyMlj1ZEHsoqiJ2Gd0Lq0AC
8DL6k8BwUBlR72R6AqZcmV0dVRS/Yqewn9rWM53VYuiRmXJfOEFmMmX4B1e9gEBS9oLtLmxGAbvB
4PTmhCy163W84MWNtndoKqkhB7SGpKUYZeJgb/ExirDxhSWapR83KiT+YS11n6EfPo6XS/xD36OD
8Tr41cc/9P1HeCTet1FUIjL4vW/VwQqh/Xal98r3I2Hlx1/Y6z7oKmP3eu+Pd1JLGj97tEr27KLv
O+LYGt1Ab/P5ZOGbJIIWdzu94sV6hdaQeEEgchG7pCAMhfVT27AtMY6PUXFkFGPdAyh3dDde4jjE
sG84sOtyXduicofSwqHta4fVNYAVjhfSUOau85MsA+7Vk90K8z7Yyhz2t+jBrhGPN6jtjNVylj5X
3daBox3Ml6LZ0Nh90atwcdZ8B9b8K80MMID4tiKx2CNere7oBOxATJrpjPxpA/rkcUE8v0UXKuWS
WNRZ+WEr6r0gzVABu9Ls/DDsspuThYM1j/UVnzK/TrhAj49I9JgOogrXW0QPwg614yzYJItQzN2Q
rj0rxVOUbcvCoRhw3xnRbLFzlLSh9GQAbR1QmeK0bKdmuL2LTQedzgsx4mNlf0Rx4w7WbI6erNjf
apv9iw+Q+wHQTgkOFf6/sNT0uSZmhTJn5nWkA6EauxkNUBg5PnDGBMYDz5xS9MV8pBABgaapG5e+
bcNeIHQteA9A3VkiTiOvA9hL5pdsg3e48lWYQbusaN3LfVaOqfEzbZADZ/sDo9HZJD1J/Zf7p6Bu
V26enVp2hx5zufXW9Z4txM2gClH1laXp9uyUOt87Fm/icF0jPniFTl8RVMdesspTtZlo2N0+ztJR
evwDSoBvkICSiOl/aKX6ZrbwbpwJQJRaosbvw5nCY1i3qWvygr2PzMJLGQUHK3jKgfWhas+DcUOF
yTfY71Ti8Si6InrVCKoyvhGJk6tcHX/abh743+yRuqKSLBynynzk3IrFbuXtskibhwDnFVzl1MXL
W3+L8TFtnl8UkmE7wwcUx6wCkrCdaiYbGFdv880rH0z2a5ZJ00qGGdPoRkJwJzeqPWVT9E10a91z
bZ58c2nSm9vnzMpZ3wY/ReuKAiTr+I06kl+jlFlk2XLFk6O62IxJ8C6bIUvq3dILKEbe25XsGXrf
+NcLD3pJVNTSmWehyBehYrSy/xuecEdRpRk/XFTxXdD8D8cyQkZyjgxA8rNj98NyGh7Wrj6kSZVb
2saNZ8HoWPUkWK6KxVEGWr3MNqM61Jk1VHV4I6kpvxFgNNiH3B4VmUKX6Q1NAmveQ7BOMQHZvfdl
2X6G+Iyv9ZrWD7MjJydbxu3WZ5WSvKLM8YIoVtlFrqjzvhLGvkOxkExh6UDu8fnSMxWfWsXE0wMf
BQUXmJZp/eb3D17AbmtgYMgurdrYvpVrQncj2s6oQssVRXw1LWfFg8i8CmFBDNFh2rGNXS+N5qTP
z9iIYfCXuKuKfdKGp9N/Zdjt3yo/U+tCsCYYoopVufaZ9ILamDfsLgHi4cc0tZyzJynzT5LihSds
G79k3o8qVMo7Qir+HWfhZBxgeZ/m+zvZ6YFmT9i6VcnsmTWUuvaep7KXxHY1fLuw6qmV/bI9J5hv
FG0e8xbtmJYNz94eZZLMqfUg4oiOTQZpMt2jWa0gqvdTtj8Lt7/z249+222e7vPjRASGZpZXiB/u
0BBNtvVkmaG2NpIjXzNoppESlyYahAsdjPXF3nVra8mpYwbg84VTnqtSD4sEsa7065e1uktlnVe4
vynXtQy0di4EROkodsRo8q6R7m1EnHf5Hn2oOV1jjuvhy2qqrXQbcTvgLhEpQhNJ2DyrCfa8n0X0
NcYJAscwTRIth9CmVUSlls5kNa29Q7hnwXUdyh1XqcaiPhtZ+5XMasxxx0sHyLZhN6ygK+er578c
Z63id2LVLf5BSsoLswrBU+1Du+NLFmbBItMsrSdGQIyCHpU3uyilh8gVetCjO6LHrBgSRdSw3yjh
9CYxH8Gz4+5wQhMh81pKDviSlHXnNHHQclM7Hu1dJnTO40N9qFU2GuArlnSpB5QRZQw9S7/ij7ha
ZEx9dUDasH2C7Ntj9Hzy3DNm64ObnGeNHhhb7WfFfPEHBlm1rosraFSAuxR0LuWt7Cwd5MSIAsRw
/JupzLGXxrs6LfDbVu4qW/FkPFoOR3SJTTrcRafiIOHxg/XIyiB4dcv7DFxpEAU8a74ny0nC9S6L
bm9qg/E16ckNrhlzjDZK+UminlXOpZQCIbF3JBkBqxol6uvExppsT0GseXRhvTgBGU2aPVgl1pcX
u5x75Vrm0QyoL+xxESYKNSq6PQ99kyIerCI+hESsqtdBCE5LntXWcXSru60nXAi2Ejvw0/TANIse
7muCCAC3v6Jhz6QB27Eca7m28RbxEQpehoZi4tJhS5TqS6GQ1PvQNpLw2OZqPF3HuS8hcKHIEJ+z
r+CKBChtYNLpE/uvu3NAZSMJ2GroulPbb+uWkj25M1Wajpr46wCBs74Qr8OXMjWOr2LjQaivkyIO
XvlX5drD9dkI+VrWx5WESS4TedVe3l5G8P9H6mf24328rkHxeS2IiVee0q8Vkr+y7sgX80wFe2ZY
nTJZ3ff5fLSaa0/IopaimvvDuhclM9T3kkvvjN1lvLzGIYEk+U0YrGg3hrNiDjfSm7HewTX+sqNy
mGZSSRAVnMnbTC08IMVu9upuZAPE4qeyL+xCQ6wsb4v9aeI08KWQ8uhPEZ451dsBn6JOCmjpyJxE
rDeX4k/YMnOA4jxKiF0+cVujWH46k1Yyjr4AGFCei1IKPDoHB/EMmwEVG66L3rAveX/aTWNnjtV2
rRpy+GIMvIuGWr4SxWD2NZG/Fl9GJ813RVfk7dbNZhO1ehVycsoUCymkgS8K6qnDy6eCJCe5aaLh
+Zibh7gexTbvJL8+BgBMp9SbqB+624/Sj4FHO7C0u9+ND3JRmgT+iAXvfe04LuGHUSG36WaBqcTf
quiPXAIu0EBn7P5se7q9mnWbg7q+AU+UPjkW0mK1x1triin4L1vyrq54kw5w+xuEYmDAt2E+OaQJ
yV8Co10nUDahmQX/CtyXx5RTU4Q5oVLyrtPgpfwpHufoUmEA4vbE9BCq/Ivn45HHhLW6IwtpZ1YL
gRxM30AIC5aiuTTcvMwPGFK64iKt7eizWOn+FDisW3vI3WDrbqHM9R1YS4xK/qFMrVzHYB0RLXaI
kJt+nlSCwy7+j/mMac8P6Jd5f4n/jFP2qOeR1XLl6QfBOVFA4pBn2ZPLhdQrtOesFgtLK9dy4yiM
kER3/W3OzuY+BoqW9UExS4uir3HL/XZxtkE3FpbkHWZVGBzcZMNboe34Or1gv2PBX9zv2v8I7Hdh
9zvYMm/0Di+oZUZl1n5A3p7MgcFAT93NApRb1ft1c6rEYEJxGgeaRBMOsbmYTj0rc2A3xiNVwwZx
6evsUgt9oBBjNJH4SdlKi/fbt65Bc1JxBW2oSuqVsBeie/fF3pThesQDUZSc10mMDuoyQQ3oq3kR
Xi6URCd6qCma+sFz8beixce4s0RfV6uMLsMnPDPg351G6q2ljFZJS7TMzI6ow1yNt/dLPCyFS+wk
/bhKHDH0TMhJ7SuMhvt9OL7Hg5m1W+PTaXpOcGVthXT5d74EpaKX2Gl6QKDD0z3mtZzz/HoeXe2W
snOVeldpfg6yqqyWCauP+liZsLwwjCCPpMS803phA16DStIE6wSxbOwd4JnmR9QptmyKPaOgXend
yT1SjGhc6EavWMdzAOjlT3yKLaUo+u5vgyIhXRW+VjXr2fL/l+ex6qStlHXiQVFxlVfODQRXm65/
fmitPkmAiPFgCmlLCdoMVSX/F6ySLuN2WeM9RDq4Tzg45aBE7fK4GkP7+M7L8lEIlUlUkgTGF/pl
Y6DLmHTypASdwl/G7+Nw+bd4Cx26cP50WTrdze0XhV6HNqtU76utNlttakUsOsk2d0G71DTqXNJr
Lsb0F9fn+n88jIuk3HYmNtnq0jmhwYDXpL0e/W57VNkHLzUcM7S2V1rDhboLUevn8mlvqrKYIrwF
3VbzKZ/W0j4YGaDewfTIgLqI9YYi4S6DCRTZ024qm1hrk9+vsv0bwtCNXBMEh/vyeFOWU0sW6vr9
9zNYZqPLRdjAUeqQ2p7pudaHYJjOtI8y+R8vUdgzyoxfbgUHV60U4LXyOmSh/7A2BQKVFrgR0VgE
/nYtedIxpkb65SLUr/nKAPwzZqx7HYNwlFxlOKdP+lAtNf7V/gP4hH8xEv0784gq0+xDpVKoBIj0
SSk9kc7sCQlUoo1WaFsbSS/GaFjpx3PJf9hpySpmRNOHiq1g3AehAapcokK0O8c7vpckbX+bblba
90RJemmxTlGkNT57PNvVOl9X8/PwqXybq7GjtBHeNrvePEU4ekklxajP6To00qStjlkNGBALr4KU
3a+D48x71wr64zYciYEiRuhNjZnbsMtzYgH4SS01ho66+PhJs37iXDuMcD1ePum/N//g6K7miCIw
QzRWEcC5s0fJ9X/iu+foEov4YBbEhDyC/o3FqThT3DbacPlxG+oO4lEaAxP+TFmFc+7DObN3Zt+s
83DWLkxzmz6m18lVPgMTU1TyG+iq1PlZFRh/b/3yiVnEsoiid7UY71hZozWVcDRvKsFYv/+PP1tC
Uxw1j49hLUccwysmOo7LZXwzG2Sk+uUcDU/jZosTMV4ApAyZO+2XqRiBMGDG9qkOVuZYY82pvQwx
lBsKLZtTHy6MKoiexCw+VlHFxoKNtjOCAlccuFR2u5Wk0tvIK4fs44r8FtO4XNOb1cbEYD1CRQCc
knBbzetX1uuC3UjW01OmUkuaQpBI5ao1ebicjh0ctGv/GGdsRAZbHXbDPSijFll4gUs/6vL9LbXF
db5DAFI3rQvHyJ+PqVWuWBE95PnucoFvemMYuhe1JIJ7tlfZ3Fy6rtT1TXtY8kb6DhUEa5AFfK3j
chyvpwH4AGGq8SFbPhXWvwsXaItzFAEu2O74hzk4pFo5pCy6t/ZtU9IJOEAjaWMbl9QXnvlHmoFW
8LdTnO8kF+yC5OEF4Q/Tzue3LuI7YfexUbYhD7aBfb25bpoa6aWTFAwARTwL6cY+2T3KAF6aEMlg
K3Zed+v2uq+kKax2x3xRPmUC4Tnd8QjWJaR0RR5T5+spVspdYidQhncp8gL/FkOvKMM9LsLy1z2P
VhPOs1Vfd03kGknk7HLo652nXn/deFVenjyTjNfgGLWXsw1X1fBVkRe8c1XiQPPNpQzm+1FZAxMm
as3ZckPl5e9AZLvTXqqimpJgbuZSx+EtqJ/4U85adT/JjCYslWR3eX0LCCRVw26+byRTa4/U1nHz
UWmuQfqhkm64ZPArB9tFdcz8iGW48Me5L+WbZaMhiABoEvAF64ru05o4hv1QhCOPWWnBtirb2e/y
FTRDsZR2xHI1J6yfLLqZLoqtzLwW7ydaEAgsUy5EH8pQz3XETu3QRM1+kAOEbmnS0Eordw+lct5R
k026Rsqp1U1s96SBFB+x7jSvfvscaXJUx53ox1Xpg0sb2kQt4UBLQlI7nk5E4fBHwwoBWPBJ2Yss
KpIkXGgkKG9XEW6BYIYqJ1F06jMsxL20R5jZKR6ig6reuCXvw3JWpLstovf69rge77Yn6PB9Op/o
YNWbXrHhILufd006CqcccC09ZVYTP1l00zXlyZSS3G4Vu7kBZ2BGvCY1ehFTLJuYhBa3EcfwYDVd
CvM2NFFtHHbtyG4/+scDciTr3x6IV5zoxePpiZJBWrDYrygdkFEe8P4+T/c7ZOweL3uoy/FHGMqQ
QbxjP/G4UjcgaLJEf6MnfUueQ2dRyMjwUJ55/qmM5jN74Ifa4u3YaCChAHa2ja2UYXmWvMHdVgc+
jYDbcnVT2gn6bAKmRtRh48MwDFhBnQ/7rwmCsnSf22dF17GBP87Lgpyd89sj3h6Glt5LaZnYwEcA
EV60nWRiSt5g/oUjUsb12SNUxdWOaSqjcUAVOmWFflCT8fSH2/mkHBADjWHIJHGFzokD55BgmmL5
RaXiaDausTYANO8iBPHoN+p+/jB/PXzclsNw+g67rIxcM0zAWpIZG9n1orucVTlg+HaGq/g2frL2
OliJ4cpFgPH1elZvgAgATu+AMslmowcSsuA030ETsKZ4wpbRmG/jT/zgOF0JRqv0z+7E3vTjMEPf
kOP5VB66eJvVrpY+/sdjuN4JQkq1NGZd8X53fSX1bL8dIZIBWxPvnd0XrHM10KauwDx46N7HRemy
1/uOlpBIsO/ROt34igupV/z5iixVRiNAiSS8XBczVHyQVmqneZo+8D8G++kG7VVmrA+eh6P5x4hs
QS9HOxogDbGFSW2BRefjdBp/NyzjH409dQWzKBY3wFH6dRRcpBEMa+NNy8KkMh4sx1FqP0q/4jKW
z+t9+EmN3LWFdOvHDNxidvL+x3j5HH7Y+F+1h8LhD3EhyCTRO013wFXGT88LbNWvwJ9F/SHfc5fM
qo2MV/EvWevjCrwvVxADdYlGZZiX8sdwOY0fyoT7Ouw5nq9F5MfhdifYNygbrAHTOqx3vdRh/WO4
ABrT3PZxMQNq7d476fLcp7/eZ+1n+zbsD27JUS5wQ6jSzhbZGSPHNZhQ73Autawfjx/AyWN052H8
OYAPrCykedoIeyxQF41foMPmKwgwJrpEsonQjNWmmRBKBgay7WoM3DtH7BobL7mGzy0eBJlkfYQC
J6FeA/w2X7/F/Wg5Dsc2OBhfIdTl4PfRoay44jR8qM7Vz18C5AEFS+zCsLgYqlNxykrlQebhj9gP
xKO/jMvvn1HXjfv7efwBZJG6QQ2D2uBthWoUrZPKhwOg2+j1BD0q75S7W2Lj9HUubUFYwcSqF+gv
aLMjDj3Mzr716xmtMFhbXuhqsxTOHphcwyZXPyN5za5Z7kBd2qw3h7PJVhORKjPsGNFvCyYi/vHD
VkPvw8lMQiN2zjymEAdgKR2UJhIcFy9Zc+WUkUhUdcLYpV9YgAl09URvtv2s7xkby9PAbueZJAq0
TYQmSm1Wzq61B2/SCNDbLXlSRSYduAVcjj9AEuOxmszj0Nfdbhwk93Zm1a1ma8wFuxldsU5pjvWv
zTxUEgUIAdlbRPar7e8XlC+oM+2aOlCB4tm5YW0pjHpXsl7cOvxyDTPhFqDBefwMC2qia28rSX7d
1YPgV/w46166PL5N2spxdHJ8EArqGxZZ5qLAf39zVwkwqzbwaGzSWSs9xPEySVy8XqZ4o630U6fW
MkVRQby6sh1JedIo/bhZJNbmBtEpon9JM0rMpS0lWQh7rbktj+9NKx2e1Xq+ASgR8STAEKhe2rgw
vMPGwLU0e/UtPqM+1OMF3+CVxyCtN7uc7Y9P/PFW7EXc/KhCEcy3VQcvDKW+aE94VojaUrTE+rgl
1nnrwpOiTIAjNY+/pcGZrntw5nhlW2mPLdoiUE7G6wBxGo7vY/yBakJB9G1YsOIDnlGPrk+KkKuu
Wa8rrziGt8HS5Ok2X6h3V7SiMKX4PBpJbdiSBCwsjH7aiPYWtv/Dhth3Z06uchyX4lZaCfgU5hJg
YTHyTka/7zrpe2fhugJbVdN0/ES8Qmalx8bJsf1c45rT7yZDU+hvaxwFh29rI63MKoqkDs4LSWhV
qyqu9MQHyz52K8OfrQR5fQXynemq3Cd2ZC2OSfJTtW3TNnX0u7yTpI5+1jgM82Dk/n6fPpCPKq5/
O0ns/cbMyj5UoUNgK4CNJXJfnR/dsqvLqMv4pC3j2psZEMiYxt9XJCrcPCI07D53xdUNrgq9lsp8
XM/f69NfpbyqvirEF/TZqwJGSu+5riXUcT+rkOwFYyIbs3i0NtU3vIXRIYq4R3/2S1sbYeu2cbXx
a6q4ZqID+nWaPuI6ismezxCQ2GKwgOha4pZ1ES6tt5BaSyLOsFabGnWlchefWvEpwOIn6G50Ho6g
8Y5x3132TeUrkcevhN9slpGgK4GPSdzM3Fh0HZP3xeqElLbtq0a0VVehXk/dA7jjctzEfaBdhjMf
gDHCBKp/Z+wia6QL8dSFZtPVKq7+OumsreIKNcyvcfq2zBN9bDbJ1VZjh5GkAVSLt/3l8fbr2Txp
h7LO+nhAJDQZAj+Av/HL4Xs8apVJmpa5ycD38lWvqRFjB3ZzH1hDrHtMVZYUZSKGIidKkeNW0jgs
6PQe390iNKYaJaywV5I76bBXcUOJ0UDWaJH10vtv47QYmcBtTkRSuzx0TmwPMmj1OVovPRFhahvl
jQ6l7z1+zr0Y0nPS3xZl3BJjkovprzZp/6v+RJc3gV5wndHNcZyvDx7ESMTuHAHE1gZYBYdGUfC8
KCqVdLdt9YkF8qzummKRdLU/JvAhq3zrocdtB9G/c7YM7a15Y5PMHPjA1mpwHBmqwpHjF6CUpnUc
rt+BzfFx/yNQQf1+uA9xySnCd7p5NtI0SemLTpL8jWbYE2hsJeNMihAgAeQHynHKLW9Lvz8M3LgN
Xr9Mp0/MbgxxAWhzKYIR5IdIVdiSN6eC4hGDXPIH/y8Y9B3X816+bMwmKZ6OOGL9PHPhdlAfJOM0
BeNZLuM97hUVfh4I28nCuAp6Zz5qG9+oNtyo3mekmJMIGHS+WfGEBFsfe8soVmjc5sdpsi/yEo+x
leG7U25qU1Urhx08AwDRRqSIpfGdqCTBCQC7yivD7vsz38D56uUjHfJqJDHj1tIXjKROfCYit4vP
kXAuqakWkpocZ6grTZ4XS6lg807SIZ4H00kczSS68a1oIqgZu5QP2fLERbNxlTAToj6rTDkG4NZX
f6nISYrC6NF6YmlQzwTsMjkkCKkEneyGOKIdZ09+Tb92vWTCeNX/rsTqWHaK5dZlF7iLu8As6O2x
yatB1xRtFze4W0lJXY1JjMEtdzLmwiKExbpZxtSz0bf/H23/2iS5jaQJo//lfD0WbQQJ3j6q1d0z
slVfXkmzM1/WypgZzEx2RUZkx6WqUq/tfz90B0A4GO4OptRnbbZalZUAAYfD4dfHlcRRJHjDHb0Q
blAf7oAMF3QqHylwfH2EKH+c4yy7Ldqq5IIn7uqD4wk9z7rfgLzQsSPawj3rRs+y47iQ0gNgYMTb
8jm62TSBmg31R192BIJHtnoGIEFEh55/4rGB3JIv8pI78h6RrFjirtufHm+uEWSGNVr2LgqKWP75
bivLqROo5DpYUSf79uNB01JXb01JuOOMJPKe5o2swmvzhwn859eX2+uDHs/qS8O9ogt6NiQVOIpt
32LXpk6iinM+0JfvA4HbgrMsQZWbHncE3FhzxFrOKZcohSqmMOqDKz9at3Jk7KcLMddxUtmXUXHy
MUXEuzjzJcDy5p2GvLG6BKXjnb2E7g+qd61bW+UUwgRPz/ucdSOv7XgnHQJo45soC4Z+pXQ0mi+3
kF+yPt1InUBJOiGwKESx0U3G+diwksE7vrnIu1eQZN3WsrrtKrdgS1IBiR129y933fSKI5KPEm7I
/vOIV5uS/9IFliv82FnSjNdxp2ZVEeoTgza50dALbkviA3VoxLebPnEzX0jJrfh+tbLjFZ7B+0c8
ZwS3TctqOJiyFb3SaIN6D9JhHL6MF1ePrNyoOC/4hCzPYyoEB3JYr/qAAGhPPrmOS4MMMMSemZ4P
0/VRcegW3OnPCto8B4CAeOhxIDWWXmJq/8wTPy8agFw5h9o365iKuq9tK3ltfWpRNETenTU26tkE
nFU+Z4YyXcNSBnlRltDs63jnRNtV8vvK3gBvAS2i0EnaD7hOOm4vkA5McdwRRAt9YLLTpGWvOLE0
s48r1QPjDvmnqJFfojqVzEXqPJGdJjXrXI+xjy8yO1pO1Qhc5bJhFK7sGtZzSOiPrCGCUaB8tHxO
zeH+cdyWf9l1JWe1+XcDYy/eva6nT1A1LNpcAImwYKu7rkgy45fpZa+iSx5b5oz/ugHmLlG3wKrM
VgKwro2QJpDTVNu61VMi7nQTWaVkrT+PmXF6cwKWsMLpcJIjgYXhfe3DebZDn6ZxthGUEk+coeCe
Ds85pFvahnQmyyXNJdnvGzStriy5KCAXgJaFL5vw4Asq0FsCQG2hsUDSpV0zg1kPSWSBLZHFvmFD
eknurgLjjIpex8k7Sh/V+G57zlfstKA7pWqMvTS/nk+AwjXfF3SsOytTcya2JAESNGDbMXEgar1u
iQmZSigd4CMRlcxlHReJIIcJ/3XQ7M2WTQ2Y9SKPMu6AnuSIgWEd3Ivm/+U5WPJb7ErqKgA917RF
Mp3jqf2GV6BR/K7TccmrynjXWbNLrUSSTWbyvlMsgzS8oaRwVJxYyiQay3pPS/QNrlYokmr9o2yU
jmTTEwy++Y5hFppTSlwRrKyr2o57PF1ozKd05I3duuVkROie8jodvRMyI6lo2hZWr/bFlkCdvCzW
jkY1lTyY2OtIPj3WCFQqRWTtteRmug8Caan5fcvaJzTj8OORLVbAp8ly2YBiy/lh1gztdEP5+Etu
khDRArUmJ9XWpUZa3qGVDYSKK1xIXLv78/AMKtwo4TSjXlqkKb2VGpGchV14CXI5S71sX+Lxu9OX
tZ1KVpiC6JHBq4rYF4YvnzrRDl/ybRAKMGj82/nlZX2B+EarxaW41kTPhw2aaM0VvLwOn0kk9Yhw
vao/jPjtUDVu+Bqpz+P7w2k477M+d7ZW9V5g6BpQy2r88YR+niXyT5ncNJJDTcKQTgfcj1+mx1kD
xJpFgFleYrVOUKvV8EVsVbjiZiGQqEfIu4INqgx7aglktlrK6m6Ix0ATam9Ieo/f4/n2pDBq5AsL
7nTb25Vq+3hQEod6UqedeNpIlH0WSEosuk9M7Cq2Xbtsjy516wROmqB4/Xqaj+ZyCTNl6dxbVpt1
8hB7hCAc2nEc95ecJ3sdSWu1esC8W7Xjgv7kwb+7gLKMq1luFMLJu3UKtlw00+u+hVBymnm0G9ad
FoLHFwD4uVxPb5ds6mrP+i5t29qqtvIuSH4CojiX7dqjhkW82c/bSs5AP/vGfZtCug1XjhGKszaW
9JO6KqhK8p1go9e66pSMDYX1fifwQU+r/dvFEL6zFbIlOR1NK4n5kESfXlo+yDKWrc2TfcpGftxY
Fn7A9nq7y9vtPJ1ui1B60ZioZvOg0szg3NmTJGN8dSvu/H67vddbNiLiZCbqjtNhur7LctJmqgBO
6A+BaFkmm7rhq/ai0SibZF3KPREbZH7YB8Qz9jF8mQw1n+We9NDMyYyKrRO5D7fI4YwyNS694Uys
VETyVN6ZOl8PQW25jTURpuTSXESHl8wskUBYe2QUU6qWTSnLKY73LyB2K5PlBYu2wq9F9uBVJVdO
xpYAYFGN7GCquGxO/07weqv8XLB5Nc7nnJrzgxYkaGurc5NvzKAa4D3NSSZNtWj1CQ57OJ8+Q2L5
fjzN2sLby+7yOoAnZBCg+wBwK4BFwQMNdYumILBAM81mjWPwoYyLAFoDW/RpFTANQjy5p2M8Ph+m
ywvYemIQDBcRRxNFGh9QF2O67AYH1PYAT9AwL0vekRdDOFkUZd7pBdrG22x3SIYP7KWIE5CzJxN4
rxnk9p2eT8dVF9rL7l+36fz5Is9fxwXeRWr209mzRriEylKbPhKO3EDyWBNzW5zER/pwPfUq8Bp8
hc64wo3JPFCniyFuvaQU/+18mrU+z1WgUAsixsaWKjgn7VWvzCnO5R39y1zNXaB4A7G6gju8+xTS
w/gMiFpyKgVyguV290RLni+7+1aWin8CmYLsM6ojNAQY6wpHLdfaRpQa3G/0Q3NEO5xlypMrGZ+b
fw5vwyzmR/ckJwJa3lu3zAQeYA+ZI1EMljnunxVh0cX5iPEcrt5fTud/nCR1BVmeJTXGa+dHXPls
m1w5b9KkBNnAjW1RcPdfIgcKmAw94klBimNttIUpJ97HeUiavTOJpl/hmhDpCUwtL6kpUnnuMxQ9
1u/r7arf+q7ihhMRuY3xGsNR2r9O8vlUZBS2BuupUowhjk1ip60+ctCqeoPHQ3YTTfN4zO699kj6
TqsAjGF5vsjPBjxppk+Ufwx9XrZtlKgCMSq+jEwC7FobCBt9hovssve033b4reGuOX+Imhgs02nc
If6v22XY/XX4fANQFZIvgpWespYTBVeLeBMeemC7miIz7UobM4TVl7CaPJpsslyS3TmVRKFUU6Yq
WJOok/MLpquTdXrud5RZlMpg8KjlWLgrIrATSJCnQBHdPYiPRcVtyiWyn3P69YqqdUKQh2uGIHaD
9PBX63W2b+cfzOfjq/RltxPefLKwFr28DYnLOwMJeQ6DZ8oam5qjjlauiVeKCB4H0x3Q91dpXLCE
yAEy8xtWzvtavvHLeHD3XXmuGk5BRI2V6PYb1NWm4wiyOjQU0x89Ml6lA/4jl1MKqNnYSGwlyGho
7yMaJpmMpAKdnnEuL8R8Zz4xHIN31BC5BYKrKNN1QRQMeXypY5DZoEufIZPOhID7X16v3xzUPnDW
bnyVt0iYqkTUfZPhirxh1HIveLrAJ62/iI31cCtBSWFDtj2PHScc06oRH+gLRyATPu6L+Ok96OOk
FKzi4MhKmLPaMyHL7ZzZ9DWrOiYOTcyjmmhrJk0BsNyhCUqSNk/N7dN72gLkrRaew91Z9vBXPqRZ
JqiaXxflPzgj+i731srXt+PEUuRoV1slpxzbGIFzggk7J3lfWWg+cBnP08yPv0KqMehA34SZ6prV
QAJ0g/NKHk87LF2QllM17Hl/ez28XK9voTcG6WLh+g5D7Skp6xRJT3xuxLfoukuN+x+O19OfQmWo
7JuGmq+SXSYkVhzn4Wd4FobDvNblr28D7P+qPMyWPswwvwnJ9Q//fNw9TLMOOs5q6X53lLKqsKqO
9cSdMQIJWeiaQlFXJnWuWN/9wJHkdp5mUTALuePhXZqipMqNiZXLrqboNOzx3k9DrMAFBVvcTlXF
6cDn1njf0RGm2p3eRpGvLbmrpBkS/PYs4kEBDfkKQ0g3Q0gvzIFExfQm+hAr3rQ8jE/E4zTz5eEq
yiNb1ekTHnLyT0d3z3a/7mSIMeufa0rouD+yuQDA93fMrb8g6+x/gEoC1ctWdSsnaWj4NMyPr4u8
hEC/Nk1N5FPa1SSw8j7eNjEbzpJuGW2SK7iMnl4hjfZvQDa9m5Ul/VpSMUUoj7w1661qN0wYSTxr
xAdf2VmhF8dU8djQURvQ767/OE+v2JDlf4PgEElK5CN4R3zf9OfHnTHiaVrWvoTfRgDv6QHsuev7
26iI5Y6TDM/j9c8uR/7yx/dfhue/uVs+Xyn8L2xGovjiq5pIvBg9/89f/vqjY1g/ue9cRLgaWuHs
nvF/2MlB9whPSd8nrzXEZX2pibvwokR0k7TLJMTf7CfIDG3iUFLV+BYU1+sJaK6Mr+N4L2WS5935
tB+Gs0swmpXizDVqiKOBpIMu12iecHrTbg5rjXsj2F2YhZ8uMx+cPt/efPx9vxNRlkAaUkUmert9
v+i3ww3cKJBKdUGFHwgg86olzvyqQEtkKXiaVTwveaAlKlwADQAC7ziZLEZIHy+XUFY8U08kmKWO
VFTQqkUCzgrBBbKSvXIl3pGi4AIecEeCqoKjPK3wIbtg7zhXLCwqC1Dn5l3OTdqVfeGHQYiYwFDv
jm/S9p/4mB/coyoNtQUZGlUUfJpclduS6IYCRF59zS3hNpvSs2SQEgJwAVW6AMfHLl4XcUbk4TYO
j+L0GUqrSIM5gBt8nqWUfgBlegAmUjFSAYh5kVfTcKtZzhB0pPkOzsrb0amk8ol2caIojOOxyJtY
rcBHwydoNPisHYOJ4+KbMjzCI/hn5VriYldn3yyy3VVGn3C3016937iIIk4U/dRRJL6Nj/MFzYkd
JAOZyeV33Ol0LsqNvmR5Zw23IEdNlalL7hSQIWcb+YLPsnOT+AQ+U3RVK+8mHg6RyOF+b+VNwlIR
6vdluPwFDykuTtazcC0VN427JbqkYSVE+L78vXjBSZLxwhPuPZKHd73M10tNIe5dmSMuoUFVkT6I
D+8oVXa34+fj6evRA+JkOL3qO25ZqynBoN7LUxDJ7TWa8JwRk1xWIIhNBsGYxosY6FoEbQ33w3XQ
VW7blZzVE7VYp4VAwTSkbmr9BdHxXnB+VHhb/4h5l4n+6REjJZUNT41cmqhxotjFX9ffpaor70T5
/3Ua1rwXWNXu+HB5k30SBWckIXOg9MG31XmF4T81N4KhBmBkFlR7Tq/oBRDyCVHtYd3T1+HBW9iH
4VXcRU29IA0tyHGD9+PTAL8uj+/SYMLiqh+JsQPKFxgm30TOaFM+K0Mi/jliC/gWSEhQJDCqusNB
tt0azuk7s+z5/Yo+Bwj1y40PQRssV5H9ZtEnZ4l0hXL305N8/WrBiPOi4/Lwfh2egS+O8yOFSefw
l8vb8KiZhgVHKmDX72Y+oVcI82KnC/Qf8s80Xv236znzALQr0VU7uQPf+MtsVtBvYHFSgBIYr19H
sIy85L7ItpbX1Pt1Z+bQxhWzijFJRZmjjHMA65kyGtqY+epFPzLyuM/arz7PvU97aw6Xy+kRMKwX
iX8JlxovyNKwdvc0TEIXbpzedxpZWbbLnMeTgwrQXKpumUU0s+OFW17L/Ygv37A427CJsXzebm39
MifmLP2WrRtletaoH/Yz3+z0hr9uODHsu9hlGSyuRcK4QshwezLuNuo0jZDe3prwJZT/Pe8RKuT0
iaoNTkFwPUB5PkaWZBegTfOtmuVa/3B8u13pncM22svW2RmhM67PB2rS6MkEs+02TuFzg5vUYeSn
cFWtSjc6nKGJM0SVkJnBife9PFEdJ6IYCDARhpjn3xfeehzexuHtOj8mspF83DCJJZsh3U2Qlhh6
eBDkCx5HEQfTBk5vWF+CQRvZYMQtlCkFLJnAZfgMByXLAqeo4hTREt/fAB4OziCIzKOoLOMsBUeG
x5cRm7x4FGvnCj/J9LBtSg/KGaD1bWHPjmNPNABBa4CZwqpkQEdcS79MROqtnSWZzCPP0KWUpewZ
1pDhUMNxqJvBezjc26iABeA8PVlJg8bx/4lqrb8rV1FrsiRCnTSCW+TZfGlf32aRNis/crSETeBY
Ccb9CHJxUGqPMPhDImzQk9ysTJCoMsELL9rsqGWWaXykW7Rs7FNxvs365dPtiKuTraq65KIs8yIu
mLoPrY6dr3IPZt7wOK/scpIjU5ZNdHQOCDws7wt5h6dyesY0ofkAru8Z3bWmQRza2iyElx/3UmsG
jC4bzrr509//+udvjyPqe+4tgtZOWKkt366i5zh78ch7+Bp5eJcOdwT6M1iey1rkwTX3CP4EtuWG
wVHeY4qwY73/+cdwfdkwuE2lZOFuoWuKESNpwDPILkqah6kqLo5OrlIMNEKwV3Qf4tVkTc1gsZ4H
CPKfx6cRGuqOxNCSM31su5mFS5lba47fQP/5z9n6peoPzPjDEX5ayeK4St/K2KbAjTTySCKG4zpe
wAJHQ8pZoS8zhZxclycqOK6PS6jlkUTViRZeHFnKI0tuJC5eX2wVrygG2+vVJ638SXun4OFjc3E2
QlEY2YHSc3HSv4VasVkdf8ZLoibQw0drr+q2aejP5xlefAxKHu6fTBhOkpWmy58B/u9vkvfYfbmK
X6b67XQFN7ZLSlFGl8voql9SyY6QkooiGt99WU67Oeq4gqhHeb8NMYncmxHi9cp8RZyPAmr5NSkD
mzgwSoH5xQAK/uRECEpt5SC6eBCx1iWc/+7hcDsr37eRmL5KU8w2ArQc5e20Zcu51IidMGAw8QiZ
u19m7aWUXVska5h4oWImhjM3f4GH0HX9+lMmq6ps2TC+c8UClP+BmjSyI4lkolWg01R1eFZenRFw
ui7uiD/rYduSz0lONSunFP0E/6kYjXjshksln2f7ZWbfMZMmUlIHWYVWuS/tOZ+H9yXCFPSyC7RA
uB1me+F55nHntZU92HRuu/JkHF2VH56D/Fia2nKVGo/zt+erslhgkdX+6dx2IoOVlFdJ0v74NjMT
ejmnV3DN+4lDwhQmvDtk/69HjyZ1fZl1sqt2MWqSJ4zc3PqynC+Dy2bA+pDLQYsp0Ky3ftXxLsdn
VSNpCb9A/u1Pp69UU3BX//sRAcScPFTlH8SwqoKLYcWZ5IGGCwgC7oscsCtJQoBP3/Vnd0AvFp6P
l1WyC760bPDA44zHOJqaAmM95uH9LV4gLL6MmL//li3eqm3LTeQzOPzCZAOrYRl6f3oFTp4Njte3
3aS6WzCPo+Z0UqfJOmwQ3//AqanIfooKXtPE7fg0/c9ff/w5GFTn3bfXQ3xwRQFgO85p+Musay3q
bZBJIIJfhi9jTpzj+9ca7v3F6Ui0UBkfH35SFuJ58b9fTofxF8m35N7fjvv+5W227jMD+3RgR45K
GdXeaV5aepQe5yxYzl/5K2YWeXwRm7TbmCaBzsYWYF3cTlyRG8lUVfwvdcU+MT+D2fHzyzg6Jnl+
TKNi89uo6JpFzD1aIYHN8+AEMPHu6xnaEJ75l6aIiTwIX2GXdo1LOrgrD3BTzYorwIaEKcVVtRyI
RTrj7m0Sl1T1bDOdOAGuZn7hfMxQXkiZNt0yhAeTnRFVZkHJVLsR2KLhMK5myu/Hx8Nwdqqtnwlm
l9fYpeSvw0S4pgVu0NP8Ii8o7rVDwBae6LtSIbvlzu35ccs+LMUBJ7jtkcaX99eH00HxQhfRv7JG
WQ8q5wLiLpKT9GgjBeAi66D5L5+NSSHtO46mpTy84ngkHS4PZnshxsOIlJWJaTgQGPSnxmN5eD8q
ALO2sOpVJJyxXTwUHD5buJV4zr/lQtZ3OGS+Sw74bolnWRIYNl7GVZ5osN3+4n0XOHLRwBaPRvY9
bmLuQWfWZ+JV3D++/7BXRptldCCds+O9nu7b9EK9NGree5efmyvpsR2bfjAGdyhG2dFFTc1ROb/C
cFT0TQWWCr9LxuSrqUpFAc4PmJok63Tx61iv1ko6Iv6314Q06tS0gJrI+uTM8PQxY+pRjnoQK5FE
+R+Ht6tbUZp4JRusHRvNmS3NHwCm9zVgJ7mUq8T94JxPt4ur81LzsNqYSIWVWjY4qNMJiS/qfJYn
i3YU+AHqipkKvSXqJDGFkWjrU7JnCGQdr1LoCWdpuXxttxSaEe4TYMA6AmNCno9kMpP6HFJOp5O5
SfIkvZuSWU5mFfdZmsRbOp7/poi9sqw57RQjpVgP9DCCiut6Wi+C9HWEkshnOSTBglfglqYvSUYT
1OluSu2r7ozx/0tyPFwoFAP3WncwGxXMFVYXVrENSWHkLEyHJXoo38eSu9drZ41LBgug3gFI5gjh
6CUTZ4uzpuSqgw/j8Rky7+PxDFgfLDtsWq46LXULJMV4spxm69xiORkcuWyjVVy4wJvv3tlxwYYr
8+GCxYnZ8GL5LMUYIO2p7qt9dHutIcyL5eBLoPQfUHFy9lHb3ZfhPGm2oyGll+Qp/G4+JV8WvFZN
HMyp42jRTLZ9DA+QSLzzfvpsruAaJH3X5Pm6aKxjnadHLnF6V3SEKguyXMTEubqw4nnnGRS7Yyjz
lGmcoqaN5qc9BkKBYI5WcmqNmyz6PiBuZ0uajTh4gqNJ4UiGE89Hkpu24lwidK+5TZo7aqOz6DyO
/z0cPo+ON67nYebbC+BajGIoHSSANWzyIDitAe4WruCPw+X6PSzwp8xURZemSwbs5MPVe5K/KmPb
tFSvWJjyzZWVummUCWJKIGbLLYC0ng6Xz9ObQoUySSiM7ZXI6N3r6aIRkiSLxqhbIOTPzmW70PJn
dTlFn1DSLyee8e7xdobrJT7MbpY6PVof/mIUJ7Rps1GmioWCCvbBJywH+YRl9koFY8+5Opd4nlNi
vb4d4nSq2RVyz1YBADRdoqfOF15rGb/ovmIR4L69Hi7RpRvTZZZk8d2o5n4g7gGLxfQf4ylUBTm7
cLrM79YRK8ZdgcpuOGDRt2zW+bcYzboCikrnP31yw6w5gE2NCDS7r2IpH07TFKl1GIJQp/N+Og7g
L4V6uvMTKOs533MTcQNWtuosMod3sMrH8+s0P4OY83WcXHVqLGryMBPa9HVcrksX96mXN3zH5IE+
st+ZVe/Cme/OA/Qjh4IVZXgVh0c5FfvAyglYbnikCpEz99RwWPl4ZBqRa+IQoA76sJk8NWpuPfjd
f4Q93Y7Tv6QnrYlV0t26Xg6ZTxlWcmt/Hb5Nr7fXndRGCYfaihu6pLZfTyhBQmDpm7KIihAwOh4Z
Lp3nPn0dFe+KR6d2DInSrRfO1t/obdfStim/+dCod6CFI9JUPnT9NHGb/VJPl2F1W3Ksfi+iFJqQ
uwaPsvGvck4URVKSmlyIfI3H0+35JQMx4Ra/Ysr2jkWCgzDLI75bH0xFavY/IKus5QhJjn9J5J00
8F1H0nsnniZWlYkawq81Mq0XHrid/+c23mZJ9pfT+T8xE/0f6oWsI5ditnSZUlt/Hh2RW+7Mx6OM
3u9IW3Cy56uv1DicLmOOoA2hA4QhjAdgY57ij1A38gymahryJGO8WlkQ+8LM3I9+AGds3BB+RyEL
Pdw+vo6yMMq+FDbeZdrbz6sYs2J0UrbEMm24xQrwiWONeJUxJa6kD/02KVqT4yD5A6KY/7A2UvGX
6QMcUxvuJZbftFIhWDwqjAomTux0FnBl4DOwpTDMrbPhpKHMWLlHpuPUzqjBfISClhP5fneb3lpy
BN4X5TENvgsK799+9lmT2aSOumHhobDecgn/LJAAS36PXnvdcJBVSwyJlPlhceess18xPU4OttB8
W1Iw6QUo4jCpS2pImgRJADgOXyaPCenwUKb9OD49iS1pbawLW7kmU3r5dSGkRoZUbEbk86PQ08NG
k2KVNOVEf1AWSD2mCn5WVUbKZP5xujjX9eJA0rNIGlIJBA4fu3QnRN8aOkd8NBqiYqL3CDPSYhkv
Aaqu27Iu6s5RdHd5nF/d83QSYtM4DYuQIUxTydO0d0XF9y423NbFASyFonFpQkuq/6MPaKFzjDYt
35B0koYUtaUIJ1jD//AOqlpotalGSBuShJ9mEC7rwild/OCixwsakl6/eijAqfQ3dCCC/x2QjVzt
hjpVwR3Asi4XU59fniBh5Ik6dSLcYET4k6epOb6S16OwqG3TqVqNRY3MonFFJMEmITa44TO3rmdx
fShbesfUBpSbpTJRIFKktYZ7tBSupu9uOouLU+gHX/GRw8vFe+88MqCc/oOx2IILSYfs6afpWwCc
I/HinMfNtjUHpD+/APPLeAX4r1zya7AhYQYImnexAPvH6fiZRiGxDuh0lHUdrFqvzR2cnGs9BWPx
rX0YnyDjHPsLihq+m6vifO1ArREMyhBBViYgzvr4QJHFKMAFdcltJPRay5TpOsiCjkNWoGRc5w5i
z9zxG6Y3BK5SVljw5AF84FdofwXi9n0HzVzxo/iF8GUtRcXN3nPoBdnZ8YizkzcFN7nz+My/e7qd
HzWsSEdeFl5BJe9CWsSs+witbc+Fbihbr7+VPT2buSjK0DrdeQJX+3iCdA8PHHnRFnCPL4FGzhHR
c8l2Hk83DZmjbjkATDjFw2yKAVAegmBm8S4acxeewhs3XAelurmkhUZR3UMzcEkxcaFHiGhrwJXW
sto5llnMZuQaZ8a9iqETo/wwlndoTfev0ILbLEv6hsugiPgn09kbbbHESi0XovXlJB6N6XHfe+t7
r9TliJkeVWqTLDWJMzuAvAfOAgs8lzRRGlqLBlzue0C/To/Qd/Py2R+vfJolB828vIhyYQlpKUIE
yyp8t4B/4WWfyT+TPs1NV0032yt1Gm6CDGZobXouJRG0kgBC8YuCwl0SU5Qoj0llh1zL0UuZS3+d
zyQBSpr/DvoNiCYNJYQULhfLXnBwJg6Ho+8hQgJeFYGVzzkzKpqPReLj6JKcjhBRng2O1+nogoRf
MO/AJzCJh0TamJnCuD87CoG0/WpVpP0hqVb2ia2rZEufwamLXay7YLmIrR5VAjCY/cg2ZfB5QLNB
4/0aAElyU0oNS+4QvIJ9l1Is56/1nJ8DA+b4xC7Uj+6kh/Fl+DLNWgO2V72BVx2gfGWEDpNi9rar
Ytl5s8fHAVwfIs4rbpiti4rouFvZo6Q9LCLlIv0j8kQoAt1RhOhQfPUw/9d00MCKGzFvEasREzjD
8XDwXT0zGnMRMz1XnbIdL/40s86masYi5kEupQE+FDicQWF9nPbVrqnRujq/yZO0fdrctQzoEz+/
DUd5VMu2mv/jaT8pZUpdzX3LW5dnuR1uAHNcVR8kO22yO+2KlO40jfn74U3roxtA80I9it/vrIq8
+8YywAK+Xx3poXY6nOT6h45tLe6m24oJVESQ21Ub5LPU07CIeGS0/7IoD4+nzCNfsmW7KebIctGd
40efkKbuRMA60pfAeRLkXNKSrXSFgp/bNde2o+64HOjnRxndJOQLrAiwBAScbJITcNm+Dojbj9A5
VNAA8qGvI71cFUy+pkoT2Dra0xrhFzW1y01R3tmdBOL2I5hVDcHKAWPe1MT1BjVtLq1Tht9qCMwP
KSkbPZTYLPQd6q0K79Z0HPSL89I4y9abOX6eb+JEERMFu/E2XQKwP1yUVAocT3CHMPPTpSY7X9iL
+58NgHM9i8zi347/PY2yydE0HId7tXY8r/RakkKs4opawyLRuxlo40e5Xp5OgNhmPZkCqjBeb69K
uX3F1XMkO5DHlhwodrp7secCbr7jUPDdBKGH9UUCWGliDySWeliAIX+6kdDb/efzfuiSjSW54b4t
2GNoL+0QAOWpag4owU0F5YDDGXB1ITV6ZnSlPCek8bJrgsR92KCKwR+w7hxJgTK2vduXvA9SjhOT
PFOOcAA+6HTRr0Zp7qC+7yabjaxhglDkMWBm6rsrY8AHLnTDLfB1OH++vckE6uUb4xvdv2soRzhH
fQdywZ732VXAzLJ2/DJItXE44aq4K0TuJ8jhGI7jbLIc3n8any+gW4z7X8Bu/ct0Hv8uvkE24gks
AA9t9P8PD+MhCQDADzCp4nySAUFMPFKSXuyAmHEGeWSRRjYb0k9FH1mQ80I+8oy0VSuwzZ1D9f/m
bH9wITsX4NtwvioQbzRKX+DVLyiAy6wqHyIEjOuyQjPV/werg77JCfBEHYnyEX8/xJJxrcET4qKl
36TZKm427Kd3xmAZQiOrfty+5xzbbkEoGLB2ye93WaKiW7iFrdzloStQwKyHEj5FaesbblEB9FiD
DnDDI5FJ5t7j++NBi1D0bPxqqRpUBhbpKYTNAhiPBiPjBrPRgYVSysA2jZb5sAJlxt2SjqFUZBRs
Q6ps9YUbbDiSEQvHq+pXf200OliuWCbWbG6fqeu5QB5zKXZKPLHvuGMJFXyz/XWYvkAyk19ODru8
j4RC2DffTvPXEzg9XY0iRli1tqwNxUIr+tjD6n/++uN/Xq9vP9FGmIOCXWQqth1CChOEVcdKRy1j
WSxMiGcN17/Cif18PU+PChob26h68Ut9fzqswjdY3+K9Cnus+nb9sA/u77LPo+bxGciEm6eyd3Ae
ocWnQwZfVJYp5xygLSkqmgtgCjn6b7haIKyIPL0vfR2xpe5p94DdSnIwdCxABAFh1qAxSTN16gYj
t19xgNqC7Su6esOv2MRuZF50GaPV0Ae8wj/rhTdv1wXoBJUBj/kqcymLTwzHJLtRKjZpD1UqL0DG
/XRVMZrKjnPaLh1bZJcT25Ixvdm+gr+Ub7Zhoc1cZPcjuUHIYWyF3sNhOH7exVdO7rnCdm/HbEtQ
k1w+/cP77k9//6vc+68mHYYq+KNewpykY/DSlFCLm5S02UrEFlyBcIXq9aWvjgzGxd6CGEY4jM/D
47vzwCo9i+IsyAGFJ/LtvJXjTNuzfRwfQbSBoMzdlKprOZb1YaT96RVSCzKJuxQGpI2OE6eMLhl2
QQdd8q3k9tONKaXAEsWl9n0f5a1VArYAhPJ0VQ0BBYyORnM87QLig4tIe/AbtatHWXHu1jAUmwKc
x/NNCSUK73ds2YVR//O011Ax1rCO9dJ7CFKNHORIJjRe9pUgY1tZxvYs1njsqrcHGKjpUQGlwkae
daoIxUdY9pLT/p0E9IYig3qPyulwez3Kpcsi5VZdQAO0hkw/FlhofkNRF0N0Dri7g9oxwBY1h3iK
3ROROS/nx93XlwmKT25HBPhfLoAuMus1TJAVWBU0mCeZXyuOXrp5hrgtbD+F2E5k2svow0XLRXtX
sI274cswHXIdIkw8JLDcel8lNwH0A0LRyC9oz298cpwGqrDSnBTZnA0kJSQgNQSaA6paA/PH1reX
l1nt+8/5UVaaUrBazd/PE4Pw5BN3TvEflT7GEEloi7sODAQBJujlWLT0OLMdvIlnGQG5tqzMj0J7
5nroPqf2ZWN7cLiq/9chdkF2t8onf4BrOocPZ2OXnEVoRuR+JwDBRzIrSNg+0Scq6fBkBDONoFER
1GiXoS6rjaTlSApn5c2B/1H0PFtYrjiFdh329o2cUMEqmlGKxoQGEW2nZlFNF9ZZoDdOxywEXWUq
NjNm8YAt2Y7hdRRJY9hIrmv9hb//drpc/+o7uzhxiuk3SplbDdpWz0HTLAANofbu8nh6k7Ffgk+i
Td0288Wazkt8FW06ZYoIH0PK95Z6r1U5mt76Bie0BGM4NuOZTZa/InjB/vuffwaA94tbnW8FtUBW
uYzcbzKmbx8xfSlI7eH0AKzxhmmGasmMm4WQPwpSv2s40dCrBxHhld3WFUe++d3+xR+lBwTJNlVo
TJOeZUOX5JJUosG3+/ainGkVF0XCKbRWzgu5+fFz/6UcZ5P2jkgMi6Vpi8NhhI0eNaiphnbhiE+6
ny0cm1d5Fit3fBz3Yispt+GIK02edz+t9zWBwYqCOAMWgMskiFjdAqNHCeh6B/sOgJg4oINsNTZO
CY+bTWrbXGbZoxApcgKjSPned38eHz5P4OcGULJ/nKbj9b8w7Pfj8C5ibcBsJUGd6qi6ubDteP0h
RG80vA/k3DqdrEhq7lfFNVo5MR7likNK6WY6Was0bXb3k5C9h0RgOt3GVuI4EYVOt2ixVXdMIWrQ
bikFh/Ql7UyZh6CaI4nSW7Rm98vtIcebpC0LQY1M5lMGx7tHoB7AagJ5n+nm0nUKTbwO6szgUU8h
c7yTMqKf7Y/D+Yfj08n7g5xs0dpVOaT7koOgw1MOd/Z21q5rXApERPoifVZPn29vmySbJetA1Syk
kt2/p5n0JffuEQqVa/lLPXJvEK5VV1Z2HIXSh2HCjnsLpJXC09pknqPVphCOFVtuFrhau+Vu6RxU
dNxN+JFCci060cKY19PP7pEPKcI+orEfn6bj+B8ywlhD+m2miTf3H8EMir8/rb8BSpQ4d1NIST0x
rfDJ5wZd5CSRJmZn3POyR2BeJnTL+udlR3P8AoXkT3Qpbm0nUGEh9Ybd16uK316nrLw2y9Uyp9v3
f2M3v3xRblbdEAvaJM7S7dym04KFFZYnlyfquCQkzM4BsXE6T8/TUU70qUuuyngzt2+7UX3K9blv
fGDqpkzz69r8TbhkGL/nAJvzBJEnNFwK4AY2kulZb2PMlJ66YKq4RMegSoUJk0u17XxaLm8wK0a2
sVXDkWG95tXpb1t1c3c5qecjDQocPVmUN77krL8LgG7fkpJjXDUk1V4hzCt1W3MqPnkXYyIjqkNY
FoyOs9PbbtZqHmYSfBYxD+sYacLJ+qWRCvhl/gLK2c9LddaOKoI/hiLCTY2OLOcYma2Y8/vPvuDv
u1BqsXJBKEQoUvXCOyUvdblz/gdlQQTml3jh18aDw2s+XV+Coqoohr2is7twt26OVE3aELPIGPan
o1zi5bSvUvEU+EhqWg+q7K7gOla69ATUc338Yvw2Pt7wvqmofaivximxBK2mVaSL401XD03JtaEC
7el2DqViXqUiiEcZ/O26KxNvQ0XhAFXUTBxM/HcRb8lT3bmhZ73Xw6IpFk9T1qkdl5gGwtaU2Wwq
MJKX0mtHj+fTxdc5oMdTcypWHES54wf43XkGbHG80By8p8rqiDEPKzVlHbvZxMQUzSFQE5ByV8fm
NaHT8R0qInezwF2SuyF0okmrljtDDOM6uqNYCGyWlf/UAYsAhk7APlxPw+7t+HwYNXbi3UzUdehB
D1Tz18b3Akz8rr+DYdzn7lrZcCtx7qTZHNwTGXU7f8F8wOdHZWORxiRJQ3BSKVJz9bja+BAC5KHL
1hguofxSeQSJ+C0wT6pOqv/lfuluO7whf+cOVOgbdwJKfVPQXn5isooTgxX3EEou/sXHufGdDV3p
l5OvEsLkQxB1x/YPQED+bW0O2eDM4o3AF2PrS0ZaDt97XNJIw7Pmxyy59tX3jhuFcwsu5PF6+nU6
HAavMajdk0MbC/SllthqoNz0/uUEVhfZCZIpZqFFN/ftfZt/tlRiHvd+4/OIiDz7cXxzMR6F9A3X
zsKLDKqcKztsUu2v0mI7yhFGXgIlv7ds9OT40eBJzzbljLGA42lLzMRY7tL843BDZAXlstXpO5qo
jbOaN47HTcShLULvAgc+D2HDNmiL0/pOcYmxM+Xtazldhc5wPb0p7GYUVyh10QIEmi6nSzbKeRy/
UtxMTXgVRNCjDjb/aVXlJKvr9ly0AGy/P57277/f7quUaLaLFTlDC3DR4BinQdFiqpaln5NskDqy
dnYrlGR1/I1RceWp7NJL1+hSb5O4i/cYPGlNxi5ULiRr8g4HgGm4HZ1nRIvANBzxL753IAkwgPHn
NMrMQxN6bqBW2i5a6XA9PexAOVbWQmJcUECSWu/Hv8DjqQgEy1mNa4qigaYStO4V0XSf/5yPl5VE
UpGWHKrd4RhU07RJoyQfsqrYDQe9cDaPZl13fq0uu+n5eFKN1IbMXWB5oJv7dH6bjazYI0XBLsfb
eJ9EQm42IE2E/KAsbgXJqist/tHn85bymDyGzZv0k/5lPhbU7qESdoBEBMis+zKNX0UYPZzTpgUs
Xod0BX1KqpGNaUI4NnoHnAHu8h+9mQsU29B3ruNzf10aT1apshGdYoV9/XI6T79Cm8L79mwz9ccL
0H46g7fA/bM8PUnITdKYhDadMox0bbiF/vPyp/HL9Dj+Y/o2Hn4CRVnG9rBcHuxwfHxZIi5yWmDL
JZ9+8/WuodIMLiNJqZVrxm1U9FbYVUsS6gtWhpxeX09HfaKyZlNrN/RWleuHaVEUKYsOHZ+xEbDT
335S8Wctd/seTrP9OVBCzVqEF7oyxl88fTAk6o6mX4fUUAe5iHmpckos26kRS0SguCP0S36dr6QK
Ytuz9RAyY9cyY1dcBZqD+iXgfi4HdVBKEPjevMvWssUvPdvxi4DExyxtKEN9HHcHOT8Km5KxqIan
pydfwo6FML7XDuDbHvd+y3IVlFGy8MNbIbyqmH/fpPI36s1J81NwcUBW+3CbHwRMR8ayW49D4BiN
fxZNLO1vzb3fBHsuYHW8j/Q+DQchZQCnCnmRKSg1TuWgN7XGWCYC9q7WsuB17B6HywhJ20c4hS/K
SoJzddW1yFeouMosLB7YKSnuOFMT9wTb8wBECXlCk8tAJf9zZZs1t7r0HP3DKoc3TCyMac2q6+4w
X0fETv3XbTp/vii7M8sEBAJ06ZbqUa8QQCcAI8g0t8tcRNNwczmlT+mKaWLVcGvWPolZn1LHNey4
t/FwmNU5KSRgIjYbs31X6QjBGDwRFZnPTRVZl8rF5SiUMyjjyBgZ5ThMJ0PdppfHPYMPAuKOG9Kn
/NOwjOiwthQutKIECbMogzvp0DPCpjXJwJKQLfBbVtyUqbxq19dHsnhMROhGdm8WrwP2i6LVn9A9
F/DzT/sRMq+8jFCmZenBygaPE78UoChELlKBQ2gFPJUnVMcRyl3tl/E8XbdxaFule+tWBRqu3GRS
S+gdkSzHt8x6cjxUig/WmtixOa9CZsORKccSh4NftLLfVnwwViIi90I33AozGoSy4fbjG1Z22X/o
Wdy6RvaMXenXd/t/DlCWhtyHxTvaW0mep064mV63h0LcDXIznXC9X6/yZPQT23OrgrZZl8OgPlhx
ILa2ruLXkYnyQsFwt5lXHDMvl+Vk3uZ7A9nuigfaxP5+rYmxGGotBBe0Ch/cscAd0S70rAngyICE
LpdANy1njP0NihShaO+vwxu4+fHvP2BTIM0XZaijgLZN0R3JNua4rka65w+q/76+TFcdEdwk6N2L
wySgGJHa0kDh8DQfxQqOniD4IYTrAnT5/Szirj8BkRdfmPvC/c/BtYFIPwjsJTt90HdJEnyS/rmu
+k0rpXfDLVcJ8zBcJsVfSirwyKAXSMu7fMDD5+aq7prUp6X5Mp1jAS+pq4sNEhDqw0V35E40PUHw
XJU7LxO9gN/pKg+PwKaoPC/A7Se45M+BeZw1I0OBYpkVAcqPqk5ciWuZ7lPJxFkC7GKw3BvPEsP+
/SLebfx8pCgxgubPuyCgqzvWOpj1BBmx5VqiAbDHMB2Xl/AF4JoznZB6gtTZJhHKhTCIObd7Vg6p
jOi1hGUFyu6Gy/vxUZ7rvnI8XrnvnaoFGX+nw/570X3Rk+Yh6UQrDvZAZpsYuePmA9dpdONj4Oeb
sJ4VlUsGqmKTBKxSPir5GwGoY/vhvM9dCnJ0BF5o8ZXNjyj4NecjvKgsFK8paH4+6OE4JwYJAT42
NE3FTrfysppUajQEmz3WocthnZ5A/7YLsuWaLzN5Mj2BM0299Us7Tp0DjXotzqPYIbIn8MHtqiQ8
Ialjn4u/o9qD1JNudemUCQv+7WfaRO2sEIYgVpcQjeQYx6NbyXusOV5eJkEHD+7seMrQuiS3IuZM
OsmKIXSfpqhe8bJPDsxQLsZZFu5VVfie9K5M0TUcqWm32I3ENqnW46Hunqbz5Yqu9afpWw4BP7TQ
XpRL+3/SIOfj6fR5Gv/sWmpviHS2HEQNg4SiuRoREMXw2DueCV7GYS9r3sSPHtWU6fLnf92GA8Le
ufQzZ319pzrrbHwKV0AjVGKA2fELFC7/6e9//QfGzGQQjIZbXFK/8ejDyj6HREZ2itEeBGeuEm0a
1uNHwTZ5fRAVFt9FvYoMnjR2AtVBjh7WBdsBd9YMvOB5eD865KxM91QbHUcIwQMmgleNlzYXJHh4
uWjNFQxp5EjObAUrBjN/xedwNgmv5zHX/tRG73HNvdh/ykCOlFXBYag458IfnXvuPD59nwH6tlG0
reC1/hburUe1/a/rdLjg8NvxPD5DtO684AioXQUbogakrpDfME9111ZV6Wr9MlNg93bLoet0lpM0
T/Mx3M4y2GFFmyrFkphVt+5E/ir5BXXD4jC6jAcXDljgrWcVXKOTjSnJ2GCtBp1pjdf6Pf6njITJ
GuiH8RlhhhxEWS4GSWKICVIZNs6ZaYLwnqf5tOZnE71qD7fnXdmVtpZZlW0D5jqrgJr9irC6w7OM
+kMBwqIHZI3ut/smz2ALdoa3wzTzGSAwcQo6nnCfeizcQEidh36dvy9/JOB1rBJmwpW4naf5wZ01
WuyBPlPq4X2WWBdHKxFpzrCYgRhvz6AglrZnm88vusCXmY9O559vD7KLiMXKTDEDpDJSfNHY+/Rf
P/34sXyKqk07FS6dplbZb75DFxD5YQz1mXu5QXtZsC3ZIJEFe0ZuzdwqCzarBTG8XKnZaQcZuGnr
yd2r8gxb0q2MlK7R8infGjnTwLikVyUaNwS27Appbxq+vI0lZ6uX7jo84EVBDXBWB5RG0Tamd66E
UUxDufzx/XtwP4LvE8cXBS+GgMgBxBI0A3I1CmPFIVXIyK2TG1EI2JNuSMEOEUCacWEh37lOnAiF
qZSvmDgkqjeQ77DLpDvg6DqOjibfdz9//8MPmDOxyyZN4Cw2zhLVg6LolCNo2CMoemVIyw9plCGW
215RWGVIyQ4xtbL9ijvo/e31DUyMH8UYfhVRK2Esca4VRamssEhX2PghlTLE8AfUKkNqbghmg/sL
VknQ68E7jNDrVZbsRbRg70YYcUTRcUjxEuGK2MoER9jYXawwhnvyHRHIfSQImqfj02F6vMLzqyCY
VRGCc31WppA/2d19cnkR0K0APDW/4fvx9e10FWt1bERi4bq83a6zXk1zwWCOE/40NgcC/8qoIzKR
GiOaVns3mZLAU8d8tZa0XJCmmfYScqubqeYq3+5nWhrBZbGdqoorLncdcF1JzfxIf55nkpN1cJoY
KyK+rLuFKRO0d7UwH2q8uuxcb71acD2/05RY3zYU/tO1jZIzY6v07Sc4wAtA067YgVXi0iVlLxCb
1ewwqzdA29u+4e5CyGafbxMmNstZzJEsEPxs2rUeqQHHlwQwFTzhIbbjQfpRcxL1p5IEW4nrEm7x
D5cfjvvxG73GW1w1ri+TvWslk2nLJBur1DBCKVfQfDCX1ns9zabi8Ou7HNuuUkhYCsALxPW1Ti4d
9Kh1S65Ntv226nm2HrOP8V4SHHpwWRymzzmASDx+Nv6/9qvHnamR85KYNESfdti/JKcAlfLLl2c2
zd+k2rR726HK6jpvz2VMEDRfuX0HixHNgOXnATPQI2O5O0p6lMDD65BywEd0+JvGBcSiTp2RmJd6
3CXgEjKCPG/HLt3JHV7u7st0Qej2pYwnX9JC3XYR8oKJbWBOyJTtDkNLZPq7ch3MzZDFY0NZFMy+
gFfpczqwFt6Fjfen2wNdFfg35CyPnuNVLP4gDV0yMWh8SFoWnhtUIUjd+Gk+QxyW/ASfmOl4y5EP
eDfkkHXmrqNwnG98fRj3+6VuzL9g8pw+S7AzSVPhdE54ui+YbSJnbDcxx7lLc77SuebrrkzQLROQ
qvIVwWapNobqBI9HN//XwyyqPiszF3FmI8x8me/rqEzRRkoViwKYTuESy8MNuSiT2XSyktspetY3
nmMTSYceFZsjnbY4kz/HWXiIGXhNjDx0IQPPMHMoaURNTAxdpuBopNSLNzEPEKliBDJ7TkLPrjJT
lTKQV21XvWRIVpncQ0ZuPOF8VrQRtRJzZOvg2GrBr9j1ajpr+ZY2Epwxxv5yOiam2CVFwBdVuCp2
IyRc+YS9nDeMJj38PEabOz7vTFebsdjOcOq4i+7+NwR3v4O4aoiC/XD5SbGykOBseSZQ52dcTkIf
t8D5JIm+czuO396cc3xB+VLaDlqu7aDPwb2cbudHhXKduetSji83hq6G/byUz8fT1+NOVDBxlrbh
GlFi8lPaW0hpl95zHUXdFKdjbDOuLKLgerYHDgB4q/OjQgja1RK9cg3t+b7hHNq4A9plnSSC4REr
S1h1D/VnAXANW6nYllz7UzfFRipWHBVdiotvK+Yq1V3ai7IbtpGlW0pmaFtzHUany3/99ON3eWHQ
tikZfVdmuA3QO2ULDTquNak/SbwW6EnSWoHWHBUdE+Q2b9KhLRnqUtKn4wXwNumP9P00ZD/xmfb7
2Y+PJ0wXwqCwP+OANaFfmcgqJGPYnfASxdQBw92OLSeDvADbeGRdwXHbUmu8RYw2d2L0PgXCGbZy
oI/vmBTcc6hOyPZFm6bQGK5ONtQ6e2VPbaxDuq3SRr3OnMXI1zZzzBINgkDL+NJt1z0IDeTr9PSe
ydOnll29CMls59iS9KJJcAL9sYDOkm2pSRsNRcHgjN5o5Op1FDaizC5xWKcv/BzKtlw2/qxRDW+X
8ZfT/4Sq31GL7xbxCbJd2t/FZ/V/d5UHkvBBTTJRlhD3bT6j756VmGTAS1+FqD3QgpqSVLNcJvgm
ZI2y5BISnh93jdyKr+MAD5LOTdfhWWaplu3+R3EJ3J2duXoKKMpai7La1Gxw2HEWtJB2mJ2+iR3F
RMFOujc1+h+gUp1swT98DddlAsfpTooW2ZiPvzqj0P/ZV/OjEgrxeZC0cnIQbb8cH5PUIxlV2Zhz
5DJjdiHepPR3Zp1dCrqJzFQNl02G1dy/KCxtezZjhOsbOD+PYq4ALUnK5Fdis7TbeZJ5tWOhNEh+
l0fdno4TAHvN/wu5ZioISU1BSLg8hDUchuxYJP3LMIHEzfRnDEP85ODGHkPW5jAbF4d32kRVLump
7+Dk0Cqkjg7fh0h3xvL8P0uI09cxU6OIIq5mW2bThI1fhue/ubIK78vdvQK62XwkpcghoQ71Lq14
MfAzTUTZXqTutXmBzBos+xqH86NMGcOGkqLGRY1UX2mNCrAS5wEShYqUlUX4ZdZbT3SeP8gTEJM+
JqR66fx0gO0lqqGOR4pTlkTPxEWFVEIIOG5aVMlayz6x2WX8bZrHVKmBkSjk28hTpYZeS8njyPxh
8hAL3Hn0Ql/17fvqOPq4CTzy9TY6s9q8u/fbFtKwFuR6J5nsQTdVq1knOOOHKU1WR2HiXG6tOz1A
MES7/2NTm8jjkPTSJ3zxME/hj+HDSyb8hgwX0A/uRYPHl1F41ygUjb19P7a+jnMfBXHhm1x/cMqa
E2FvU8KBsgQsS44Fkxv6G8+4KohobNA4Uu/ZJi7vFXmCAvLD5GPvjZPc2+5wfbek4Ef9z3OS7nN2
bernNxOwOXMe4yLCPaGpRTSLv3p7+O8Ps8H0ZTz70m1INlX7rmJ1fd+n2Dchlg0xNjDZT0+K/eBm
YKEQ9uNhmtfynhltC5MCR1RLYgamVy+NVcN8ykwEKKVD95Vjh+guCHMdaS6OilZiCwK6QZJeHKVD
pYo83ETaYDfDIhmOKtyPGsBQeHPRvRabFsQJPBInZs3Lk0QYDbCYm5JOAn5NF6Hen09vp6cnZZ6W
w0nyTt4t+Oomti7GSaK/IOwop2Cb+FrgDFGx9fCI4bS18RERJ2nC69pLb2L6IHlWyCR7xL04YjAS
8DMOoapRIUfJwfssPHseH+eV5AHjTcyuXIFIOUCLgMy44RrVHC6MxCw7RCuZNBET1BpEW7JLNvwy
cPf8mLuFJYHZipkavn/X/vSqjCw4blvIu2zL2fkKVVgUJd97fSttq54FiAq8n8PLNjFL1wk5dGb0
Xpv3si2DmI6rYIGE7gomopNUIUuVYrNY2glnOeDg/t1AoJZ7S9a3ATK/xBRUE7OfV8A696e+7Vqx
a7oOn8efcDnKaZXm7nIvKXVgKkNbe/iL6y8qp9NZqY7op//44/9WIVstW++11PcRaPlsOXFStgV8
E+JDq573skOi4hwHEOP0vRlCbnHoQXnaPc3ry2b31RTXNMYg1hli4cWH0qInaK62JUUszcUNFYrg
4HClShPxhzoXSAKluh8fDwHeSw97tGmCqg8xzKJxeJz2MlaxJcPA3VZ6DYHmSQK3Qf6mK2d6GK9f
oUWDnsWDSZM0zdHG4PJ5fD4D2Lip5iMt5FrkPvVU1zQyvbQDU597G1s4rrNSgd1cgfCsQiO/+ITS
3fl0kp2kbcnlS4Y8YNqJ4/L++nA6yNRpKi4u43Engl8FLriLJaJrS0uarUs2qzRJRwRcZTlQZNNi
6Oo+soD+Vdldy5Yrzizo9hLuj+xQtaTUD2qNFx62so+zYYsUhWwhd9BiPgK6Fxs2JOTg8T+P71rD
C+TSeONr7CQQb/zu8jKOqNntoXY+NKXeQTn3cdYWx71ub9nYpnrFf26n0wH4TsYUtjSByXIoZrTk
TMmlNzTEEDVg3AxGe2ehk5iP8u0kR46JfjUTV7nArfKBlP305Pp4xBjLZYmuyMEV9lADvHOIBEGK
Aoj7Vy1gbUkclGIG3GM+yPHyintTEfPcMS56HjaLfkMivCRHNR4r3nznexgXKLadaHgi4oLlEvBB
Y1jcvpDSvTtroOokA59kt2FY1+uGf8s/+nwN+9v5BBfSxX6WKKJvf+ggF8jTINei8xqFx4+Y+WB6
mgDuW1esbWxqtEbigxKDNxB+l5dZYZgnHA4zCw+H03MOEaHjriq2zZkvaeoHGp+SiurL6fAl9JWZ
//aGeaAnXbSQZFBEdijQ4xm0Zw+Jgw4VNfGyiTkp6+a2mAiIyQBJIiD+xGcJjHsshkEUAlP2tpRj
ZLRnEoEvdPnty4Kxpz36WdQsBFeb1adAgKH7TLK+v+did3XNtYIa9lpxGtuBHvwgD6dv/suukk+e
w5YpOTpu8UhcZemWa3QYBu9cuD1QdO+SZmlWTbbpZd2y/R2hls11UcR+itkmNjVpFUto7JZyoW1x
MPvRtX12GAHKnC3fe4jhzuPpO8wPcX/LrLWuEqjHBevOdRT0whib7sB1nY6+LV/o15yjRMd1DmNX
He6EstTyrkUOAo741kLXHKSCW5Hh6OjZBJFxMzuKTAg6RtOlTKggHOMWmhRY01B6LE8fWDLBJlTm
KrjmxgyXhc5ByqYa5XYCUeZZARPpTZmi54p0XWndKSeUbMXhjTJbUeWUvW8XnPQLwEiL+NLSoD9B
i6au3/jK7tRMc2vY1horOKhjgNAVTQeaWhTtpVT1DEyzsbLPWMvNueTe7CI0r6xfdjIMEVvViQkP
rtR7VhevOyMnU7G6VJAX84bl9Keesw2p2bE00Jo2JGnapuHmA2H99rdZZ4LiE6DX3zRNvG5ZAC6g
g2tdgckaIkOyQMzz6f/n9fr20/ivG2Dxbm9ijqpqzzURkjOLZKu2LjkLwRUT+gwgj7+oFFzXPQsh
tQfcKQx14P/A4+MfydBJaHe5val9xajaTLqiR2yr7w6vp8v153naRwXhquLcBSBGfoGqpZ/dRaba
IqDdKr5fNjDkK93Bz+86NGdkP85036uAuO1+n5uu4pKKaXsuzEdfujgqNcDNOvNyBdA0hrSHSwQK
UlKN+9SI7PPIoQqYWknTVONhrGS0Vy58gQW8y7JvqCskg+gf5xP6E1dF9M7HuOhYp7Mc5QmFC6vI
190kr8NZcrO7aVoumrFMQ/0LCvMRn3+NiAuraSAF1PUHSLuGKuuquBjhMiEytDLacvGLNXGUDRVc
o6JkO0uXJ2UVJM4Jupmpo7hf5so1ZsXllGn0VjhrNJ/d7c40JOl6Lhw8YSn+eX6owdO3TC9iR5nI
43ftKoSZSmUmwkTVPc2jG4hOndtns4UPHOEeM6iXbsLu7tatALzHQcFerbmqk7T9M5QsK+GZhkQo
iO19Hg9qCyDMeo/iyKJCs/jcPu3HYf9p3oTsPaVKYonBkUWd9x5NI8fyak4OfpsP4E9//tsPf/7T
7p/Dl8FHR74MsyKrRkcaw8ppMgf043OIdaHfuJxvX3Je4QhG5PIjHAy+jw3H5jV6KjMhN21ClFYJ
hVy68fAkVwexQZL7qIscZVnhBydRqd8KJWFJMAhWaN3d+v7nn38GCfSnWb0YHJQtDqYN9fQCIAKL
0KSP2+Pl4vSZODftsTzr3Ujc01met1vmJTq8i9rT6d4VuHuCPYDz2KS9KGiUN4z2ub6SkjXXxA49
TdpACHEqNgxu4xKIayp5UXYbAPmaWH7RmKTWyweQAGoVDAsytXJw95C9Xj6ilp5aJRlskbYQYnOA
goXe7sP0NAL/ytE52pESgKUCjZNaQajsKGW10HDVIbFk62U477/OAuH709H1lHh8lyVhrzYBxWPH
iNtl6UCp1BWUXcMJVoxWeFc12FwAlbt8QgJ0N21szgS6F7ke53X04xKqOoZJTHtrI1QAThexPy4z
kRBMe4HiejphJ7BHxXbA+bwHvasSQwQxPlzEwuO8n0epasntkuCNk6xm3CUfpNEmK+NkkTvImh5g
rzAfWZwyXROna9YQAdev06Oq8rSxSxfOQCwsl7WFJP92vQ0HHSMWZ/IP2GqmwA3QCx3o/DfRMkAW
iBxFmtKj2X0e/wikGc7v2ALpIhhSOE3RykvJpU/CeP8CIidGYbmfXzsQ1X6e4/4NF6JQxHCcExj6
+8DPRp6hJuxCShkdTS9IiB+OP8kt1NrYHXHNI67tH57zPqTnrWokFQLZBIPfi0ly5504WvLkMkxo
yHmRfjkOygmpHm//kqLmHofMzOXq8lJO8GyFVFRmKFPy9cHl9Ud/U7/Hi4pAMvNP498uH+hzhUSo
UqYrMzcxJAhB4GLekHIbVtxcUSEBOS9LTWxOVsRTxwYOpUwKZZtxEmKQ8FdcuRnFSvK1yRW/Qs73
wjOKvImHS1Co718wAF6Xka9wpjZ9C30XGHQZe4kRc2ABwS67NhPXRkEus/xwO4ITZz5Y7OcFPZTO
Vyl2g5TsUxkjSCnsNeyep/mAdjnZV1fcla5M01llKRW3FP5Q/f1H5HrkW+U9qAr5CSfHDOhzSjZv
GwGJVsLUAfNjjBgql3V5XBecTE9Fh8IVke9R4S1pgAOjFTF/SC9taWN74kXlsszbMB15mftNFpk1
p+QkQldXA8r4cJJMT0ya6OuyVRio5g4a80N3d4qkMg17yivpHpoqKGdVp69kWrigjOs4Eck/h+tb
oBC1kU8le7mUG2HkO5tNHsd1kXevis0I72Tw+AZGPCpe328wJppUHifLwvCGjPjillVwz7GpiqJQ
GKfMCrDv849SpSh9iSKdwaR0s3Wy+jd+exuOytNQkqehQAQPOhqTx97zt8mS22xXRxF7Yq/zKbPK
CKESaWpHDnjDE9unrGfVTj8bmvzUnKsxZq45rdhFNo6nPD4B6eZC8A+953fxvZ1kI9HGhJM6bQjn
Ds+3yDhGn+Xu+kJKCqHAIFPyUHPZut+7FiMeMed1c6fCInbAI8gHSkewPpbL0RaFPgoMhYN/Ps7H
mGmSRRr2WLvUIMJvz4Qg0bz5RXx8EfEmbUQ4W0EEroKCi76tPgU2Qp6twtAuyfB0/u4fP+CgCdKG
Lte3ASKNGJdGz+mj3ESxq9POuGbpx/HL8Pw//NMO49qOa4QL437408ZPt1aeQh7UcF0osf3pBYqm
nhAeRent2fZs10g/AV54QJae5xnl1opdwTXfRbWkrYT2J/hx0texRKxXX2MHSCLjZfPne+7QoL3D
piYofczsxpU0ixP+DI3Hd4GrLjNb7aBPs8wGfWzl2IAJ1fiJwMg9jLmi6j4i3a/2Aqasz8wY9yQS
Px39Q6GIjp5t9gyyF0tWNpOoJW0qowsq2ycFD4hvzhzShnKdTTvD7SAAdbpIuLx9ti1quv24efmC
l1yDXyJg5NW3XANmv+efpIKjPrbGW40Ml2PD5e7YrsZeKuXEUc315qYSNSdKG7YlshOl8mfZ1qqU
y7ZKcrZD9CJMnGxxcbT5vZfZx3Ksu8iWDZzT3zevZXLDXMr+CTKwXGxvOD/LOWJsxUFs1XlhenW6
6g15yp7rHLIu4JIDRB1XTTEP7+UhMSyFr1jIeICAloa/Zw1b9+VXCOmD6CRzmOV7nw4gp5RWhoXe
d913XTkfImk/jodDrgNCw/XgXUD8nWdKTkjoOWCqe11rEZuxqZCiKlfrcp41mXe4053bqkxzEqSO
wv+uv4crfMw0+Cg5EC/aLBGVD1Df810SCw63TqgQmo4v43m6rpAv5AIhy1+ymXDTY1Jb6P1jMqf3
3EzkCJB2RzBXsBZQOQYWcBEy4f7X+D4vjebBfcafKD1k6jvkZKZAwS0Nu4C8DPNfh4v3PUCK4RH6
JINczgCE16blKLBqmL2hkUTJ9mJ5O9yeZ02IJJGPedumLthU8uN8rpgAnuSkbw2t2KhRr0ThYpSe
hy/j+TIcdmjveE7ciSAsNobLVruWEugdIIDaGctGxI/V9h9RR30Fg04uYrS1UJfnmxflcGnrouEs
b589nquDrXrLfT7UYcuJWyXpBkPeuLUNejrCAWFt0wtkHefZsmo7thKZZMZFV8c/nVkjE7fh5PWq
BuCKbQtGriJggS6Qc8MLqeOTS5fBVmG71NeTef/rlm8TisVh87s3P8E+k+wULBZ5qp4j5qosWOrz
PAtRBY4FyzRa7smgSGIy460Uj/b/KE6x+U2YnnM4050GBIC1rHIyWsOl00hCwf0AHMWv+utctNy0
93k+cppPxXZoDqVC7sE7zuaw2GjFxmLKFROE1gJ7mSwV2/prldQYe1xNl9Nh0DMbK65c5XV6hDYv
F0CJUzGSra3SKveSwaA4B8TY3dI6ONc3nnb6o5nHQOKv0MJj9zJCd15ZlWCzIZOkf5/PezrcXo9C
X+2yqrnrBE8IFjXs0JMkp+Db2Bl2XT8NlPhQEY5t2ZLu23H61w0tqngdvswCjsoQWVaySnldtm0j
1wKxz4z+XMvHVEjV+HdVKCGVU88GJPKPJJNt60MJd2fS36+KolQ4qE8bWRPbu4+zZfaWHIi8+57H
NQllSx/pJl4RhR5ybpska9zdHKxFzmaO1xybTa9vjnLhEOAiwX7/lNVnWk69m9nzH+fpFZ0LiNO0
AfCmpsAyfWS9+QnGsxN7nNpYy8CnR3sr8VF/kuqsSPnbz/LDwVpJ7lmfbUHNdq6bji+HwpB6fJwX
uI8ItuftaKU4quQiDXCwrhY8hTS47u4wGcCIlUtryz4tEF4Ofz3RrNZgC5b8jC3XQ5ebUcy6qqN+
sYAiVOI0w/VFbqNcR77Ir+jlpPXgLSsOLcHbq1C4ocsTN4dJy+YbcSlqrXpZbtwR6Xomo0DENRGH
iECeDKUthzngm1pM0NvBx0gVJCMHRE+YqAC9Zf5TZiSw/GY1QVlXxwEMPH+YJwvu9ML2LoCYlQEZ
MGQhtUZrBUXeHdoKiaKkSwlvKM4JepAI44lraljgkNiJZAtjGyJHSN1q1FNBfJwv8lOboMEttyus
4vQzPrgy9FXPWa2noytpnV7l8hfaOw4boRiTQs9MewVCquOsFc6FNe1/nwOrYR2NqQ4CWu/DJIO2
ouuj4JSHf2Ah1N+2OHQN0bhJDlhIJoA1HKUcMnzPWJcpYkzPI9avmXeFyLDSpBFPfL72t7cDdJAZ
sQ5/A15yEcsJcCpv8i3gQaDj3tX4Dq+vAyaaHd4RSsNpwnjagfE8mIr4zWbVgMgQN8jpCGjdpTjW
uzxoD6JQE6muDNHEswsjdCXplH5huDl5YYU2VoQgL2IvPO2zvpH3NzTGrpgig5jY4QcOHUzeWB+/
QLpE440MdfDoYx+k3NwiFlotvFLfbTGgnmHtiL7n8o6FYbJZMPzXTz/iAFCdoaGU/vaagoNa+Q1P
S1Fzj/iHFbii4hQ4l608Yfexx/H0BAID9hcqPGUsmZCasDwx/W/XCIuSe/JgHafz9DwpKENFl+rL
7TIym1OJw1dAVPHDb8Pl8vV0VlBwin7juehqbFGk6l79m1TQ0LLp36OCFs1WmyGr6hWWm+qjql7o
wLfCYMrpUgFBZ9Hv2t+uSxfm7rg3gwSVsvtZ6MHm2tYu7mNQUpZEc3xEs/CgZc85XuH5/AGc2/T5
dN7uUDN9fpSQZIqYGODEowPUJB5zkKygBAlRF5zAxjc26itu+Pzt3fBwOR2wn5fQMhMFPnnTqM8F
JjkO19t5OOTdnrialnu13UROUfQNPB9kty4uiL7+DWrACVmOz1BGvW1z3tm9bK4gM8VDkodTHQxN
I0odX/+aOeRyfcj1ii6AwR7C047SMmnKlMRd2j/omcSUEf4ugj6o+mFjuZPz07p0FwLX6aaWO5cX
sW580XbaFWPvNjRCKWJJz9JbhXaRGg5X2XVVxKqX1bbIY7aOPu+nWcRcHxVFumcVU3THa3zUkG1U
MePLk+Mr3NVZjKts1KSqVMPxoTyaXKkK33eTpCS4bBMCWayiLRF0C+K38/Ys5HBfDirgPBuGZdo8
yhCzZt1vsw5JUbWMad1yyTFfx4dpP+tGbz6n4bI7ud66Ed1J9lZXXKCIvgaIPuz8Qv+JwhPybqbH
y+5ft+n8Wa4SKGkpCdFk9JpteNgU5xMGTSquZPBxPq/LB/QaJKHlyrjcTAjzcnsDNG5lgoar503a
UK4SaCeldqbsLVd169ZzVGlCCtLo1dov5BRBYtFP0HKABB+t+A84CatKqf30CntPQUQisLk8HcEh
IMQNmpmiRrcRQ39dcPgbAQMCAr5MX2UlKY8EkxaHYsRdHtqWXDHoxwqHQ1oLTALveL1mcoWpVuXl
wWvngHkfxTBDG3tLrwi2JCeiUAna8f4Eyfyna8Bmeh0CVX3aIP74l9Obwits1Zk/n9P5NWbwKISq
ue0muSQgUz3YLWIHn76OZ7zgWJukYysYru7KrVBCFXJMUHC3Kgq6G6SP6odBqm8JdRxZfxyfFBbo
WbqSJ0EfTnApyBV+TuQjehw29RdwJ31fe5auSOUTW3JigYz+b7QSNr5wpJaOhPITeP2UdxavNSRs
aU9nyTFLnHi4PE7TXW2Gwn4lKeUm/vt/PxxD2RTckZM3lW0V4/usLCXYjvIKHmIbEw0XBaPhL+z9
C6x163Vsz0q+sNiQ/7Lw2+7/yTBKbbn66phMminEL9s4HrOEzL2eEZJxNAnXs2Xez79VXak7DksC
E95CAw0MXCj7Im9jdEr4hh4Xl16fr9UtO8PpcW4NcDyYob+DFH1lKT1XO7+BmRRyd9wtTkXVZlET
t0gaLaJEuEx7VyRdGOX+s0fvnp9YGaLN0LAq5nxQ83O+ZE5sPPe65Z6VrHxTVkdKrh1T8cf3BOFX
iEXkE4zcEfay3je8zZJck4Q2fbjbZZM+0xIMM3z+RJ9lG5PaV6BKLv8N5Om0H7GvvMLaFXdPvbLl
3GIemFC5YiteNh9B3ygbghcT6yc3vNd9yX1WsEy22I41pz04rgVVZheFBt5TvJYKZSMfW7MUmq/U
o832ciQx9ojqCK/5CNjLWaFxz7FbcsovSo8GpE7LCSyyk9w71/WcIP49Wr+uX9qehb77iMquYSUV
8rOyYhYRUN6E9nn0+a50dUKRm6yJstIjlHXUnD3pOIwIFGgLor0ELYvPJqu9f/t5u+IbRRVp6Jp9
GCplRqIbwL0oy5XwyTJ1v7LcSuX0Nt0Sik4X8W3WUiM3S8W+ofKylPVUnOR4Pf06HQ6DS1vBqpLx
goP+3/8P/Nenh9tz1diiLwU9uiEYNSbZ6TK86m0vwFo1BEIu7WkbRpuirVsJ6bohYHsmjdARO085
c5YkYl2JBvdZ9kTJrTCLt+drvpQTajgH3UqTzDGMLbg9KSAhTqSXd97We1LImbclV4zlypVcL9+l
MmmWQaG5EWSNhCyPnZzNgo1L2MrTJaXZtZ6Sk5o7zo3/ABk4STxY7oa3goZtSTsOzM3LFrvR9O4+
ARiGDnqZxAsb34RVfngssbiEcPTu2+sBCgHkSoueq7vzZpgDFj7OCvSjXuvV1ElkZd0X+EUrWyFJ
3vCf1pD0n+/2/5yv2vGKRQIha/4veaRMG7t8rxIBXcLS9RRq6i9XwO4JTXzleksShAGuKT3bzNx8
ePcajBTPtRFXklaU+ywTn1f37ICcXPRzuA7ibHWE/ql7r4LaAFTvfDZfhWwZAPYN590nJi/41Yma
BLXpl1l7E7TqOsL/1/2q671fwu0o1NvVsW95nTbmms/jy8y0u0ALefdtHE7sg+FpOE9gFLvIgzzc
xJUTFIu3L4284HIZUjULOnJIC5hP6rK7XZ86eXwRP0nq28dF3j1NvqGiTO945NSwxNilPCiuG3zz
XZkckkyhuFyikEF62H4473XOjGwB4SmPDvWvm9SmvSbFLn0SZPbsIH+pY7lA5VpbRIIQu1p0btak
wrOHhwccMcuFkckeN4Tw/QE+4qAcb50ypU8mBkwVhdxL3XOaRI/c9HK9vmVYyqZXuPNYMtPhepK/
GPmQ2Ef5Oxv3BxEm2yXDMJVymt+Z3ZfLTiNtwC/DeeDv/ibuj0NZFPIF7KLUS5qZzrfeyluNgiK0
uPNnIg+pU0HRx1TE84g+m2GWFaHaTd5lXC4EL7x897us5F12hIla/0g55ebx8zMCejpd/vk87NGF
Ev9hNytmnwdZberYUiypf411HkumHdsJJCa4rBf0E2hWdz2dZX2LpqeT9mfQWQLCfMHHEPcizxRV
ghZlolepIa1rBzS5XRx+8YbJOhbML2I0EtK67Z6ePHAOGtxq9wFDS66pjrpMeZnF/hVUZ98uC5s6
L//8s9K8j3TOoq24pv3bFLOsdxyHQJ3+7eFt+jYeFuev9BVSF1+3WMLvbqrCeTtcg7jsjqu6vWMC
zIvcwgkVl1RDFrV4t0UGpyg6MY6x/UYRfASyhFcozIFWv3KeGpB31Se9Wn97fgIOroPucB4HXVNu
2GJryr+H6c1ZNsDXM5nFmdiCodPbMCsAC+rSbKJMxy03zNDGgu4q+Ed+Zm9X8+FyfwOMj9Q6pTRd
2tBlfVRwX4pWGm762A+GWFvpcFOLXy9ILxqOvjAcLGHuestbquKWGixba7lVdfKqurQPEDe8sDJN
7F1f75iMnWwFduf8rvJm2vz5mF7eCmlpFEt9V8MreXi14XiNPNyQRukgCzhC9jIhtyy+kb/ecOew
Gl7Iw0l79lj6tRpeysNLbu++fw26dB7BtJYPPq4eZEfDXY1S/rwpN6zeyqu36cFzpC8a+eSaPN+U
Mt+YFd+wTN/Kiyd3huQxrkm/+/V0eh0VORKFEzFvVjToZBp0edlWyuxnipQG7gDh3ZKH9Fxnr9WC
S3nBhGU6abiRh5v8fotaHl7nWaao5OEV17tt9ZKEdJ1/jGdwnblsfcnxjRSlohx8gJ1Zmw1ec0VZ
vj/dILPi7HOIRF2AeLxg1rIzoo4Vng2xRoZARaPa5IEoTqdEkQS/6/CMLke52qZgXadO/32YrlAw
TnVerD37mOoblSAEBahLm9u4uO2G06c4zUw8hZpzgnJLcbm52mIoDJTLh19PNlwh6LuAXonuUIJJ
YhBJwEMgKQcqnyfbxVw8z48cZFxlDW7W2tvhmg0j8l3HIrqwFh1GwleXWjUXu2hJEH8dtQaGy3Xn
AHoRk8ZZpOLpNGzLeWJqOStrq9FtOSAWh0mHv38cn53T2CcSuX/akQ9K9SEhZxJcjcRFczz9hFN8
fzpDjsj38yWRZ7B3JeZohZ3h2utqeBFTLFf1Qowa7DYlz1Nz9UJ34zesqIylPiQ4hmYlT2h5TSZd
kyfuByepkuLu0HDgd/sXiE+orqIwWnIOiMtr1ThUliQF14ydueQLZ4oBOgrFRoorVOfQFrdQx6EN
stI88zq3LGoqEApmAF/M88sBC3+mS6h/FMUPC75MD9Y5AOCxeiO+JZl6JHJnUdNy9Ds9XB5vZ3D1
EPJha2nfmVsN/JrC8DxD8o53iJ8G7hfCP/KElpXpIBejJ81pTuElg67Ap91ZgngHalZcVwy8v8vx
iLei43Cr2Tuh4xOvMe66DY5S3WPV2YxH02taqAJkoEVpER2pwPryPO9qB5SS3yKTXvFGVRa8zP2Q
XIr6FuLv1D7ENBxn6qBjdXqCVebfTYpMizlM/h2e+egR0tlPx81QrKYouYwFWRzJExGE4N6ly7lz
fP4+8Ob3pzfRP9iVfAGmp82GEyS5JbbC7IFEf18bLMEcdqawSyE9juMebvsZAdQep4t2nPFzPejy
/b0u75lk2xtDgWyjsop+2pXLTGZhiqjXI7akqJVeXoa9nNTQE3noisTv3MgLPjo+Ug832dojjOFj
uAFDMqDzYMfr2cgA9HbMyZ6OKCqV/EV86D14xCrVZZzP9XBZauFvr6/QabF2jg+oVRNn7Lx+2666
6mAfLKUfIcZOam7odIR2V5gs456gzJ46H8xo02AG4gQBkSAa6juGKXSJSyEqRqALQgx5ovTyQgLU
YPp0C8S1CkkJXaKOPzPfW6gL0JK0kbJF3E4sq3LoyxrwgqOFiYNjBsFx+KJKRvxu36dkLBMKfJ2Z
HxR5uSYJTbu4e/ShhXj/86ys5FfQxZ2vOuGEg3Q6jlGIR/gpWmyvI0QGtzBT18cJaB7B/BZHQBNl
B1Uc3Sy5QBwrup2U8lRVlTKSB767TPsNlAwQQuEsfReQtL3yNL/BJwAPlXKu8UQ7jp/Djo7jBSS9
ciA2roRCIDMUKbdILGPZ6wU9NQ9b6MJeD6UZhDtVVTbQPXRb9lCupG6TTBfbvI3nvPysrDZXwKdN
mE4565Ijru8Su5/19j20lAL0DQ9ntklbcnKp5+4lvnqhaGopj1eOj9wJ0v/I73Yef6zlwfWKE8u7
U0yOQLubxnBTzZ/fu0TKWe+5vIzjNfuix/2ghyK9HMdTODjlvfFV6m2atfp0gncGc7MdssjL6XbY
Y71J7kE2KYm9BJtlxrPYwtAxT7qQUPmKfQ2cUZrtpePOuEk1gpCLdZ4N5xA6V8R3rd0HelUr5Xhb
Trdh77tyy1tOs3G6VU7gUE2vpxXrCPB/gPTUPWpZl91h1rJus4J/UbgsroQkqHLbMZtEcMkd9HV4
wMoZpyoN8hH1Rr2Hkem1R8VyU1y8DZd7BXqiJDAECUJT7tyO7F5tfRPaTW+C5aabFafH4W3Tprq2
17Tg19MN+w2oi7DkdWyXNEgqXnexV4QiaNnTmRlkl1FeiVglKbOQ8f7n14dx74t6PnnErU9Onf4U
gLc+OUfOJ13AtUTBI4H6laKffQHqllNrfMuw8QD2YrCElJtpqlQdaTWjI7um1nAaIz0+RebVhTZ4
tZRmk3HZcY+1K8LE2hKorVIeokYzBlx/B0UvIh+vEHGrEC/oJlO5LFIFps5o9or0qlSVOOFAZZa6
SfnYi9HpgtX+7sXNC42G0x6EU9cW02uHBaynSfOO20n64g+zAFON14ZT7F/GYb/JbIsSi2B1CWRQ
LlFT5VTM7CWmivI9c3jsIdc0SlGUqzp94Rp1Q5tuc6mp3sl1Ui6RkTb3+BKKn7GjOC4GdGnoFeVQ
6TAWLOaKO9q1nPL3AhbK2wYmiDQjEVRWddykJjU5XljuVaEcpNHMb9UH7y5mrakpqI0qH2cN1YPD
j1DuouGEyuAL2FzIPGS8506l7fut/oNNj1LJmrihW7LUTdM91narGt0o368+4mbcdDFZr/DxNmtM
ECDcKAJ74nWESp2q0xamyK9GVUKidq9MYWvuyLH/EjQyiea1woIFZ3yFVYTSY6c5hl5ROU9Ly93n
8ErlvavxmLAeRpaf/SY+7j4QC1D4sdl8vTYxo2G9hUTnU8Rvy7ksF/tlOH+GuJUYUnKcU7DOCyFC
olCl1WyExLhTjqjWHgDQibQ7wJ4LQg3EkmZFVtWcu41/fLaca6Vqv5/H94cT1ENeXk5foXhFe1NY
TRHRT/J3qNRM3ChbFA3Nsk8axrrm1xSqMSDyjn+FwFyEZAsRZs3P0uS8k4ofr1blZjitiAad8eSy
jwJcog1Urjj/Dt2GIk/qSnOdrZ+RTe9boXu4UxNly4y1GtJIZJ4i6frNN0yZpNpgCW62K9uCm22x
o0ZIJLyNl7dxVDinpzo0SQ3y8UcPKu/CPk/D4QAhAOVKlMk77HkJvdNfPZryad4UXLUHPLrLbNho
umVXbvXvau77mrsdSCDQSffTWQNLRflKtKWYILeKimnivcp5E9JYhMZDxZ1GGaM2p7Mrcz3OttNh
CD0KvXdAg3eGRZXk6iFvVbGE/Wc//e7tMt72p6xUMSUR3kQBSid7Beh2xWFmSmKkEdCGopTfYVPQ
0H6USaRn4w7Q35bITZYuhtCFLAI88QvSkzKa6KbEjoB7dD0PzuoNtpIyCzEkWPDVWbW9oMmMBWeO
slggeBFQpJRvEb8sQgOVvbt2/uw9QvdJO33iDCRQZcCW7gROT5AwMqvhe2USEuwkNVKFrR6U0696
TmIQQn0bZrlGqPTbSETtSriG3ofkuGzeHebEfJTPKo7PAKwQxAu00JhPedDYpKpYBx80sIdWUO/Y
yh5zO0bvsXZofcqMJHiC/aRr71mdCa0ewypwX/uq+VIZQxUqkpq7hj+j/USfITINPaMhldVZeUa7
RUQVMO7PLqTivbuWvx6+UFmnIeE68DV7giTMzV5vbdKSRIRIVVtRGo3KyX5ik1loMw0p1Y+nN43f
bMU6bmJboPe3l9mO+3dIFMLZFndXiwJBpRLxpYMP2iccZRHzNl5AwuuILlTfi2q32sfT68N0xHbl
KHTh7dbYzrKx8vUqU0Ir8xEqEF5hbzloOFgIn73oROq72H4C9YNRLlCZKCkVhXm+XjYlpq8EeBsf
p6fJJfJ67CntxCsSnEdEEN+iG9NaNYxRJ1EJ4QtXM8WoIb40aLmm9MA1DafhTlVTl+C0IZ8rwJwN
h90H3lTiZ6XQuMsVyp1waSh7Y0fxLrbBgxcGFeFIh+SoNYFYWU6QFJUm7KmLoVv1NUk+7BokaZQx
5M0n0SBs2g6dM7awSpGkQxKcM6+j5oRpWbCWStG1mvxu2BevMBrhzCq9w6vEraYS02hO/I5pi71G
kZXR4j9kKm1xXRpZSxTHeAuwS+YZDMJXwF8LKYoa81LPpa1i67XVw61J95qYN0AQD4WEijzmTSmD
SaYn8TCbpleI0bEuZNM02hjqF8Ikd7vGm6WXQ0bide9uJBrk0HiS3V8yTUkwXGgRabZ/Pw6v06NG
NcJ3LtG+WBVgfJ2O+/kFmB/TR12HqGgqqEU/jl0EILF182YFcb0hFlIpv56zzj09H7E+Kq8ot1xQ
2TTdoB03m5Fv2vpRu5jsoKKoNd2aNYv0113TpEnyCSL0m6CuatoqmzJ4gV7c80uYnqPGCA1nUMd3
UHvGNAV8lQ3lH7HCalRlXYvU1UAfsZC5pCkshvMpr1h81pWDu8fVTvpEVPdSAjmjtr74hbQLQRMy
EJDC827daI9Xyz5eOkvVGkvVXCZooiDNwl57IlpODRBVCmJ7aPKv4Ca9Ds/YlovVGe/6+2TEdFWy
KZamrjXRwWdvp+rn+A16j0MZk2xEOyeIA6H/oum75LzJBSEtCF3J2eXfYTASceVdUKQf5cWt9nYZ
oWyR5Dq7rYA2oF2xnnvJnTfEUWF5nLY6Ow11xcNhmtBL+fiv23wb5ruw93oogO8+ah4cKiRjoEG7
U5r1RHyhPYLTZWcz2mxRUKB111I9O2uMkWKMBBl8pp762pVcjU3iOeD8QJoToSeuaayIbfqKE7QL
HsUGa5BIbijlqRgHBzbhG87TeNF9HNTDjzDqTYKgHiySrNcjoxySmDOmgPREGwa23c2qzwmhouP8
mq63cmDVjDyKKj9R1tayKGN1V2lQODxV2jPdFlwWzmyD7KFQ7HU6QorTI/HqaK9l0XDJAhIeqNcT
at0pndxAKAYGeHj99EiCKgEP/zo+fJ7F/WajqCJpLjW8KHW39mbmFWqyFCz/7pmThybQi59i04Wi
tXXEIVpoFpdh4+DpSqIfnbrxHLbTgqrwPj9l37S3kCQPAgxlyA56wxrf/fg0zL+P3YkPg2ZW0nS3
mAYwS0Tt5e9XdZPeId9o+j+fwD6rGJrobdnqO5QQwVm7IQBGyjyxWnbRbrQvGy5H2MkmwDnfj4j0
eUXcJv9sO1j74fycSdyYV1Rz4VjeZ396u06v06/aBTBEfwPbrA8umVL1/bDJsawZitmT8//tJ9fb
DSTE0+k8zgL67xin18zShnuXsOTl5XSAfDjI4jlujhGzXt2i7jTeKzg2AoXtQy66klrYBSJmchFq
VrP9kOQhtT7EwFwcgdT00lZLokSuQ4tn/KbQHAIsrfIhCGhJn4tC1IlA9SHkoFWEoFGwbO5smG3P
km05d1F8TTaymWVDv3j/aQThm9jX0klXw7pk2kK7lzSdOSrgq8SFACwTUMU+9LD1nPgWZJsmxeLN
JsjyRaM5j9e1WtwFWjLi9AxZU5ISNOr2LzQHMc3ZJ7IgXlEZeMgHMXrOw7wKvmYCITRsSvE/Cltr
nGHZPKL5x9obSjMQU+Hn0oa0rdLnt4tggWuP53CMxu/+hq+gjivp3T4FZ88HOeBwnNSrXnJisjDa
U8CnsZDTO8oQUV4yVLqAmc8fJX7wQ313/P/+UZsubgLuZb/uzYn+tX9HBJxYR/Ch0n/p/iH2q9+S
nFES9BFSwfkB/jAaadjUXUat//0vbleyMS2jpnmxFUqm1sbQonVyg9tOVdQspy0ufk4+lqs5i/q1
fe9xeE63y3QM9Q7DOVFDg9ah3Ue79q8EMmqmqWnyJtO06UEqCXWJbpjmeJzgvfy2yS1NcpkgZONl
NL6TjvQfei1pNLMyMbDmFJLfQO/KsDAhKeX+LX5XNjPo9+QZ6G50PmEx/V5OS9RajruP0IKHDl87
rz20mulLkTjSLsOOqL8t9mMMi8E0/dZYkiFxfSn9kTgDNSFMHLgQibDqq7E52aekC4xaVNHpglDy
IWhZBG3NkaLoVR286dkit7sw2Acdv8QJYq3rL9SWuSTDB3jrNXlO8H16wCOZlVyzKHn5pJyCT8Av
rFV1UcN5FE2tecfowxNfTD1gV2kPWRSpoJX5dDnnHjodnw5qoMPQTIcoPr1HIBcmMSTdhnRAv78X
TkH5YGYXSZepMeWVZb+sqkqq5NH1YlmD+9/hjzS24YJaKzUWZcTXl+nq+7hOPrdTE4wN96RvShjT
OIfUq5PCvaLSnPgV6y9bHcpw8bBD3jBfnDVb/Q5NmtZQLhfZASt9NKnA8DZSo220ZhGRVimLmWw0
gotE5Dub9vghRb1vuZK8O1de7vqWSeJEjVpOElcnl+L3RdarDfkUWRlNnFoWPNO2rXN59dDd3QtU
zTnbc3VFRvWmth0nN70MP51fN9/Cqqq5ep/7V/Y3OxjYpx+m2upDpak+oAaX7erN+sh+DaEcMSgK
oyo9peXcgdvY3DQrCpvwtGsve8FVTvzGpJqqKjl3yceUef2OlRRhCdHu65LP+kSbRLc9aKS2xt2v
HYSLFwblvKY5V6l7tFdjBb8phF6SHBwShC2MluFJQVHiUx2fmK0vS8UqgK1qPvUtnwesJhr1lotR
Khqz8/9QZhqxe7ymEBgOjDYxmITENs2BEBkTrH+fQoT6qYd3Ho6Po5bY3rHe6sJqHu6KrclZJ2/8
W7S+mgXQlUSjltlD0GdJZg8mgIyCc+HDKdymYcGfpe613uBfJaG3Gfmv5qw2XJ7CEstZdDuXlRKi
asuP9fBaWbAYDGzU8PcmbBYVpyFOHy9sbTnP0ppVf2dEkKRb06rG31ZVVBFBgQVgpeg6pfXPG5yn
NLbTRKds+l4437wrYHcwVvNlzaYHVgWL++d8cb/Rw1S1nMB0ztELxEURKTTrhzNUuJM+hlsMPK34
i69D/ZCNYAqKb4BrK0PlqSZ+K+0abjRzyKctJoza+SnIPXvxCiOVln/QXEdtUiRvi41m+waGpqAH
+A75h4jJ/PiQ0Cib6ne4h4ExsyKjoicPlmxZlBETKlvnQ5QcC/0GbF8TOPSN96tm4XxXWQDTt+Wt
/qiLiQTvScOaotWC900heUUXJelluPi2A5pe1LKRs1bNS+nzYSJ0SvhgzEyYjHeMImRF/L35tqn1
MivlyhJH67abTXMWCtfzMdRyqapzZ3Xip3bJBu/gKunfr8IxaZbHaR5H1ABmDUvbAaugrMz9zeYV
Qf4BNaLpaLHFx9SQigWLoFU0v/GRJA5YUjHLRbA/ensNV7Che9I1O4PYkZiJYLYiCmzITixL1g0j
JB9nFQZivoJ/p+5+E0iDRgyK3wJxqlkkkKsRtVNvg+QqNykkZkwl5W2aPCANTUwFxcC0IQNSU0pq
Np1VsmG0gg5aag2pncYXsc4CWns5lDq1AFbyW0OdLBZBYbXHpOITqYw2xtQcXmBhtdyGiq3QX5Lj
YYd60kDSnAAOrlWgFrYRrOJjzYVaFUwr9EjFZ6kRrGQTO67ncfRNcRZ/eoKUkTc/q9JybodCzWut
S85rXVirxY4ti69MJddwvv77YI86Eq6DbrIVU2q01XNN4rMN3P6mDjvW0t6tZcuBGy2nqVs1Durz
z/qW2GXJ2ZcI445GiVbuYhJgZmwQa3KvxFZVoeBUV+/Sk3t1em9ez/V6WqkD45NzaF1WIGVIsL9p
3bBmtYDNqHRq8dcTtNocLhnCV4nDa1XmfgeVU2laPlHQmkVBIxT/mJJGcViamG3c6vgWVd6KQgUs
OuF+fy4hK52k3BuVglTLg+vYe1ltVWCTlisNKowW8zE9p847S8o1Bj0CBgEpT4XcslBvG55s1WBg
dezfFNQ2Net+TBPpNlXyl2zzoY+5EnIKa0XKTrE4pw/vrca4dZ81tfNAYSV175TIC/4RMNojULIy
bu2I3AqbQXFp4nWYFWvV2C3zKQixBmKDx5rY7aSKfn67NOGx0hJ9XlSjaXw1C7T5UY921ggiryPp
O8/7iuf5SJ9l7aTYPE8OMEt7PlYAPC1bOKN5z3gcI6OZFyXbHDTelo/UURNHvPhIT37KhQX9AXtg
gAucraYJlC0LU1QU6mNmWIdNoVYe246TcBTyJIt2wiKgrtT4TVp7zWl0s3msYnxUbAC00vxMfL+b
dWhCY8GaL4pVV9qznS8opGM+FkLigx3WQncbgPW2ZfoQ5iFlmB8tvstugfAbupWL6B9ddB4tqYBm
ldqYjLpoCCRsDeHQDybgGj5wuU7HypWAkU2SNoqrRP6o5yYCeSukR0VfYYizh6yWotYMddvnQVn+
nbpuywmHuwyr3xtvNjX3Mm0KEmpmIg3VxUJIo5sUPdtm7Ld4cU3fccpCYdUDblkoieXgfm8CKjGz
IA+0zuW7qV7lOBdYpt3ic1HrFdl2jfdANrlq7Yr6n9Jwg+7T1vRpNmi2TujRPACsH21TzX0e/63m
UqWDyukLn7TIlCGn1WNHKa+VaPxoig1BHfAYfADzryQZyOg5ZgCOPzQf8ffCq1LnUYjUtNUivSLB
oNNsCb4vljN/f5PsICTCtKLuN+TOanU/JMBHWF12Rf5eEU+yTsECgJA5Pqovw9voego8wnnjX3e+
6yCvtoJ91/gIPlR5EQUbh+9Ot6urTjuchqubm/sH9zHoBPQ8az5v41kUDpDb542nul4Bsqczn8fD
4Nzc06+jWHYH83nTHeer6pgPxK40to0B2QEkB1PvIk0eWmXi5K7+3DCTJ/sfjtN8nlKTClixv2R1
ncA5set9wMasu/Own26XIOnmn37bFUUhrtrDZuGqwT8SvLrsJx6nM3Rol+ATq9jREudrUCPk5nMd
SJ6m606CWKpiv3E3l5swM1clzuWVYHf0BSrvv42Upbh1Sz4BPv8AZst+Ynp9Rqc5IAY8O/b9Ou1B
Eoj4DFXsb4jfiJldwheALp7TFNKEpsNu3fgHR2Zorzacd89AFO3OehXbzYbZHFVujQoPdC3ZMNXY
2eneTof359NRZyrKCD0ucisjvA17FMeOEeQ1W0LQFh0EnfyJy3VAhVtdM7lUFRrPtXgRqICRbwOZ
0OEucxNmxVPoeI05A/WiA6SzLPz94poFqQze+wR/t7JF9fnw4cjcXpPzb6wkVPwngOmvpzdQJG7Y
DuhhvH4dxyNGlFyitP9V8Xs9YeDSAUBvvrOyrGnJY0NQd5M5w234dTyfdrPucBU0VSQ7YQhaunUv
A3aXt+F4QTI/ns7H8XyRuaz/wHOLwlCmImGLEpMtysxUuzN4HOYjO8zUHD2XyPMTqeXgG+zW+YE/
gB3kuQnHOfRvTuKE6VQ69BVdJ/rhqs3cJD/aHZ21iyCe7KxfpvHr2+l83d2Ok8z3fdH9hndAYfhm
/bi2uemuL/MckBSrTtxVW3RMXScMomi+FLJ6SHRZyPk0DcfB4/55lDE5q9gVetuDiDWc8w14F/Cp
kT279ePCsb7nonmH83YVevY+A9JN12Z4KT7Y8oRF+QEpMh4O09tl/JhS1RIWiL5tP39oZ+L7n4Ic
nR4FCCVYri23kDPQUX6nyv430bGQ6fgR0ZG+rZG91atUEU6ijmbOAsoSoK/oqXTo2uOUniiL53tz
eMyoF6ZLj7rcYOzIil5Nlggy1HSbX6WH0/V6etUfjo6qfTZiBsv2TyNv3G55QG/HR1f+klXzq2hK
w5NWyFdGvinV+s39DZI3yiVZ8jZbTNxFYqCSs01XtYrckLR8RdC1W447f0FlfiWHVrr+PMVvM4IV
24dIGVrru/FQl7admw6WiFrwO5i6z78My7xw/+QngW7DRDDBLXqWYswS+pNkAHa56MUMcj3zftmP
CzVZitdkNkiMNm2dkTq1LHU2yfDwFsiEo447d9KcRf0wOfMv5Vx1XuJei2ld2nslG+mVWSnRlrtc
vr3OLorKFylujjeWENAlXRYf2Lh8yNTek52V7MslSWL9KeuI5Fky1QShMLyejvvFR+yugMyuRE/q
lwwIVXmVz7A0W4yWx1mS7N4G2lVCPsAoSCCu23V5CaW5a5t+LZc+ZKeix0K2BMq1q6JTDNUNpgBV
YZf4zIbHJp6XSgyqQMhSwf1tbRJucL3bxMVi+t97QXTid9TZHfMv816pV0VN6/rmA94nRadQAghU
u8KsSkWL8werP2f9XZQmp/bKLGioN7rA7GvFuEOvXsZ1SgMmmO6iMcby3Nay/CK77ZDPOEmMPc1h
uYfhzU0uL5AcCKaraPduWaDiMCUOB7CUeX0gfSXlA6mojMGmOvbjSj/x9cqSst3Cl+lzrB99R9fu
X2RFm1Ee326L3EpPaDFPgj6uXqG62yxM5r+OZyiOkO+j7sZd3SHnFM9cIhoqc8AMfe5w5FMhcrpu
M1aA8s7IN8DSmCY8uk214UbJIrMmfNRitXLxEV+mrM52m1xlKc+v5pfJTFWjjnR9VJUDRdUiLNrq
LKocmuzTtu1vZovU1lX4ovyArevo/OV5eJOPz64dIs0Wj4Li8tsUewLt5XzFbFT1pvWmXVs4vzF0
qqh0lCuwNrP8TXyhROkJTWghcj5bRXcGFTSOoDuDWE9gRjtsPxC1Xrk69JnbMh9J3HCkij/hziNU
/zaP0KZXv/qAaFX4R3Fw2TWHVptPQjWRW5O82dpBaFTaEoqKJ4IomKXttynF+egHDQHIaTan47h7
m76N8jzEMcPp7WnGgxIvNfXvUjcjWcmbINPVrFnDfFy33fSheksskfdOypZIZ9SIk6LnbYiKFVui
YsG+Hd4Ro+0JahCm40yd4RB++Ca1YUBNlQY5rBTLpZajlTmHM1QwQz6mTI7HXMakWTImafdblyqK
I0LaaLJEZcI6TuhiBC2d0k9zGI/P15eLMk21TIOlbg0zyRbF0E1WxrTQ2MsznUyxB9wcNi7I4wYh
sV+G83G8uHzSp+FyfR0Oh9PjrPtcsbvjbL7IrdJ6SEhyqnuTlmq9DRhlf3zx7ZCgdH4/XIfd7Xy4
iHN5N3vjjH6Mo+FscDPOmHBzHvFKP4q9QHEaE6eJBQrX8XI9347HmeMzW/KpP6vx/pfkUfUyihSV
TLOsOR+HQ56OPdn7EmJYdv7rr7/u5hGjsuoqThCT9F/H19P5fTo+nbK7LuL4WLt7m9/WeJjyYLL6
Av/oY+NhlMS76/j6dpAS3pEChOyx5PbpBALcBQsfpFuCw1uyftLHZd7B2TPOGZOVjs+3eVHiPB2h
Q0l8qrNgnt+PWU7uZ2F5epZJQdYB+bUBauYyYGXL63RxWe3zioAl5XnixcJi7KDVvc2vBAx0V3bm
6Atkec9v9CP49KeZ3dDrKmStQ4WED4MiyBtgEvhyjtVM0h7dFN0yBWJCl8vSdv6OQeWGBxvxkkSZ
rVlmwzJn/w5w114mV5myr5/jPCJy3x6HTE9nKBN0FW0uMx7Y04ei4cfzS+vqVlxjEPzPx1nH3HlM
V/er/E6Abf3zaJJ6ba9EnaBu4/F0CDV1w+HtZZCmCnUtLgSxXGdP1b1/O1zuDd1P2IxHZiI7GI5Q
NQLQe1Dtc4EKiKBU7A5ncUvBLjIJrrabd/XNtxMUXp7ErrdAlDbdVYCZ/BamUOoVkCpNHE+xcEtx
/SGek9IxVIY5mego+DS/fFDGIn88nq7LvF8Qth4wKIFdawFca5QZpEip6YTL63R0J/n27SJ+PUR6
TZK3O7zNQmU2daGjE1bJ/HP4MuiVJniqFbeOKCVxOfJagmvJJHUqOMgURWCLh9tsdx/FSYKfwCQY
xa9QkuZ4QSOG4bgytqDH0srlMgP/yyxpObqu/FUQjwx2A2QQyoSlEgBIU4VytFocExwEJvElr6l5
GYfz4wvWfYl7qSN7ER3E80hgig33NHSZwSVFZWCz9PmtsoZwBMEHdGry8CxfzBUBe723OPwWYWDa
JbuTD6nmbkx4XmJ52fAwC/oFzn24XU+ZR6Os4uoJdMMyMxbGYcqUM9DkeaiAqGN1zEL5+fehfovw
lFrPDWSJUxLQWneplgVmJ2FfsjV7Q/wtw9wld1G9BN8ifUvTcVy9khrX83C8QMWwTOiaW4jYwNX7
KuiIYFGA0J7FFJ7uI5zzzC3+p5j+L3eSBT7pud3c6QHzFTwd319PEHCeLbvPi1iUJ663HBiIxpN8
6D23Y/LQK8K9aNNHvksvxMN5HLD0+XX6dr2d5X1UBacsHE+7p9PjDbIF5jkUowg5JuobKKUrynOz
BvF83L04eOkv+D/yROyeiqKVecamYqHadrzyqbaJcPXUIGIZBy3iKzwSRI45eQ+yHT2W8B+y59tg
jbE7gc4kJt39N4gyjh+RZ/RpTl0qLLVVkycJUzqOey010X2kv/sIOXZXKxwgVF1J96xKXmdaPI/n
S16PLEuOFz5qnMRzzys5oY3n8t5VKdm8hTL9KlZv+0K7ezUF3FcBr+Hi7qYsFEpO45N8hManR96/
jf4g3oaZYju8d4qqWqTCjFeu5gfsJkNTwtK79Pn3YMt4ZOfxdTZV96FO3T+zF/CkjbKy05vUVrS/
6274aAxhK3/ZgnP6bSfbSD0r8NN3UZayDacYgQ83KMxw5b6OD58n8GZfPuPT5palPnABeHK1rFR+
u1sji924M3yDS2YKNN/kGaIYhuC/RwNxy/cnrR9L33OvUDyWh9vzbE12yums7h3/HOOEMvu23N2l
As0ZsbfzwV0r+T5FtoWCK4+POT/s/nnIWvA1Z6K87Z8AA0bfRGk5uTmrxKg/rfVRRSQQRZlWvat3
L+P5aVtuW3c6i3yLDGdRR9X98P+P17mKr3PU0X7P6+xlWpfy+r/5dfZJtB1Rv1MnSoYDTcmJ8pmD
NzIwa0QsJ0VjjTu4FofTs/sHnD1whHxTLScu/n0H7wup7iX2WqAgTpUUI8WVNikh7O/1EcgLbriH
gHiKcifOukXcAk/Hw2mQHSE9e9r/Ro6G7fScPanoFvJqS86BkjcJ51N6HmX6lQ23QNYHjGm08PCf
TwdZAleRqqQqZHkT5f21nFXJLUT+dCQ2OEms7I0AmELZGWE4Skchopm3K7udo6aqUgTUoZXqKCJe
+bRiRkn7d0YT5NvbsQqQ83qALvj1PLxB4OllnhRiPjLlKk4ORPdm3v/ekQsSCwoTe2JWDo+qSqno
c7oFFfpjUfZ1WsKT17R9TG/5+245IYT5kiNo3oWM6e3xfK/jcN5DrypFz+5jVusyuvo/6bI2FZy6
dcS4IKHv9fT8jB7DuK/MgipuO2T8kjakLCXOQTpfkDmOM9uKp9XHYsJlM4uvIYp9SP5bZpRnalqO
wDm7vY8pQ7iLaAC/edgyshu0rDJk9W7IFVlPswENYKlksowPtI91UjgXdWkmC8LkdxHhtY/oQzhN
vdwmMg2Ko19PJ2UpLVlKx83hl+L2qcxjl3lIzg7SwjUHCySC+3h7QNAHJardWf5WwYP+kbtQcByw
3p2yqxhcJ/Iq7gRwsnJ8Y9KzbqgEz4xtiETwLkCXl7KfBhzw+i9obuzhMbVuFCXCQ/o0pjqhxjzH
Py87nHM3fnsc3647ISSMk/icpT7icXkrFidA2NndZTxP81J+lUvYcKoyToWqZU8mAtTf8/SGMKbY
k3YnBAFxJv+u9Ev6v88ZdXvzAI84sTyHl3kwB0L81l65QdR78VWDoTX5PEbpS58+44/n7YSZTLvH
y0W4iu542vR4TJjDq0XzIyneZbeMOlKBIlwsUyyqt+A1dLNYkZZ0M1onI9yOV7T6NHU74VhM5vmr
fiwV2VR0XMzT+IXIIzsykhibASAoYdj34+PL+XQ8CSBMjjDxfIgfaF6Jx909js9+OiGahavqyf2h
tftxHj+HfAfrgpCW1kc7dvctaccx7FG7zi2ZiqbVSlNZZaqSrKpJGGcBwZytm8v8KEwAnC+o3I5K
ZFmuPs6GuZb3VScROXyH9LjwX8hfCXJFOSyfM+14GM+8k26UURiHzEL765C1OOo+jQME5bTJbE02
Ris8KTuHWbFDlSJ/yzUblRKNtAUR2UvbGM+zhK67GUlR2/RiLeNPZ0B5ybwiXm1GsQn1imXd3b1r
M7t8ndV5rb25O++O7IUUsix72SKx6viQkMAdKyeUi9lTYV4mcmKzCO74Bx/2AHS5vfp1DG+T8raS
SeySlydeamVLHRV9BC6C4TdFzDSUa4vkjJDfZ4GlCPGCcmuXjA5k3XLGXUVefEqUAVqeQID/KgT4
3dto1qsoGPGmPNIFeYtoka5jd2yuuOHqlmu1yVdNHqan8TopGo81lcAU7KOhLKGhSzBENkpaoMIZ
plvPtVyZDbCATlQX6d0t+Le5Uk7GiG8zOCQQCiyvJVhyVSj6lHjtlLk6yit9rMcR51IU7U7gGLg+
UDKVY/yuWEs1K2plyimRg3Ylz3XmQVW4piaTgRkScEVeZ3UQlELtGlRG5LiNSn8XZ8AmLYtm8Hye
d6FJ05qQkoKiLmOVW2fJMVJYyXnslm23hKMoQK9Mf4U9azIZLQNmH0zlHHthUV+rR/x9yPv/hMv6
BJNJXWlQKfI1iDBlAy9GY3wai3hnWmVhZq3L1rqIU4hFbRBaeYjSBbLjZ3N11IW+Ldf6WkcOD4B4
fab9RZHaVtSTiBjYvZ0nIbLk2IiYzTGRNLEQsypO1Qi6451PQ1PzZX4O1zjrXOlKwdxdqzaKdG2I
5kixeMMUauUcsocRqJE+Xwp39EQyUABXkAzz6jcJ+dauDcHu/mRzzhCiYERILlgFoG5tWkUj6FjS
tVOoQj0rqx2llNVUNsIgoMOaxqa2RZbF6lJwhVC/zCafSi9YKJuOpqaPXqxDEXQ/5dq1d4KxkVQl
5dLYbn15G3LOgBshe1mdFtyl+8lIZ+VJNo1o6K83pDxktl3rWEYUappmXa8XI1JXey2opMeS+VJ+
nZVT6qnKViRKqKAyaKpPs76OrX5miqepLNbULiUyKSuytaBQEa+M1sTaLaVinxC3KVeAkuVlk7rU
RXeV4joz1MBuox+PutH9liBTEUqpFTdsTS9FTcXFPf9o75IVDQ8q/fIxkG7tPut0Y6hT1kQleh/h
YO5ehVp5FaptCp3Ge9JTyW+oVzZUiU+UjkjoSFuKWhRxaih+0oL6AavErMMJJvX7ddHxpISjgBa0
nnMHIWTsJHgh7OHuHisKf2lTju8YMmgehLsIWyv5dhSuqAqBsdY7edRS7t1+atYpQiZyPXDnmdB2
wMxlZbpWeLCdcheZVdEc6pWIqo0k6BRCmyprxm4gdEPtcEx1qBKlfU1whflKXst0gmB/Gl3LhOn4
eLhBAxyxBhpno57OmE4iigVFIek6Rk+LUWwcg/UcP+DfL/+N9RY/znu9yJmo/rJ3aTbRy7R/m0JV
V0yiP4zDl3n3EjyZmzAWnqCDwnpwJT+ZT9SGqpMQfJ8ZdTretIp/mNeSTN+aFF6U4pBgC3ZpxtiS
tbVfLsz5BHfvrOUBNDG+vNCqjA1IXf7XHosclT10HLEf3l4DLUIi2kXZFFkEjRS6I3Mm2TPk5Psm
RLE563KM7mMKrU3MgcbYm20oW1wgiwqRjR3g6BEySdyHQ1KRMnUbpwaBZkMPoc8TEvDry3QdXTka
dgOejs9/lBJ4Yb5mdcYM/+Iq9+PjyaFK+EMPS5aDc269sfwLTcf5wlAuwrmxIepuPkbl5EkVGeld
GxtEwRHFQkosy8P+0AAIdj27jOjrweW6arekTW9Js05UdHDAMfsrw/IlIW/MS/J8sDAU8Bus8E5g
vMzyAv91XrtCY0vYrUS/lkfg8Vhu4xMAV8zSB/8aa793SxdtyNbFhsqXXH5/bTmhsAhjMnnIGFSY
j5xqTG0g1IYH/dn1HTmPb7NJtVNY2b/vWLIXFUiO1h7j93JHcIXGTaQxyDHrvQ1ihXkTveKry7XU
CbjiUbwCuYKHpkn53136si7bVvm8vauScJhR7mLg1gMHBF75CCfUHCdgmcsiPY+nh7O8QForQuMO
CwcAAMPFCZyHaT/tAhyMwgQFt2c/4R7wn07vkDoK3WtBiOcucKW/gYJAKJUFmkQieC2UPuI7X86k
PGJ9zRXVUlYP5/vB1yUqCbjQOmC7OTuQQBDsTPMwXVUt2TEuPWLiS2KUl3DeymEYrvI3cDIqRa6Y
IZnWpVsqs9IaKGpwxSXOyqW7HAcQG+kze50ZHoINQ+gnQiq2FDagaghBEXYJ9fNJ7WDRnvdnMwB+
4m6uojq2qThNKP06nGflfczye8OpWL+RFMpnirUW5m0ERIr7+jIGLQvv2AvUBYZG7iIuu7sZPfeA
k/I1B5KnMFndcFoqXPLp6R32Na9mupDlKdpEzencVHi8QRq3Rw7JqRIVdzKs4HBcoyUnN9EXtZJE
6uurnGgZyUaiYFEd+FFLxnCE77k3zq8nvE/egXghmqPCZeRCFMtR7s/D15/Bwb//88ra+++flctV
KboKmC++asa9rn65CmuwahRhf8cTDgkEFNvLUgeGZX6otlyHdwAmGoejcsodJxTwBfwR9v2X09lR
QNm6SY/Wcx581+OH4tLgeADhz+GSKysq2RWxp6Isip3FEfA4fk2fADwafzuUhbHKP9SI+M4ui1mh
MHGhPFGx4lzh2VoR4ouWsaxGmahLdQRG0SDK+nzBkXO1tYWk35U+y5iej4fJ1Uo8aqpBxc12X5e4
cngo+m7LGVvkTsVy5vNpfhJgyvn+QG8of62Opx24I9CQTDhI4cOCE8sXVr788SeFoRvLvTus+fIx
nS4yFCa5Wt+ZD5S409MOa7pc9dvFwTTEY3SXexPx65oIiZhKl32edor/qa8yxnh8oJR3qeUuJFpO
2re7SrmG6PvKObs6/T0MuIPBUtqIXYCk7riLIzsI4SU5jwqL2JIzJ/zwxbQ/PT0BpH5wK6maT9Wn
KADdRuU2fk2vKW1igGH1hMZvOPzOJVbhlVfILfi4Zt1xVuUKQhsaPMAb6B8MxfCtLV06QUyndzIR
zogHFqEkZt7HTSg8Qo7UJcBUyWvmfHqXWSveDyqzWXKSaTIPpyeiM1eB8MAbGQUdIso165vxe3wS
LXdQd7X64+JrAzk/fwsALxXsrCamffOeAGSm2Sa6vR6xd7tzOLo6P2+SbtHxreHgOLRrs6jHGQbm
fTXRQxx2sOHJswSAiyLJeBCWjfGIulLI6Yi14F5hd2m977DjrI6b0z2h4P11XB8CUABO76MG+93z
CG2F8Po9KUK9JJ7WDuuOvNNr7SVXXrVCMXOWo568R2SLrLXchD7NYTh8RSMBLfNduLIzBZ5uhwXv
P0PWhlVJuUu1oAtuvVP1Hb8jOWGUQ+4PYAzQV3HEooQLhlcViAd45X0FjE3rgd1Kv8ReleRmOmes
DyNI7naY2qd74dS0UdVhfB4e3x0fuMmWY5TN1MJX+4QJaa4iejpwgBfaYHGd4V1kp2og9dqj56+C
fGUrjQgIvM3KjDoMr6DSu9iK7HKBGXwEqUmxLELTVTQKh8NB4QRYuH9lVssI3dOc4hFeHDw0FzOC
HyicADMXZIM0DcjPDYIA6Trv9ul8eoWm3LM4cPL0Is9acOuVoqlNBM1qUmV28RX6inAF3xU+S2kd
JW9RdvL5NmT7RIe+nm/4tiIZkArBvUDRi/7wTVpJWXKctjTQC92cgLIyt1ZxDuprlNeGJ3SEG3aZ
Hg6oG4iiC1dJiB7V0AePvq6urmzIEa9FCAo7tzx9AbVhyXRChxF+H6WZrNXg5ShSOjnxUFRWXHtN
Tod4l/B71xO8fPK2VwIhuS24bI8E46+jx7zl1m0oj3QxWbIoa5lfK45gK0GAQCuyUMULWq6uvU+0
0zZixY1UwkYq+b7XKwkRmuScp+NnfwaZY6977uq+zr8yQTDGsV/gR8lvg/eMMiGpViqMvHw6Jt7N
t/P4ZQLfTLh+XgtVBF9VV/xJ0BfC7cXry3jJ14qQ/np0HLuvBUlYM959pVcOCo52mbEEf2XZcy8S
8A2CNDvTMrPKoiXHQNpK+zkRLQxEG6RKHuUL2rMSXQKXbyJo4uosi9LIp99z7ww9MWf0eg19Vntn
/fIi6yW2TGSp90UeT7t7JtDladVyW/ndD0XZ1SlRa7/AN0gr85tFh5WLId/kbAFcZc/NFjDTc288
uXnRGVOYQj7fnmN/UWZu0prMWmvq1HSHJsLsNiHaYlaZIUBKcD18nRQNto7cTdxm1tjZYKy/V8+w
tpzEdbwxi5Bfx/OCzCe6MpEXWOYfvpwmIkycoSCAOLryfVZVE/KWm9hR406nlJU7IqXIjotSFuuW
fZUyfC7L9oosGcSk8WLy47Jd/oZlN+lMou9CsOCPcl4XrrNh5c9wPp+++l1/ldJKcHzJyVy3M2QM
zSor2/gCQnQnCXUvPr2AXae+IWXTigu50Idtd3k53Q57lImg68gXfYvsoIbXzBXT43WTDKEPFUkA
l7okNBEXfbWcopIfN6peEFXXX8/d6oywGOYwfpNAwJDGUfYRUIQNb4ysj3dVysNeGBj5alOOjSM0
7VW08StDH7fuThemJrD+SvZ9KpyrbWqB5yP5elrDvRz3FNdX1/asNDSy86NinR+FURSjgtM/xv3k
HneX0OuyC98W4SevuGDdNfJRBhjWJg393KnljnSqVk623qAkaUSt4QNXvlKtLu8ROO4yqHHIa/Fp
gTzGrhEelmEPvnzXY+5xs8FAVAUXLqax4nn4nXNTsa/KpuE0NpmSMvmo+871VKcPzbZkIWSsKEYR
BK5KVSGXGfgwvl9IVExLWUEZ1q3Nl5Luc3/CqxoOyElH92RA+G24XkMoZ74j8qm3rPJbyKK1rLhb
HwV+AqeL4l+5kPRW0P7iwWjHaYMGmH1JKqID4sPfsnYpVY3CBXaEm48q1ZXk+1yyBkxRyU8tdU3F
Efv34/A6X6Tb0fsXzuOT7qcom55zT91JQa+fbMGRRdoVnKbjXFghQHg9IfQ5JNacaXJiRodiXUwk
TQSXGzsDkdwr0R8aAg5N2n9M9pcYeePUa2YjJpL29hvRc0WoSGsRvSg4T7MkdXv1CdKH8ZpXAwre
3bIfQUBhu48k/qH5pkzLHUa8ItusRmI6QU55X606Uji2cZv+EBfS977CP1SPw3zeGebr2pRP2t/w
rCm20koZDgah7DuoWL5N842w9SHECa8TpEZlPN4tZ8AT0j+dB5x6OOx0baLsLW9AROEuxelQvrWp
Ull+XPjeaQEyA9otHshwqOvvrE5ZPl/TiS4OQTI08lxkyRTKQLfd79se5FgyPkxoylepSrjyeko5
88gONedREawE2QXSdlwgrjCyiUmjqmvr39Ue+xTCUGiVi6rjMiJ7YgfmbquVKb/oXcm96Nl4WkwD
ykXTCs78+41MLvNlz8c4G9mpZcWYEWgGmDE1Yprj9WX0z8BFPpjVVfb1lW+HafGEhL25VK2s05pE
EpOc4FwQwvCe/lJWhm3JyQf3BoaEELTQ9cAs0ZBIJ6LCyL7LivdEGnmpNPhLFNZS/oZln86ikq11
mlUQcc9DJQyr1stOCuplX3PZ5JXGWZ2AxiFyUwFksJp7ISWLRTcZy7rhXBiiQ0BRO+1a7Wy2SiRZ
1nYmOTLvd32arp/gHn3CW/kpdx9N3kO5DsQpycpoZ9+ZshWxLtZJDNfTm2xL3FnswbUni+mqFDcU
GQn1XpWLGvk1XGm3d6ZRxqDrDXuZK1mLXAdg63+DrqXYuhXH87/DrJa/1LDuaFmrKkvWg8BGK5Sw
Ss2JmiRtZadkHvSyunJ3j5+mM/SWHq8SBj1eYzYVJvIaqD+zjXw6Kbp8yYeq5GtizQe2QcWRrMh1
9qPqcyka1jSzyLVX2ro+eXkNl630m/RxWR2n8dUeEz2yBlq2cTseMDU9Sw8dtiRzupmXioKkY/rT
6TDLKlc99k1O6fS6DYga0jDs8XTAfOub65h9u15VUIYiagW2S26XJ2osP/ItqS7OJ7QgJaCqf8EM
Hu9DIQmwctJozX2T1FPjIKYhlgKUVpC+B2UiCt0sWIh/evin45f59HJzmTgX8bihXwze1JnRhtDU
nqTB4SHKswYs+nSFBOJi5rADcpn3GCoLrONUNUYXnCDan24PoTr9w7sOyN3prslcYZ4jJs/5pnBZ
WpZx1oZLj/ymOT/cFFWcgviiGcLl1mKXiYK+SXHwpj2izl3QiQo4Su6lxCRx/SL5Z8F2ibN+nWQ9
233n651SBZEMmnIt3xxLbk4T0fbvss5JI0y4yWKZZhFd1jgpld6rnnfEMt4WhixiAqVNO2zlpOAZ
K97Dv4HydpEFGCEJhS2ezY7Hz+8EimKt9ukLb/t04XVCEsjAX2q0PpCI33CCzy3HT+fae0F2jnfW
igKliKlpy4Tuvj4Ml8nhY0s2Dl6FALNcpvqcUYbYOARkjhc5Uh6PGxIvHM3XlbDJCgJlm0ohySmF
Q+oo+klzOynm677SpgvzPejOt+Ojh8oQ/KlOUjapTOv4zqKoQK2qeJVJTfo81KqrwW284g+xUYaQ
rzhwu0Z1ULhj7DlqYXms6ziP7n54qC/K/gjJibdRwvMrCLZnuj9X0rmujvZaS+YFqNuUu2o1/cQN
KVPuqlSz1tErrpu4uaQkYzeEZUjExl7ijjufLa+4CdyKe5YthNiHG0IuagwRPE3jYQ9ehcv1PF4f
X0DXO4zP41HRcuqOuxsu3XLdHldv+ei4xqZ7qdXEEEfKklMX3ApyqkbDjpVSit3nCnaFpSJJ65qV
cYXChbZiBRaNF6gSq04vX6ua7+6LrDxa+kwr3yq4C+MrWFF33CwT64a/rgonW5a2LP9hgVNOaa/u
qADzPY+n1/F6focGzbvhggXPAV0Di7w0OKgiJuutdKNFN3SqotcQk4I8rb13EYvQnFZAmlM4SClf
bAG9111jbhXHo4hlU65xIAk9Oov1Pu7rNBnvhswqzjZWJ6I+U4a+Ew6bCHaL7V0fb4dhY2JDESOe
OG2Mz/iUA582tKT7BEMW178kac+izsVpZP2LUobU0yXeKfRj+0iDA4qC1eOjKROlJROThljuofu9
JK9IQWi81yTpY3U7L7t5/t3reIa4nkO8vMNAkw+ClIimNuW8VH8EOE4+zzZCwWLeRrecJwCVAzU1
jPA2oq3i6LXm/XQSeL+NkLbhs97bF/QNZ7TIg9s4mMXLC74ked3p533M4Pnw/ia0DGljYTYOipEe
sQ94GwE6cAjxL2qUCU6/isHzkgcRitzVe2fpGWKAVYoIcEIzLDe2SJd7h5+Sn6GKMxDAXWSFzIkU
DUer7BfLgjtI+sUNPFhzJ0st8P14mp9BWP43cZLIHiDyqjV2m0wz8nVfDy1U/hFp7ByvIe9MRWwp
Yg7DSsCE3L0F9xUfP1lKldxzsXbUuDd57dSRlOEi5s/HF6Iu7rAdwN0B8YIYuVOldx09HsS08AUJ
06/gsL+OkJukYs4WMaqwolxeA5F3S1Qa8FWZNsDcz0+HaK9lcniLGMaxXRIN4AERdHdiEQtHHGpB
nG0jIILMiFTvIk35ECEpqRvJaETEaRZdJqGK3GNN4kAjIZbXEZMfPFnUkBEMXRhS+bgFDqHpQL0y
xLJDhAwVN6RPF2Z18GCsEjJxCM2DkRdmfdHzevu2locYQrGoFxllYaHf+WqI5N5ye7HpEKu6txzF
Cv4rpfIVsn1DPeZPVAsl74BP3vGacQA0VRFC69jUq+1XsMWFVVjTEBLEh+3r+PB5WgROWEN8GJRF
dIQ9CAyJ5AdzRCU8FbUJYREXgAQcctmPuBhLDiuqjEXdKVxkOHpsOyyFKvRqklJ3Zd51sgRkJG77
Vpts2iuqRaVs2hTpBa3VFCZ3p216ZI0K/uCGtKl80lFg3JCCvaC2UvZSs8KmVr5SFtzCJPZz0fL5
5bwqjEe4yL0/Ri18cJttuFtQNNrDUrGnUFSKNOKHVIowLjpW5tWa/O7Ys66UvRQ1u7BS4dvCsM9X
pbxFxrAiwWjyu+ffVWVIv7qDFfGVuzwZreNDHXvfrp7ZDE8qDEneIFprWdSNQit+46ZVNl5yh7hN
fIpYkEiPyB2oaleqG92tpeZEuZQv5hiKvxxG04fYyxEQx0jajgsDasGNjvXWqxGkrmHjOJq/uzes
91mLh3SWd1grX2mbNOpiVN5xX2n57Stf6Sp+L0qEoCMu6Yg/rAYVOuJDbyGnKO+v7wyXaCHJDHcu
JRuH0AJFPYl2dDG0pUV0254NbGrh2bblAyRKzK3t0nPp8qGCruQpppxLX304SNv1d8FAJxQ0JaT/
gHqghAOdHKOTdTFvxBSKWCrrdAWdH6IoE2UUS1CyPE+v8rkTZcILrEi/fmV0NZyzRiMHbxqWmgXW
cas0ip1ny55VYKwyxMSNoReqUe+8Ix+hBSkSrhVtpCw5le9eTwhVvQohC8HuajQmsRxfSdfUbbJl
ecQq3GtKVkuzinVhKk7vz6oRWeTgOibbpLo5Td2ap3ZvtRWEgol1IpilVaBlX+jmDLZ/IoNIUXjI
lY2JVoAKW8rzeL9jm1ZHLklyvuvJKHRDhCkC+Ea7Ksm0nbJl8lWTBZfEXwnK0apuvlS+Ymy6MH/0
rkprP83/AUG8dbanDsttIupfa7YZrCYiR7UphCjXUyxtRDMqyyjIMup7JGjcFwz2XnIHjXWR19jU
3LYiOHrwIixpfUqjGhMRRFuzTSDjiRmOq4u6UlipT4esAu7nbAcBE2uWt90m5Zh9XsMdZygX0HQc
k94nve+ns9bBzcQUgdVUokGKN6ljN367nnyqYS3Hseo06tepGTxtbFSwCphJun8bW4ktkSabQsqe
D9lVViX/TXmVlU3ic5kueG0E5YYR1EAR1Ig2tvla7UtSCdrYwmuhdq9KzDb231pihDo0VRtbVtHI
ZG4jpeUCkaSaQj0g19fbg3tXK5ugVYY0/BCjDCniEGqrWWVIFYfQxMZGGVKnQzItaHGISfdS6343
HFLGISR3SWOfsuHOSWWf8i7Im2GfsroTCK5+BfVN+sap2esoylpdvXFAQdizSG3bYiJMbZuWmjGy
HbqoapqS4Z5wkbVRuhpWM5KsIKyeZl+i+6YqrhrI1WwnueYK0r2J2KqrF+rFAT96J9P8Zt4pJMrb
GTdJin3Fm4V0Kbg3u6gaRYEqU42x0u0uE5HMpJc1Hvzl5XS+wvErh9+lZKtjRVWGcJkDCRiCK/Zc
AUjux+vw+IKJYcOrchbtarLOt0J7ehrPCAxMkM8VTbCNmmCJxWiKOqTQrOXo7+qZf4S+xu4/fzm9
7RDy2TUXUVg3nmcJumVZWN3IRFZrOPvmZbqCTbPD3pn3OrjuQzYRiAKmhQxeW3OnNhsYj59zmGCO
4B13buKDhvZQy/GNVLXhaFGntOj06APSuWMlWC1/JSQ6tCmuo6BLK4p9XXPmjU/xdbmdyvmQux8j
l7zQV5ZQsQp1rVgwNkrDCgFhAlrB01L7o6+8b3kTSLFz7cqGb7cwo3Lobcu9EXd9AdLmUIj+N/98
r2yNiBXQlVs9KmliHvH6BIpKuRg9/7goh1Ya9nExCs0Ly10/YOmU7mK3QRNRGlZnvdjX/lVxE0I6
lNZD20T89bUYMYofqWBZ/EMKfGnu1NGsNt7yQxRtvCQKPDkjTRsvS36Ipo13cQgJ9KnaeH/3lZhH
f3rapQ4ZrOFUMtncBSxYX5dRnoO+5QR1gGIPHdvuW5D5rHJF8a0oi7T3Av3Oz6TguTg3RZPO1+sG
H+6u4l2MiiJdstpH4s2aJeEFPJ1SWbsTWh0nXIkWEysLtFlKTigRZvAlJtD09LjPXfSAxdiuW3JC
auf0fDyhsuewuhQ3puHUgVi8tQnPys1kud0dZupEgBkFCcq92KvHoSalHYrt8xtU7pAp2q6bQUK1
T+qKJdmtmTk7y3v+FAXH9OwQo1hBBW8FNco9sOxj/nU67iEhbJM2FWC68Gx6+LueO2Vix4Y7NUZ5
iixr87P2gpM0igVDlQCasKHorWWdFRjo/lYavpmIIL5WsmvlVG08VQJGRvOgD7h9xlhR1kEVFBuR
lsU8F+SvhlObN78iyhtiuYmLWmHcKjIuwgf26VpIc+cs/xa84WMVbqhq1g/j6w60Yj1H/Yrbb5Iu
TiSXwseV6rw6jMdnSPB8AvSJXYP/T5F7hnvKpPJU9/CyITRQc1ePg/OCxO0ph9Fz9iEWDUQNSWmC
aiKOULjeQUGyCmuXDbeTO2V9d3k8nw6HB4iX354VFa3nDnhR+mJDU2cebfB4mmTCILFK5TxNyQbY
GoUKtmFZwCrGUWVY1xfLAsoTUnBXcGskx+XosKgBaupYbzloHjWrqRdSlJQMrZ6vy9cSofqaz51S
EqF6kp8XeX6btQkThD7uS1pUCO8Y5fALw0fdFberKQTX/Qp6bJZ/Cp/2vLtXcRWUHWv3G0XIFzXr
0jfK7tZB7aDXKAurhMwFZWHrlIpKz6LHIS3nLhNcv3qFoZNHlvMBy9kAisA3rO2zvGEfdSM1xA8M
3bWDhqWcmmWlD2fETRkPe7+KduioIe4N7VmWqRTvUmk3JQWASbTVjm0qzg6IeRJoCMwTK49ux80g
BNI0x27Jeq4r5dkiBgjNjHb+Bqf9LW3n9GylAIzVxlaRte5JCp2/OOtOsWZKwWWhvOdVyb20EoKk
E0c9d+uLWqFl1ajXcR0W00M8rJnFtZbZHU9RtVJOh00MW0LITu0GEZF1oRGbKtbTeo0ltJRfwmuu
rFjRXlZqeE+BHwEOfEu5a9WmhbkBQpY8iheHmQCofM6D8zJ8mZRUNEPtAzhYY33jt/ErSvrDBybs
SMPielVdhuhju4Dgez3fLpLZ0pF2rPXS7zsAO0APPrlmuyPIsPUKudhlssq2RUeagyOcCfJ2Whjv
4i+jNkPJrHzL591pUCcQwVTJ7dsNprFbAvByehsep/nbp2MuFG86msFHkUs27d9NQR2VyKnlBxnA
hJZTyzRACUAX2IISKNdPkyp0t7BCAWPcVtpd8UAvrj2khMeSqWmPZd4EJCliWj5CHB/67UzHx9MZ
UvocOMtxSfEL33kZLkqGZRHjdEv9fApjQsrwXdOb3YKKkalULzggmQ8AR5Zyjb7lavQjdTwKBnRk
0YEcGw6XEyKb0/HmgP4yx7QC9iw+BBYwn+JBxg9qydy07cgr9kMIOAZr0Cqd+5uC4CktSTZbERjk
A6nvYTZcfgRkQL/jiDd4bh3bfh0f9sN1eICOh/N7Puucx4tDUt7tH3jDc15sHZDUeqgTgArC/0O+
Ee6/795w2T3ezsj/03V8lecs45wk60hYK0JNAfpyXLCyWrPMbOBBmd/V9dzn2xF1muG2n05acgdO
GNAO+wX2ySsjs6Gx258ebwi77AyPi9NmEQn7PDyLLiO3UrtMTPCiyTqhOeV1/DtGTf7rpx+VJcaZ
QBB6OejdvV+m+VZABFrSq90UhGzxSoZDdo5KebSPheACwNlRJqMfBv9mgHy/PSCldjehkY6bL9K8
bBYb8fnkprqeloY2R8nac9OU6TStRBe1qsYxbNxh4lr3Qv/LNGi2pzvvkjvvsAyvSB5PyiHV8ZxJ
pjJ0LwS6vk6uPQOSFxZ0Oj4eJgnHr4pYWDhfvzgJrtPrvJ7z+DT/OgJrP+aS19ziIgeVSK6y9pGm
sMUD4AvBCT6fT7cjIloIuqybsCYXj6hj836/Duf5WbyhZ0T0NrgtknOLCJrkks0En54mDy97uV1A
2EAMVbkqkWqYI1SpUx43T9tE+tklgurFK1g+MLGCo4osVi1zoNyqvZb1PE9wg9Zvrv/T6QhE2xHG
Ue5QkTC+11LwKCPLRlTdd+UK1dwGVzMpw5uU+RkZEzhjLWteVKIZy92CMPH86HwZz5fhAFrfcHk/
Pr6cT8f5uVZWGi86UZP8hJ/Oo86xZUU4FuvJzP1Op+Os6cxr+jIrmRM0QtDFaaQ8pjuSIrp5U/56
KlxFpHGM7c/Kisdk9hqATuWyJdtyafCc/FM5qK44XuSZe1neyyzJFNIYTq7TR/hwAsydjbpCXCCk
yTTygwOOv7PU0d3NRVQkc8fvC2+jLaY/gyXZIzVNLzNnX3ZOtDj/rZvyOHxRmIGcoyuaLNaP80RW
9na4SXkjjv4VudWgx8x/NneCQZcrNiVUlVc+MgKh5XSh0KLnY3qDJe9PzL5iKY/qYob4RAbWS6oB
pl8D9OfjATBvN9zosuMUiYTrx+EshqOqWJm1UtEySvHb7fKCu1a2WHPSmCO+IicK7gDJ9vyDvP1e
x1MEU6650yKex1MQOMoscWvA6VWSy3N6G5WhdTx4bDZeJ7LzeTyOAIS1D/jGOfpoD5S/xtDO1uPK
+ltz8YjKysVpOEuR008Vha1Lzx9KspHYh+EKM+Gg18H1UoDrh0a/L9R+HI5fBueFHR4fx0OgCv54
R35bLArvawIqUFahTRDy4Bf3EcA2dd+Yf4JItf4ADvKsFF6vQYdP4WeNs82XBMqab8dFeeTns2iI
+nhh62ND2PcXvffzvi/zdZkO0/XdE+v68npwRRqXx/P0JvvdjSHhX+CSBZ1sOD++AOb9HpZG6pu9
9vd4uO2V8JUxJLGe6BDQuPdt9A1WXV6gT0mSpypIUjlNNTzPFs+X4XAb1VoNU1QdF0zE4S58Oc6M
egnJil65ySyJhJWJoXmdrrNQHq7X8/QA8ZQbKhKX3SylsUfJ6aydBHEow449TNPX8QHb+yCo6Piv
23C4LJcefqZMSJKBQHj72gbc+GGa1ZHxeWa5S2K9zFf+8HV4n5+qzP779EgszUXFuiDMiz3Pcu5x
Nv20bZNEGvrEYZ4EOr8laFvPv4Rq4InwuvP8+/XMpm+QBXd7fdAc+QVxfqMv0E2B/i30Gi3nCZmx
uEXcl5pBZ2jRHMU+T6m/C60/9+PTMI/XSF5xqUDOFxtu1Bkjq9A2ycU/QnMoZZkEUIIqU+OAHjj0
J2A3JmVlJLeKgCThTq/ncdSuZp3mDHY+xPYynvGdm+UPMOLgm79Ba+OLdpBxIXDpvS0M4nBm66su
Jgwp7uggGtm15MQub9Mx28rNLYJk0hJV63iaxd3n4+nr0Qsa38VtLTL8jjWG7znRg6vczzrl/IfQ
HRSG9yTRkfhhQ0s1xG93rDQz5meU9nvtAEnFFTHxF30QVHrtwEhqCPGsvGx5FEjF2J0E8v2bHs4D
3NSLJnzaVPi0IX79cILAC/iev4xp7CTKSu3J6rkM7Lfz6Xn+1QtkK0K3kNkOeJ2N+asmxCs2gcXt
E24p9ANc2EfbacnlBy0ntUyh7YpPH/DqhmsTdh500AtjyNOBXlGzdFDxLHc+3a4QW9eeSsvxzdME
Ldzg2fEOinllsxLzOLxN15mxfx30lRW0iN1VxYfmhQhM8uzCVGNw810zapvbbZRwqMc3PkYc25Qc
BiUP0xiSl0KEaxT7w0P2JaKXNFpuwNWgG84LwZbxqNdBLYqm1hV1wxUXzSbeYdyRM8wtiWDXYPFy
w+pPsKSgQw3f8F81pqi5m+Kl9uXldDvsYcKXAZpqfkPNUbvBJZcwHJpuPtwu7yEmock3Kykns4Ll
AnEhI18TdSUnpGIUNixq5oUHDJudUPBqHBFPEVvIeZUYLYnP47v8fBAdlaji3lqYTb7zST0ims5c
YsDO+Aykh/MsbM8QGJ238XxRVpDWuvv7EEhwGL8oaarzgXT8+oGUyL/OzIt/3xnZJqtCZlzL3E03
utJG2ziapDzRb1d1LSWguUinSRfQ3U3Ra6OLOHrNV3EBba1NUaZTNHdTlBoFqmU0OFKru9PYaZuv
iUVs2W+32uguRzqrja7j6KhG0dGdNrrPEV6jebi8bdo91akEwWrRNAGb5jcXUYGc79BNy/czhWEr
jhaRvcdqUqwtQQ/BJTaFVRdVEFgwCLdVCRi9S0REMzhbgmMohARYAX6qB4hAupayZ7X6aBb9UeWC
//TB7XE/ee3SW+TeiYhE2+VsJJLOi81bghNinsdV0aBdODwo0qsnCb2E6YjvPfNCFkTbRYdAxTsE
hv1+3Oc1cJqNH52ud7P5VKP8fKS+ldzI82yInpY22t4fkPN8kMxcQu3X+QjBIjiMO6L8aHomySPF
WxN6HZ2uqkOBwLqsDWIP6b/0OjudMWDsFa+8NtCT7PQ7pw6wzxJoclGBB6+XaefIAgI5gxKTHU5n
RSPoDWeHOWmCDkiUamIk3NvMrK/EZ/86zwac2g1iHR9xHRpSu07e2PHb24DBgG1KfNGuBAK5N2+n
t9ubZ88L5HweXX7+BrWuZC2y+9u4xTIjhaAQT/GJE84+1DbWcZYBCjRI53LuVfWCWA5X5857PL3i
3buOFKcVArfvmrJYcWqvz7Y8PRFX3HTZZTjMkGphciXdTUbmIhJBI1jNPX/E6+A8ngdYn7fOtZeY
vFT94q+63N7eTmdsf/54A0/sNfegF1w98mIiggskSx9S5EESutzDCwZFkCVZ855420kUm16T3Xz9
TnCTs0aYIUWghD+nvQt8brsa1GCIC3qdLpe38XAA43KtvGj8HicjcUHP7+jQC5YI5jVfFpexxufk
VbaLFrxoGcMRWMAxg6b1VJzbcfHvONMajWl4c7ZxOy1Ajv4eHwc/fhmP0wiIvK/j9eW0Vxm9424f
9TPCopyKpk3Tc77qRXNFkZWhU0HwW4nFcid1vW2fezo77nlxHuPDpMveki3PCuzzNlxfVM9pz3nA
0pgYeY6yqyHV+0SwgWMI1K2XKVOmZUxRcdqb++5uEWlOfGhnTEBxSdJkfGs1ilbcTcehqEVCFqI6
vuEUWvDIh4WjR8qJL3ePxi9wWKDcPuc8gWXPmSWY9LJFeTeF4U7Iny968JD/naOLLDRjVRhDKlHJ
5Zy3jXv7PL4/nCDHzm91uryBV1V7AUhEuQM5mTB27n42rBcPPfLfXLvWjOOuLsQLjgwA1ik8+JqO
3XE7WOTMR0yIwrAaw+PMUvP7M4LX7G0cPmv7sakt0xKVAzXsmSr7SdXS2opTEOJ+HOMEfWGjUkxs
IxLi0KPL2nSFaJvi5fW6Q0Ygl7UY699PXy6bnNw9qR4lBpFPciNWnKZ0RFEC6EXNunDGp3NqClnL
ycFEGE2QC3pWpTJ5ZNDD5rZyO3qBTLWf3f40OgLlnPddxz3Dj7O6ct09gLaJUfMzqMJScpt3tETW
BhiHvqMs5F6ewJVLj9YMdsz8Jpece8s71xbtbDkJ13Hv7YqyQbtEJKQHaBB9E335Wz04M19Y7omZ
WZP2VIe/LlNqkoEFKjjfHt5nBh3PoJO+Z0TdLK0Jn9WLeFlbcBpdKBBYi/gJPooPyRcuw0ZKVnb7
oPDCUc103oxwYA61zjtPZlLN29JmbDk3//50Q3dIxkvWlBxZw0KgFDAbJVsjlgU4odnYdHkM8OiD
tbDo51g9qFUQ+Y3VoreFOjUWHQU/As6SJxVtoCepQkQHuE+J8tnHp/ln4IEh2LuzIMFkAWf4aCKp
4M7G+eY+nollCKgOpAR05cr/pFfgFqYXNfjFpECvI+RzZzQP0yqax7T3yZVXl6Sz3FDlUAiiVsyu
XKry1VsdtwVJMb0XDUt6EAbrN2QHkV43JIM1ZeTh+Phy0lZTUO6KREbR8Dq87Ty6syY2u9RRYtgX
J58FUVCw4xi+XnDBA0V8jja4/LOvIclhAsnR3PsuNz8PhsgNzsANtQlbNbRSzEA7fVWVMQKwu7ak
GCN50PPWWk6bQonk0BzQdoFUGO2pqzkOugsPaf6RljOYQ8oTUeuDFnSZJdxWSlPUcqzB9tb804Qh
OaxPCYkIuSB50bKZB67cNopblOxOPYZl+4CCprX14tOBWuW4LHGTW61k8wajXgWFU5p6G1eDhTPd
OgsIpBTkSH3bIXrgk/cO5ZXTiuMUl3LhnBHzrHCiJzUltEqXlzT+m/kdlwdGnE/F1RiPyId6mcor
WE/TeMB09cdZ13Hk11QtCouE8DHNnSNNqdz1BGLfX3zbAjTP7QIYVE8nbVdEQhRYxSO4/oPelEsD
Jvk25KUJiYm76D440/xETWSUnKiXVJrfoc8YzkftKhC0l4jN63JKs1+dO5P8YRTkMPAJus9GmDfx
vgC64U+8Eq1JDNpBBawqU9RpZi9oNZpPseGSQw+zlgqHtzHhrF9lUnppeJw1XOeueBkPbxm3AG2+
QN4g50MJkY1cpmgtB1k8jZ3nzSUdfn0Bqfz1dFYd2sRXhcqrWb33UCO0+bVnlaywu4i9ijdquUZ6
fq/pWRUC2ptMh8v8lr3OJ/muXcI2qWmwq9TwIOGf0AWlXRfSgZCSP6Zl42XZFNYwJBeDSEDvSUUn
0dH/JeQb6DHQjovfJJ4aIPcqlz3bsNIJF0I/C0ny1BUV3ca7gE2Ttyrmty3OWVdLxY/P4j2fTqq1
Zbg0nfnquGAnvNVOxPjYrOrRrhoxEYmN0GseW+V2rrN1fVw150gy1L0C0Q3j+9eszA7IwF0+pAn8
hnvgLuMjlDLjXXTKQAz/QtWQe0+1d7Pj1Dr3jmSjPuR6Q5Jp55U4V7rnL5avTMlZv4ZEpNZOZhIf
f5yfnPloEbBeve+GS3PxecbDBnlNUm9pjp3LTnOGsHe5XdACyekTpmG9njQ3HLTeeW9aDKfhFpVy
PLQ53UPARReJPbE5khTEa1q0dNkEY+C3WHC326vNw+GAiQQukDxtSb4x7PsfQlUbHGmmKMXcpCj7
NTZiO3PQ9HuYK2eWk0yddbB15sezlq5Fra4Ifpr4Ni+Lt264J6/qVmGzd5YcuXnOee5EsU/EoPNx
YInLEOmBHYQ1MUZdqxX2BiYSJ+db5XHWP2JQ9fT5goLVO8S2zTYMcSpUIJ0rSwIQ19PpoKfCVmyg
ASQ5UB+t8lmRR1GO7rZcHSIF4cPkkoiSBmbKkn/qhNfbeVYOz9dJL9ihGrxFz3TcoavTXN5uTdQU
aRTJu2yHaJdpV7jlfEkOSnDxR24y6UxRiNKAlFRCZAxci5pPyrJFVdzRbYxfUiBGLGUkov08Qitn
hP2OWVCaa6XlXtL4SM0qwtPTpBXFFlb036Hava5r07icLRhMUtN2qddnfmamXx2E7FXHlfD+LpsW
o/jYw9nZ4x8oKiIuKaKIj5frzA6umtSV32lrKfjg4cqp4UAr0Us4W6Ezf+il8JYjYWT+DTntFTvF
x50iDa9yy+n7JE/OPQ9bNN0i5T7f7xb02TVogwdq2J+Hr7tvD6/axcXahz5WjIQiaBfZczARX8/Q
aRZLCI8z68ym4JvIe26+WAVCAIbmJwTqGMfggXSHJCb4u5lqrhrlP3/5648/wJ7+7I4Kx+5nNnY5
NZfzo2vzzk5cRxQlBN7x6M/ejfW4C7ud1bPj/PC+a6uLNSPoXnb8EyYIMDIwqzZJLLiBTDzwVgSx
6RA4zsPD9Lj79es/sQrz16/Hf/KzgSfUMTQiBlPQTTw54MCX4fHzxWnFMnQtuFNNnCiikwO8OuLH
gAdGHtvGsRViaviX7X04zldpd3kZZP6B8UUcD9qdCQo9uU+3B3+lEJPWXXqxpR0QpiGEWfYD+U8u
OSDy5mV+VjD/MnTlkOfsCY0IHpTzBXlIIzhG7xQ8AE/cLtd5wY/D5XHWDtBEEuf3EXOYHxJfuo45
SpmIcTCJ/n8dHxBoxSmp8yvzvnudzRfUThVvH8wXN1vBhFUQ4jONPr/vru9vY3i3nsYBgMSUtVVx
bTFHM8Ivnfbj7TibyktflNvbWcY5B0qRk2hMLDGO54uuUQSglichbNegJPTZ7MPrdHhHaYW0Q08k
hHXeZbwwnI/sMhpJh+kZqQMsvJ/Aj6jcwiZyLeTJ1GbTPZhcPhf6PWTmjZeU1Ivnr5iRZ6zjYqNT
bVZdri8jBG0fToe9w54F/KFRkR9EiFkb8csdcDOAuCMq3UEhfZtKryS+7jyFOOw/xvHXYfeP8ymy
2usIfRuhWuuf81WVlXCHHhRfJ2LZP0z7afc0QDYBgilCMETB6XczxZfE+H6aHodIPxH5NLpIAlJS
8TJMu/WtyDUugiOpiUhGNCd3wb6pHQggAFlk3xFA+r7IG2njHSD1PMt5XW7nWf8E7XG+3Wd5lo6b
ZdbqkA6og/0y35kfsXeGzFeUDKTQGlgF1VVfVTU+KnNYjjcjby/r8YuTJyJbIvmCp8XvGTjwGkFS
gBnlCeObjzjzpfUq5ndvs1j+GUMAXtO6qtpkmWqTwfw/D6ouZbhRosBxY0iptScBKvDH+QkJWGbf
jjMxLtfxbbcf3Y9lrbBbtMJQBO8QOsGQd5hlmHlwnsXENAsKePOEWvQ6wknXqNR18Ecfa1AeX7Ce
za8UYKxc4E2eLaqsmLZUkVQIuiB5gjrqvG2Hf/YBRefoWtdiRgVmpMuzNHEZ3iAP4HTO9nAeK9CA
Z40K9CgSTZLrS50QjIyDb1JoDUIgXRZrM/RNeMlKVsJXEcffWdreY+n1M2ymqBpKtogMR2DdKCDW
TsaK9lNEW4uAM93ZiheN7fvEvALZvpQsu0N4OswTjsdwB6DSCZqvz6b/UXBD1hF2te6jsbWYRfj7
h9PxGf7/L2JeGSLo++T8rvY92nx4c36zPEYHRne9i3TUJqqWidL8JCeMHKQ7JHn+d/jR/5JgNtx8
TZwvBgrWC8Pgw9tlvO1P/kdiHp6b1cZZbTTMIWPYDYDU4cXk2j3+87MGRGALS07XdbdxE7qErOVM
XRGhD1oevFIK3kOld5drZRKp6uJLBmEUY2Gin1NPnHVTGTIV2G0APEen8pi9U3ZNDZkIW86Y2jBr
CvvMT1jSlfl6DTphOOyPEK6Nc2IT4vlPmj2KKeZhwvm/NZ7pyPLgsYFKJmmqLWsL/dfrgAMEaY/r
CY8nN6eoVrhtFmSqqncpUiRC/mk6fsrS31BaAV+H4HFynC71yyyrkruNupVZeqilg92g0waKebbT
z6CMYqpClKr5T6uwiPurNmFyqNaV2nqVBB5VJ5vRyeTKvoa3SRbGZhHGpFIFnupZ+R+OUEGGlrKs
zfTkvV88APMr9TY/8vNoGDyzluzLqyN69moVuIVVCVuA8JKnKuN66thk5fFyWbnvfMABzYKz9gza
VF0oA8DsksqN44BQHhwYXMtY24P61ukohvFrUq5GX0MPWBJk8NswsxkuGv9a111VNaU8ZchB7ZNq
TsQXXDzAF+zL4aJTITilzFhFQFywtUwXMJUvgIl9DIlTl+v7rCiG10zR8dysllsnWhWzGuHwfyUD
HsfXcVWkn86yR+dVBtsPDFJlHgIibNylx5WUdVl2yrBmGYbFNw2pU0H1bFXOCWQCmKyLCylelJnb
SBhiIdxpbzgY6QVGx1kLc2HRU53S25fqjFd0SELnMw1quSGnRWNJWC4Px/4FQlQQ63x6EgUYThTZ
k0R6FlMbez8poyPViT2KHdOUQUX8ZIyBurWLxgIONMtAqkZj0YQePkV06j45R+8OyLpq8MPxxoUU
Gldshpw9QJef0+nz7c0JtfVP5UaSyF4Fxwf3k/iM00zUCFdLhBgp2VrPqCwp0pnUo3JLertpVIsX
B2eshGlCptuWrfV3xFqMMW+sz5IefDGzcbr4932OEiabQW8z7YFpCQ5c3Lsy7dthmI7ahMQzEp9k
ZUK8v3ttRhK5Iz0WXPqbciY4uCu5MB36aeUEVgdQ13Aj//bzH5euRN9DUyLn7nXYMtps0Y1KWoIq
ZNFDM44wLAzg59P1NJ6nnetf5x7a+Tuv+FIex69yWZubNMY1CfBkzP2N8NBQzeCczV9UOsYJwX1e
B0c19AcI/Qovr2+7y/vrw0ndbsNh3wXE1lCPo7iMHUMY7iAg8+d28DTzBLsgxaCY5wKK4JucAOCW
R8K4EV35dvSzBcfpcfgyPZOsqdgZQls0CTbTcOFSeR/0FfcNDALp4euOhsMbbDXAZ0Nh4dgFgl+Z
CWvulmIdHIjAYUEad7lzm1inXfk+y6ijBX/W9LpBBkTGIUl4+/HLcByeZ71hFwJWGhf3XJC+rtum
MSpSpuVccy58vnfZXXDxFX+62wJxh9UEP/mbVrTjaMguPFw/ejLaJCvAzHoDr6j4nZ3lPOHuyXo7
T1AbsIMYk0bZloPhROZwzsoYktYW0nJwnGs0/FBsrU1U3L17rs5gjP4sL+2G2/Xk0+4hOQZsBKPY
aFFhQoHvtcA4B2ZPTRCJlyfpiG7SQskIN4lbnjJJVAtJVbFrQXo7X0742txvTtlatAlI/tbStM9R
axZlH5w12gqkbG61zIfZAHetPU9PH5s9mgC1WZJIvcXsDhMlnM880w6WaNnooOnatKYYoQpRRISE
28fxzeVopwd3u7iOScfH623QNco+MgIFJEznE1eAJrfCIJHyJHTwm88xmmpgy/g0H2fcfmSeLirR
iKjSc1serilL4EEqbo6u4KyrOzrO1/96ATKelKkiR7l+1xW7QsdVCNuz1OArk3apCceeM3YR/tft
BNXBcoYkTmdSri+56VDgDhmTpiuJNwdFf0+5hJGNyin0ZFl20S23HK1yL9vILzQjJXdFlC1HMRey
RpYdh6cBothE6mnvXkXUYOzsHPteQQM95xFckDtCuve7dsSWBDpohiS+yYcDlBc8gXSZEEfposUi
TcnN8jBhQtdlhyFyCJ0e8gsqOk5VX4fGxm8oFfH9GvbA0doeK251/7ygt1d7RC2JrS1aWJPuzXVr
VDMhrTHpFG0K3DlrQA+Ac4nu5tfZQD1oc3WcqQ2rcJywOx1ne2/+U0kKsySwQoOtmIV3ugZEldn4
eXU5Xf6e5s7OtCQEDM4rb194UkM80ueQXrRZWLB0RJCctddMYm0IrTqrCaVrkR4YLsVhUGKem8Om
PF/0fmqm4Mzu6wugVjkuPMxcqDFhwfH1frpgkYa/xdoCiPIMpqbxum+6Lwhi081pFy2eP5F4Hjfi
67R/BhRRyMdyvtZZBg4HdYNEBpQ+9fj/+qQo1yEXx2GR/HSFznuzUlYUQsQYPezeb9t1Cc2wtdmv
4/kEjdq10X0cHW/d6+lXCMbVdV+XjTLaZ/3BaIIJvl59q30/zkDb3/jv90XbGu37TRwdjSUsx/g6
HEDL1GnX1tz49fqttn7DrT9dQamtIJ4evTLJeO373tOF46MjYL0D7Qz9q7nawXoGbQ91n84QOp9M
+8pJfnVw/Dwp4U0JoLFAu+EAKm18lR6AuRv/NIFLZqcuoo2L6El/spSG2jJ8KGTFiS/Tt2ncJfPg
cDjRb0zvT9dlyTf/rBOWKEwhD/FAIX2drB8IL3+lSr9S+SG1MqSNQ6Jfoig6ZWEFP6RXhpg4JAY9
QArJC+v5vZTKEBuHxPcX7qo8pEmJXPghlTKkTvfiw00pY81q7PUE2X8ae3WRy2NFe1QQvWdBdGS6
q0pkDWlMcx3eQ29oGenAXZMiFVYVe01Ugd+lF61YnovX29V329SuWd1y4na9gl6jJJmhWczbVN5o
4rZttoiKZtCWYNMXv2Gn6LQZmjudwbnkbtfj9BnHfH86QlonJHHi34359Odv6OkHIvsf/aH59N0e
HDxfxk9/f3Ofjv/2h/LTLy/jp59vD8H4/XR6I1LsZ/9L31Wffin/oDQWakhuKDEvlvHlH8ynX5S2
UDV1wUdfc/p9pTVR3ff57xvt+1X6fXv3ffOHUvt+yenF6fe18dSpzIxXl85GLcmnrU56kqUdNN47
0vfa0VvOLFzG619vSIdn7uCtemwNqfDg1j6PVjpSNdTe55nO6Exn1a+Xf6gyTNfmmK78Q6Pt3qjj
rcpyDa1p4UdbbXSX7r1a773M7L3JXFibuTB9jmvNH2rt7AjnmPv1z1/XxB3vCqGjtXMzhXrZ8dw1
vi2q3J2ptdF95uRs5uTY6uF09aqobFPKl8zJad/vV1Hwhvm+uv8izzmqvKxU+uH31fEd57FKx6v7
v7+3MAGON/ieuxeff8zN/AX3GJZSKmhnY1Yp0eGW8eLdgLE1SWtd36vwbYk++O1YlXNHXePlijy6
Wo2269FWHR0LjO44y6iPOI4uMjsv9Z3XRl27H29kyvVp0XzNUE5ZfZXfu/ztUj/1meq9OLbR9y2+
Q0izZgu3KZxebTkzeXxdqNwqvgM4tsvtu5bHtup3/boVupW5byt8Wme+bTJ8WmZuuNU4jRS4CSvv
ZE4rtqxcppqt72ApmPHyqdm4dmJd07XL+66r/NqNJldN7oYqXG7VsYquhydWqpKlcqMVfmnTr1tG
Miky3ahS0dNNWX2v8psiErsMs5SZR7jLiHP1yEg5Ki/OK/XI7q940DGM+fTHCVKCP/14eoYkz3u3
Avzf8q/f/e1Py28sagj+hvaeNgQSHBEjUgq48eIWGtLlcRltV6MVXaAhbWObFE1qNV77fh2/XzLf
r6R3DUf7pAVx9fravTdB37tG+SaOtwzltW0XcWgqK8iha2Sv9PE60btSJ7qixjSk56k4XidbF9dO
XM6rryuH3tr068zeNZbJM5zGMoXOMpXOMP3dtxd5MQu6RVT8xMqCMqeZt52RhGkYrqmnbSuqLG54
pX7b6oN1Sdx2hSTHyXBl6b3+dWWk1WmmfrYTFWtCcJlmbSu9mgvBrfztzGnpnLKy4Wpu4fJptY0+
vFKJVm4gmrzvttOHW5VofZbiCo9WWYorgxmwtnD5y0/fn47OGUE0hXj3Vf9wBVqUd7HWd442k3Hr
w+jg4K3vnIxGu/Xuy0Uca+/Gah81cWAMFJPtWuWjdXa7ymijjpYdqvjlKl11uyaVMjbkYInfVahV
lpnvapTulrEkVphQS1t1pR2wFrHC0TY7ulFGt9roSucRwl+rByV8uVa+3KRfrpeXuv/053/dhsN0
fb9X6XvvWcTfuNxfZPj371rJ7QpFhT2HKbcMbZRwAYyuOJgq8uFeHFpWHLLgMlTGS+tr9ZtW4a55
YNGk+63T0Rp3wbc79dtacAS+XXAQVsvo+g8yoQv9mOo/VPIZGXXH1R+UBVcZYlmFOZo+rplkTpA1
yx82RZ4rldFWHW0VYhWdOrSVwo7wVTI0Vev8VxU6tynoZMewtMIbNcEfW5JLyAEr27XqmiuNI8vM
1Vc4slXZqlW+aurMVztZ4JTq0ZYqkZu+UYncaszc5D8sI7D2rSo0tCwCOCX98jcaqcuUN+5OqZFJ
XWSGtvJQc8eR4RmEnUJSDABNXpUXz376rtOcaL3owMOxGQde10qGSPiyaAP1hejn9l9W41idVdfd
KXGJvhDjCvHLsq+2q/MUU0YTeMBy9Q5YmQfxqGp12VYPfvWFZGj7D8u07hv1lK1+Ur1Rz1kO0vat
ut9O/WivHpIc/ejtHcAQHagcrP5Fq9G3VIfKZ0pMedIrIWVkZbQYTPUrljfbV7l7b+XbZ1RGzETW
qMunSi2DP9RUJP7pNF4+HU/XT6MoG2tFQgHHLRD02GEqSQLBwaLuhGNNHLvm3lq+b26sTcdW6VhR
oLvBzTL4TsLUukkAw0PKUsUcTy3dHPfhMo5cM0WtiGQYvIBiCuRS9tuRkesbW+uqDA436X5Xq1ZO
OCTGCSM16wmHV+qOy9w5EWqbex4RlRk8qUod26kf7luVQcS77wbr3KXZjKWv4lZoZnNn3WVOzOrD
rbr4Vtl2rV4NTW/FDzeqPLCqLCnu9rwITJdYvUFSlor7AqMppKXb3SUsdaGD40nrqjtTplScNu7j
hTpYFNPuy7EL2N0rWOrWtestQdqWN9zH1W136sorfbBVV16r26YteNccWequLjfeZlau0pzQbH2N
S8X3475cqCvXhtKuljVHMfWgDdcfjbBoo7GoyZBb3XGlDtYeGrftXiW3aIG6lZcqzbTn1X28Vbm0
1XfeZAZ32sordbAmdB2Xkp1X92Rv9fvVqWRrdVZr8zTXxlddhmGsfma2UClXqWdmq8yZWW3nfX7l
qkw0XMvV9B1SF9+knZoNCRNWn767XKbnI+AUMflEkKT1MwIckN+LQcRK8yGWiAPt1f7+PmPejVbu
mp/AxAksM4HNDG/i8FV0ttK84350ra9e/XKRLry5X7j66Vbft3Jh/ARluvOKm6DSJqjuNr+wzR8g
vvz6BoCGAmc4zjRKJU1NkfXuMzPDHLVSVoBTFAQcZhUErYhokXFxjSHoT/dnFV+EXpmCwBghtn9x
txGr1FcgPB+hxTpoHuhZKJVRSAwCVbuKNIQ5mtyRmCador+bQitKdECDnU5Pq6WHuylsmyNGqdTH
4RQEW3WdD+Cn6JSSD6RFRabo2FPN8dai6fR3VTtuikp5+XCC0qTErPltKJSobK2fB+bEaqSsep2U
+hYMgUBmh5dacYq/X32OpTqlfsgdZp275bKB4Fob9Lmb0ecuV13rU7jsZG0R1ug3HCRVoRCSYJgL
t6LOsHRV1LrQ9k+LdivIFOvsE7+KNsMRVdnkRF2vFC+706g2MJUq6ipbcUDSq43oMruscg9YjidM
9nLYnJgiwHnsgfgr2mivaKmLbNxHrW2j4gDb7/hKJUVBgL0jaMkde2tTkAYHyjuss0XTb5B4RiVn
Xh0oM1ekJGDw7NvjNDRVK6naMvcE9rlXtC7SKXr+smsip8ruxGbYsySYqMI7WuU4o82oml5eaA+A
LXNPcUaAl2Wf20edkTglAfQURKfJTWGzArxRoBvcM9LlqNnnmNM2Oea0mTegJKCXwhRN7iUy2WfE
Ke4aMUjDB0G3qHMyp1j1u6h5mVNrMqfInWqZ0bIWR09GSdLoWZe5y17l2LPNKs1tTjkos+aDewY0
xbs1ORavMoxR0peEmwIFhmaMUT2pllQtXXMutygHlWoSEua8d8QE5UBTUKhZyk+Aa9D0i6Lc9rBr
8ps0DtHYW3vL6jxj5VwFttx0T7Up6jq3ijL3HNYZe8jrjK2mMxLRWTGn6t0m2gXpMi6PSokluAtS
ppxV8dvQ1E5DX1Re3uQs3CVwJnNnlxOc1EwX3BVFxvFS0a5Jq9z+aKFq51FllaQ65/zp+w0+E40z
y0KfoNSqtr2dnLcCcveDaieiw0FTWY3NCRuTW0TVNpvMCE30Nts8gpoDiSoWPFM4ztR2QjpMCRKr
z5nattetQzwRTa8wW5hbl1ekgYF0SU1OW2wr/VB1lcBQtUR4gXJ+zaqrNnlXNc+9NRu8qzoxbYYQ
KCk03i6z6mqT046KfpMRorr+M9aUUR0npuk3iLtKI6Tp+5xGUeXERLvFC6UbD3mmKnMcUTcbdFWj
KiVdmVO5M46sqt5mOqiRnGaTtNOkBI2h9KwvzF1zzYIhca1VXUQqrbSttBmJ5xycms/DdDmLsMlt
JO8jrXJqSVttcafpKlrb6eqVzfpZl6wdmTOa3FNqTKp217xdql3Vtsgp/xk90RQ5xaTOEbMoctK/
1G3jqt0QGNOoUFW63l/9QRfdZWk3WOf6M1p2OX6wOXdJZzcpiRpXErtBuOQ5q9a0GW+eU/u1d7TK
8lSfs39qs0H4a7Ss7AbbXBc0TbGBENphlLW+CaNuwdDuqCWbldHmPLNlkQ1TaukUK1HLPxmawWGy
BnmfezHqboNjQVtDucWE1KWstblXq81pAaXZZLJoq+iz8fuMmDRmU8xCjcrZLTaLrqm3WTHX5vx/
NPrSKy4WzXRqi21uGm0rTZ21ADXvRj43psntwmzxhOrnYbsNq9B1y7wW4WIvanwyqxoak1PX2y2e
BU0VMdmAmsklTVVtuyFwonsh81ekycWhzCp1qxfYW9NpmnZTsFbTrKg20cuBa20V9TadRrOr20wG
mf6Qm7bImhw511udEZxV1vqyxaZgmvoI1RsCYbqC2bYb8jxVYWFyHoqgo2r5U129aQ4t3bSrNuyk
Ug+1aDZYs/qD2nSbAkCazGrqTcaLJiyIxr5Ge6RWoPYkF5U+RZm9I2blk5UiWRpvrdNLBBNKsxxo
8m4viZtKZc+yaDelqGh3ter0l6jKhS2qJud3qnO6N+Fv7UzVm9o3G26qSgrTdblEmS6nfufNQZN7
yWj+FE/PJveSmXoTW2j6Xt4U6XKKVpVJlgwMrh1q9kRMLuhcdeWmdEntSLp+07usCc+63MCelaqs
Uf8X78Zzyq9qSGTNQ5Nj0KorNl14TX8uzIbEaC36UHVZl4cawSdOasEx2+VskarJ2mTaCuhrylOx
yr0gbb3hEdJdgXW3yXGi3a86Gy+2OTOkyz5jNqf30tQSXlK0uVeoKrNOLE3Pa0v9QKs/6H64kmSG
y7kYqj/UbAoMao95TruyWdWotP2mXFHt5SjaTSyl5gk1m1KyVSHRZTm7ywk6mzpGmVte5h6fdSKE
oHar7lmrs2aZzW4xXZtL90fe0hijyIahbO4VJd3cNd1IdSHZTdVJWgCerEJwmDc5rdvcy5pQb1l9
+sfpcn2avjFtBmF6/6+f/jQ+nseklHepyKzyncXq1kj9mapNrfSaIu2T3qXj9e5YdVuqXze5vmZ1
J3WnqvL97Oqmk7qSVfleenVbpKPv1p6hXF1LHeEqFfvar13sSlZt6gjXiC0Uq00tJBuTnnvL7F49
ObGPYbWphWTdq+s3ufXXTX68dm/qVqV/pY9umhzfqneuV/m2ypxcnVu5dmObNse16sqt1E0N1KIg
0n44KiLNqMyFeyPQhKlXvvK9FWTYPCOCulVqVwcYW4jNA+KqldGFOlptUGXENk1VttWRKdXvZuAr
CyvBQPo9q82KCv3bWt+CzhQSdF+1oVFRUeeoLY81Nn/O8roLsUVStaH1W1Hlvy03D+h7lU/ULkVF
q47NtKUqmtxJKzwmdmqosi3rTPac5e+aVbu6Mipn7ac/Ttev02X89PPL9MSgqLQewv3Hcf7XS/I7
iyxrl51riGSlCBPV5hCODc3xvIexid/XEJ9Mm6IHWWa8hoRjanX9GQSf0qQ4NuV695U+vqjUr2uR
UUOT8bXda5BupsntXvt6GVe/MsPj1zXkKNNL4GZtDhffUFNNo55GfVOq41W27TJLzzBOYSXQq7h0
DYDJVPlrp40vCnX9dQ6XrmzU8Vqgz9CQkLmzy9ocwrihsUZZbBj14hQ668lWqaEJksD0MyNUxd1o
jfZlqV6bOgeeVdZ52qsir5Bgz+J4lXc6VeiUOd4pytz6SxUqz3QSFGSba4hhKM7HPU5f3L8qNM3d
98O7C/J+flb/6wjwU+P+00/T88t19QiTB7bSbzrgijYiJmkYLh42DhfRb3F4Dv22jsNXqCpx8Qoe
a2skANy4eAUItinUxWtvOw7vcl8XVQtcfJGnvHZwJj9cQXlubG64qJfh4isJUhuHK0SvjYS+iyPr
DPZvK2L/eoYr1eF1rW5bx+9tyV1JPeFhsLZwQvA00SGel/LtpswzW6d8vcyzuvb1Vv16naF626tn
roNFt+TIunuq59Ce61b9dg6zue4zX9fZtdbpblWU7bZNWcYwh6aJtzp/xTUJ0adnXq53Xuk7b/J0
116GLjNcR2Wv7zG+lzfUwWX/PL+gGfu01MVRC30MnDSD7LYVUGm7+ANLebinMQ5vQNm7Gy4+YDi8
isPrpFCtzUUv2tjQHoZD0LSqmMU38vC2Shffrr9u1a83K9LVzN4rZXidG15qw/3ri8PtPelkoYCD
+zzhemV4pPudVV/qOhfunAzvV9ZBJvaBp97F4SkyVVx8qyzeqjynn3kbvw15BpVldl4rO2/TQ+PO
XBnuH0HpsmoyBQmnf117iHDxRco0JfN17djq/N61r3e5Y1M4rtOXrq2acEsrMJvy4daorK4TvI3n
BUl4FSdgNPlkVQmhaVz4dXJe5cq0KfXnEwnXZ4brEqop0+NeyeY6IyO68o7u4f2sP/11/tXp7TA9
Dtfpy3jv/K0heD+eHyk6cp1RlhB+OYAj9PfRtTpjUbnxnmgLgHSbjrdSCq8b3fQS/HSdMQf911sJ
fbrOmCZ+9wQ3PPWb1It5oY1vKnX9YgjNj+4k3O86oy363ZPxqbpYZ0x5//0i3X3LjO+08UbdvaKN
eOq3ed7TqF/bPP2079d1brx++pZwb8Pyvsa7TZvn/UpbfcScX71Odcad4L9PkNtTKPFatRD96Dp3
dka/uaV6c5WXwo+PvLuStmH1Gue3RYZzq4zcqNOT75jVqze3UqmXA80PcMAS56pLL/KXVh3f5NjW
6GxrpIYFdcZ96b9fZkS+zZCuy4lsnfEaK7V6qFV3lh/dSN0OwOz97nIdz9PlM3nDM5GPKqro2PK7
XTGjUXeEw0NWfc28gZmQXxVVPqbVeZ0LG1XRpqT9yleLV1qld5XUKr3ORaqraF0oSxc15Soa4zh8
zYmZgGEV9cWF7i1DOKXRe/AV1YwIyURKq2iMS8M1XbmKngRp8RrRG5XomkVYRSVdWrco9x2/NCqr
a2Z8Fc1JaemyHV5FtxUMXlnCdS7EV0VjEr/dsNwiuhCq6P9Qrplyxbs2t/RSk09tqd5S0URw367V
I7Mqs3RlXrQp325rVbBWGcHa6DTXXIVVdBrJN1Tfe4g2acJNES/thuG9MlxnV81RWUUvq/p1ZXhL
pNPaMDKqWeeG96pwkzPMq9hem3L78sKXn34+DJcX8rw7jwpPSKCb8VzQGIYLdL8nDrcbhlfK8DIO
N6snTveAueFFOry8Gy49cTjc48w2huGCUhFajnBtuvP6brBQ1etG9+poRXK4jddxeHlPN5H53beN
OlhhfvdtfbhyXD4DSNq0ok654a162sqtc+vu89u2yvAqR/JWIXmjDla0IceohORNErGsM/59t/Qm
t3Oj7bzS77ioQrudZ8lmNGariwzhRG3OsUyfW7oiHrz7R1m6ckPr1Q21DM21E9eHK7q/G17mb5pC
9bLLf10ZXlX5vSuHVrU52aiyTNWkUr1mFq993aqL1wfXZV7GKBxnbebYSv3Ui/xjrLxodkX3hnTY
LD79cToO5/clS/y+y2YBusvf/nQfdXf/kvPYBdxdrtNjkbGe/ARGcjcvK1D91aFaW1xBzmEbsJpw
AkihMtwKNBp0cp/RItepsxG93WT1WqvNttU/novVhNJkfQW1NkGRBhwqbgW9NkGvbyEXMgi4YUzI
g6xAm6ArxU6tRcbZ5lfQpTzErqDTViA6IMkE2gq6Sp8g58INAMP6Kag0qJPQAS1lLjLOJ78Fk+XE
UufEWj/GbN9aGnlcgSAVGQeYp0GZO4VMy2Ea/VsVthebOufSIMaqc24xr/7vP7GiPpNpiluxpVSw
6SbI1sqWRqp1JStolAmqXl+B5pt1E5Cq0W59vnK6rFt9IdXKhu1nSqVLsdCarF6rmK2aDdvXimYr
Umh+d0MzyauOBUyOBply57KSSobJCjQiVja3gkyxfdlIQAFkBVrtcFWnWAEVRwNtgrLM8oFRaVD2
uYuYgQwoOwnugKxA5USj00DzW7sJttBAPYVClyVZ4IHSbrhMrXYXCv0yad5Mt4J2wymo17m6myCK
+vLT/wiyPpNb6OCgShGWpMilRtbEDOcAWopcRm1N/F0cPEuRS1GsiS3PYUkVubzWmjhBuPZgRS6r
tyaGIQeIVeSSkmvirRRXoNHPlvoBlJk2VoZ2t7nThTKJczWxTDn8pyKXuOeYsNIn0G5YTZyHOg00
FrD1hi1o2J60MYHAxXrr8brLbcFmTqHTmVB7LGrizBOZMNe41tSNzkg58F3TmA03Wb1HZY6VywwR
5b4+RS59tiaRA00c6iBPTXEnkBdhbz99f3p9HRhhbwGmTUwuLWup6AEG5vKgy1JKy4XR2kAjZUAv
n1WygctKyh1fRmtbtndbDlT89I/z9ArOMgboygCE1sv46T/Op9vbdHxmSD3/hgof0fZVCrhBtu3H
NvLYVoKewLHKR0WUj/BRBb+mlJA2cKwysMh9tJbHNrmxlTzW5sZaeWx9NzYwxh/qT39/+Of4eP30
w3G6TsNh+nWkB1+Ll8whNK00VSI7YKiu6lsRJMkP1pRs24k6shusLdu2oqEFg62qndcr9X41WBtq
+8x3VTQukyGX+uVGJZdVyVXf46At/FN++mE/Hq/T0zSeP/00Po3n8fg4Eg5S4Vnd2ip5Y260ujN7
5/ZYFjcLzfN5eF94+5LwNkpyOUhZ9GLIyo+tlbGFFMj3Y+WgSdGJwVE/tlG+a6RYkR9bKd/tMmOt
MrbP0KpUxrZSkAjHKiP76i6wtpy9wwa6vkyXT/9rfP96Ou/J0Rv5srms1aIUIzfOUyk7KXvZ44+O
XjXXtjCil9cNVhddiD5mt2P1y7KPPRfn6bu7BOdwDt0sEw7DddY3hsN9hK5bEJwul/mohuO97tH5
bWfcpw31maSXpsvljuF46r9NldjO0c5qHxfluh8swenjL9N3MFXA/ehOGywKzy6XXIrjTSN5erpc
Sq8bL2JExpNTH+NGdlb57WuDqy5H+VJ9PhqqR6R3ptOkhP96o369UpuquhnqzPp7be065SoVKt99
XkSmJeTTKGBblXyeAioNbZ6BVM9/Q13GDAtbdTD1dLIbMBmvfVPW6gZyoZPG6Cycc/Y2pt1yA9Ud
lLlLpLJAs4ULNfEpu+y7XFGDo4DdcoaqDGrT0E25poD29Fgjwex2ucxf9/FNLKjO0KjLz0VtGlOr
j59fgfYMVTkW0qSQLVUOtroE1SWQyjdVnnN18U1Dfs296KnUBklu+WKco/N+mel4uQ6zTXV6+nS6
146aLAxrU0ueAxzdaNCeLYEFLVaM1WSgPVsR5hfHttqaO31sBjC3sZJzJ3xZBlFte/XLCpl7yY2F
A2v1o5V6RPLApszQST2hplXppEIatyKUcvyysu5GHd2ofNWohFY0/TpWFUmjG21sq9OrUelVZ+il
QhI3lfrlWqWXVXesUqst1VW32ne74o43F8nWesnGSbR2A/JnGZEvV7g8cbyGnFkVEnoijteAJysC
vLjWNtsNoKmViPcal64CZ4rAkTheHdpKeKM4VCWYzaw6A1dZleqqs1CpVXUHNbswk/Xhi+E6np0X
4XT+NP7rRjwOhL1sRp9x3pBerBnHGTTDCCewxSphsE8nULVitwQ5d7VzbrFMxX7bSH6o7g9Wr5hv
jbr7bLF+a9WlqyaJ33yhLj4LtEFzVteCy8ruHH/4rVSw7wdrAC/E/bcCqYgrV2nfZjhPQ1noO5Vs
Vks2t7L7kLKsBjKxTna2689rTNM3ksvVf77MMU1fbmE7bQ1dmaFfp9HPZHg2A0y0zq+9Yzt171b9
uOpB9XvvMocnu9L8/huVc1Uz3C+hlnLd6Qzave+slK8fNqEK7U1E1C6gXLBBZ9BAanqTYUHBl+x3
UGVG99pgnQFVX5jffpV5ODLoVDTNnr0C2tn3debBzCCVtH1++zpSSmcy/FPmZuir9PVoGBmivnv3
B7DoSdUq1qJpSZUSd5g/0ZtVtTvVgqs8rkRPYArSpCUcrnvs4PtFKUEFdLl8dfx+JdW7+60beXBf
GqnSny5eIV4horB0uVoDrLfvM8N1FJbeShARXS61F4fX6td1hznuvsgcnQ6H0pst3y+V76+gEipm
AhUsoW/zK1Dhi/peggfpckn2OLxQ757ViG+M+mmN67otu9aWrU8gB0nxzhUpMEm/Hlwre65VhleD
XPjtKGtW/bf8+Fb5drtFVigTFI0qqfQQI66gyIg6q4y16lW1CpRMb5ot91Q5tsKqrKqGdvHYqsw1
0Yi2gtHpWKprQq7PMHuvfLxXTywHg9M3mU8rz6qpthyasvai2zKBwjZFneF3o2OU9cUKIa0hGlDp
PUVjdBUxuk+ZecUa0oKaSdLqQoN4ebCcWdZtQTNoxIQpunilrr7tpUyvOIEKBtFsmECF2WmtBIng
yacAWdA8tTWLlDKDu7G1lJfXbQF8aUx+uPL1plKHWw2JgWbJsQynYCLRrECG31SdyR1XpX5clYdu
9WYLwyiH3opQO+G+6UgUvVXvjNV231l19zmsnKZO+bVhb5tG/ULCpPJrV656X6iEFy0dN7jawjcK
43X61zWiFZnzUtCFuj4vH1W8l1bn1hzWTdNk1q6gE62Tfy0jYbSnIb4sq7Zs9MSU77d1htd1uJkm
yua7wFyZ0Xfd9zv1YVDVRjdBk2N4hfhVRkqVmZva6Q+7prO6C1dnFANdyDX3aD1B+bGf/gvRcu5y
cK3Xir6cpv29NmT1PiWgb9pKMq9wsO4IqkRT2CpFoDhS1DStioXl1txIQLZWb1SBg626Yd19YkXH
VaCWNli0/K0KHuYG1zmCKdS25m7ZgbH+UH/6x3mEnuJ/GsWe4hYridTyNdtI3SRwsN48pI4Fe8BS
1twN1loUFVKzGusqa8SRVZ92/7DpSL37hl21Lenu1qz1iTFSdyDrqpD0WkFbSp0/wsKVFje2k7oi
hYVruxa7UcWFa8MLqUONH673HLFiO6mwdGXfdaUuvVKZzMaC1FW5dRissLdt1buRqyu1912wlttr
w+394ajcXqscqwPoE1UmK2cb4EhjpBffZsKmbniZH64oLEbU7XG4rtmbRh2ce65NrdKs0hfe5Rau
aHmmT9W0+y8rGlZZZHatq6iGKFlpTmlgM2Xhpc2RTPtyK9lR4csacGeVIp52d4M1ksWTvhO3NoeO
W967mpbb23q17nU63i7cxW31yu1Q6c5k+NlMJh6MNr2Ul2hdHp2c0liKaZxh0XJaYlnlxirfNeqS
M4mYplO/rAxsc0uu5SXX6hlJvgsc2qYJ3Obus3Lyd0kSR9eStVWlG44upKJz6yPR1/c3SGpnmBYd
vVqovmykMkk/WEsyKMUsDz9YS/AoO3Ww+l2jDtWza6qyymxZHVxnBmtZXZWYF+YHa1lFZS8l5PjB
WiJe2Ur5QIFiKr3vgS8XDuw//Xh6nh6Hw6e//f0XjgV75XJ4snQyTfsNqRpVpY6v9GSVSkw08l/P
EKdSLkGvyCM/updgZcNodeeNBKaJo9Vlm9yy1dG1zE/9hgy9qpSya6yvZN6Ph/E6cgxlVCW4qGSd
KhQBKipC0ciajZGFqRvbyyqVySuxRa0OrzR/WyEGsqwr/JJVuULdsBq6K2xmxRqhu7vvLhzQeF3s
7cCrYhrEi+t/smqvRBfWqM4w28puNA0Kx33WSF1bbKbYyn27lz1aTT4VrI4+rRViklWBbdxgm9u3
1m6mlB1iGpSPG1yny24ZomkHdu+9XPioWyDNhbep0xaHJ9gZCYo0jNYAWdpWqosMozVknq6Qiklx
dBZJtxVRUON4DRCmrRNAmMTR0ukwuG2V27j64U4C4PULz6B2tiJGT/i6BtLT3gOnBpYqXQv6/xyO
+08/T/uRQwErESzn+YYOoB+ny/WyMFzpEWu0Z6CQ46t+uG7jFmLfnDhceQ4KMRvDDy/1xTeZ4VYf
Lr6gfnilD+/ypNPeb5P5uqo6FH2b+brRh98nVASu84Gl4/j1XoiVHhhQcVFXRvLKly4WJgPhdVI/
8HLBI5Q/W6SecZsOVrt5l636Yd2jXzWSVz2sWnEQV6U6WPdrV52EdljqAS0cLLaML/Pd0yurflmP
n5R97ssawVoJatEfs/bhRv2wHjypSBDBOFfgcmGqT3+5HR8BLenT98PhQEVwlVNIKlGbKdXG3G5w
K4U0ywUvWhxcivmKpctXlEe26pp13a8SU5nLpa2tPLjKDda+LLY5DMtWlPyqUAfr0ePKqgRTNlw2
uRPWBnc53tI2fN/vdmF4ACaFEvDr+6fvHh9nlSQkJvzs/zln0RfRDXIn90y2N7ERnSDl0jVRGS32
wwgr11woxqijM+28TZf7trbvQqzTLJ2fQgWKq6U6zbBwrbytLKQeIKXaUdZvu1KPO+N3KrocyTV/
n6klT2aZgQSs1pWR95tWOaXJLVurZDd9jsc1961pc3ymkqyQnJSez9Srbe/4zFs0ELI+PZ+HVy8q
rIq62nQdj69nVWzbput5YCGrgLm4kX3Bm5FWQerwI434Te2D3T0EGBKqmC298fHmFIrT8Tp+82Yd
AnP/+Qi914/Pn7473v/e8mvwi1+Gw/zzfYB1LRZVWMOEXqPwhMNfRoNBKQMtr6FtamZ4K46uOz7K
l3xcHl2mwbqSGS3DPNdNfuUyWHNdZ0aXKtnaKk91GYu7bvmQH/24vPQ1qo9lRstkW6MRcd+WV95s
OHAZXbuOvAoPVFlyRJe/naN5KYloPLGCx9iio3t5tMnTXN53U+e5Rf52E1eeZDXQb8tXtOk3XNFC
Hi5AhNHhMtHrPn9HZdFWbzhwZeltyYbGfw6NT3Jt1GruVcWPm0//cTg93Etro8Fo16SH8tLEoSVb
MhqEd03aXtMuFusdqa3pmrsd+S2ZT38anyaA7158lQVClvt9OvD6Zacmk/uILiuptKBYoONVj1dd
q8Mz+WpFLaBsL8NLffFCQ9Zl8frXbcP7WenXlb03QpiSfl0ZbtvM4tWUt6JuVNLlPJ20y7jhFl9q
PuZi3Te6XpNO9/I2TYZ0+vA6d+66h5t2raYBe8q0yt4bo7KNyQynjc4Ljusq/et95sLqV0ZqgUy/
rt24Ln/fNa7r8+eucV2b+bourJpW5flMcL8g5USiuNAOrs6zjUJ5KwTbC2wM8PPj6W389P3LMB0/
QWQr6UNxOR3QnCEvg8VXTFEJCj5VLo6VNaFa1MLCWFlrto1kbISxstZrhXTEOFbWWm2VGysrQNbm
9ivrfbaXlKcwVrYRbJv7rqzr2ntdNw7OK0hVbNiWOP396EyTrapOu3RR5mqy6lXVSMqZwazTzGi2
PxcO7paY7+VelerQXaGF+o3Q5dGP1oLlBXHKrG9bJyJwuq8KUXo/NBOlN4W6Zt21U1Oo8TXz5lMj
jICSHUdr3y56dXSd2XedouT36Wj1wwLEdly2lphgjHpcWk9k0+XOSv2wkE/hR2v9T2lXC0FWqDeu
lO+rUcSUH8221sTB1af/PZyn4eEwfvoBYcGv07B65irJq+lMrbrnXbJ+qGal1Z06tM7arQK4Ih2v
WokVH7VYxpeZ71t1/ZkW8k2hft1m1m74CIAfrX24vkcjXb8d6rtFOpWu71CT58X7Fp349aL79Mv7
2+hM8gDB+/MV3cnwD44hHdCsmr5SCEVQOLTV2lWRvBeaOOiR9oRhPc1TIvGnZaWKLm1WJlgyVP7g
/4+1f12uJEfORNFX0QOIabhffvZIrTltp9XSVkmzz/4ho60kV2YuNZOLQ66sS5vNu+8VQETAEQH/
PEp2bKYpVhUd4fA7HA53w+8P9F5QatzlZEUUgOrxKb2Cgg3SSmC32aDnNxiGJ9MClcDHLP8xjQ81
WgOSKvDJyH8yfAIsjDw9I5qKpgz/wYg+mIdvGlfaIHUyw/PiCorERvGMzJAhyvOQjt8lgSLPAGZ2
GB4uQTyRTjkeEnzP8uKWITNUQLYNEVTtHhtOkEsPz/9xvb6cT6+dpbWSJ1hm9G3nni+gGoGOJzUv
7QoBZCaZYRJ2Jj5OmeHMcCrx0l0UQepd+FRpl2r/08vHrSNcQoe3SfNj7J/amwWVCmkBJKlQu/9q
VQ9pAGTaPfium6gzYeaZres27v9+msQ5XehOg/bmoprL+aNkRv75fPt2ff5YNhxqZSd/UtbjWbMr
JLwM0+PJuhXYoHm+Kg+HCNe9AXSNB+h6QOmCLskodErRgMFeA4/xTCjw5ZZ/WQoBG3CAG9bDzM0K
yX/TqOGl2cocfqsq8UTGA0iiScOET/2oRhtVhDl+S18N0fUA0iJIrYZX4KtAALVp+6QZohUSfNML
xOVB6QNfOyARULfAkwghSx9fux2yQAwc+p5HqTuTAU/guG6NIB2E1Lwd45IHE5w1vIqBhFoBVQiU
hzMBwfHZY6uBYgb4RbOzQAuo6E3NsEY+4XdqBdJ1DwKaNw2iN7WjZjnTPmkB6u1+fP3843YmjlLD
EjEX/DAbOEMaBOmGMwNnSI0g7bDW6yc8squSYdNhKfSkRwT0O8hKwfrq9T9en6db+vNzF1hpeGrU
zJlKo9N7ykxArYEIFMDEA6Ib88w0DE3wxqAABn6D4Ew0ftea4BVD+dy+P2blUH2E85cfLy8dcwwO
v1McZjATeHnjyezyNdxPBE46nngICo8nbodt3XydM7aOpe8oEKWUuYvj6w00IqzC+WHG+w4nKncY
vp1Ek73qF8cXC9MXIfXqR9MwTz4DQwIp9rOS/YuM5YzSFYyLgEYBwSX+k8jIb9+jRgIHiWMRWfEj
Vhcy/9GIPpqHj1/nj8Jt6t0o06pDfjYg3z+f3zsF8ihRV9PHiqQcOnTusBnBGSbf4EsGE929qMBk
OSZQ4d5GOR5dj1IOaXRjM3/TYRJpDbaKvmn5bwYEt8kC0T1GRBsF6AozMkubhyEozAFxzsSLOSAP
iCpcmCgPNuqwAGku2+W5XPj8Tc1/U8ivOX6nDsFFHlM+TzxjmwCFFAK0u4/W26RcDMv09uDn8/vH
cqGZp/Dy+q/vl++X2+Xn2e5kfP86bSup4avSjKs8CqQetuTM+Na2QJIGpGo6ZvSQDkDa3YFoAs1T
8HL9j8vrTYdl53FtXs1mji3pNEcq2RssuK6waXjBleduXwBw3ERx/iguMbPj4r7MhzwVbNxpue0T
oTtOy8/7RB+1w3q29lFwF2Dj7qOVzenO5npzurA54dnL0Y6L1wsgLNuybpgoWADBF8e1Yhkmzwug
H2ZRlj2CCjPFf9HCPY6zjRkW95QvDh8U5DLJfeHQ4x/e3l4u93Pu7fp4G0VFeZ46r1A5Teibs6xS
VEAzLuNRHgGjuDlvQm7fQaLQMOfhlPsZEhU8KTWsHJohUemPGlcNzZCodkeZYe+bGRIF3Xl8Qpgh
E/rmONZvLIXlVfuGN53IAiUxvHbBuwcbhm+OMqxCK4BxV6xateSO5/VPrzdrFj3wcscbt323uDoc
D434zC2Ozx46nRnYD4/2WaipnoE5qfZyeyKXwjDz19CGXw6MVuAHCPOXM/qykCSgL1OHwCghkp3A
Z2h9bF+4mLbUhnv2jGJ6MS2SHA9qJEbRN8fkiVee7m9LUNcUJcBz3tLxOO58dhCOBkvT4Zi3GwhY
uypw6j+7A3aoakwNq51nYKlUWg8Ptu3LqF7NDGudF2rBDQfhs5DU7TRFG6znaa/XuVpj4bcRWqkr
w4W2RmhwrYxmYunpGghH4YqJ4NH9Y/1mYGJidC1cISOPLa4ZZLqAZ3jDViEzD4lfj5GW6b27MUL/
bmXGD8cynI5Sv5n4b+JaLqOG3cozTD3Wb0ZIW8SVxEM6zBXPSwI+7tIO/G5D24APgfuZaFVl74S9
1rh+0dg6bVJI42XGfMD2SZ60pd/brOW7MOOUhnVSGfZHnkEd4x8sysF70pJ+89U7ZDkrzaeiL+/X
74/9ydaWQwpogqb0sC3XDOlhCiabYVuu5asRfNVDSNDNS1kEaRUPqdNwAssCibrMqWFV2QwZYGos
2+EV8LLTAHbqhu34FkjQak2ZYUe9GdKAnWo1nNYyQ2awzQi3qQBkYjKAFVnAUIUhgdDrJvR9uGRh
F6qaPUxopwaIrrZI1TRgi1LDZoMNX5RhzZAzSHQxZAL4BiS6BoiubqI7JaSc6SEzgIzDYpUFEmCr
A5KjAKmb3XBO0GJUsCRhKoF+iIpwpss5W5BxKZ/0aKsR7NMjCbQAV52h1AOOqsjcKtRdAtOp3a7l
I/0moI9D9s8Aj6Y9UhaPfYRCQpQAYEDo4gqjFIeztRrCSOr1zgnTCMoIJ10NIzcYQY3f5Wa5GH+Z
grS9f8tyMf4y8WqfEbCIUJ4MMdre3GU4f2T+6rg8p9EYxotqWJOfp4djU9rw/LVF2056wuuSZfLR
TnpD65IZ1lXkT7jDmkuKyWDh3nMu7Ru61Y3n+8bpi+tcxleAXgibTgwr0zOosruDOeZklcGLlzuY
Hs4HK2ABgHn+a6gpjRrW2BUw1FXE7r5Wb5Pj45/Pv5bhLuVC+bU1D4qf4uO/Ti12f7QZqD9FOLnJ
53Hle4FC7dCCMsMrrAUw8IDj7goLYOIBA/wi2GOGX7T8FzUENDygGlaDL4CeBxz33loAIw/oIap8
v66gEoTMPGActpyInwLpVrJKYZCaySTmqWWsOWSUS0pp/KRwBrXwq3b4ZDbWEnFYBKsUj7CDCGem
rX1DmN9rNsJeLQ/qeFDcVyzlyCOMm4Il+hKSJHEahQHo+M3uDGohha0gTWCvevg4uYECaZJEAkiT
4UFxB6uU92PFqyZO95Z/Pa/uwZce7Lcf71PV8Mf5/efz8+P/fX1/XpXU19dDVvG2NDAGagZlzfcy
+WRvvmdI1pp62v2SdFNZIbXlP5qH7YfaToHXiMNykoYvT6QkEInHN2QMyaMb4vDSe4X0PI00/qbh
QbNm/NwCmnlQzmEtO408eS1mKg+57R+7/ajjIRX+pg48ugYLkua/mhQTnS2gvAzGgLdqeCFMRAjJ
6a19ledqkrjKa3lMAoV52Y+SqvJfTQlT2PDClO3wcWID5W1hdv1jyi2o5lUuSdrKkylt+h9vv8qL
cDTYdvMCEb1g0HgiJclh8Phm09uluAXlVS6rHZFmX3r3wZzX1Ng206q9DeHRI1ZPi/ZcL5wau0yb
WT3U2AO5/QvhZf/m8f97/u2XfudGMAhBsVs32OI6zyq1EQxYcKwpMYKO0MbsagTK48v7FoN1hPZm
3OiIEcxXsKyOGCFIYVpMN1CeNbSx9oi+QLocazON4B+8FajE28wQWCNvsOY6gz8K3L6PWPJ5SBcx
U0HA4L2AL+/OfBJAefr6gEUJuG46jGBEJeAftl3Od1/lxdA7AZRXG6+x7PP4uowNBE9f2kR1E5AZ
HPC6tNvobM7d4z9cv5femIsxd+g29u//Liynmt1h3KEBXHfAxaXq+QZYEUANv6gbIEmFL1+M/BdN
j6ongJb/nOehwO7sCmXLW7n7z9wjCj6Z2ic7mUD9VQqg60kT+y8CwMhv0kBmWPhFxwPmBmg3X9QQ
VQMFLvAs0fweAVQjqSl93+4/4xL92Mc/X17Pj/9+fv9+ee3S6xZ2hp82bJYOKL6/Io213ZPlAZeu
Ir6vnYhCR8oCuwRyvr/SirU3lYUILy9i7rBTWOMcgeVitrrT3HaqNghHjmUF0vse0vSQ4Jve8tRl
la9uMzVIUsZQIAOEdKlnzAYSkHZx7iNIUD1cxaFRd3ImXm1ZCmCXzi0LS31P3wjoGzpB6jA2guQv
zZxGAhwhhb3hIa0g+oZgnKi/XGiMZKJhPG3cxy0sUhvFq03kPGTdreMxNsJXjUW71XC3JvFGwkjS
aJAkC3IRee46qO029xj3u3WYP57Xdy1QWTeMaUXjwltAJ694Onnhq67n7Ub3AJmM5xmrBfXRjjfF
XmCs0/xmtSBQOvDOI2BfF3iMHTaLDXI6m7rQ4Qs0Ryfe63gE6FwvSK7HFYlvE8EprRLMVvTRPttX
J6/nNg4LSJLL0DEnIPhEZbosp4V3hlV+FXQcgEpe8yrjkco4j4ItLLrO7D5a48b8+Icft+v30+3y
9PjT+fvl6fpyfZ3am08dLJfW5uXPNJqFETJ32C01K7BSg01MleIaj8oRjOZBI0I3OB7djL4YI5O5
LftErzfDNo3Wkwg9HQ8mwX2Cb2ZEWwhKOwZ2h5RJFhQqvMhKYChf0aIzk1rKQK0KQxUP6D9luNHA
o6vRUJOQA5OMXTjKFwtZx2SzCqiDPI086MQYPpsVsoFyxOtoMILs8pU/1mLy8jOBlOZ1LSO+RM8D
ekxcHQQ7xrOUGY/T+MJLb7a89AY8qjXYiCQ/QMk3/GYnjHl5oPeoW+MQ+CKfIr6SKPGGxXq0VfRY
P+jEK01E6AYun3oHTIhEtGyhO/Zk1AWpSIPn2RKRBNJ7hC4htXCFd4jeI1A0FipYzdxeLCrDf9V5
nriTAPKQaTyvdhYFA1XcYfvJy0JyvOgC0YN+H5ZbOocVFJRNZsCVoiuAQBGBJmhRPA+akczT6qsu
lV4BeZlPihehajp5ftJb6KH/BvQlTTz6Y9LCVX6vTiOBsEggPJBdj8NPDaxKgt5UCaaBt4Gkp3J/
NltAeQW3RiASH3H4ACJX1GkpZCe4cF4MDU+kjHxa0rxPy9C/BKZGZ6Etz1GTkYIHeBIBkYrGM+WV
478KTgSaZ6aHg+SDtlgO+DbiSvGoaugMc8ISBAxZRm4UbtREsFG+Ph6ctRI8AxveVkPvEBI8dfPG
ICbBmfFqYhQfKGhovHIU/Da/UafgMZYnbbDI1sLHIG5oge6Qd7A//nr6/vZyXu8ExU4UOY4bbjRQ
vrl4Gg9BaqCRB3VMPf0CCpqTK+YBwALKt/1O427oDZSv4o+JKYpfQAP/1cEDqs5U8EY4SVIC4haX
0VETdQUMPgl+VfEG1fIKnGBeB+QVedXVBmVXLNJ6b4VoBxzjbcKpDn6EsTI8fSKKdYLH/oaHTOBE
nBFgBDlFmGiLFuVWLBQ9DY/EfHgVIj5B8aY4BcH88x91CYkffCfn9vmnasbT458vt/P76WV5LDM1
/P2389cfL6f3u31/u68zte7t/+qn+mfo3VW5HgiBubRMa5M4/nLYKsXco6S1Mx64Wk7kbszSg9SM
Ob5ziu02xZXu2k4rtf8+2HtyzEVZ23sEe28XK9OJxW6x9xj7TWlID+0+GfDhwNwGNbQDgNaYZR7W
wmTP3OgnoSFhhc7MTXUSOk9WaHJpR7pWUGaDe7BkmCvctm+EuWWuGhuzgaBFx1w9J6HvZcW8fXtK
Pdi0p1oG/HaikgGqRaLgubXXXqENpFqwyLhoPi9ZoYm0kLYWlGMA89wwn1yItxtoLGuR1DO5ci3t
nNrTHfA8t1v4KXltt9hjuqfEXMU3eQN0jx5ZCCOYpqx7Pct7aLRvg3RculyPCUsrhvYJ6ZlURxO0
aFcT0DNoIdwnDUC9yGzgRWPo/ZDdKxmADlyZVRI6CVcxbUo2XWvasBdyZNiIkpUqpvvPtGcZil4M
Zjh2ZjEy9RhN0AHlMqlbmaYP+D3l0N41ij20YNyiQZhrwaGEJm90ZgIVdGRYA3KkWnDDwWFoLG+B
1N6UM6y2ewOBKnCIxJVxBPefce+MgWlNHgcCGDpE5BCN4BBTg17G6c0nhPu2y6Sx/RFAmrOmHJM8
kSetKc+87Z+GBf/lx/fz++VpgBEu1ZsWDnE4D2MGDp9wXsYxLRKS0DFpAvYJAeNGFNkoJvuVhE6m
5csaARs+0Cpf5rpnNGonnmAWAVvYtyPbgNC2uK+ENRjYIrSdTDD+y7TVs++93lINyn+ZdOrdmu6F
zzywj8O2zRRtPnFoApMkbXzmk7NR4T1jXc9MtrN9mc/tRoOAA2ZVjGjPBrPKJCQkuGNK1qQZF+kx
S/nMU9tDlXQY7eCxDYNmyBtshqAlCVokGG89tWKy6Y1VwHpa1hEtX+YljLajVjutsrxfLWaIu/BI
wuuVAuwQ2riJUPYK2zAIrBP6ssdCEtKwNzrdM7DbHvHZ8YUt5csGuxsoYbR5+B5YY9nWsoTxaGvI
Z4PRNjLavHhqj2Tbf4JXTVGLMQkP7D3ac6nr56ntoJDgcWqZjgvwO6NvsSWxFsu2Q3t2Ecs2dHQ+
IEfnYKus7G0fVph91Au85CYWz/s982i7JOozDxwc1meHtMoFrFVwzzqL4skLiXOir+LRZuYmUOvJ
A9uEhKSgDaLejL8MCWaViDYQEoW8JO5bl7Uck/AqGawYMvNoM8NOaOwJzpIBxWHgYVMhmBGDdR44
yF/m+eysGNDwZshGJJ4ao63kmATEnhkRzGEJC0qUMHD4zrtIf8lkmMd5jNAgkyFV0qjIUkOqLlFh
OLVyAnXzbI8BQg6PMpvQMXnYZHyGBrFbgbZh2P99hkYz2Mq3zbCT+wytBWg6uMPtvh352K9Ah7Cb
9kqgwfutAu3DsEs6pRoYkGLdsCk8hQY9921CVAMvhirmcTgfd6UanpEbTD/yRG8wZ89VBdr54WSD
9dsY86gwzS2kuTMiNJA1p0VogLkbj09ZOWYwxxyS1PgJz0MOGslaEKA91FDgs+q+I+K3E/ZtDbJM
oECtYp4Q1bSAuY5o31aANgHxOwrQPmNoLGuhQU9C68z+24BqQYkcA9DWIqo5Ps6o0mKHk1rot8HM
C5uHY5yoN0Ba4oejnFZpwZKqM7bnmOa2aej2znTBHHjgEJG0GMn7u+HEGKrfyKZmpGNWoJpJyKYG
wRN5iy0y1jGrRKohzC3itxf47ZIYcYF9Wz+cm0MlFfFboZjJCLbFeFFDgfe3UfREyJ5r0bYALXEO
xalBssiQakGguR8PV6JRD4COGklLFCQ1WLTvKGAenBj1gDjVwbOBlc4GTVqm0M25PeZA1kISzyVI
zgdzjOppyzz+39/up6zHn95OT+flnGVgbeq04lIovZcBI+rs8oR9H3MbmHIosJmzNUa2kWRc4HTk
sJnAGhwvh8R5pTq8FGiqDox9M/Dqpe428LsVbHpITqAUkFXF+QMjnw3ITLy+atiI9jjQSXGdXTIw
JVRpxcVLBWc850tr/rvSSUpFxqYYMV+wPHYZ4izkOQKZVNcX8xkxng+ZOwUZWNNWcc68PBtM50Dn
qXU3AEa0n4EOGNUbWmlBrmJA1gprfoy8HlkBlk4LVZv9GsHSpYR45DF/FS9Xgq9YXvsOLZ0Wvpu4
05YRs1/LCxqGR5hWMSEeYTuZHbJ1OBpRTqAV0iMNPQqImDUXtRr5RKs24xvTlkOIyoansmBfLZJl
bOfoKM+tfbWCXVfA3jghO6cS3C06PRvem+BB03Sep9nYVvdJ+KriaWwFWAXshZArWLpbMHEGPgvQ
+a4zziUu1ebxp9vpdp56ZBdAPVmt//FyffprjVHLP4OW2bbVkk3RJr1ir6AewKUGRy411k8aABpX
UBqlV1CEqutRjRQOfc/vtljJ90nfHdO38+Pt2/v1l8ePjpY/1f/8B1QBo832fsY2lCwYpFdhx+Vw
DTYCWIdg+VmPOkcBYQs+qhAsuk28w6ZheUCDRd8d3581nNF3tQCLaDWuGmywAXyX3L2SuLPBGvDd
LNAZCRW5wiS2scECnPX4ar/BavBdP3zLPsGqomO/XG7fNubqp/pfsZ/IeRxZzrDT6AYIbiC4xcnp
TJN2G3KWj8Nx4FmNU1/rt2Gol+34onOGdshF5mzxrvkWJgWcRBP0trDxi8/BaKXMMKlOaQb4xRyM
V8wz3Hf0eN8JUjzkYXDQRE1BYSF5UvrUbwWHGf1ETyN2J2qgyq5821uMOhSXlNMwslm/bbCSjHPy
TVABLDlX0EetjeSIYYlkb6bL1uXWqxNz8PHkEOIaXy0nomPl4ZfbQyN2e9EuAQV1GUNHqCVhfCHf
1Nsj9dbD2x8qK+DTrs8uOrWXUweIlrGOwDxDJplpa3fSIkTwKQUsLNgwkdzycN8ZGkV605gGJjVB
YdEJYS6c/LNTomUBGpojgi4GGShoHJ/+V2gcOXiPpYXv/lGtg8KoYw/sDfL9Doc8GjNMQ0+Ss8Ax
AdwGhDlMutytg0IcK84fEI3JJlCTimTNCEEPJDq5p6T38RQaYG4ztop8O6cq6EKQGyE0SWosD0K3
3gBFPQ6zTGOzaGVZBXRLCVtVvh1rNatumA5dv47FLUAdFdKpKQcMDYOmlDKmm8VuVDjVwIRf9kGM
PZBD8NgZeaziVoy5EM01tsnCYTBpdKSyn2Dok31G0EVJkRcWIvQMWWYU9oQGRz4wZtM4ZktERwen
QeG2IystmBcco29LdvLAvoCdMzfSHTg6IWRkXxw6COcchE/j0yStHcg7qldRR4bVYpbzzWyrvBlB
0TB4lG0jOtZFDK1x4sQIUQQ2jrT+wQycKU5fhI0rNntXjKCtGC0DCxMNtm4JfzthPcWpE3LbNoie
NE6zpTyu06LfRqcj4RiPaa6yHIEgYbNi5Aa0VGshQ4jPZttKkLCXNiAvIQo7x14BJjAcPqF44YgB
CE5zVaPwQyCZNdifeJxmS0hQwSvHCu1wzBfht8nTFVvaHO4zo8giW3QY1tJh2AQxckKHYZgFcJjf
BqtIwglhhdLJWmC3cqJyA2gtnEfx5UHQoj1G3474PIoTEKTydWjNhdiDPC4bZkaxlmyv2Qc3AOgk
7VBu0+IkfHZOsMc48khGuKvCwaoVzkZY1HVALMcKShKrg7BFS2Gy9XKoi5RUSgLg2yqrhXARpyCs
wx4BmyevxWATyfo+Ez9fm+Zya/p+vv14fx3cm2bcgn0dkDy4vM64Bfs6hHQMCu7pneKKEjJu3b7O
tB2UB7CDdQKZtTq43s9c9Uog0xDDZlT4imoGn4zcLXnGXebXCccsgZj26YFMguZheVCTsSgg+ipA
Xw2rCWhHnB2dAJGcHj7/Xj+ZwCf3fTdmbUpFmz6/n09/HShTAhT0LcbfdsyvkGioUXbjyU8VEo0r
y3Y8uqRCBh7MDxuPVzA0miPb8VzLlTyWJ0/7Jq0fXCEdDzmetVchedqYCPjhICcz2GSG5Mngm5EH
C4AfHn7QANqgEZrZjsfsVEjAxoRFB8gqgkSD7rJxYJMOblL3w4/8BhJgu9fJpVTJPP759Pn88nJ+
blbio9UqCd0atM7jdg16etHxx+9vt98GxsfimsfcahddV7sYi0l7ur7eLq8/zoOFo+R0teUsdJRc
itZciVoE1A9kLPXAG0VOkaoXcwAuYwcYASh2gLRjDWk6U0ERbQPnriPQ+0AGS7PYAt+pHWBLwl/1
nKePQPsraACgIEIwlgv6IjDjgcy6H3/SYanPgLxIEjwXl0QQBNSNJiwMAFtjAI08/qrmjJGj40L2
hsOBwthilGbbW4xSvx8HjdlseVdj1sEZWDM+e8OBHdSu1nC/j4yrnhBiBd8Ussy3oVOlyraW2qEp
uBV61hsOOmDouXSuQLs9dMaYBwK9KW52nCxXyLnQYv1u6CDZeoEKPFsZBlhbDG0bube3iTOzAtqy
RlvWGX87OEjuhJk13/9yrI4I1MMPs5f9M8lig948fJhlzCMZcxBti2XMeshsI0BrCB3YYVoz2XSP
utupJvr4bDsZWRFERSf4aS18OkIxDZjfzkg0hwpmIL+NIGu2l7Ww2zdSkdnCM1TL+NM6C8CI4jpC
fiFbGKFuBmyQHLT/Gaum0ZKYIKPisOPSWEwMdAEJkTpA8Ux4zwGKCILUWtBn6KdVD2z3lgiRWkkx
AiS1ldisYYCipBBDI7Xyoj2AGu0g3RC/LNFnMlOGyAlEOyG0kUpqA01BwMxyTcq2108zNNINF0Ve
KQSeoadXmGQGhzdKMEbQnKDvKhwYJUxwDy03kk2NFQOKdZJsJyR0liwgstvBCME39HPQlkTBw3op
HMtIOJMo20i+vBOtIIy+7Q73+QToywHw8mVw/vMgbpiQWCgS7c68eRRpFdg5viywPT08sqsV1jVY
vf1uwChrAArQneOcdauuQxeUeRdgLdDJgr3aHmGzhQXfNRrRGAEqsNsA+ao3fO1AI4BD+/QADqEK
ZGg2uwxDMTuh2H/Ccq+Q7GYoCjoCUI2/GiDKAnBj6ab6CU8bq8AWyAPY7JxkKXDTxAbdfVRhJSew
biv3CcAh3oBSxgKbwT4zBg070Z+Nc3j809Se+talGj+WdhWl4fLdeH+5vg+sdyiXI4i3moz4jPuM
blkgSvBzsXJcigFyDw+KnTQZABj1LmYr4HyllSbji+O+UUCBTvjbCX87oA+7nmq+BzWfEMnm0tG4
v2ioJDMCxzJEO39CFJsLT6PeZShWdiHwuZ4w7jPqleCfBHYn3UtL6uERaMhQUJMkqElB1LURNSVA
uhtI9xDg11F/Y02m0bJqKihp6ske91yHO7cNPA503ECmLwPOua87AXcDVU0bSeZyhHyLAuEjFhvE
c9+TLe2sE9RUvG8HxS0qTDQtEk1DomnIb92TbGNjPMLbYvsiqLiFgpZEJcvw6xl9GhsHbaRvZyws
TOJj/jhR7zTQT4VdQoTs0lpCPWHLDA4pmgz55rgGPWnCX3ZISg32hB7B2h3JlohtCoenjj3fLi/n
QVesUHqWsWWttpW9DS6IC3AEkIm7Ii6QAV4Sz7ep3Gf53hK2FXhxX9a4p5mPEt4W4O24XmoLMKJ1
wHiDHTdybbq+hNpykId0kNAZ0Elx7eaWrQaw1QiBNaCSF+UKiIbz8LsJQGYIiWXKRigWGrDWG65V
3irMCBqLFAa2ocfa7igNgN2+zKPD22IlJGIZ9rsGGmg9FGikflqiFfpsgp/lPKZt7w5WULenFPiw
99hoWCwflmuoWMazzOf5y+vwSM9e3ug2SmTaHG0FvAAC/rdJA37khVFiXbfZTH4U/LC1NLoNR/Cj
0MNBt9EmBPmRA68DCniEDQT1CBR/FRiHNnCFI5QF312qvTlS8SLbxl/50XEAlrHoNq+M+7LnATXc
reP3muEX+X2aiInEAzpMIH6TjmxyezZ24JjWhrn4OWw3aqdyQF39TgxXK6KLFXm+zkHoyI5oZFwL
5ZbDaxx4Ig3lvIAvubU44ARsq1s/bvuPu83HFYBdch1xYMg0cqH1yxlCGwSq4Zb5KKmibRr09vzH
d/atH1YN1O6pxYf99cMKMtqjDyf44Yi+6ntQv5MP+OEI5SOhDwf4YeAkq1wbCB4w3lGQa8TlmHvx
2iIOscY8hnbAQIVwWKpDkMiFvh01lC8QHtRde6iQGnEqBfxpK5g/LalkQPt2mNUWky3ZHnzDsoy+
HKGgCAQPbrfrxSuZx/91er+cPg/9kSmZPf6lm3bcQ0CDno9pxb2Pqh/kHwLqAD4IHwJqzb3mYo/2
vvWoZFHlH2Rp0z+tMxSSB1MO4KnBmzMDKMP4Zd9acLEUTfwGE/d2EB2IfWuIOIZkCy19a8jDYgtk
LgJI/oMqAi4m9JRPW7BJQBsLBI7/mvLga7wCK6RPAYm3ykhOwVtVvUN0efJSw+OPXy63p2FTdQ3m
FlQ754lj2ZR5a/BucAYmrqFP1s/AyK+4zPkVLUfVHgIbAdhyPmlGGxJMcXHPTG34ZYfQtjgA8VH4
MmRVQMBa+DIbOM1fRuGHTzs/XOXXP/7ldLv8fH78l8//dX5aakH8p/T4z6fbt/WfPmny66fw+K9/
muV7+RcgQa11IolEKqIrsEbALbfW9SNZgR0C3iQhd8AWAdtd3rbSrACnx5/+r3/7d9PRIcGD1dJ9
cafnK7BDwEwQtwIbBGz6L6ctsEXAe1UldIiFDvqxpwT7IHcKooxfRqbkTUi5AjsE7Buw3VEisjyo
wKb/ctgCGwRsV+ClDSShhH78Y0cDDa/zvVbjC8MV2CJgM77kXIENAtbju+EV2CFg210OT1kmQgP7
+Oe/9JJgoXAtXeQZnbCCTqjO960ZrxVYoy/HsR9YgQ0C3mSFUkcFc6eCVh0ZjGCoyFVc3JlIgw1V
zD1w2gIj4xzT+HZqBUbGOcadfSVkcI9//pf/aXqlYPP3qjxeqHZhungekIHN1VZY32D3NoVN11ZY
22D9CNYB2NBg54pFQgM/0UCrnghe0E/flyH2Yu0F/WTKL1ZgaJM2JYxpCwxt0r4mrVHCtABiemF+
up1eCUkMfxPlSy8P3zfgoZsyvFxU2HbE7NpErrAOwFrhuwbA6nHToBXWA1ima8wKqwGs2uHcuHDn
4UR609Hes0+4Cl+X93Z+UxW7AnOvrQv08mzYbxoSNWiLvh0laIS5b5iXG8wd5kYjaN/2vfUuhtek
Cmy9QDS0axsF4IRIZgTgjICtxGuPoHOjN32u1+jtEL1Tz+sdtEaYexFzgzAPvaTYLTQScaclQVEI
2vVE231aI277Dbd33zZo2z4ImCNg24C7dq4NGMm4jz3F95qNZMUlwS4gYJsEUTGIX94JRkUju+C8
gDjSL5t3wMS03w/z79cfr8+dbdf8c6cS8S3vYvKQFpp/ZOXpGSYPztcVWqNvuwa9zQtU6ICgcwe9
kV3Nx1gV2kv7dgg6rtBdj9UGbRF06KkWezaGx49LHxxpPkeSSKeH5IehhuaTJIn0qADQAUG7Hjru
oCOC9g067kWAz9Ak0tEEYO4RtG3QtCdThU6P51/fOi4ICRoNsjtGyrFotTtP9sAwr5T41FDtUIi+
bMa3miswzCvl/gCut8ABfbnllRbHR9XAPb6fXp+v33tNcFgTlm7Xfhj86sfT549+PWF/gc8RGKGO
YrncKMADEyMk3eKOLXQj9vHt+ku/E8t7njvqaa6QyHmsp2yypAAHArw/j2j+BUf9dGzQe80oM3gB
dBKhuQCpQJsGPfBQlo3sCuJa+jTAO8Se4HuacWGGbdM0ETTgV2r86tpoE2gDoEPPbbenOMA8up5o
e0ED7IpG2jZ34CuIqwa9D4Y1+1io8iuLcgZoFoO0awc+naRdg01H1XNrgHcGJLPirgHiMYmSAige
c7/twbeBciainHGo2YBdIUgGDdAsWonXBtAspR7v3Fn2/Pjl5Xp970x7FqK/0HzenoVZCP6Iw9wT
IgvxV+q/HLfAKPxySgBGcaMzOz/fAxuEdmzAYfRlFO+6fcxJ2GcfT9vg3QpXYandKe3Tk/y78QK8
tP4da68VrsJCD5y2wB59WfXAcQsM79GiAAyv//JuzzQyUo8v1699ZKTwnUPic/8VOPDAc/QMgNGt
Q1yBB5mEMigEfFn31x1hB4zuSnJ/z5J2wODCY2Y93TNlQHrc5vZ1Eu478rjnQ4MGvRO8sfxVaIWG
Nx6Jvy6p0B592/SXoXoHjS5MjBq/g2/Q6KLHME+qG3RE0Jubnt4Lhcen8+WlY2LA0hiRHgSogNr1
sGELi2QxIC0IWHeb4pdsmt3CAtXVtr/02+0XKJ/2Aq0igM38ZePUhvrp2p9v2TbudUJ0yOP5iiuw
QcBOAEaT6+m8u7Q7ofDlIxXYj6crrcAaAW+GBKYtcEDAzMC7FRjN4yZD47oBQ7PGxseP//1+6y1n
hM3+lpL0PE7e6AibrS6F3TmOUwIRNvxbStrBtw2CduPmig3aI+jWprAb9NSgA4ImvfO2VQulnO77
6deeDVrQBDUeD9ugkUD6jKRZa0GomOGwDRpq0n6wHSWFefy+TUUbeNmeErow1wbemKcoAYOr+kQq
ewfO1MA78xR2o2gIGczjaWtX4TvkFZml4nETFwgVOSnwFY9GLCRKfCGRkcp5kudrgYxUhZTi7sH3
Wv9Ra6T/58v18+llLjVdyQnLfe/nZc283lwgNQ9JHkS2etsJ8JNdylHuv97XeT4/XZ/P//Fvray1
/vs/aH7E8LRHS6aZbLRvXSCjmRJ2OxrO7xewaLKEpaNYNuSpC8AJMDa0ASeb2+f1+9qj4XbWkxX6
i9y2ApwCYp0TVrAQ3CeBAqCHYiVhm+vhJ4Z6onIdFcAajgiCHwnCdK5FkuQJEfo8wLyA/+QAG8N4
2MyGCeD7ZArfxFFvhlREqtBGnPjJkPqg9lsA8MGKbNRYll1bYUrx2DxYAe+BzBMMpvwwA3VCfDDj
gTYUBSwHZHDjFGCHsUVBe9D9OMU0pgKgIxlvGKZ66aDceA1k19pkn1LE5d0AD48FKoznQm5oiQSi
kaKb0kwEMgJeZkEjQROuqtJNGCbPmuJAlgAJgx7PVaJmEX09jKcVEfJhi0CnUA0FyX8KAPskc09j
MWwb8NMlh49m6BzRFiSb4j8hBniBAZh+PsuKiDXANQpsyky6FZBrbVwoJxM1tCaICUakIIgNQhSg
sf76KFhTI/gkbw8REBh015g41arY3Qo4PoxkflwfjjcEsAQr0SsmzEB5Ab79cV3BEXfgpx+D4EZQ
BWpKyg8z3AciBNGmvppiXSDiBVLPioE5Q3GyE63pJEnAIHotRIg1vkGy6EVl1liayDRpP1Vl+Nhy
UNMa9vH8OjoJWdyYuySPSCuLTRpjXcEKK7QnbrVkZLsC7g4Rc+aKqGZ4w0cc8wqtDGty3t7u96CF
PbQVBjyyoBlUeVdEXzTtxaxcJQoI5FaGNjB5FtrMeQut6GkQ9xQcDHzoGrPjSuHoCnAXhnvZ1UTB
IPhWPtVNpCVUkBi5qd5SQ1FAOJCmHZskZdsDpAHT7ITsQVghtcLAKZiyOwxw96I0KELb7QDKQRKk
uewA0rCp9CCCL5IkGJXshT0Y0SxRWZqE0eW9UjtERiugwAXSM7jv5WgAjp4qKi2aFCMokxUEUUsr
kBYyxTek/RYi2kIYN7Mi4B6BO5H+6ImqMtz75wncNZf5D9fvb9fX1vxh+QNo7qaE1zLRZfAqeV6B
93wVPgnwWsDA5obBJum87sEKe3BcIcuKA28wKw6tpmRzJ9ioYBEGraxkc6FLqQAxaK/DNw+Y5hWQ
ya0rNBwmW+HycAWIQ+PllBy2fkAFyAf2efzKSS2soLiqonkFNoap4FlAwAgI2Ox6RpqhKKEVUt69
1N9uAVQ3Ldf7IQ9tpsOxbN1CW2GKpza5HwcsXkVgw8SdIAbMQh0Eg8C6nAruRHBkjrSsRl4gX+Nf
yYL6PQIGIUAkeJ98cjiErUJsBQoYUQICEcFyMzxQBMkqe8GmYlviVBDkmPV8lYxaNCVGQIC02+jf
2EwrmHbxNvadBl9cTEsuj06notwp3+t6q29wjqes4MnApH2SxuBUZcWhTaUqTxO9263BaswEHxv8
wHMZfP9U99BmTQ0OGwbLmim3NePhbhtGWIBCGw83iNUNzNCUBSwZhLbXWiMOQ/OmiULpkOL1iJAK
i1PbhZ9SGj65/RpwANfyTHOdFxa2CzgIHmJPhjQkA9iCSWQLfvoxoCSe9be8Sq5rhOnHAA2L2dkk
apAQMvgSqSLRFLP03vFqwIuEeUGI6Ue8QLeKVaxVL9Zqv4LHdLA9CgNmBLyAG8+f21gHsIJvKEzX
g9burVME1inI38cCGYUF8P5jFEwTG8wUaD+epLcRQ2Td2wq+/nB7DDzAgNhmM7buGQtAEgwKSJ7X
BULvHcIQA6SJSjZpwL+FLGuhx86l8WCQ0DOo915BQBYCHGVYIyqxxkrgDIkRyrW4HdsiFKmQ0Zn7
U7pBvQ8LFaxABSNQIRAqhFJLOdAEwIZoxlNSCTTQw6gF9NlzqZmvkCG0xV7ZiTrIXwBV5hEt3meU
DS61qis0Qzg41RpcXVKFsK0wXU8HNXTqyJ/qXg9HhgAJUJCjTIyAa1Scom7n9zKM9dA3WzQd0XIa
7ABZkiTqkKCEuhcD3dpk6dYmS5eCy7fT+8f5T92hqJaPch2Op1ITOshk623n+lFYNuktW3D5aW6R
DeFDm5qxi/tqh95PfK/TCd71IzDSFh4d3if8mWkslHqZp54WqBc/ofEmywvm3RQOgr1mzcT0/dQP
ztntHtKejnWxI+zzJ3b2yPJ82uuBj5u3biDjswBvWOt2hyYTg3a5jgWaZ7r1gtAGQWi1AA93TkYl
jZmWP/HyHrMgr0VieMK5KMB7cGyetq4E5N0nWKDtnUy6yJNO2r3D2PsgfN1jofVZ2H2hPo+/k4Q+
YO4FPx74Q6nHyw4dpsTLDq82zo/HdHVir3hwc8RY8syLViCeE0x9PAIPmO8F/HkvGxvodLvZZYkW
O81v3Eg6mz8BqkXRQaPxXUuHDt7BQgfFjeHqRY4XWRcEeAhtsmxseMpxk+Xot3m60QFbvLLx0ubk
wApiH9URU8PjH+wRzvHfd07QlvwJxEWhd+9uiDwvdiF0QjuKq7CfkOI6A4U+CaTLn3jgpI/wHeir
FvQ1Yr6FJBj5/In3b6mZ+F3KYVEZ4N0J9PYmt3EdoL6Bt3vUAd2SwHIreAcl8A06diuFVV44hqXx
SL4Krx/PP59eunMhGrpRHr4uh/cchwasPDQFr43X9q5xSA8909MjBDYr+OEKCAfbXv4ODjh6rlOB
u/D9Cm6IQ0ArqCN0iGgFzb1+pis4RIck0oFNEsw4GIEXoF6nrmBkbgor2PYKfPfybxZIBO6SIM/A
Ic8IWIGM3MDNGYEogiMx8PaIOkD8iTCbsTBbLEguHFkBEsEKKxhBCIygTu4T2oBXIg+QSfKSKrpP
yBZ4I4iglkTQNCEe5D0WBkA1cAIBtShGqmehHQoiZGLYiTLxVu7x8vGX0186d1XLgFANFyhemcEt
And88coMDivIjAgeEXgSkBdqIRMpvdk+d5k/HxB43NXdbMEdAvfi5iHyVgCXqvfUDp4Ik61p8X96
uZ76xLhFdzglI5rZXlEzPH9+KvCRHa4xw/OJ+QKfWqerga5Plcjw+0uNLf/9+Am0jHJ05BCHvkPo
e67l1AzvMPlyFNGPCH0rgPPxeOVeFuAdewSs1GcnNjXuIfIrL8DzR6lKfi2SzyPyaZn7iHwpyPAQ
/bSbD7PbPpK+mGTyBfR9JXzfCPBRgOdrcCr7W7O4XQmDwc/bqvaQ/e8PLhbmausCeje6a4eARvBe
sJ5WUH8nwBtsvZOVGYi+n9r3d3U4C3xG+KueASMBRvjHAwqE6J+MsH8HFXB5ZcIrkBO8Z+gFeGB/
oPzHnv1pCw5tb/t2uWF1+29Dx5llz4VsX84y6xHrohfgraB6RsA/fjJo+6nT/M0lUwFHxOenDTbL
Bz9vd4JH4jl/Pxz80+X1cjt30Zzno8xpDWUtNyNrhQ4AOvbQYQ8dAXQSoR2AbtPMpgSI3WGuwRjq
O7gSP46gjUg2C6CdCO0B9GZu82jjiON6B97kSLfKmamG6cfr8/nL5fX8TGRKQx9TPmHieD70Cm4R
bQ0RC0XGbq/QCJaZEU4RR+BBRBxtO+8+3gh7P/r/6fXLpKC/dcSUiiKM4e9M5pmWANjxdxZavOcz
VoAGHyaXLdsqvRlr8F3P5+ynRFCfA5mnvMLkUOCTW2DC7AzcEnO7yxN9IDFnPJ/b0geuGwzIS817
h5+PO/D/Q1r/YdnbX5XOjPCPP93eL69fF3PhZ8vxU/0dNhUsvSKN5rpUNnAwytJsWk2OwDXvevTW
cbkRPECfGtFeKwk86PBprbx9AG4sZ+YaeAbgmfM/BHsAbw/Ag7mcvJEmnwdNSqn7HMJDI6+dkmmv
Afr2CPqgQSuNHRxDPbB742T0wdeN6Tu8phH2CmCvOBfZ4IHibUODEfESAE8HeAfsBo2dONpr8H0S
si7DBhaLOHdDrWsJpfB//3dZs0VXfmlDxIJuzHLagjoe1HLFNx4fne+w1Bv0yXQPhmRMH81cMe9M
KIBv4oo2/FLpzoKyBZV+KTFnQT2gEph2NoFqsFccb2WjEV/hu5Tpy4ErgZyRtjyo2XF2lWpDpNpg
z1aQdsFz8yi9cJFZ4Zf3Kfu2BR4OfKvAhhtISbBHXw+Om8VJFgDwyxtBiABaIBxYICIE2kDPTdcA
ggBaIMQeATVYALHAN/5vqhG8UF4zs1BxE0nJBgLaQOjHig5ZqNACTYg2fXbaAgnBkx1EZgceUTB2
8EMZRDLsXS8CdgCPCOjbNNtNir3BOwRPJrNuXZvB4eVMwHxACSEHkixDEAG9U8LVIHpiED2yZiXE
mbP9KQ28kAe+ugKrBrylA0pwzdCmQdvtp5EQVWjbI+57aCN8263QOxH0wIMW4PmKi6eZR1/WDXgr
fB64j/rlLACjPc83W5Riq9C4dlB202SNenr+9PZ+vV1vv72dP92uf74+nV7Of77+cn7/h9PHmUiZ
qzNIYOjApmoIuOfBQw+ed+DsU6/sFB/Irp/mY49tiiqNwDW/c2v5MG+Fj/zn0wHCaR59vhZ+gU88
bBa3zod7zohkVzwwiFIrME8xmySCBx42HqA2D26OgPOSytcSE3D+LELSkptEIBUVnuj8k48FHh6/
6COlNNRREFpO8OaIovHbt54/X6zwvLCbfMBMgMOn2R0EKTy6Nq7jimiN6v77RoQ3wyFRC/p6b9Hf
z28vp6eNHdfgelyR2+3SIdNuYq8Kz5ozRZp9D8axLfBsdZEi1QHrTMO8g2frOyr+lhvLRuAdgNcS
PG+PFRmAMZgpty7AT6Rbijsw+uDrUR2A9wDeHIAH7I/uCPkUIN+RDSSAgD+CgAEIEAqkoQAC6Uuh
Z34aYQ/YH9JuMOAee4C875Hf+lWU/FBkWIaAP2BfjNwkR0p+QMEQJPXxkILJH0AAyI9P3BhLYr8A
BZM5QgBggMIRDQIG3GcJAQCc8oGPA/Pjbf/xgfcAwpOVZPsd5r3ufY8b0h5grw9onwbWL8RuAwP1
c9D5JCf6Duj8fJDYByQ/JcnwWey51RHLC3xP8JLx4QNMRUbtAOmzkP+RUGB7KbsiANjnRdUFspPi
AfIB6nl/gH3AcMW8M3wkwAz7+PLp+vpESvfrXwnFzy6zxZMNHlUf5s2w5TSAR9XTpHh1l1qt8GjM
tMpc7eMMjeZjb+vO4xYY1236bfldHGw9oa1Hrm60wWcEn7jywQaPyg+zl7+Pij9p8eTeOwQ8Xpx/
ckHkTqGvkzcfanMtsiyAXg3kA9xDxZe06nsoemhMuPKy6EG5NwI8mo+utCQ3CkE3qRucJwOb3qrA
gSu1noEzAt4/FOgsKrBV84mdfVTo6+MrkCzIo2TB8uXMp2//4+1tlL7NQD7rF8nrw92dS10gA2jP
viFeoCOCjlyF2QKdEHQCZF62rtHePft+eVkBzaH2QcJew6fswVmJePyRdUbB7EZhD1ZAKGhpD7hI
MHh/BAO4guZqJOkKiI7eioKAEAj6AB+RILhwgI9oHrrbEDGOFkBy4I7IAdJEJ2oiY6xnEiqU41x4
iFagz8DZHSBLRLpbMHZMw4YKYduNIPZm34iWlBa87m2339vujx+fP1ox60/tL/+Ah1stzXAiI/C+
hPxopA4ZczYSOA/DorJCUNxQHrICGgrkYz8UKI/2gBYgA+tGMufRg8iyQBS3gKecLT2NAAZ4xNjS
6nIdUqZHC6DRVN5xo53IAmg4lQ+SJPFPoisR7QFJygiD3GOQRhig+U4hiZKImEhH1Y1JaDETYxSl
AClS1gfEGBEwugMbQAuQuY2jKMijd+WVA1lSZY1Z6K20BSSCSfy8EYxZ9AdWQGoUtbQBaMlECcYj
7pbmbJFxnh6lCCoDEjctcVkA7T7FA75AI1Mc/AEzhJQwRG5KHiEhFCIrqaHlL7nrCkGiAlJCMrqU
t+QaaqE74I0QE7w/YImQHEcjMUELNAz6gCYgSxLTETYiW5D8gRWgNhzZA2JkzEeCM6gN5oAoaOhU
N249d8Ewl/eZA+k+lN8YEyseKWkvor0xMOKx2gyPYzP4IIXyUhIo0wSr03ufPsnSm5bg+FcdBRy8
ZQqJf8s0wYJXWMHwj1HKZ8FDkhDxZ/8AHrEEzz9eW6gF3j8F8HisgIPnOyHw797qp8GHo5LwBu+O
wv7N2UYenSDPGhXwuMG58O3l0t+v6Hlu5JiviY6q98MLkmmByYVmfoH5+LoukHcLsIeRVKpQXYMf
2L15B4pHYJbqskDgdmB5+GUKqx88QGjwgAI2SgiwZ5lEingxAkwcVBBY5lbyPHSs3U7kJhXzAFAg
EBIOirjQ9NJEygDK9/3w+9NRwvALONUvMJYBQEJrjwgR0KPZ+2Ah0EAPspMWcGwlTCK1QFiTmWqE
KkZe4gJ745jIdXaBH6QlHPDAVQ/sAUuiDSChkRYwUIxV7AkQhwh4gICoRwbZQquMBM/mZSoFiRAO
yrlmEQAU0FGSIQsp6NUBNTLAEugsUQAIcMxHvg7soNH91/1QBwEGIfcM0EMzApTYuiN2CIiQPaID
BhgyE474Y8DCYA9oUQJCLNoxjcyQSZt4YE8BIMBJH3AkwAYqdcSGAv7FjR8Z2yANbJAWHRFgXjrk
B0E0ZpKEv4WhgDO9EzHD/QPuk1BEDUMRA/2w1UbyYhMHgQhEMaC1MB517gAFgQK7fCQSAQqY0xEZ
BsFUjAfCOaQExhzZQgRbiAesIAglrFZHrCDYQggHaICONSodMQQgnMqiHZ64ADDQSTTkAJqaYdaS
AjFWQfq6hZbY2SOGCGzAi4ca4MejyD2Dvagih0LbdV2kCwAzovWRYFYB+TkSy1mAgdWSClgUzVoX
D5yIUDAZ7YETEUBANUs8He9sHiEAbIAPB44DFmzA5AOuBBhi1xCYXsPZvQwABUyHMkOAfObIiRbA
+9R74uFpxiFPqg9IsAP0t1k6T1msxf5QbgocKKzvw5lxNAJoEL2UXHLQDAclmRGHj5RRHznVg0Nt
PuRJAXw+4sqBJwlO2gHbgTeRFzbYFxiwgPGdGI4RQJ48mgOWGBgy5w9QAGUow5F4DIWUxh5gIlAD
L+a2NOLh0isBRDMWyoBLB1wByu5pd8SXACm26kBMDXJbyR8wBICDPvYbGGoBoKDyB8JZ8H11KMcM
lMimI2cKYEp1OGIHAAuN2mFAr4TM4ErofHp/+tbfCRnx0UzQXNtqugB6fRDhAwBtpKbtjo7cGBDb
4FcAjg4dYMD5m+yKwKbrfBytgF4uhYgeYCwooE1EdWAT6A1JcOg5gzbS7AcXM3qCo400/MElLcmB
8Ign2AMLoFdEIUhExPMfHJ0fMcgHGWl8itsOsBhs4ZOkkOoAFRAjQ3vQMyXozJAKUKEDes40Y4Be
gwVRlNBLOpdkcL5GSNM2fZCGiATBSAqNBzm46CUMEAGTaBHxMAG3nSOxJyFUA3eAfBrqgUPvuuYV
0IPEkCQZwHOgXLISB9HnU5DoBy2hH74OW6DV3nd/P922rlsha2VLr+AZSSZMVEhPLWkWHJkwS6Fb
5LrCUqHPhDkKKZolPXOjHxcWK1ZPLClyikyYpnhDY0lplrB/h/bvehYM949QMLHfQRqhgAjoTM+B
/QJIhJbKep4CIHaypN02piEiodswYSjFCANzZA9IiOd6kCKD08AOPRQDtAXdMBgkrxSqz68LHGID
QsEeUUQuArWk+zRYISFV0kdUCYpi6FdIox0gFKyTNmDwAi6J1oQ/ClnSgbtIUth1EJhR8AgFf4CN
aAF7hA9IGVw8IIqIj9ZI+swfnWdJSD0RhnxAJmVOfwDHaARl8OqIOCNR8EZaAXEhqAOyjIyis70k
ju0BtMsEhTTkAl+pOJPAS64J8iDYA64RGkWvj4giIqO3vST5XWc/I3T2Qw8+B61WL6/P51//5UsX
Ckq9H11AnScjkpU7tI98P/kC7VFv15BQ48aIGpdM0LbvWmm20Hy/zBiED8N+9D6jfpERNb2Y0Ibt
TaV+ti4K0A6xK2wmB+y/zTf5jFHYNe5m652AuIeIZ5loPLQj/U33V1v123xv1mhkYQFSqgSyeSgs
Ufg27CrrkkA1sGkrKLZDUhqafg16fUodUZ0VNs238I0Otf+VWiY7SbFBE9oImweLPWw9MWb7tJnU
JNs5WUSBcmlZNXkHEpXwbb5zbvSoOXcUhor4INsEYM+8pNYG7dofYDe/ca/44S+LdvHfDl7YOOy2
7H2P+Ug3ec/ptYC5R3Yh6uE4lr7XMWqBYYcj55aYzA7utV4u207FVpwv4G3fLH8T+sE58HUBMhth
UA5ieUebyQ1qYjptWtYCZlLWDKCFEQch9eMV/G4B/oFpxUD19EujBRAGkQwc2D/kK/SD8wrCAf4l
RAHVU8CNFkA88JmfMVEXyAh/J0EDZ1I3YPlxD+sKaNiEj5IQgSf3FYV4ZBNIDYI5gAOiY9CSIAsz
TkI+QMaAyHhElRAGMR2QRI1sUfD8qJWVCIiKMUjKaLAsRSOpo8HmNCqJDYgHSR9gokb2LARJlK2w
gY05SCMUEAY+HJBkZJCiO+AUEBWjlWhg8BYiYcMgQWpRhrUu4A9YdQ3V2R1YAS3gnaRLaANpQ8LY
3ewN3mk/fTu9/6F/qI1eyNYJTynwY9YKvDAjK4Ixa45vzTB/3PcDtsIW2OERayn1I9b2yKPxZpmM
uNsLuRPHi0Uw4G2BhzP6Aj+ca4FHw7mSEUgvjOiLjh9QWODRdLys+9lsO2A02C1l4ctI4rKSt41m
oqWG+ZS8tzu2IZpny09kc3w31fnLThB3YZ5cjALNpYF+yQp0d1jiU+RHUhZ4RPds+ml4+90jYc2+
J3wc7B2JXCST8PYu0ZViKQRuZV1F6pLUjvX0KJpGnXSZHrpJmmrtMuprMsGDnio+oF4uEzD4ss89
cNwBC+PAvUWdUZYFwFBoDzvgLAsA2mlp+3geuwviBlBHGo2a4cxfB7t3jp9p3XYPGgh5c4D+oJuP
I02EwhgB1NpG8cPsKzT4tE8SMGjn46OkMvwR2pPrPyw3gPDOHJBboDiuKc6oEDOJ48y9OsB5MAze
eYn8eB66i5Lo4mH23u8YQAysH0fL/3B9Pm8iZtAfc4rxlng5jBkFuntW6Nig94dL2BOvwC8vD8de
0LPhRwXO/cfD4OMI+ZCFrSe0cydg7hCwbsB2iPkniHhq4PszDuxKWwnnBK5ZhLtqwPugDTblrR9X
/d79AD4j+Nh9fxO5wMbIFd73XB9KDdKYmIQF0NeTFYAR35an4qzAIrolL/MNCXwMsqojmY8E+b1L
gk1sK7zeyc2mT5wV+sQpYVCk0DfRJBkeDprEsxzkQZVw0KUV+zZaBwYBcBOQZ9A06h6/YB7GYzOG
847ZwSKGTiXJTElzQEyiE1kyU07KT0Wp4HM7i8z0MghwZAQd6bKuYEYrOH6BJYuTmb4qAU58oINh
ABH5Vv10IhFeANJRNTqObgDRPClDhxphMlq0gD2yB4f24Lo9bDO2aLCToaONkCwiNmotyWJA2AdJ
jDKCbqiPXsOjeWKGjlXCAqAtQmHDwKEeRIRC7FEYLhDQAkESoYjwjwfEx6DPmx0H9416ocNyyOFY
Ed6akcOYwQcZnpfTx+1PgxrMhG2+1b2s9WgmiU5eW6QnCSQBK7zxSFSTJCZeR6TmSbJUXjuka0ky
M94Qn1VywFt4hLzJyEwkLOJWIRVNgn2zTqY7+rpOAuqSnzRGYByiujXy1z3CvhmXSQGsHWEPxRY6
uITaJld4Inb75H2SfbzRMv+gfzPyBhAFDYlSLGM3kH/XXpJetHt7gPxI602Q5QdZTZ1lq4d2b+KO
e/9nyTBp9fhv569//PWtgJZ/8SnQ3+/nhfoHXcj/Uz9saf5D9Npzaby0dFAgVFyg0cv/pYXf2oDB
7cAzgmbfyS7QCUFHrvnDAh0QtOfmra4bB2+Ul/6x9OMr7+7gZs+e86/np541Bj1PmBZV5IXqJghf
FsCvA5VuD3nKVNg8WgC9pFGafd23rABeQ6nAPmJZoC2mAHmUtgmhCAk1ImHg3sUtC+DHSIq+0Bxj
gJ/2KW27l0QmDXmQEQpOQsFhMfCKe8xEUUCbMFZCAT/1VeStNCMJ+IGjoi8kLccH9KpNaaJNvb8i
ZES6QJ4Xbi76KQoKoeAPCJNBKxjPPQ8km0DCRN72bcIOsgAio/OSRdBst8N5D0Hag8U6aY/oJHob
p3SSzAKiIX26z38fkUCHAysgFLQ7oE8B0dAcMCpQmLfvC8NQEMACKvZv19WQjGiBINk1i4ngjLQF
4bGt4l+ekxWQUeHf+xIiIFFWSdRHRMMgOhfkWcIhz4JYYPQBc4L6eChjDpgTaNfVARTQAkoMkix8
+a5oEwZeGdECojlwWIpcOLAFxAVnJUnAj/cV6WTBcQEpYrASBTymgBf1yAnGJEsUcEKE4r20B9y/
QGl9gAnIrVgvmTOHwzSvuf4HVJ2RLhh1gA9QmY6EmmgBK2oj4oHPEglxGwylFdc7gDolRMF4IEaE
TmHbGmhoUtECdt+Jg64APHsgL7gCk1fQEvxSIjDODYDAJNDRDMvzYfef9GxvB6mX88etP9ujx0GB
Tr/YvxRe4Nm4IdARQEz2w6LIJdBZXHCBBOA1ZBH7FiHQDqM8MKsjgXa55eHZU32gPfvh9zXYgCIC
OjBSFh2CAu3yqncVSJR/AN4dYF8GHDANvqyxgw8AWPw4H7MF2uoa01+BBUxP/yH5PCBfOsI/oD7K
HCCBAxLcJHA6hts0pAAwcdkeQCAABAgFHMtDIEFKH0AAyEDKR4QIwNt+A2EIbwEFvSSESH+IBeqv
D9avI+N7hPgA9eSP7B2IXz5iAJGLJBZgEGiiJ86BzuzABgAgkJ1EQYPEfx1bonfVASsCwPrqQ7IL
tC8TATCcAzMAfS/BR4C9l2w/H6MHOrVI7y5uCfYIAbUT30F8B7gfcy9+cRPfIck1PeUsvbmJNIqL
UqfapVn/pm/1DP3JPX6///nl5fJ67paVrsV8uxbb1CMs0PBOzmeumfYCjm7VfNzd6FFwqSX7Moxo
03x2+bh/XGtUepKwtbOlEma9rI8jfYt8qfgM7Xd1OBQp8/j15fr59NJjZEDnmKQ118RkgeU7vyRt
uf4pC3DmYc2uL1LPHtweexl9Or40jVJn6GX+7fjGNkqdqZcpM7HUW9z/5zbgVgAPI+QXutnHy9fX
6/u5q3md/wsWLlLXa7bmMPInmRnaQNHkA4EZ3EHZ1I8f1x/vT5sNaWlRDXHSAj3UaJ43hUb0UPsq
a7IjRzdSiq4Tenq43Nmt76g63hR4D55B5Zw68D5KW8D5N2BKOenzFryfy1lxj7gW8IwecS23roPn
e4R6FlBPc2+wFngH4HN20uc9ZJ4iT6j0kHoOPMHK2XBv6MjuAfN0ezq5qRAi6AeAvpG2H9ALsuV2
CuDv0eNLpZT0fQte0OWspc87KLtekl308DUn1T+/y6OvA+QD9/qP7B18PUqCjx4f5iQKfoR6q9IB
xYkAXtT7DCXPiJqDHo/mpA+wnjcb6YjegrevS80R4F7Cipclq22g8GxensYR9zz4vD6g98Dsxf7J
cxzuHnkNdcBrgEfzy5UsoL+B4hOO8F8B/ifp+xHzPx5AAKif9pLxcTDoOOK1gfxoK6Gfodc37oD8
Aa+fD8Q8QPsz9/CcGA/e7aQjxAPCr1Xv9PUIHjhdLRovC2U/HRA9EHNox706v8N7Gjx7IUW0NDEc
p9h8kWIA7ECC0QuXE0vLtnF6rHwa5DajBamtAow2bRDeRfoAsAaXAh6DtpTaEms2vhlSum0+af34
j+eny/fTyx8/nk5v3dGu/FfsXR2KTVZ4PrZxyDqv8LyEk8YQe/1e4SMPj4z7Cs+eKjLfV4LCJ/77
+Qj+vHveNtYIQ3jewNG+Fjz/Ag+/D22JpH2Kj//Xj9Pr7fLlcn7vJSuiKqTSXGepe4hj0sBW/mWB
pSiRXyCwNThlgaWDWRwTN6JZ6PMeyAqW2wNXhFNWWMrJ+E1YYYWlaD2O4geDm66XBYKRFnCYEY4w
Ynf6WvYQ0RZsW2B3v7NgwBWtlxWWNHQchbEGNwWvfMiSLDhMRaclUeCTpRUDJxGBL9Kt+pAlUTIC
Dby0hcAWhFWFOkJEtAWXD9gEjdhgtCTMGrNBb7QhjqgIMbDSHhzGwB3RR4344EXD5gXDFvUBw4ZQ
0OEAFRKiQuoxcCNhRP4lpiN8gIZRJILDKDjfGUarh8YdyVJsCxiODYiKOknS7DEfQ5REKWBpjr7f
ghvSAJklmyU2eMFFRivJkhXMio1H3APSqOVVFO+hPCZksBIKGpt3bXtO2BEVoIdKRwwTEke/Ueqh
YUIOIiqJk06QBS8GXB4rdSCWbVdLafBwn7qAk/ZgcLxlQi9Kw3gLscG6A4YNbcFZyawEvIUYDwgz
4oL2B4wCijlDOkADjVDw/sjxAQbOSgr5LFYH648EzsiweS2ZJSeYZ28lA6+xk9NaWsBhH+WOnOMQ
H6w64OTQFqKTtuAxBsEfsGsG+Zegjsgz0ggfpRUs5oM1ByIuhIGLB+JWZNhCPhC2Igx0PHIAQXww
h/iAZMG7Iwd6KI77EwRdQso5tQuZ0qvE/CdN+YTHP3x8nN9vl+trn/EJUks7F1BdVVmAN5h1hcw2
xVtWCHCk0tpxjuFvAIXsFYMoLoD78rkQJSKwteQzBu4AFREGyYzGSm2IqBERfY+BG/IRYdBqfjYj
V+kCSJRyqzna9EMhVAyIih6UYa0ooE1kUrgU9743AOc9UyFJjHRQmNfGfTwj2ThwxiAeEGYkiyFL
kuAFURIV2uAtxHhAFtEWkpMWcFiYs5eIyGY/ZwyaWTR+qA0OLrB2gJyJaNWIiEibogY1eItFsAiD
KC2Am8+5cISIqApxGcoBlMFgsxiNtAfcMXZpdQwwcFCW12aikAjIICQrbcFhZch51Pl1w0eEQUgH
tAlxIccDC0DPECQueLjA2giUieVnUYRUdAfssoZUMBIVDLYpMRwQJeQfk6iQQSBjOGDZkShFeyDO
QZKQ9IFYD9qUmA/oU0BE2MQIub8+vUvi+f17H0Z78bys8KWjFxOBKh1YACZfcBbOi5csKh7AAJ2R
1P6+jxJWm8d/+HZ6Pz3dzu//8HL6+BgWP6CH5YGMRp3uAaZkj9/evhvgGAMZqUif/wwWABiEVlYz
3TXbtF/AwZefQYP6lroArq5x7e3YlIh3aogBeL4V0NvVugB+fujQ88N1AbSFxsbpstzmIQ3AFrwR
iYhfkLlW4FQeWdkhEZEkEi5MIV7cL2AhEf3mFZ7ZL+DhFoIT2eiwLqBHmCsXgCh7WZQ9xsCDV5yr
NqI6NXkLFgtSBG8hV0ECGLggbgH3MnBR3ELAcpDAW9yVjUgSlWgTcamha0Z1dPbXqM9jIIMtkSA5
vEAWdcFiUQ4iDTz2C82kTZcIbqzOyC+EHQ06B2o3DnTjOq1Qt8dP4lrh4VummEV4g+r+Yqtb3Hdf
NHgu+AQfSN1g3l/ywSm45fsJ1+1ZYRRcDg4XTqKWLZ4Mn8cE5As34yEG8gSMAdR1G2GsdyGAPkIA
vnIxWhEeVk7SUXya3QBPQDrRi/8+j78/RkBeBULEpaeobU0hoMKlo1a4RvD60AZ4BII9tABPwhCO
7AAU/8pGCBb/0pl+vAjxBPD2EAd4GQz+yAb41z05mCML8DJIBxMyFIAPHOIhGeY5EP0RKwj2n48o
Mf+6KAcF66fz4x9u1++jw2kWGrctbxbHfdsWeAPgUT/VBd4BeNSYd4HXAN6A1n0LvAXw+6ZxXQDj
H/9yfT1/f7v9VuKXfzu9fj1vo5g5VeJBFwBLusaPwt0514EaCRgPuiCsS6D28ao12ShdlMcrWNj9
3oA+HW0fqFmH1YeWQNQ06Qgp0AoqjTp+7JBAUwis6ttKxDE1LVoiHNkHd8uvSUunyB3EZizgOAV1
BAuDNmICaLHRsEDibf0RcmoknOaQcFo4n0EfoQVaQesjDDFIT00+IpwW9Tyx7ggpNNqI0UewQIKl
DwmWRlKhm1QMD2BziheO+7CHBAstockSoxDSix2GlAOTO9oKiJpGHWIpUlMdDi2BNqLdIdlEJsvG
I0sgRdfHvBBiqTkkFRapqT2kphq5IZ0OWSwkWKEXrDwmBeKHiUdk0yJqWnvIhSDBMocESyOG6HzE
9CJSqHiEHw7tw7lDkR4Sb3tMvNE+9j3eaFSbynmhj2ITKqu8I7QMPpsSIiMjmOoZDCywhJ92zOGE
Htfd4Ze75AI/YO+MgAcIxH4Bv1uA77E9IbA89LRjviT0DqdswPYU3G+AfyE54a/zAQ5YDRawEgcc
IsAyNBBzwFqAgJcooBEFltoYAG/5SLWIgJdY6BALl55+BV5zLOCM1LSDudiuLOA5JdCABDlIQsw/
vylC6CQENFYC3VNgyAIN1Dj7I3YkAR4oiQceUWAZooftkAYkyLFfIA0XADtQ6oAhQGqUDughkKF0
RIa4iLhQoPmCUa1hgi/hygL2iCIDRVT2gCIaBRY44s40UKTspAUcFEMdJSbyT1uLGIsUMNiWekkI
NHTHIR9xx4AAyh3gADClKR3QYxMAAumAGlggQ/qIDCUgQqq3xWkkAhmIQKPgvunuYgmBEhl/hABI
ht2BBYAlTbHfgB3JIDAjIR4wpEACjD5ghiLAPx+ICA3goN54UzNSYmCEopWU0GBLnhoCZGzIZgGg
hDEeMaOAhDkfMGNAh2I+EFICCoZ0JKgHLFT6wKkC+cJkjvhCcC5Q4QAGGSCgDggRYGFM0gYM1OJI
CDDIYSTUcaTAuwMEBPvPeudI6GnZPv7j5eO/frw+7R+rWWGQ6tJWslwvDVCz0gDQpS/heIKogSN7
Krzt4YcIRACPxkoZ3Ha/LpDhBaEVxoMtPVkFBMAO8pEdAA7EIxwAczuXvq54AXBFGtMBCoLJWEtv
0PFwL4MH19QF0KA+Aycf1R3kAywAFIzxCAUACVM6IkQAAd/PtLZDeCDFWQ1Hi60pPdXq5IY15mpq
5IcbcIUc4IPfaQ37SXoUgJ8dVzy0gAdufTSt4UQ88BvwaQ0j4oGfgU9reBEP/KC+0sMJeHjY16yu
YYU1XNctZLRG4S18LaFF3haaWoRHFmXMCHiEnMQ13Cfp7YkTeetEeuB2cZUvRuCL3T+Rb4ptqRZb
2IN4nsmKxola2Id2XgAN5rWwC3a1U2gcqIU9yGcEtISAFUjgQUGShS3c6w4iMPUW9tGeETDSAsIY
SeWkBYSSqr2zaiKlqUhpKfwMaECuFr1WRBM1tRg2BDTTVIuhb1QiOHD5dNz5ztpJcpzhYF6Rg3TA
NPNtFDBGDWJ2LQY7EQmwlg4MIYJgUUvROhnMPdVHWTNAHShvaOZnX+4hGq+gZXHloX0WyQZOGcED
w6nFU1Lcy9ui9OHxf1yvL+fT69KQOZCBNPffYfRa3o8GvtfHBG9E+MC+y5+/j9/ghu0D2Lj9Pu5V
EqLlnuA2eIPglQxvEbzmHiG3/SP8SaOSjXA0ePj9JH8f8j8geCN13AkhIflh+5PPwAEJjxGRDxkx
z4rIRw++j1FPiO9cS/cZ1CCRt7LIRllkocrtJ3wt9mRu7V7XMiL7TC+7mSBi+Ib8M7DnCWj4rvgz
sBWAkcoEdkRZmMPy+ut9ndm8ttHYhDyWR3K6hjbLDUDIA/JYnjwVeJmnnQd6ZXnGzF9ODdiNgC36
stp9mUBzW1bTX89HnulB9/673FcrpGuQfqOJlttshTQNsm+AEEhEfP8dsKtcMNCYcmuJtRjYac0H
1A3eIvjIxZUN3iP4LH9fI/j+dEUeJDZ4h+DTPo81c+JuEN/fT7+t3HBzqmhMjomTZn4VEfbcWIAj
Dzw/RQDAGnw5NODeKSzAAXxZS8AeAKse7bgDzgDYNeB+gPO6ZwWgvUQxAygWJbwdAM493moHnADa
dvTlCXYOhOuv5bXyJIGPqyF//Hh7uZA5lMtflVQqsuqumcfNOaQtwWtKWcIQC9tn/ZYlpt94+KVR
wv7p7wJvPvHlimUJL6JQcpcIi0VPeCwmywF2QeA3ArvsAnNi6ZnBI1BydMjXzVUOAy/bKCkw0zkZ
C4uxsErC4n5URJTUXKDR4COCjz18GsAjYQpeJgGfG6iMMFzE0jECYeEIFr3/6xgBRVrLhECMXHom
8CgIkuDjIUoirdBJtk8WU9IeUCwnLBEPKRaSaidKtZaW0FGUKryA17JMCWJp2hKb+8HOWEMTkyVi
okuiikU6ZO+RitrU02IvFU6w120bpTKUEW6kHzr3PkONTT50vs3tbF66dktAYlqJEoWY0OR7ydKU
JRA5rZNk00jkdG0jm4nChKXQ4CnJUjhBwdIhH47oYJzEDSEI8ISdidcNtA1rJQ21gm4cCKYQfDCy
MAh0dBuT7cbyBJcQvbiWAlMTxY1g/fbuACugSHrZ2npBHLJkbY0UmTrixqcG1mls86FibPJPjExA
Hxx2S7QDVpnttz1VXd9v/ZkKXor+/d+lZTK23g07WcDjJxY6L5Ol9VhvNHaN988n8vmBvJXPW/7z
vkGHITQ/u2gCN9LHkZxMxGvfnzy8yeMFDL+AaxjkIfWR0k8LaIkCyHhODIj9Amm8BSBARATicAsa
0yARIg68YBEBwEMnSWDkjsETdGrfHkTrGkcjE/JOIh+KkqcFrCyDGsqgkTBwUIByx74h/+EG5ny1
33e+XBbwADwr3e9/xD/HQ4vmAzmLify5X2BIPbD5JBE/ckf/Cft8gHXA+ilJ9yOXN5igo6R2FspN
bzeGag8FL+1JR1aAildGW2c36vy0fN/uXOOP149vly8b72hBSqG8H6Tz+QY0tiBXWOHZ8XwN3iN4
dt7NAo/L4BKddzPQLwsi24pAkDeAvk9Gjm4mgSzweG5r2s7P3W8AFxMmLe4AT8VLRksYsPm9Am9F
eDy2Neks8dAJO3CSFBuBhqlbYKvtFiSbKwkUN1KP7ACKEVsRSpgIFxAx0IIi+V3dMzE4eR+K76xN
lqtW03ZQcs+pLJkLl5CkZJHP1iNRzZKxoONQh58X5NRZ4fNShXuyRsAAy6nLyFZkaXBjshGZ6yya
GqdE+iND4QIS8izZan7Md9s9kj6bhN1jO8kPUG2fR7u3QSCepHvsuPnGPEh93bu6NJB+SH4jCJ9g
4mwWZR/JrtvLbheQgXNADchaM9Z9QAlVt4JrEM/t749v159u75fXr52FRfWSiXaY98PTDmrOnmhf
cQQOLuo9XxdRwd0n8PGgRGhQ3BDIzvfCVaAR5qmHDntoUJUR2r4HRw00HiLRIR1+mCRBt0iJDkYA
dEMfzyI0+nYUoC1GvdXCbJ6Arx8HZTih0W0KK6zrIpa4U6m3Hx/fOnWKXM1YoqNPxjIxjVRFyCW+
2KZCY6aGgMQ5gqRDAY8WKXIEribREQl+mDYqWwfKFL2AO7ZhwYl0B7oYc18htUPdQRMWtYC7g4SL
xBLs7yAjiE8THZYzVqco2d+wIXzaUw7JjBM+7rDIKQE8IPMdU8+2uIcGriNG8duIaWEHTVMtOzvy
dH39uL3/eLpd3/tsC1tUXJK3Sznz2MyjAsoZXjf41FWiTvB+h+Z/XS+vHX6e19tpTa3Zhv8zNOq2
r7VyXLP3GRzkyesCihs5sWIPPq+D8HnObFTozLXqn6Ed3Lsmbeb9CHWHYkOtFdflfQa3OLjUimw+
7YrdygIC7bO8ASQ6WiR+5KGNEgQPPDCu2EdRcjxAPgnUF0hnxY8j1jsB2uI8sVabQS1xr3YWL9B4
N6hY8bzprfizAw7WzwvnoiQsgKbE3LEnRmtfxuVBoFTRt4LoiWn6LKOPiG924PtTpQWfHwrf/PW0
8wnv55/P7x99WXICWZdMBuilNIyJEsjZZTIuK6UhhRLImmRyqCzgYfz1gMB1//WwB9do76Hf+w6c
z9dlUu1f4O1o8xbDOy3Q3gnwTsCfz/lkUgHPwxsBXsnwBtEvi7KHwOeczwQ+sG0JpIwyGdS2cs8N
qAc/32S3JAb0QHrg7mMvvHFAPSh9SRB+J+Dve93bRMZqfymwf/SgcBFrLH0L5n1OZ824rzNR+LlA
WWK+xFqXSIMleFkvS8wR5LTEdKVl7W4J1tAV+MVOol3w6l5RcG2JMNyFkWhpGhabd/BtFwHtIjcU
/P5CUyGTVRdQ0gKoDjeSThxliTxxY0xJgyjpZSw83sh8MwtEymAcrJe4KUikM/0CcawXUKKIUE6j
Y9WYGxFxI8uqpTEl1DG5RrQw4dASCAtzQKycgEUT7sm4OjXAQpIKJSkougWMpFkPkkxpCeMk0TLY
4NooCRbrmqtse8la8u0/KwJELAe1bQo/C6p0TAcUFG5Cy4yQ6Gh6cdgLpaDhzkqbQI8OqzBYiZcG
42CbNE3ouBEvhCU0UQs3DYkeLwEduDmwDeQ7bW8shx5cY3aqZqYm4XB2bGOg68qSZrBnlioQ7pBQ
IkpaLTGDDZwrCvGAckMEgriAxAkTZWsvmGqt+yUYaw/tbJbjEMFCaCvLA4wiDnhOSTEaCpO9sm6A
AgohvOrh7Tigg1SIu+icnEXcKEv/dOoLlJx4YDIBJRuceFw3MFXi+AvN+bzmUbbA8RfoM7gRwHmN
qdh7dFh3/F3wDJ53p8UtOEoVWC3SDqWZrEVnXYf6Y1TsnQwPd28E4gmZDhNF4sNUgRKJj9Jk1qEk
nRMzFWafJyLaGfZ38de3TjUD79Tq7df8EIG5PQuol1OBX3ox+WE7gMDb0PnzQQT3CDyt4OWVrtuD
OwQeG3jeHRkCjK7m7bvu8nBPPnDmmFewDYd9cBXAWXbeQ7u+HOTCAgi1Z3glwHMeqIJn1XPADuQH
oR8bC4r7MfvPQ+wl8XOY+sn0uzcD9NH3Y+i3P0A/oM9n+fNIgCOR/31dRAB+dYbPgvY7QXjsDn5z
zWLxLY8H95sw81DB0SUZTJ9UcAMueeygdPDP16fTy3lQQGhFSgeP1MzyEczMKIMMneVjgPnrCamJ
5Z3gDE7s5P6tluVDiBl5hZTE8vHP/PWATIwVXVRoNnqQ0LB89DeDZ+HzDqp41EjFrVyeYnesayGA
b92S7nby8eX8+vVGa/E8LHMsEcXyZDnmgWT6T/ANfIFfyq9H7/AXeIvgdfv+Vrg8rHWc8c/t+3H0
fY3xX+qX88CFe1gaPMOH/vtpgL9D+zcNfmHwyt+7BfvXH7eOo8Lj6CI03nMjS+cV0Pm6rsCOU19x
wBNLV76O3ljOKxhhBSvuQgu7iNwsXboLuILi5qBTXsBdhH4Xeb8LiZtkCm7eaajw2FhTGdMDR9lW
sGgF14/tdtQMaSKg+kDU7AMfdmDRMhSZYdStYVXXbFMV7w6xWBmqHDy8tP8s7F8IJnzzxzuTow+c
ObyV6Y/CCe+HYV+BN80lTXR8Pf+y7SK5dKjFFTgp8JVzRpCyukDkS5CMwKYaHipxAVyClUDxoxEY
VRcApZ9GkJS6QBK2IIXIaV+72jh9p9/K3in26Fgs9AorC2rLZ0fKClpaQWU+u9RWQPkpDdJj8y6E
Wh6dj6wA6RD5BOO8glAPpMORFVCmSYMk5UxJIcmrjcBNA3LRNdulxF0IlUE6CbswoItexUGWB4kO
TtgFCp3qCmpXH9XUzhI1s1jA6wNkxQ08avDobanKo+eRFXxfxU+R41tWJ1L/OHyQAhptJ1JBNnxP
AvpsJ1J7OGr2i7qDJ1L4FkaRR4EFbzG82uHcccLAN9La9GwM/7kBRm80teOfiNoDz6MVeKFbPg4F
ELxNL8Dw+fx+xNU6O0c//vH9fX4sUv6ZjmfS8hSNZVhsaSm/mVSq5SEM3mw68rsO/BNqAjMvoKQF
hA3oyI1xWBawwgJZWkCggU7cVIL7Aoayw+Bm5oX+gZy2dugYPOqpLsAeOpcFrLDA/qTU9qPpfuBu
/v7vlg4qgy49E7AM7rguPQs4bJCmQ9+fKe/AYX8q7XftsRoZHCWD44cLzBRlMwkF+oBQ2F4oXL+A
ET4fuAM8+TxcwKHPsxMdyp9HDeTZ8RNHZmjFndoXukOyRUR3doxF/bKwZ4tgLdqzsGMjsRru2EvU
htB5r/mzzJvHf/n8X+en2+JpDLFsZjVsIMlnE0lS9nZphnc4SbqMEdw3np3hPU5yLjP49knOGT4I
8A3/UvAfBt9HSdJlgt4+yWxWswy+b/OGfrvv4ySvTVGmP9z/JkmrBt+36PuJS5Kb1a9FtP8o7J8v
6qzwgUuSN/pD+VMCfBD4L+0fJ/ltTgL/vIB/6OFH+oOS9Cr28msG/PcIfyXs3wn009wlQ+M/1B8j
fB9fctgUZP4j+mu1u+TY4Y/sZ3aC/hmB/l6wnwbrb7YyPJRfvYNffAs5tBg+lqrRtvfcDDHDhwMz
qOOGphl+yNMMGkaHhAp533v1jYNhWwYdxeelI9iQMBHMe/bwYtBBfgYeHFzWbWmyhzVY5l/LKh+5
p85mjdVBrjsoAdxwM4Tq1w2X5W3gAHkX5a9H8PUDyGuQYvZehvcA+8TdE5DPK/B5y7WfMsL8Lk9e
CUDOo823K4LN5TfBHkiODzLrwf2AczLtE/i6FsA1FjzDXW+0r4O9uyCDa7B57wR4fDXilPx5BO65
y6EGHgB4Fr6OL4Z8EuQGX0zZLJMOcW7f1mKFZw9pNQ7xozikfNcRm80fUcs87+0c6khW+RR3Dm36
7e38fvvtTx9/fP3x/fx++vxCvRxuvlTdDR24uzVTBT4DYH5a7vJxhaCJ59/yeu7iA4DZQbdG6Lc1
7zv18HELn9DHDR+z1H2jT0cvUC0iYC3gjae9ejrjti/cNqV/xU7Gvp0+/uWX13+dJa2TLs+xaJZm
z02QnIETAo7c+MwZGIyDv0Nnbj73Ag2Hb6rtkOwd6mC0uFZJcYPN29ehGXDC3iMCDgJwRsBJxhzt
nA6E30uX20vXz6eXH+d/+dKJlQOj32tYChwsfrpRwbUADiKLCIJK/OSmfprt/mOEZxcV3AiYg3A4
bDo+xS0sCOSj7pvu7GARs5K0ZcCqaGVOo/PLAXAQQ4cWCm0qbBs4oniUvg7C/2iGBS4LtDh/V9H5
uzu6s1l2S9g9tn5w6rEKQ8M7I232+r9re2vmdDoqE7Np1xmPkMbwYUeFjlyR3gydEXAQPo1Krq0V
gBMCZl+UGHQDMQNvnpPYLTCq8bduX+lN5UESxAgFUfDE2zHQnUCFvUBdPv51+X3jVgLepdNcOf0M
DEXSeSRUQRBJ5wRoJJKOPNTqn3/PwEiq3KZJpdnhjQSDvEDYXr4UYKQMTiGpkgekKzogfZP9m+4g
B6Zm+Eym/jU8a4QWc2/aFs/A6IwUHDorWOGMFOBZweJjSrDSp+EJqWVXB9y1+JgSTH/MiLtPI2A1
SIHOzLWP//Tj9el2ubaqzvrICRQ4Wcf1CLZSh14zrOeaIOc3Lj/V33Gqvgi8MX3Nf9PTCd6CoFdT
1zO4N7ew72CFdg1601Rgxt7h1wImcgUsM/b8RQdVdx5eY3jruRcTM/7Cqw+dJOohaBcBNJQiTS3l
4MWIxacq6h7ivuRm/rrw0sORyofevTTJRd83CmCPL2krvEfwlfcJUS8hzYGX3JX3WZAdJ+wfaZ5c
KLTMjealh2/IRSPWQalQkR7hlY5LQPNk2cnC3gXJN1rQewl7I8iugL9xkubB3Xuu0qnpPbLZru1+
0w2mcR7t3rJ1WlZ6A1h3n+XvI82xFkieXLW4jLbm4Z1gOZDs4jeUFX/VSc9G8y0qj6JHH8ZyWPn7
Zge/xg+OxA9OvtaJm3sZKgqOq++ub2Usl/mxQibBk2zk4ErGwjYnniQUBzkQC9vreJJH3VxFzXi3
QJDE+Ke3t5ffOrpOITL7aGxaNGjHhdgzfMDwSnG3/e37Gn2fvUyw6wt+dMBISYZHp5vkBfjIRWbz
/sk5YWtjFvqhaD8n7gaq4e8Q/lbGPyD8I3eTZKWH8PVGJsj0R9UiyQjyYyH9fXLcUavBo6NaCsL3
A75RylnYf8Lyo4Ogf8JTgaRk+UH4Jy3gH6D8BaX7c/IQf3TGT1nYgBcYoGUGoA1oLwiQxt+PUYJH
5s8oQf08dziYd7+p1IoD9YfsI7vfuviFfej7KcrmB7qPjfrmwf6R+chGUJ+I3Y8yAv0TNp9a4n6E
7itoJUuvQfBW2L9G0PSl1dD4Ic0NOsu0R19XVpBdL7hOdYD3cAOay/G1BRLaQBaEB3JecvxCCUdM
wu49Dnyyly0Pcpw5yHYbBS7ZytyLiPhJ0DyhFCRKjtvjwCM3y1VqBMkVpeWvGGtkb0ZHkvnLZhTZ
7y4K7YGrPq+5OzMrX7i5zN3W2QN3lN5wramsfFHoovRp3EfDBa6pl5WvOL0SiAZv0dLuJmt7WgT3
9TEzM1NtuTAfiMXT6eWlEwmH+hpZ0l1tcLs9wwdYnbOMzlprZPIWPsJ7q2X8VPRDta/fzwjeC/iz
Acu8f7ZAqOHvwfeNFuADpP8y/CzuG49ZVIgyf9wKH/cC8wjycQQvXDqm0BN/tPmANi8Jn4fMWwa/
RT/0OQ6lQy3pHTPBTzcqdgePCtu08QL1LRSdZXoVVD2kOioJ8AaXIqQoqw4qzMta3j8qr8tRll6E
f84y/qgiMztBegJ7EWHJ9DQef6EUJHnZ9CDt1WxZZ9s/qo3M7fuDcBf2bLakbRFPf42k10i66wXp
VwL2AVJ/mZo4KO60sB5txt7Jsg9rcnOSTR8SPuVleOS3lBVMf8Sm2xjB9FtB+LPsNxH+Wgvsi5j9
OsrwyG8bJRtvKEE6yAxECCgjExD5Tu1k/UMCoNywuJnGtugaJcJrFPwcK2l4jYI+G7hGaZY88LTw
uD3Lr+HjViubTguh4Yc1b/UtflCTHPOgxpaHmPsDBaUI/0Z0vtZ3/NU4eOY5A3v+ZhM8MJ2BSTHP
XKvYuGrIHg60MFjvmPMgAXqghYDTlmvh0L7P2QVPi2Py4MC5LJAQfBQQwG+419Km0f3ogTfoTmvh
+/gN/ioKeWCYVwKiDbgjHEAYOCcvkBEHkgyPNmDbBjaje6zw8G6t0MgDp7B8OqBPe+4Bf2NeRMwj
wrO1a6vwIOk3bAcGe6SDwFoikQfpiAMdYFYrxkq/xd+3jusA0b6PGKBbB4dN3bU90kFkLXFhv2/Z
Z96zBDX1nYqNnB0sgCTABln9IQKm9cDYDEuwh3qgWCNwEPfgWMvz8q4Nvj3Sg2Itj8uDuGohALIe
Ogvf1+x76RkBtlO7PdKEx2nTN1FxAwLA7ztBhTX7WH5ewMoihDygTgc8CJIgJXtguAFnuDY0ZAFo
xhsGZYyeIbE1iGASGSQ1Ku+G3juRCWBhcKgAbiuRCVRhcKACbieRwV/B72MuoO6JDP0adAlFpRKJ
zIwKg8wrkPFEBp2NS+gRXNz1Up0D1fz4j6fbeelclkk5fZ4KMxWu+gj08qw3ehVcuPUmVQMbUhRw
jWu2omKvLit4FsDZm7cKbgRwM7o2rtCfUqEreGJb/wicChIZIJT8iL7zKHOL4G2D7yW8wcPvm/77
YQvP2+REBmBB/CG8bvBu9H0rwHsBfyvQL+6+T5isd1z+er79f64/3j86NusklFgaFbnXuQTeAvjM
ZTUIvAHwiXtPvcAbjH/galsXeI2/77hJTQQe7Z9U5cbOcxN4hL/l0jMTvLEDNv/Hv//DT+en6+tz
z2uDqrmnACMtdWL7JNICz1fKFXjX4N0Qnr+WnuCXOrexrBlY8FG+b3r83Qh/BG+l72u8f9Xg97Jm
YKVngfc7+hFehy2rl/eK07/e1D7UvxeK771nn43M8FqAt1yKqsFbBO+F7xvh+0H+vkHwbH6u0Q/i
n2V4+P3NkzPSV726eSe4ebYwvYBbIUYxOEYxQpChDQRXQQiwwqhPzWIX3cCureHgT+2vJC851+gw
Xlo7McxwDrlp7UQ/74ifDnsH5MRAw1lpC0KkNpfcgC0IoZrzKFTSToy13D5WpMze8vruuz5u7z+e
bnOL/PVLgN2KpAmnDW9SPVl4A6pIpsylXaYsC4+ZFMmTuzQmE2C0Illml8Z8BlxSJM3l0q6kKwvv
4BTJEbn9uOAsPAFVJEGwUj53HLY7Fn+wYYqFFwrTzvxynh/7aQvzMXUB0xbYBwoWXonUBVxbYH94
sfBKoCywPBvPQ3JbmNOrGPh+C36EAdyCkohoBSLadYGl2qD3Xl7wXp5pzlq+b8cS88+X1x+380Zi
rBSE68y12lzg8SHEGHQIsVY6ROjEtUxc4PEhxih0iLJWOkTozSEujvaPvq+l7+NDoNn3GqX23wyc
/T9fX8lA0PnPJAuqegu6OasZ0YQaaIGN6D+wAzCSETXEfeW9CTeSDZ/z9JwNN5L7nFOdK3wcwSP8
3e77hM1uf37598v30ckFhnVFhrzhJlXN8HhOlXWRm/g1w+NJWdZl4ft4bpr1ZE7WntIwpKvwWt4/
op9L/ffTAB7un0xt24zPrmcHJZwdFMxvmiiAs0+6KrgVwO3o5LKIeRynVP6RTIKc/04639LH4Wkf
T0bxgEt7mqR98iiKJ0zaGGJgEaJ4xLdG2oJwRrYJnZFnDOAWYJJhxgBugdTCqL6PVJUWIRevM9dQ
tZ5zhdfbOY0eES05oTAQtskq/u36ev6XL1/uQU+fwwvSVZ2nxSp7J2KCVK3iyV3j8mpnv4BFC7AV
F8sCRsCA3PjbIQZWwCAf2IJBC7A1CwQDuMBmNrndCJ0VkivGYAMZBJkdPjlfdCYMkysb8wb5HEkH
yqlwb9qu2dgGSKRIOlZMC0x2xrrdAryoRtJstSzgpgcLuwWMsIBtW5jqisxoC3AB1xYIXW89sgVI
A90WiBwRIRdCv0AfdNk4PkftcmkWmfLydGttNeeHWmWRKZ8XYB+OEQw0WoB0MuzLwJYFjLCA6Xs4
mtEWIA00N4CabAHSwB0gItoCGcG9CAzld2bOzbvj1P0vheOAgwmpCR4fh5zpj0N7eHyccB4dp+bv
I/ythD8+jjknwePjmCPHqX30NuOPvq932czehwiBixk+Pl8si+fC3G2S3YsOn1QXjWyYl72l5qqD
CAZoAQ2DHu3FkGNbYmZHGMAFAjdnjtAABj2twGnz8I4sAIOe/aSsPlD1QqDq8X2OEcDNqMvPjH5m
wtxO0kSF9BrlN0R75h1Kr8jmLCNzJFozD5NLsjFIuwT7DhztXQlfx6bM211mqDdFwnnfKHhT6QRw
S8B3nLt/XbgnNQ5kmk0aeMx/vry8XD5GRRRyYZMnV46DKgq5sioYVBll5NIon/orx7RbQLivmwO1
dQtuhAFawMcDNIAYwOoqI5dHBTssj2q3E4LIKYUvxwWRG/eMW9BXo4T34Gbj/ofSXZghN1H7IGta
QLjKWgowmaIdJV4kmf090GYB4TbO+O4ubBMnzRjABUxPgziiAVwgHFgAciE1Gtja4ovw23OVO4Pc
txdPzXOVVDn0qt2Z1YsHxqwEeOHMPL+RpwfOHl5IG6R2YJ1ye5tDuxdPzMn3Z3Y12D/EP8n4Q/j9
kZ/qth7H1UP1hte8f/93eY6p/Dh5auAl7x08RW6UOvm65r+uuDnw5Os8eAoSuEXIz8WIXo9TcLBK
YPp6kr5uIPK5gftBwKOcEA0Pey4uR7+9PWBq+CzepVbK7PCkZ0xM4zu4R0S2mMN3cIUEzGL5uoO7
Bj44IGMW3cHtCj7IP1qsW3fwIJBOY9LpXsD6miY7jCr3SZgDsdimzntT6HEglEqoAM3K4WSA5V/2
QKm6QtGglUPqEA7QAG5hUwY4pAEkosPhpNFCPKhBQt4x5VH/9OPl5f85n/oiOCf1YzbGoWoNp8Vq
E3Ys1QIvVMvkA/CgWsQq9OTASUM6lxdb4Pu4Wsd46ftCtUxiJ3PVo4dweaPYfrv1sCxcHVmDq4KF
y3FjwcnFmb3rmur4BjUcRqi2z0tb5YVNGzIbodo/L2QaF2U5I7x2yIpU2w9qMIzw2iEvT7wYMTHC
a4esLHpt4YzwWiCrLMFrjL9Drw1sGNik/a2RfBNK388PnLx8oU3ej49uTOTrZNo8YHDpI9+Ib1+/
qtECkAZaooGQYacvuPeVyVa+Eadv0OO+NEsNmD32PvJx3maUD3DyYdoZVNrq5IyEjf0CQwzQAk6j
6lwnJxScOrAFSESYkXByXsi2jMSwQssKAcu47/FyfNp7gYELEOstLaw3FMslbUQJebFa0mYBHCfk
LbwdFGtFrZeRR3ebSvi68FQhoXJ947kcBpcVF8cEeccOSlkWEIrpyKQcZgGhmI4OChokOr1YyuY8
qkQz4rAg7xSqxjPipCZP53SxRIS1cPsXa4TvkctTMnW6sAJyWj4vXB9m0T/B2r0KHxr83o7C4sEK
b4XvG+H7voePA/zh92ODd6Pva+H7RqYfpH/awfdprCyksTJKY7lB1LB/Y26d/JDS7NqV0fDGycYB
VplaJ6tm7Odg7ReQrEvmRvARGsDHoBpZF+tE3SYDHEfJOCc/B1bD56hLBUIeO4VBU4Es2gVD9HLw
0i6LimUCUkydRc1aSk7i+K1IFlXLENWOwy0ItsmYfoE0wgBugRintC96yaJ1M25HRMrw0S3l8FCg
lcivpb5mbAi1EiVGh15i4m4BYbM6HsAALrChVhotAGngocgpkeGaWPP9OVQrWWZV7077d1jWDCsh
Bg/u5NyEQbkJa8ROChF1krBybkkd+D7qBBEOfB/lVrQEL3TigLkla8ROGPtOGn26WmgNoHFrAKWF
sEGDt/1mVJK8KwYzcnBkEgoOjRydWtXblDRaAJrwLGEgGCWrkRszcoBpbe8D1GgBSAN3AAO4BbNz
5X2iQXjLZSIUNSu8IjYeXKwYrhqaPchm4V44by4NN+fuLF3o592l4QYcXuhnBy/0s3ShH9GNp8nC
hX62Eji+0Cc38oOHSVm40M9+d6FPOT16QzzsgmTkAj4Da8+MeGXrLWq4YYx4Xem9hIFUf6ekBYQr
Wx9gAZ+RaxD1AQzgFtywZ0i7BhMSmFaDR552lPAedqNQ8jOojOqJrJILusg7qn4+KsEAPkJqFVlT
ismZ3QJSSZfqS6r0aAtwAS3RQHoGlbq3ZGMMYFWZRc+gNFOVNT7OyN03jEbpeS1339AB3TBoufuG
zqh9h5Z7oOjUX9P40RYQDTQsHNVyExWjpC0IlyTa7xboYwfhot0E+IxcCzflyqJHlkxnvkFfC6FO
Kifod7VQpZVjPgAOCuk0KqTTViqkMyhk0UKVVk6+r4AcIg8qIBWKt7RQH5eTG1YBLlbJj6PLQQrU
y2F0RskB68XTkPUoVWy9fBqK6DBjvXyYSSihZb2crYanIevF85gNKMdjvZyvV7sFepMgBB1Ko8f+
blj2zx1FnFQnpQPqSmSc2JVIo65Ixkl1TnpTZ+Z38LjOTJOuQHrXFck4sauTQXVuRpqZY7RHdWLG
iV2V1A6+T7IIR1ftcZNn4eBMx9LbTf2OI6Lk2Dkz9eFiKy0pzwFo5MXOaJ1B3WgwTIVcawRO7x80
s+NgWcC0rM6Jl0sHb9YreCtf3IXTDlYVVHBSvbj1dw7erNd+vaoHjwNw1G5Yd+DdIRkPdq3IB75b
sYNVBfXrTaOWOQeEo3NEc/dwHT+teLFkMn8z5XCVuaYNRRA8uh00mz63aQsv3O0ZcLvocKW4pv1M
9FCkrNxDR8vwsIXOpu6gS9E5dpJU1XHLN3NxcPKOp2OP2nXFjPX2QNaJ1IHDh+MLrNynA+cv8mht
byQOHD0MOHpMk+IQXfbjVFbCWEIHC41V2bahIyO3+d8y3ALPDDT80MYZvqg2mNtmlEUrGGnkpzHs
yM0ZAzw3TtORqdtb0IUC8PtkaOa2ecEC7xC85aYmzvAOjiw1OhzhANoBP/Zw5oDIQ5OEPWAeajI0
eNfk3q5te+Ee2NGPDQM0+jFbgYpakCIt6JHDUkBnZ8bR9x2WQu2E/ePBx4bM3N510LB4QpElgQPk
oMMcTB0FdR5wAE0vpaOH4wjeYEumlABfnCS0ZF5YwWEekLnru15Qdp00B1ew3ARZqkdwD1GQo8JH
uEKWNQkNQc1egA/YHtIpunsumAP20Eg0cFiSdBJ02eAh1DnJFt3DHWgl2GMjWMMsSLIWdmCO7ABK
spblMGAaGJkGAcmxFvbgMLzO8g4Mtoj72GqN8wyJ8ww/R7aWU6TMj7Iy/BzZuRZD7YAXNOLjX358
/3x+X2ZsxTn8rL/eDxb1P3/65z/95fF//eHP//HHFek4j/TlW8SaHLkWtRFO9K3ApL9sbwhnYIeA
cw8ct8AWAace7XYEjmWU8kySv5z+0hGDPwqVc3Rmn7TMwBYBO+6eZAY2CNgKwA4Bby5YyB1sBCws
F3Jec7eaBdQjUN9fBqoeNCLQyLVTLKABgQaIcEKgaXR/OtPYrGr0h//fQI0Mx/yS0IlsjnKGdQA2
CLAgkRQtl1ueYUECLrphXnSG1Qs59kf/eChUj6xjiIcOjNEL8MJhJ7LTxuMh5xot51giHOxtCU8H
MWY8FOfHfZRNeONX8/bH//mHf//T//rj45/+8k9/+suf/v3/6XjkOdGZ3hbZnLmnSTOs498lKcO1
aJthwYsq1Z5EbR4RzLDgOZXSu1aVnfKj0gVvuBawETibCmqhyXEI1I266MybDQsf//VffvoTz8fA
YjfxbRlHNriOm4EdAmZf7szAGgFbAdgg4EFV+0obQwgA4q4qyJ7rXzrDWgAbuaeNEYVsFTZwbQ5n
WAdg024Exrp3TfaueRw8MbJD36F5unliIAfTPiIZ4hrnVksKlIH7zJVRr9CRhw6OG8e3QnsAzZaw
r9CggDso8dsOQGvx26D427PF4yt0AN+2XFuAOF8r1l9bLMxPkq1/NvkkhRLiip1uPS/Ab7gOh86x
H5AetwsYllszBpq75SALQAzygS2gEeM5CQsYvIBXipsxThZAt7mKjOgmfc3mFbDGRz5aLIcbz8Mm
y93iz7ABwDrhuyCyTpq7Kp1hQWSdDNchZoYFljUp3rI6bJOT8NUIvupHd+qzcOxD8uEIvjjfjCEp
DruKAPIdv//O7fpPl1/Pz903SngJ9KUeTSM3wm1dwkpLZK6Ic14CKH25BFSaP1uTbcDEAFsH2m0D
LkE6PZgxJZy0EbUbZ0fYZkZs2zwHj2tpBWfpC6PUZu5ST7H5uhMtoA8sYAJYwCQ+s7RuAY1Omm8J
pgU27WjIFiLaQpa3YBEG1vOZtbKA4y19nd7kegziiAZoCwpk2NYtoPlR87MluIDJaAF9QJASkgMl
EHHagkIYmH4LQzaiGV7WyTTQSA60PyBISA5skEXZIAyM340B20sinMNmuDlohAZIkLQ9YA+QHFgl
cMFKyrQZ5ZZHyoS2oGy3wJ6IEw2QLhgtSKIVMLBRoIEW2KgkbXSCUXUSG7VklY1s0jRSZ20OaCOi
gXayPcBElBbQkiA1Sdz0sCByAC1SkoloEBGNkbVRIW3USsDACQGG8wIbnUBE10R56eS9pwHCwERZ
DgzigjkiSMgeaC27NoNoYCw3HZNggGyiCgdogAIMQwKMyBhVjTDQQaaBQnGiSgINrGCR7IEYSSMM
dDpAREQDs6fB5sCIjvR5dzye06j28Z9+vD7dLtfXx388f7m8XqZf54OArU8kGPG+W4dlqFS0fXvR
6U7pH97Pp9v9UNHW/5fP/3V+ui3vIqZj9WQG2ddCkb5VokxbID14qRTJM6suiWRr0jUgWJfHz8Jn
2PwJvdCKPo7bvBO0wZ49BI7gfVOMdvw8aqk8ZSHTtnl22qCc2QKVCS6xn52AA0RZY1rxkOQtWFci
N/Mooa/6gL8aIIcylMrM75V5r0++Cra7eW6v+u06xCAHtruIMyBW4pVhlg3Py0YjVneLJxRDTyLp
ReXnd5wCJDVU/kgeGdrBh+/7jTzW/ZiDdQbmDAwtVmA6Kghl19NX7bjzfhMOYOssJBWEDYDMk2Ah
sQoK62BEH6azLAZIJ8hfhz8MsaYNQ7bCAUtKJ0o7SC2HjI7DbgF+Nwh2B8IaDJshl3ik2avqSZrj
+InyTKeIFN87CAv9tpP3yjMoC04f+qMMsJ6/nHhyCWh76FYcBgZqlOGGLbQbDmoRDHK8Gc84aRYW
SHMWVT/wdGamo1hJiZJyvCur2wXBpGa/it8RTLAKulAoktHjmAHinHHEAPlLBwUNYm/IX5egNFso
Gx4yCXpuFzv/2zFp2jAIVAwkFRSNaEBs5aBAZmCY2WAuadllAwNpoDACxuDgBn7UW/6QIARVMWgx
XAenz8hbKS0EKN7DADShDccguiHgry0GVvxnExAoB0PXtLNvMyj/wZJ48C3xYEi3AQsjuAlyDlpX
SNcg+RBsAlx669ktX6ZzKvzk0gx48EnONhQwsEceyngWzYRzOXaUy/kJt1UphFHs9vgwoKCa+Q1G
zESCq95AavhNF3guRgg5x8KjbwZMn9R/MpBPWihy3rGfxPRxqucl/aTHn0w8ZT2kj+cVKwNM2xa7
DL1FD7OK8Gyo6jpAQBsTeQng36UWXHl5jRBXp9lPOvhFy5sAB5lheWHFImeBrQpAOQCYZzNEBVKx
2hHwFiP7SazItrGxTw1XQ45EnODaxQRs2FS+B0xOAoRxvHX02N/wlNHYInvDf1NjEU/wmwhby0Im
bMoNawFAYqKQ1kPSIp+cUfSAnAC/SyxzZm9WS4j0p+9vL+fv59fbqV7eXE5fX68ft8tTazzlphI/
8/iP+pPHE60iKfSjlHR3WDxMKwSuTrXMFRKgY+wLdZs+id8lXTf2kf0/GsXanALu8/DD6dN9x+YT
qqt1pv+wJht2pTOl/iTMD0uaG0C2lvjdtwDLg5MbVjjP+CNIp0Zdnu6QacIcQXrdT26zPauhfOXd
vLIVXfxROy6kTp9CITTaaJNM2olkhkTl4458M5cioNj0IQgSrXpN8h1jAvoqx9Ig0cg1LZp45O1e
F9B2fezFkZFopBSJlPzvz8oFA7T1oPoWOjSTIew9OK7UX9dvY/DoxqpIEEf79mm8b137a2EB9ZYx
fu3bEe1cj8Hvguaw/QlpqI30wxBvjwQV2s5mBmq7VeU3pm9iF36b4ZPnXocsHgcyPPGGE7PLjtVk
1mzkbByZWGlJJRehd0LsMsjWIxFxfqzZ5MPQ4IexWt6/i74azdg1b+wJ5HEzCNNBhl6jSmwKRKvI
yXf2b1CumSc3qzJDWrnxVNKqjRBh1vx24Rt0On5sxerHke0PeUgtaj7hhzd2n4Cru7OTw7gUh9HI
VlbQFpJhIoQk+XlPBJV0F5gVC9qCPNSMGRLGFrq3Bb6LLKDl0hyp8vSGs9gvQKXQf3d+xfkfr5en
63N9sz///uiVqieIWB/2Ojgbx7S5y7TxeITXrQVSq+Fz0PmreNqxabCl2ZZZRK9A+094no9rT0nL
bJ+sHIGe5B5+uz1jnQysi73MJraBS/k0ec2ZmuTE2sAhYIJtRlynLdIA1pDv6loSuEMbgLvYo606
ahs4Pcq26UuTxnm35RT6bnu+WusnnN9+GUBb8mR40lPdkdtJ5CYkI4Y51uoFAZbQiyhrwzqDPbfn
wtP2Xa8XDtLaNFpT89J0CuFMJ5CXSSFxi3UCWDeNnITF5U44HWBS2y719bE+aceqqF0nlh2ZuWeb
9aNErsqRLertXiOAbpSaalxyJJJhJMkIw+fc83YFDmkGduEukowGS/MWRI8UYK7hxYqrO66UaoBl
ClpWaotzADhb3kNwbrZ+Vg1NTo1LzBRU/QF/2WXe1HpBKC0x02XeTYpbkUY8tn2rgbD9MsDaJh4W
nOErrRunJvF2eiuXSA3NkFqLawnYIzaFmOy19Xte4V17EguQMK7ZS+QW3fDjDRZRLAqcQkavwbqS
Hd5RDDlF32tjH8s9On00ftMkGzkZMvrOSAjgNEn+5k2bUjGC0yTnXIAnoTfaHQzhSpncMhNysr++
/IgHYzhNsggT+HR08+EoA+rHG81Kl31z0DyUT+cGXJoA6JgPujxNMoyVbr8jgtTkELECu4MhpCZJ
54J40fOtoieBarbR/P6r9weDyEo10zB3GxeEosgKnFfg+rjDq4NhZAVvJNe1l78+GEdqkmRc1eRo
IKnJEbt8O4/8dkaIxxW4BGXpYCipycE6+34KmBhLapKSKGib+gDqYDBZEW/GYToxufx7nEIVttDL
SzgSGtZ9N2FJE8mTORobVtTbzqddHA4ONcmd7bktRIeaZJKGKoLCQ02u4vZuQIoP66ZTj7c6GD1o
ko/eWzQU5mmS1SgWhd58HIrzqpj4oW7Kh/kK7XrMzcHgVpNLsaH3RJFeJXj7ch+uCaGeJknwol1k
wiAO5yvBCZ/VFG7efx466WmS7StI66nT3dE4sRLbMGZUiPM0ySivkmIOBnqaXG+teJuDkV7lVAOe
TvbOHjwMaJKfpTJCQz2j07FQb1pMGVIw7I5GegVSjQucpUCvwGr6MqIUF/hjcZ6u0kVwnkL0+89w
LNCre24FsVMKzOSD+l2A6duoLouDTXndth1WdkthWoU1zHdxlFY33KqHp/A8HA3R6obNsNZaitAq
p8ZPOSXvUzecho91peisbpgUs09OX6t0TMPql8cjBaXArsL64bMdKUyo1GpvQia3HQ4mCCtsk+md
+QahsF5s9iqWqjxGV/lYVFipPa6ol4LCSi9SnD5FlNqkYzFhxbxRm565DoWEVbj98H2lFIZX1B2z
bS2bIK0ZpcIxXTW842e/YlRWKRYZ+cRBWf1wHj5ggDFZFZD20UlObfodIVllEyF1bu3CpbN13bFC
EgYisor6+FWpFJDVL9vh8xYpHqsCQnzcNrvKFqMVhFPv0P3BeKrSWfOiBcKp+uEGS5skS9FUhR0/
/pOCqUplM34FL2Vt6ob3HQNoLOWPps1qO47Q+nn0KSAYTNW7lXF7JDGaqt9twGWwiNH6YDhVwFPr
Z1MfBod8MJoq4LG1BKIHLlE5KzBpgbJJjAtBUSVbGnYXE6Oi+m3aRacUDIejgVGBz6rvjWYORkb1
47mXFX0wNKoMbw2E6KFJjI3ql2n7ojo98GCAU7+th21zRJdZgRUDLIQ4VU7brqc8VDp4aTwDt1Y5
JVV7PzoeDHEq4rnvvBUPxjgVmDTNsqW23B0McirqTb0n4gdz8MhRNSQP2yTBnNcsJ4RitvzIB4PZ
ijXZdJ1McPAWd8Y79v2h0sEIqQI7Qcxgo7jke6OSjvjeSrJxYy8x0qhSEobtpHB4VT9LBEQ1ATkW
X1VTZobiLR+JK7Qe8kp2wZXcqTej+mCIVYE1TzQUY1WKN0ZPJ4mutoEdZlgp3iDDdJscvD0YSFf5
9FzzMyFIq3vOQ/k8duqpDLPd94+mzWaqNc0saUZ1MNCrhJN8JgJODXgySE4dPNRXmoddhEVDPWsO
hnrl9sK1wTsl2I1HIr0CafWwObgU6NWv0obmZaZ4PhbnFehAGoTrKebQ/QUMMMkF3qvhnkUtrx8n
BLObS0YvfZiOvK4pw2MesBI8MgTH8WWFDX1P9YPhZWVWa69XPOnRpFslV2sET0/MUmhZyUWmo+dN
ZAnCpPrd1m4/TU40+YO1dfXLRMKm45Q25lhkWYmdh+36pcCywqbhTHYprqx7bq3+pzyDC8fiwspk
Ilz7AzO2BI6MCVD1KHssKqxYN1tQrPDvSX2VBegMly3qaLyB8Y7iPSe2j0WGFfO27+n0l9SxsLDy
2TMKiaPCCjse6SCduCqvGiydVycGlHXDlv+wAUMojN+M6AkHIsIKqHsToH5HQFiFg9j6wXuNhKZY
mEAUeZsnBFFwJbRjjAAOBuuuc28E0rFYsH7X9tqgD4SC9aN0uMkkG/ef+VgsWKXSDpEWQ8FK6Tia
+SHGcXXHvhPpfYkcolbiJRpEcZVgDZa2pJeCuEost9tvCeL+7fz1/qcfrUvt9FZlYvm/sUfcMhUj
qH68h1+f95RnRf9mPln2zXBZwLUZJV2pQLdABgt4ZsBIt4BFGPh+xMlwATQZxNkjCyi0B2b0abdC
QCikA0RAfHSux4A+WdJ1BUSCQEhAU8jd9x36fpvxsmkpvn4fiqHjxtTM4Baj78dSvCoB/rpv1N80
lV+/DpEPY+5PL5vd478hxL07IDgR0T1z43lW9Yffz4juWkCeneuzUh2Cx34gTxqqHVyhSW130zMT
HrLc97jvBA6K2xF1T+jrihvsNFMOqVrQ3JzlGXUIHHcML/7jl/Pn0/vTt8vP9dXb8/WpzEDiJlAa
pcjsy0bA2/nj9nD5/vXh4/0JAC9zz2MnOQX4+cfby+XpdDs/3KGuP96fzh9oIbUuNJ1y53xIWejl
8vrXh2/v5y8InIzRbNozE+Lh/P3t9tvDl/fT9/NDRQXRo43zJH0gCiZPHx93mrxd328IPjf4VoZU
4H/9/vLwcfvt5fzx7Xy+ffqVW8Ko4W6er293nrze6XGuyzw/vF6fzw+N5QgtTaaUkudPldGvbz9u
EqvJmNOW6Hu5np6X0VqVW/VfPCCMasGby32VuSYs7xd5+PjxeRGih9cfLy8P3y/fz6xcz8unURH7
98s9trqv/Hy6nRBw6IuD62a/ny6vYzwent5PH9/Qgn5UBPrz5fl8vVNfYmFdw5M6bV2SXnVP/3X6
+fTx9H65S8eP95eHSxV0ESNSYlnyn2WtaxligMBIkeM0yrfK5tPp6dtdz359u7zfpZKwC61k+5Xm
iQ+Xr6/X9zt5r/OWLl8e6m8T286vp893uUdyHvuBulR3Trfb++Xzj9uqPp+vz78dUR+dc9PqueB7
a6Hez3fSP11fHz6fv9w3MIkw0qY2rpjcUpTVKgt4CZ0XIGa7ld2UBW73jZ2e/vr1/frjFeKQR2am
LFFE6OOM7JxuBoUczBlC/w47RWzfZD+14W358/U7WsmMKLSs88vl9u3hx+v5dUqZP0+Kg5ZyIzc3
uYO309e7g/vxgvRtXsP3Y6IdYdgk1Ad5lkZWuKxShPnQIiqNZmWXRWalE1xB3A+tnuhxfb2dX29f
Li+38zpv8fPL9emvD6cv9391p/ndZH6cX5/vyvK/f9w/N/zGnLycgpvCurLNyjy42MPt2/n14fTy
cv3lztjyp+z6pq0/Bf16riP9fn2+fPltXZATivlp/LpCOaf5HYbTuJm7p39+OD0/Q5+Tqwle1vPl
Rz603u/Y9HwDUFEuP+onKvDv5JAlFKSVF3SxO5pwz3Npa1kjlgFaexreId6urx/nus/n8+tvIm8V
WdWUpdlV2TU0IVVqpKJrSLuzREJiqTM07Bq/h4t2XXZ+V+h/h6AcIeB8y0TYEgS2HEOccDuXCjd3
VKcPsd0SlpX4Yi+QEtstYbsvbFe7NX6XUqsxTrwIHOKP2wqWne3vx4ctf//x4206pHxMDvLh9HYZ
B2F//3fL9Zrt0iU/6jXyw+fL8+Uem35cX6ZD3NvpnSGcqbU880LkDNkvNK9z+nZ6v76yC5m2UCo/
5vjy+vpcRnedKtQv9qn839PdVS2bVYZ/4k8eJHcGv4NX/JN78ny8u67u4DX/qJk0VenNZYc//4yc
tGTQ04XGYkw6eMvjTx6R60Lc+TK0/z6PP316H0qsGAfw/Pcd/X5J7IUB/vz33e77A/w1/4qeNMTQ
U8WIziN4z8NT/ociBAP54bue0P40NFzo6cf35CAtfcp1qQkD+dFAftRW/tyA/jx81zCCw9/y+kcb
7NTwZqB/mqcfabKjpxz9EH/F92/pmhlw8IaHJz0JqvyGkf7z8m9pa5OyiBp8n5c/Z7byP9Afw9OP
dKHQsYTsI/3l9Yc0Kuq9a7d/nn60aUi1v6Pv8x0lSNMg3v4pHp62WqEBXQ/P75+0AZv1fyS/vP6S
Vk1llLa1A/1RvP6Z3f4H9FfA/1D99+140cPz+JtwwH8pXn5JI5L5+2nOV0+H6J9P75dyBH5eR3Ry
AcJyuV1O0KY9tyxJ0c/v59NfC1D7x4eX6/Uep347vXx5+Ovp9cR2og6JdOqfDp3GzqfO3WJv73c8
f+Xy2ZOqWrKWrz+3eD68Xt+/n14e3q4fN7xaIm3Zk64/d6t93N4vT7cpvX2Pnr+f3v/Kr5fp9ITy
ptDNjwr32Ml0i62Bt9FTpfT9p2OwO7BX0me9jIq5/4zMat9+e7vHzGCt1gbdlPq3+8/EYSaxNJGu
+qUTkcmOEY/LPa4vXcsFPkRN8as/d3w9/bhdD9CNtnyvBjozOz2KXSJd9qOpp+k8xO6AbhkykqC8
grWMvB2R30RWK9bk/jMOMXs6v953y+WL28GlLFUymTFzaioKSFvKpmnd+09ul4clhLTjL60o7z/H
O72f0873I9pkRYGQkCb9E0vuoQQjwUdWi4qwIZSSkblcf7eezIdI1oqFpTGO15K0PhBFNbm0rciW
04Uj+0zNwFk3pU6t05xjEPU0GuoZQvnJ2V6RapEYODWx4/7TMFsVF0tEOFJJuqa9/6vWSFIFOoOq
enuGl0e0PdIJOpOZu/8MnEcQLVFyVNCK0EY71qiDOkrnmNDQfKD1h7QqETNiyuXcXuUX5yyoQiQm
PJewN4d5AtnPl/MvU9j28HZ+n0RjusZ4Ob9+vX2r8zVG//3n8/vt8nT/7unl8vWVjfVC3OYawn8K
n3y4r/rEL2hH/ffQcvcFLn878wuGUTPAKX32gFb9+fvp14fT54/ry48bv7gnoW69pskHl//lwOIk
j1Caq80lxwdwv7weWJ6G+aElQNHKp9fr62/frz8+HvisZSG6GTWtHK18+T79xBwk56HZVh3nIb99
csqjVwc/fxMlSo3zIzI+33hs7DhneUCQ+DVpHodEAOKaX8+3n6arXH7lxpEpwePzcbnk16RthnU7
9R6g6gFZpykVVeghyvr8r4psPjx9u7w88xLRzEDpYqIPGK2Xu7/5+fzw5Tp/gl+8CWp5PkwuAB6+
X58/zi8PNrBH6E2yvkpVvbWtxv/85ctUgfD5/fL12+31/PHB1qHRsse0Fg3Xte4bejtdXm8ssNYN
mtRtz1//+n767ePuF+4R3y/sErSAr12Hz99/+nZ6nW7nBTRyq34kD5TWPXzlshFlC2pY9zlv4R4n
3UOu16cpsfFyvsEaAbVmDULu3nDOa13fTk+X22+QGGlU+9szo0rtw8vptzuzwbZCz1c13tb51/vS
r6cXfkvDet55nafr98/3mOaZly7CGbfWGs3Q91jqckLkSH5U0P7t8vx2eZiJcvl4uMd3Hz8+v93j
2ZKK4ZNPVWJbmW2phAquk7jT6913lZgR4JVb2WdxhJascH6eC/wACkMuf/tRJB0Lq2naQiru3s/f
r5PVOai0llSt5lIb1bHl88uPd56hasQSylCem0QW4qqlW4nkwdvWy8u4OGbbl/fr93t0Deif2xZC
MfN0obf3692w37X0Ltpvd+fzXOufgJ4pIguT2zRjeeLRafZn8u2BUdQJn0m4eVSiIaXzJUXjOuac
bj/uxyFAYGLL21PNYvAeOnvMrkCff9i9rXi93dfi5ZKW/rcCy3Xfzw/PP95LSalIUkdEpcwcoxz5
vRYjE20tF19LSUEvciXrfT9Z/Xx6+XH+qMVpT9eX6/v98Hk/2v7Krm/Jc41ynpl7gWys/se30/P1
l2r2QeBSDQxR8FpkMHYkjbRfTi8vU+GZ4N+0iiMeEdNFFgVWTI98006Vv9+BLjxfmq8tjUjsWG/e
pyLIqsTHfHhqyJHmdYN1J5v7/PDLnRXnezD4WmpJhEJ5tSYEa7xTCNBJ5/fTx50JL5e3h+v785m3
wzkTqZmSUHlsTpEbi8Qgm7VxT1X4y+tdkC+gqlKtV8KrL1hKY368L/ai1FZ+PL1fS1HQyxdeCZqS
kT7QwyjwiITlZohIZfRMm+e7iZ/ViQ/E9MhFTzddSxRXFPzIUt17snp7TbG5E/rub2BQGEY6N9Om
FtOe66BVQbIzeXDShspug4fX51L6CcIHNXqoNDRXwEQN3wsxssOLTe5jAg8MCQzomsOYDmZz/q+A
vb0stPlYlAI7H20sOBMtXhiGvbY/zsSDxhuY7QRQaraimJzJjCGjQZS+vZjtooRG+ENWxI2OCB+X
743yh6TSjl7f7VUe7Y0+wWt+qdFnxubH2/PEwfv+WpW8EBlpQ6xAKo02qbX99svDx/T/L7cnXn3J
u07yLmLHxFKUyLOPPncLpY9NfTXy5ctd187n11XYv9/twvtvDz8+TnBfTRzKtY0Cscv79XaCcYE2
PQ/j3lDyVjL2FlsLxwOogG0tMgdisyl4TNKKeCC7zm0ZiOPr+WvNGb2fni8/+Lihex3uW/0aObSh
LbncB/fkzFlAS9gK2KyISZpiheCgs3873YXxxu/GEm7R1B1/7IE2SXfuvj/RF0e9eO3T63MNnu+r
Azn0o8CGNZc8XpuDfrdOy81Bk2SFQ9EdnZf7ckCtyJt6YrGnquXD1tV6kEz69uM8qzYvvH6knJsk
EiTDRp3GZ/apwnlyX7PbAdrZBCaYNQWwOahCfIatFu7MLP64WlCgTcOcWgcNgN2BHCHOxGiVe5Gw
iJxgGWKv6/1GHgsGDG9J2qFNcamnyY/pQeKpHK0AQXIX3Fiz0/47O18/vlzfvwOVDyOKlBeii1h8
O6MQy4RtmK9GRAXEtKMn/NNR8G2S6XuM/v5lesQwW9iysZrCuMfv5WXlnGZ+na0vbxCoK3HNlawJ
zMW8lNcR54+nu304wVuA2B8kHXdkfj19B/kntUm0+PFtAi9JFqBBzO3Ty+n7mxDmklYopb9cFtbi
FzLAco3iEvGwklKfMNSHVuSXIwnx1q9zHMEVaYQRnPr/lxDz0kuO5rW0bT4xfLv+eJneqU5FJD+f
OyEuWTNwdjAjrPtrG17qct+xJKL7Iz5UoF1XlvLcGmHV1FJ9FvTz1/kZzsTh5/OX032N8ZrLNJOp
eqRNNlnegU0PtL6Xlz3Tk9N6o9QentbEJbvuUgFVXjFM3m+WGbIA+UKtBaip0Off7hbg8sSuPLv5
gjC93CbLVdv2cP1CT8Dlv08RxOkD8Vq3e7GCfOsLQPFd6fvl5fT14+H0NiX3Hj5u991NslTeyP56
e1gYw35qviWKumtRSb4054hbfns1tQ+zMBdBFjak24bKlZDlN3T78f56p9yXkot7KJotaIduXj7q
7lRGPjCf1aW8nG6Z6YJsM9FjwSH/9no3uJfXu7BOEff9//zKfmFOJBZk6TMRJJt3reIlsq1XhiN5
sFqtDbvNHLuz8+4c3kGySLey2pIRUKXt/Ja6JRl8enq6249p8edV8Kr8fFw+v9z/4YP9RCKfoNMc
J1tSPzNZ5TvKPNcoUVtuZYvj+2TwRojyqDmye9Jvf0zeu8v4+PhyWtjGruoC2TDJsLcNn399evnx
gfiyhHNlkZYrbUt8XL9MXSPuYQAwv4Ty7TqsqePyoHKxXuBWR7czeOUCyQAA21UV/nVnvHiblQSb
dbr7so/b3ZSvPh1bj6WWV3eXikOUqeisgcK3y/PzmedTIstbkkYWKHI3gbL59qOl54BoboywfmZd
dv0eW/lDppiTrjZwrXtQMwdG/KppNM99R4jzMVEoK8YeT03iERI7zFcPfLBADXJo7wabKs1XmpMJ
eTvdvgEFyCN9agu93ZW66iRyZ46oUXvp3FaplbnAGMYG33IZZDsFAWBarOutqR/SA6UBdLuFif3s
pKHkH1WmTOhLn4gtp56hVb5dXqDDJ/6z9TMeL/V1SoGWaywYfvpmVsnlXh8a15AECAEJNCeB0M78
98ImDeKmxqHyP3ss1jndblMrpnKfNxXp88S1dBOpPWkfhve8gpJVSssEz6zSAlVhwaYgRuU2AGgr
4eV3oO2p98DueGCE8UtEc+ZXahv8nk/vf0UabNzIEI05Ox/SUIJdr5fERaZbPXsTQZiK062kYhui
DVFa7zXJf0blhHq9GVudYdhS7PIF1m/plvWM/cBJRh8miStpu/m8J4R8dGnyXGXjGwpfkU3NPYbp
mMYuJUSkJJjXWfKJWqB+0CzcA4/z6TZFAvU3nhZEvGsjZ3Q6R2ef4JmVtkc/YP7N4fBvE58dD1k3
B/oEUhxrxH041WG30Us+lurgNamh68w6bVcytr8DY0IOVVoMqd0XhA5jur0M5EKtasGnYiWgTXoU
51A85nPPUr1Sz6H1VEEIMJ9wu5zIweSebk90+5nC9ERDPEg5Ua/mcSuCvHkMaRQTAtMmmDMidfR2
9MBJTz7WNO9M5rrSBBu8qdDt9ijqUcZzuGlgIHKfX2GyV3feTIu+PVjerac+D4asXglaJZ8XqCaV
+dYoO/H18mVOchpe95tW+ekY4e3R7OPr4BB/gNdKOM3zIdTz9cdnYNgT0W36eouJgeboYHbjD9NV
3Amok8tDnZVc5HyErF29YJIwbgJnjxR2CrxelqTe3f+KZA92aA02iV9K9tnEATWhmbL10vf35Dkm
zHFyokiM6yXmYARUX1PdxfJ04dd21B+41oFlS5jJQAJK0KCE9MHCDn9a7nf4ULdNIo/9H7wa0u1i
aXWjDjmf5Wbj4Gk90DwEecXBxnnCpkPb9BROw5N6VWPsxPzY0QzXE31OIF68jYAhKwi2fHnltc1D
AFO4Fg0cymQTlZ8S7ksDFfKBha8Axyba5BkbWWKu9YGJa62G91vYZ/FMbHR3dr3+aHpQPd7nu7EB
5z56AdFSkwdtys8gtqMJ9u6yh7eLc7Xzf9OfktNMq6TaWgVU+qxbpeomAUlwLsZqCYprVSYveMQc
5uIZ1AapOZz97eH08vbtBNDyowxCW+fb6f1ZuvEwUcjZ/L5SLd1enES9KRTnAkQ++kpxxD0mYpn6
ef54vxS7KQTrcXuid0Mleb4+f0XZEXvkjm2c7jrdicjbvpiHgTGf6Xz9nffD9ng2bJfXqbSZyjIF
KhOXPKnh0nuW3MhhRdHud2TI1ky04OLcKGv3u3PIBtBWY6VclBuodehzWnGQLe9VCJDQibHXRhv5
9HgKglQeK0PU7XXD1m9izi6/8MxtYj2dEbz9HYeQuY86PoQQxtDmEPC2ZfFZwP/HXibVQY/43/CG
ts8J74z9GkGhN7S6PQY6lD45LBaBXL+UGvF5OMWk0bVJQikoeCgVBZM+0ELx8appvRUt1Qr0joys
tYlh+KX0ulSpDMzbhcDVWlpvfCfw7rluwwMyMFUXveylJejICvJ7p3mQ+4LHFM+YpeiPUBdkiedZ
2Qsejf0d/N/gPkKD12utBoFfj1T4se88jHlZah6EVczl0iETjGRZq9eKZSwlwVWMny/wktys+YjS
ZrJk1OZMTWkj8uU8PRmbqotuk8v4gIJvVk/pbVfJvMRbpcHI6+0baH2ymj4/ty2dT1t/3R6iS4Su
flUPn7+/sdikvkF5bhv75TwFkyTdep4ON1fmFGfWWx5vu7mnU+OpH9Xn/HK9h6gfkwbz5LEEIToX
6OOvS5HlWolQ2n1NIcr7K3u2jKshL83O6QPPts5ct1Zf+JAqtgelFLvsfKOXti3Y2rJPl/enO92+
n95rcdyv/Fq5rdWOYOWt8XyvNN89/7hdDbuKp6uQ1lV0nYn653mL7EJzgiwVrzFJhdtuTczixfWi
q6JDOgq3VfCRO663cXUJErsTRK4vv329+8rzz+fX6/MzjwzlFileL7SZvMvrdRp583UyA3/il1nG
2dtNl+KGUKso/vFxfv9pIve/vP4H09i/YBYBZjvua577qa1Dpz9wYk5YiOXcjbe8Um4eaPN2X+t2
Ba094lptVvdKbiw3Ks3LAyU/KbFr8ELzibjWd6W5G9ncOm+7m1KYP3Vi5PxaXG+VGucCp29zvMmv
RGg8XULsTdQs57wUeaKytcPI1hpJMW9cm/hX+qb2SIaI9/V6a320Pk9yyVteTyxAnfbhGoFefny/
vE7likKoH9dzXNkc7c2/WQfxyjf6kMLmtq/zy/1XoKW2oeBUucW3Y+2CZp7Qgz7s2ZuztYvZj9fL
jSewc1sCK8Z2zNrOS6BpK9GnYmWlz6ePc3A8baltDSNP2FseIolsS/VCLiqNpBP5zsMe8UaW0L4V
DB8zjgBFT1AkU0v2JkBkAFmp5qoc61muX+5x819ryulf2ZLMuJZaV86s6Ymxz0PHmbjetqbW/toz
oiYFF4QRZdqG0m2huULj5SJ0y4hrmWHaRJu74ALe08Q14Kwbq30Qx1K2Wj05bCEKYYtUqPGSR2wG
cXnt8LSnuuhiCE50Pgshe9ciSaK+ZSWrGWS2eCmudTZ1BBF5W0B3Nvngp+vbb/wihDj1eYbZKc1U
DQ+iLxKR2PLgcsx9ntfEcLb+jMdMHwi6zDgopOv+Ot1kvJU+F/PIWswyQ89BLZ2w8z330Odv5/cr
TzKCWywXJNsYGNVGx7UutmqcGkWBCypSwV5ca3HIKcNydpNfY2cCGH09EkMZsticbi/v+e/B+9PL
1JL78/vdH3yUnHpNsn87f5zZQ/V8evW2u6KeDtXzHy9Xjoc64uUWCaX+zpuKKQu7ONG0lmVXcX85
/1o7ed7/fnq38+CjT5q768nt0JM6WewLzO/7uL7xuDiyj9J5e+ltsvR2nXzbU51oxi+i10XondNd
t2bC8qQw5PNUiE+3p28Pz5dp8PDD598eFL+C6xkx6+OPz5enh8/nv12W1/FrAmZiOk1x8SvntnJL
JxxoLl7ORmRj9VQzz+dessUfNXH8wjaUyC1aSJvarJLemrh8R2PhNhA3IiV1SKluLP5+fb2W0Ipn
rhozlw9P2oTCCWg6dsw3KF/Pt3+Y1as0aV6SOpKBapNWU+rHCJdpPIWjPBHtCknuTQrxaz1zEQVe
yUIjX2m7omjnJlLAyZeJ5pZUSpsO0WtfHBjY5hYppE0RQNXxbx9AjJuG0/HlhXK1r9rT/dgG6Eco
30Wal9epz/z5/Z1LZurc4suZb8s09rGlszz7U2/pIliGX4QwoR1etpLAq7Qagf/tev1eLcz5Ow/a
uEcGWG6/7Hge5BEVK+/fv37meR963d3ZINBqIrfTVNo+OJiFv1jSecrGMy8CkWx+Kmua0zKEb8GY
GPgFAnESpJRkGk5aAt35ae8cgF9/3NjsV5vmW1ejreXvu5Gk2RI+plHZUXskge7tcotvCkdTM8pN
Jngsoh5Jk2hBXO/OEmVlVWZeEIjotycjJVr+duaLZXJLXqW+Ydn1lQdxduR3C6KXL3fXy+clczug
pe0E9CuvnTaNtGsedl4jOnTdonNL/AwUjSg4b99C6slk+iCMpxX5bmucVd0qzxPdewSzU2oeNBFn
SjqkXb5/FRAlOlyvj+ab6jKvtwZTfPNUsyLtbdcPZji69/Ppg+m+0WZL1akCqU2YXO/l6mjiX2fg
blSB+fTrYHe+vc7J3VUihdUmf+agzVJx0nd17MDdmYNeKmT7RqUUOGQOdn0hmjvF7r7snzjo5flM
3wi7A7aW3/XywrV/zN0RPLGIKwKchsDaOfbTy4OnvgVjj7nnEe+JZtQO2vFEW9+C8NA6uS8cuLU9
+EBWYmBprn0T1NKGdLBxH9iNZyuJWmJVRAdR1JzliaYlDcmK33X0Et53kn/mSe57OXcD7Y4s0SjD
IsfvE/9x0TakCHYuq6ji+X1AyZLlMbeSpGqj2G8vD6MBzxwwLtH0FtkONs5ruFKSPXfumRfWIH5b
89JqqKyHMdUVSzedlUg33o8Zl0VPFHnULUWdYTmrKAc4ZjQvLgRxUl1FoJ/ZXVtH5NwMFdywwMl2
OjJy/Q4wOwRJxULgvbcoKTafeBfqJJLdgxZeUtq+SYVRRzM+4iGOhHTz6kWct6gEcXpn1UGDaEs1
USFdTXsfyAZbSYpZPO/EqElLY0+geP+Zya5bp57u07yk2I2kpEHUwAcNXnQi0QCjECSLFPlduxbd
locRA4Lz0S31nWH4Zad59Yg9q/cky4l3vCmKvI6G9/raiwcK5YGIawn3uxkHX1diwMOriDFK8iGe
p7oJUpTIyikVU2bT1vJBvey6FB9v6BylTVteTpWVtPN+SuUVjNJszC6ngRtIIrM9z+wkQvvI66cR
ow1eVExyok3jP+0bv8jYw95ta+C2kygtPvHnqHjA/QHt9qLjjuqJ127Tuc+BSb2fAfmvZ5HsWvNb
J7JKnrh20IGFtnTn40Dtrii8XTOiIzM82ZN8jouKxzyLYTlvz8MmuN1/+tnxwa14gOSjvNxEZYog
BoJqM5/pUI3XpOvFJt4BJvVA2MGLiom9qAw+zqeXTNBSnKe1AUc4LwUeWvOGjSgol5SLFsRb8slZ
A/02Vtp6dny+QRTzxOf0ohikBv7LJM3CHh8TSMEaCXHL2hUvp0kM70GtF3fNHylsknQkg2xgEuMO
PmDKURLSzEf1kUT1ZLxS5wUCb8dpXsoyuSGgnVHJBxKeaI6QvI7QHmDvWKsYROcdHcjfmj5/O3K+
7Je1nJbi42MdZGvsQYwq6hfI5mliEcmcoV7DeNStmDy2/OFXicKSPa9gIsmBIddedSmWQZ4j8wGu
HB1n/kBCo3omMNcOuD852AFCbo14/OQvZ3IWz90apI11FO+k2BiPJmgYo8ZnP41xolHiPacXs5+a
T4jF1OM9sAsh8rbYinYhgJBcOfEgxcGSXDXpmdHTm89fmihdAfJXG5reuY43bXnNJMkZX94bjo6e
fGQapdCSRZumOMbHCG1BYOiTePDz/sQf17OEOEsycmvJHL0sL95aiQHW/cgJJDTIFgWk4ozofBKf
Z9BBPmxbkCkI8mVQzOC8nPuU8+i4zd90W2PFU1AAX1fiOQYE9LmRfQqwBxfdltWxLAuM5y8uk3hJ
fj8N8Cyzmxv6UR6SjfCU6IGiB+zWcj0HX1PhxX3zh6AU5ItmkK+2m4yzH2W0nviMlpeOE4b3YGkj
pYN7MM1+OpFUHG2J0LObT1NQ2zSW1MQHeaQIhrlQ0nywY2jlEMMyXlCNFg2T429HNIEm/Rs7mrNO
MMkBR+JPb5aoJ3dVzLqxzZ3QgGTOgzOQePV4lxSQNBYjW80X71g5U5+BB966/jQqoAG5GcLu1om3
y5Dw9RAkvULK33ui8zSPUrY68XFekI8iUT3zaTwrX44AP0LrQJhUueaN+UbYBgcKwwKnA+6Tr0Ah
0NxpRIOLGW1FHePTUiRJz6S7A8imuY2OjNKAPMWtmHbVjj/NJC3edAPMzeZgMLiUSZq3DZuwYRSx
gJQWPbGPT/sZQCclB/fswVfLJWa8702iC3vmaeZk7eRLjow9UuMFDnLiBX0C+c8Q5Gt2/vjq4oFS
TN4oWvGaXYOjoAliQUjgrYOVSzoUnzLIYhVMBnWcSb5QMuDoTq4JmIApglqW0OvYwDxkvqAjBvHT
7JfJJT2X1lL8jVCWa7V4ZhvR87MfJgch5hTmHCgPl289FU/tLFdUWFCN6IJ4kLIgxgzmAO7AE8gF
w6wHjGK1luZzPNH1mj2QM1axgxGtAl+hZrJYR+KA89NOjBkiKC3XWQ45+JoEJ7ltvhpCO9mHGN7z
Oi37/MynlWQPpMFhxHgpMtZ8pZcJcnjKH9iN/EyIv8gyXj4A8qGxIYeZUi81KnNm3XYIctlO4NNS
otP2vBMw4nMZzafqjRehM39zmIwE7IHH354HRqco/jQhpxr4WnoS2E7GLe25xaqmF8sRNF8fbZIY
ImkFXvlkOdPOM4sU9HGXSd6DFKL47chnGbx89LPgyOvky1oDrjytkQx54FF3By4YLPBAUYw3DG/R
tgH53hQHPlKiibxxbOl4aaE31JwtBT4kHnC8fMbZRPEdAX89oTf+a/htcIsXnXiHyCfjDD3rc0kp
3gdpJyUa+KCBpMOYktvIOxFyccokILUCp68D5d0s3nKSnn9DF+W0K/+4yCo5ygLpaiO/ucx8PUMS
i41APbz2SQyy+E+TS8ty8LOjd4f8rrVUFffMW3LrxKpT1hJ7J3048oFlkJ+L8JbUKvn2zYGcDA2T
uMsBUGtkxVds/DtwTbLFtLt8V64KHtfKx10eOop2mOWXP1BexbNra0VH7GID+QN3Enw0ncXsAp9l
1qE3oqMaeP4pspOLlBR/aFObAqlBmSxLsZzEx7wWSLc/cFvJ92cIsgUPwNXLTzX43LoxYl4k88lS
GuGMo4zIA9O6MOZ5aOLbaVhaUj2OUTIfXR0Ij8BFjIlRkhbH3zcaIz5QcXxoRuqSS8yxVxH+XY52
B8qUQKxA6rumtFLYSzlfgKidlU4BoC5Ze7m9As9tkvtjXhLzL+e0lc8QvMu2RpRSNo4m1z82Dp++
GT5GoRXNdvxuzvtn3gWYnX5M8L+uzXoO9NtJrTGiR0/XP3PQhs4/+X39dlJrp+hZL8YkH1PL7hdg
y1y9scCWADOnJ67fTmoWuQ71+X29HVK7YkbgTKSVWruAMj9n7EyYNEFqbXw960q4fjtpfbZX5g+F
8YsJrt1Oau/21qk75nC7ndReM680O95uJ7Vk8cpvf7RjTlr1FH7Z8xT3uZfTdNQRpfXRYGH12P8y
x/TUGs35WrY5SjNzzXJSqyZfKWYPN8tJLZkFzEJIvGY7ySywp6DUmmGlOcgO/nCrndSK8Fdu58Ot
dlK7KF2Z7Y+32knt6dwK7g632kmtQxGA5lrtpLVuFFlEzZs0fUBJFE+2IGKuWR1xRvRATII+tZIZ
wDDPuyCqI+NYzbAuyFsJlm12k1pt8+oE9OErqNQaaRXo8b165pnlnOQGeHp7kdEg2CBGnLGGiWe0
pfS2bVzEgVxvWuvYy6fHLXrYPjmpveVdZTQdvjpLrSETMMWaNQo2SZzm7r5Su+gEltizlpSaQgZr
VrNclEIF3tcvj4KQKUqs33P9PL/RcZn/svGiTnPPYVO7tAMmOPIRLZ0zGX7XS9zUKqKBGXSsasUo
7Zrr7pNa95AioEzpPNfdJ7UaV3R84br7pPZOHvlrrrtPaoWLyHuwZMvEgjMPWiMvabEfO5kP9vZJ
bUIQiK6s5W2RlrQ68p6Dzt10v68xUGpPBcHBJ4MDhJePTaw9ilYiN9tVKLVsLYyt+LAuq+G00gNd
hVJ7aghPujy08aJ+8BK+pFwXSzw6bfKqTXWLO3Yl/sAXRcQVOL9EL0mq40Uta5HknodeKmsRuGOh
rZyP0ZaP4oMoalxToNRefwGTZniak3OyL9mx451lU+tnBBy3Y9U7yxTnfQiJpbl2mWyAZbX4ZcNi
HUw/z9kcr5xIrT8pClYUiBiC7EZYF+S0LKTg01ufrw63BEqtlmzZ9/AtETiipySaJQ28ULa7edHH
WgKldh0DYrzEZ1Uo0cdyGvgvq80xOR5vCZRaGyZANO4uP7VWuEg9De/ClJcilsAbRLXhdjraNyS1
CxGgInygRf0XU/PBnwVclLBmr+1Sey0OvEDmz0DeSI438QGiJSZt3KI0OpAiFrOlms86GuryGd+n
eO2KQeI1yPtRk8TVcPMhudLSRYhl2UVThmOjkPnA1G8sijnckie1wj+QUsl85o1GtVxzbQcCciWq
Nch1Oi9dovARdciiLVO8OQqbrJ89/g42tX4KIEayrG4GJ/s93hTmTaY0H23Jk1rhOcp18rk3l3qT
Eo4/gk2trxs6NbKIR9Hrsf18UqsPRQk0nt6SQeFvQLQVM0l8rpLmU7iSWP68SL/MKBYfYsg3J7zT
ikaMhTUwZSlKt4uWF9DYW5MRyUICUiLnVMDhRdOzKhNSAu2w8sHJgiOIPXDtk8FxM8unVf4229BQ
nGu3Bb4ek3SJDyLioElavozXzUe76qQ2TI43SmwDwdQqRxDdDABXQdRxxceWst8Gd+lZiyc/y99m
GJHh/DHCB1FYkgK36Uo0MFxbndQqytajvj7cVie1QWNg25r9NA3nuWSUBhqepH0nPshzVrJNmo9X
jBbPfZqXU52UJGl8RO6dGM5zfXFS65IG1NOw/teLaU/Ha3aSixcUuMmJUTQrfEXW0ogWHTrBBasX
r/E1SD0uPZRApBZ4UVHiFZRjzUoSj/mJD6ptlsIOtig5tRfqMLcP3ECQTbnmE0pU1sZOxLDAXo6Y
PF/74OUrjcDfxUe5kIz9dBTPfgFkDrUco/IkM8qKoRafHzf+yDUp775IfoMtHNS8ZdBytMOndbJo
ETNIKXn5Esrx3/bqQIqdP+w7KcB85omm5UtDvjbJqH7bo6oRCwoZSGqHEfQE0vs2iI6bD42NjmJt
beKr4JaWBtAHAnkJskkGR0FDz1P29zTVSW3KElJxzxu2IEf1BlxaKtGeRxA6WCVFepnPdRA/xrRW
5TU0yVkD3oeFJGHNu6EsOn7elltJuxwfXdK7M65Okyd1MFIaj+2Jk1rje6RcFtwiWbnqXoFkRbDi
JRQfnmoxPAUn7qXdCHIEfEWykTSL99sHomK+TkhFsQaCt4TJSVhz427S+toOMZq/XNZZLAhOPLCV
Lxb4NykmRrnQB1SdZPFiQfM1SsaK8q352ixDg1OuER4vKybKhwH+oC8bQw1ctlxcxZdsmiwn2fkS
V+PFRyl8cW3OIskscLhGzKx4IGn0OMBcTfOpT3oxwYhp4Cke9YGrO1ByKRdD8yUzS09TkJoBWQIx
sgTRlViFzed0jJIlRYHryiAf3vhXRIYWXzBDeT1IspOPM+9RI3/BLCds2W4+qXXeRQdHAyp9lPhW
LvCoayVbJfBML0XxwYDmTwJJvJYJfIy3Se+PCulY5Sb36hzF+ec0Jsilqg7clzq5MkvxybQoJ20d
uJlwTs4q8c6XHhuZZ5maN8cH3pyBw7oTkxSRPwKRa9fSC8gcb+eTWt98eKvCXuw3WKbDNP9Oz2Xp
3Mc7MK3FK1MNkuzGecmNZL4UwotlRqAOXRuxmo1PZpHb0lLb6w4380mtzyR8GQOOMZuCNHd4AGVq
M8uA++SLB+XokLekJoqvQzSo5NYpi4dtA2qc5MeJ/BtzUvUyZVdcOtzMJ7Xu7She4aGJenD1OpEn
+dbzpaMdeVIdhycYQv4IY8UivGf+hE+jUq70kP90FFNv/J14kH2HBTJm5KKwxMaGTn7CCvLbfUBt
j7bESW3sJMpV8sCktKoUmZrj8zaLTRB1IwMD7r3cbQOcGd2BczYfpFj54swCv2fE5B9/7aaphjDP
/PgWJ0aLz535xLhW8r0buMz3YoqYP0OoAy+geO1SYjzLP3c29HU6N6mNj1KyyGpw9STeC/MnPq/l
ZI7ny2PDPtM6wQ8b6qTwaf33ZJ0J/aUqLhsw0f7OOBZ+Jn6Bj8NTVABfn9O2BZo5tt5NBA+euo+P
BhlnHve5DcQEzUWJU+kL+/X5AIlIN9WHsfBz5rjAMz48gc2b0NFu7Eo56EjYxjyNtfyn53KlQrkw
7jDg0c59ozzzZL5UmPHwsf/+8G0RL/JE6LgaMxbaexE480wLqUd8EOeysPMFycoyN/JJvKo0aCbb
YfhPB9Vv2g1PcrykOknQDc+uIMtaRAYqpl7L/fBmiLURhOiOsTC8oMfc26c89Gss6k40EIbn+Owg
Vh2zw+o6DjrbXlz0qMiMF7am37a491GVGftpI2lYAp82SfIopdyYF5cokY0XVepLmZxg5g3LZttp
3EiKFxZimFzpG6qHL9hZSfe9N4ujIlIW+Sy5wgiiAKMlOZ/ewrHgIfY6GoYvojlwJxr0ZwdigCix
PCHLaINkWDUwTk5JqPPmwRqR5on3gsvje0hzwDIvGsap6IonmzkQtAJ4qmvM2Ab0ee16G2NGxW68
yDiRawZ8exNvq1EmmVVT8mmuTW0GJsZJttXzqpLFqGu6N2dFXXQKpaiTN+sNdW68MsB9ecy+CIwZ
HVB53DfhTxw3N+R1LYluxQOu0eCNbW/Iy5sSkQdnJLc5YtlRywg2giFRPtMzImR0vmqol+xsHF5U
sf7QSgYyAaLbTdzoR/lZ3iFuPNrwVSMbdAbROPKO3CaJ3ZbHO4rAMPQyShIWxxvG5CRP6nj9TmIe
Ybo64TVMdCe8cbBKijcDEBStpWP89NaKVTArhXxo10qOIKb33bx6igGnBvEuyTsxhbQBJDCUk6he
HnPyJtn1omqG7zJ4gZG37lHeywcJ3vKaEqlNLj/c8P6fx14f8MXILhsx94Q2b4xkJjRSmZBFsXXA
HzormeYI4gjdDPuUbR8+LuGdqXi0dSARkuUohOc5OacwF50RiLuxkn10IPTLWqK4BmlSL8YvlhdV
k8QYAITqVstaDqjmUx+y+lEbCp7msokJwDUs3TvgAc8D5EW3NvU1ZSU9S+I2PfTnCa+kXCdvH6zv
EXfDB1y8YzBybpnXUZLX5vKFvKwG8ZTAp2CcCJyAN7VEvxXDbKDgeqvhYdTwno3dghRpT10feXu+
SeD4cbdMnuFaotzUnYf/vAhuwNeDkzxpAM5Ikcz6uAWV5T0CcaMlFHOj11/8p61kHjLKiyvp5kuj
dGPMUm67NG/kWS6e7SwvrjT4Gfeh4slGj4WMOwL+hFo2piwhIlGNVjxXhoQ8ShIT3BEwPcpJ4mmg
B29krJxqPfMG0kp23YE0SJaDEN5EbdIYo7k9IP4hfryUk/hhc1gW8c0N1KhFEu9Ks3hOQLUBQUzA
WB46epHbPMXJBTH3AoLXMyfeCExlZmwEILpCAyIfci7kjkYJCLnORgwaIwoak5KDRuAVXBKvmfm9
W1FDUZJUKUnYppaIbAwSe7ql0QgAVseytOsAAm0VpFgXXePQmgLmtjSho3w6kMjwIPLzYh7G8dgn
MQFleGEjpyvGm1me6lG86I2AZTpLWmJB4kvWsWjR3VUQk+oo1E/yLQ5KbCcrEg6EANpImmJ4sgct
X2SgGyAjlixNpbS8NxNFhrcQVou5bWBemoq6UiI/qupkgUWL/AzseRZtU0RxtiaVO56d0svHuweu
zUD4QQu9xkHAM8pBZC8qOZ9GiPuyyP9z1DytZQHTsYww7e30/nF++K8fH7fLl98enq6vt/PrjVti
viCflpgiX1fV/MvL+dfP11/L30+/P5xeLl9fHz5u7+fb07fhWmEVwEn/pmA0VR/zfn47XV5vD++3
lzsyLz++v3LwS+Q/LUCzIu/Xj4+H06+Xj4eP++8vL59P79wSc7q+rDDdKupQ1/j843a7sh+er7OC
nq8YKsz3+19cXi6v53n3iJKhGY5pFVeGSq2kfLi+P59ZnJciy4J0860F8AgXQzOYZQd5PeHPbHy4
/nx+//Jy/eXh9ON2ZdcwDQ3rSpFTVePLayHCtBgLO6eNyxZcv4VKvO8nFng+rxXYdsgvsG/v17fz
++23h0mmL69f+f03Dk6i7KsY10+fPn/cxe52fnj6dnl55paY0xyFe9PQ1NxR8PPprol3KvDEa6I7
xadz2UHZxER5Fk6lEeNmneEVhbC72dvytcvt/L3udGU7//G2Z2I/mty/n+8r3G3JL++nN5kE83mo
6l4911UuvF5ff/t+/fHx8Pnl+vTXh+/n9693ZryfPlhLQgwBSVit1LxL0/vXy+tHkeeHj8vfeKRU
Ey5fMljVRJ7fn+7qdLrjMUF/sOBzScUAkULneZ2Hb+fL12+3O9lPr1+BjMSReduK2LI5fhnV61qV
9WJiHorYIEXxxEAWv+EXi3893R7un708V1Wf9serOzHUvj4OWLzeL19Xr3Hf1WPh2V8e1MNfhov5
dlXm8xw86RAoYdoSil/CtyW8afgsS/D217c0YYG2ZU607qCr1/pYyfLBZO78moQpS8XSK8vt93Lf
CW+J2wjmsogrYUVb5OH58n5+ul0YZ+bX2tRKi1hK8DoUvp5fz++n2/mZt+i+PfeoSJSXXfGIP/Nr
Nqjys1ZNdAhMgUDR4tm8sCjMxz5ChwFXJ/P+dr2HBm+np7unfr/+eH3mOR23K/o9ey6vl9vl9MIu
4ih7dM8eIq/3/7eYh49v75fXv7ILWrrP+p56Y++U0iy1m8TZKfqxKe2x0YLELVkRwjO9QyGyKCSC
vyvl7D0Kl/eP2wPrO/yaxKsr2MEKC0nhJuzOCrgRKYRVNNWfogkbgn7+8sTqf7RY+YrXuEv97fJ0
eqmhEYtIIDypdd6GkTNRwNpKfqoO8DlgieVXIvtLta1Vt1L1XZjA0WBzO8e8c8hbFfvz+fbL+fz6
8Hr+erpdfuZtRoh48cKA4ux4y5e2+m1HNlwf1e9EBMrWMdTdeiW6Em0hcSy2uOBeKq+f/+vuFnia
B0yWWQIO72k5LEwLljYKZibS7fbLl/tmvtzOd5Un8f/CzTOwzpkIvC0xaU/4fqXp34LV3E6NI94x
v9VGO1OjbTNeqUajAt2afJaJRlbvDS1rXSyNlEp4mg4RvfrGWYd48hO/ZktKwY10++X+nQcQOES3
NVt67JAks5U9HwYthpi1wwISxE7hY5JvaYmdQdiTfQ3OUKbDt6RRpXXcq3PlXw02p3/3cTu9sxLq
iXJX2ThsUHk7mnGkNCeEzi9fZPyCPWBQX0+3H+93n/j98us9NL0fhi4ffARmsEUlyMFTq18fPFba
KcbJKnR+iTuPY/iQX3IV6pCZlnVnyf6z5m8jE2VhZJsDjVFLYEPO5NMq94PnPRivesXaL42jo9k0
HLOkKhyQqsUs8/a4OXs75f6s8awizulP/vTnGfs8kEuUSvVrvU9j30al36+/3NWYV99OkAYaUs9f
9/9NwQcfCZkDEag+EoGqLBwRppWw0nenjMT4laKpx0KYmHBEtZ6TefI4LIG7vAHL7Xjo4CKIsorY
lE3nbjF7oJPGm9pEFliMXd4eF7poZ86ilWylYDn8eG97FzwZfN7tWhxhFrWobHs4FJa7nZsMrPmQ
XJFXG+sYhgL+lyPWMVPNVXsuzvHPfasvpzewP3qeHcZgqwXgPRHdVujP05uj8MP5yxdwinFqG+eY
/dnu6eV84lN91ELXREM195t7FpRwWV7ptdhtZ1tnPklWkS5kasN5oGqTSeOTbs5i11MvcXi6+EPO
VMgiGb1ldRznGfhMrmkKVWafmhj5TJCY9yAGOpasu8Uug/UV+SB5jh6fNWF9qHmLbsGjB4lIc0Tl
EubgiRDF6zobHNKSOAZLZSACUctRHXMWZA1Z2MSdLvM5PZHqVElKeYhDvu3AOcnFsbhK9MdkWwqP
KwNcCVAY8XiX8+j0+Erv5XbRhRzFmYNxCq/fSuOD+fDgCyJuj8WjuITP19vtKmb9wvZEnnnvy0rr
kZOuhgZQ7ZLpcZct5OUm4pi2uWsp6aUJq+uNruUPEGKY5JkbrV4pgNM14I6QZF1+udy+PZxfzt+n
5S6vH2feyNmdLbDiARlbzS7NMZDF5d6L5x6NTkshlmfS9LzH0/jERtUL2yB69qseKsFQmee9OpKs
aRoPshD0wDWyP8OzCW88HFE1X3rSk5zGFC59FKBSD1H+uQp7ETLJ7uqWro15Pisu4dB2waXM4tCa
oa2ZS2cPXfsB7qNPNuykzqUITRRzozwRdReCEN2Ws6Oi2chOOq7NNzHwNj1utcrtr19erkzNhG+1
zzgrpw440O5Ce5AFGSVq6432w/X15Tfe8ghekF+XX5LJrj19VC2dKlZwaEoya6WTvIl6cHt//42X
LHrQqu9sN1HQx9vLiSULvWekZ729pgjOMOvj+Ws+U+AP5NKWJPjPp/fL6fPLuSqhkAy3OFbsjm7i
9ZT670rSgatZx1eU9GrE6o89wNEdDf92fhdpuLui1WxdCDCFXYLC9YUcA+oJhwB6eBpFguQUhuyf
z9vMvd6FJbg+qrvArl25mp+cDAHy/1YJ5RTb23SW+f6AnOvfcYWt3AGNVAcuW+jl+ijxur+3hoEk
tRRUiv5pypdOAg25RW6rmcB9k6rgjwB5G215NgKklaK8eiScTCyHtdv1TTqp5QMXzK9XkO1yAfrh
Gq2UuOD1inbUVYKp/YYG+QTsdilio7TQfKPAplvSgTKqYgnFzFnc5qLVId7LCfMoXUxtTqhiTkdw
zr836AxHpOsvMMdhaJpE76tRu5I8KZGfD64lBjHpQH5DoyrbvHWSoxVwgd7OUFrhdAoyP3qb2/VM
fQ/PJ8ef/4YehXcl/r9f0oYj+7SNmRKzSzGys2MnRQP6uYz99Hr5fioqI1zvmby9klWoSASc7Gl5
wciFluMGutmhR6BUXpI4KcsAZIvSyjL3GOq4keoK2wZpufWFyul2/X5hi5po2cvojmdnCyS04pGr
3q72gaVYOnTTcqiyoyt1HAR6+KZYR3/gyvLL9f0u4tNLiXtYf7czVz5qoeXso6C+WQnePDC6VwK5
AlAPw8cyS7G+k5pmQlga5A3yod+vz3ezw4bmZivmoa5ye/9xng0weksS23uWMo8pbioZr++X6ZHN
hAn/mkX50SLLYbKGYiVmmnh1+mBTuqGlmdeHdKFfS3wP5TfPqqoRLyIrPMqJ9AkfOeW8vZ+/nN/f
z8933j7fvn3caXL7dv16fWUyBaFlcwoW7T3qks08fZnc4sf9IDARZHq9JD07irZ/L9THuncVv77f
6TzV6P/5fLuBd4pm+FBv+5bq4X//uLz/lWe4z8NHnnc3NL/2u/DvsRJ5YVri3fm13Mvpt+uP28Pd
bd2xuB8ennnikvd2rXHG8kb1+cck8Hf1K3R9veJHj5E8xGptCe5beLt7l8vTj5fTXaXfL8XK3DXx
ThryvuoBPrAKesSzpaBo9tMf59vDz5dTOTLVOy6WbroXbLt5L1i5PyWkf74bfZ56uu14Mh4kHYuf
izWwCZO5COj1/DG9QhIeFS8PkVaOufFbQN7AtBdv0/VcrmFiUcdZc+4Bz/PDKkSlGun9DF4pp/7V
5PL+blHsTbIbaAIxGq1P0+K7pX352Gnj3NFjzomuId0kI1/PrMlM7d0u6b9HXvzWd5qGZ63rjVXo
n5Dy2BPdUbXJLH0y/PXuO27fvlePKFAipZG9JG5IfAbbiDBdFqS0tWtV3wAr0sgQMO9oRXTc5jV6
3c/f7sbjGRijRF+FbnIajaAsDXP/fNnPcjC524fb+dcbfq+7FGdudILI0c7VIOGwceTH64vwLVfu
ZHm4TXle3mjRZ7emvck89kg6Enc1nYB1Dtu37f0rYPaZu+v93jhA4D1CE9LpsDRXrtyd1vvkVJ4e
vl9e6xIPp7e3l7sPrbrzpZTTl//AkzuP/PrOCPDwJGCZbJqh7xdrUm+SoM+np79+ne8Krrcad9+P
dD+fgb8hbrBe+9fw8O36cSkBbv+2v255PmWfny9YLoIhUkZuk7d9H6bzK6+slntPvYoHd+wNa5lm
CX6nfh7EdC0xL0+bjM3ekbB1efdZnGOptmoR76xez7+9nrgzaVgf2mxkp5FwEsuNjPO0DCOPVpLB
82tl7rYwtFe0qyurfFhv2d8QLR2Ja9rU5iXk/rh8v2vUl8sdiRoj8KGBH4Vta2hBDtS8VA7d+pI5
mplS5HxthsJ7RjNWn99tkI3jOheAN6xhzTBUGS1zLneNQXBLmDw80TXxOtofxRHGlLeU95+kDHm6
/v82RYFinxHb+0k36nDB6go1OJvy2GImXxeFXQqzESomjA6rTf/RM/bQivnWoCX3uCzCX85UPBKp
Uzq7ReIz7nyjGnsnpqRIqsKkfiPd6Yu0+im+6h5yfb/+PB28Jr27fqnYwAYwybJdeKSDoB6qx3Ja
E5uUkNCtKMk2j/J2eoaeQBGTUaKvXSOXmnC7HxTvug6UJG/lMyFvi85IoVHEptIioG6qOw7zZpRE
o2ptXbdK5OvbjxL2Sd2kmFYn5Vh0+VtB41I6E+EmMDFw+ZMHUBoV1iuXwtfQ8ZUY3/Z27lAKpint
lEi2qUtfHLjhCu1t58aoftx+e5FzSWGUPtkZjXfcByePNZd4hfVdCBUYls4NqenkMN+9rKVrfz2f
32ZneZdk/hAXRqdxGn3gHAc1H9tiwl1ANpmU08+ny0upUCn3Qezu8hivlVaSoczNvEx79Al1N3v4
dj8o/m2SSbFbm9NS/DzLI+w65tyolRWNQJci0ynm+Tz3fCmuGlrFLutJXkYwxoxXlrZOmlIuyecj
p9GpVvj1+fT+/AFFd3mnOyfxS/Z3Y6TYDcbeuqRR/mQ2cKznIWvEukbrICh3vTPthZ+tv86X5R8/
3t6u77ePh6ePDyYradq7ddslOtoxsYCQU+PdzJ1PazcDPrKoKU7S9ZXc2uyXq/8At6mqtVvXI++p
OfTE9UiX0NooysP1kLSX9WgXSlK4x+1XXI/M3lFlWr2C600Ki6ZIEuql9rSRW01irtoyN4rIoe6l
pF9smt1R84h/u16/3x0AHwebVphuOyN2ef0yBeH38+d9O4WPLMXbSyLLzirgZg20jlu26wi3KuGU
bbkvcH66Xd/ZHdAlSNlL9ZsPH6+ntwJF/vnh8uX99J0vVZ/9wxTMlbA2bBds7R2frt/vMV25DPjt
BaxICuqnF+Va75C8L3Un9uX17rT5GvrcECMXbCPE0HlQtycE01KT9Z6N93yzMT9E+eARadATsebr
d4rIPUqe9jL5q9I78ccbj4paFyt3M/tdoROhbm9IATqX12/nd+YEoVuFAlhhdb8/n15+nHnSuPbO
YYoQ3F54rl++fJwBcecjP+Dy98vH9xN39aRbD6Eib3MnaVaxBFeXelc3a+i309v8yKT8Oh1WpwtC
8m+K2dn+84NS457Aea2LqnE1qf/swSMLbgk4ic07cGasZF73WSCnezI9NwHuwQMHHgjy1StWw/71
/fQ81RIMaFXe0ZzeH5Y/uW+OtZOpNTu2062RzRQ7fkHNLkgaMNMHpf2C00L3cJosaNgFfVuwBfsS
fo5dzrblaGcgaUEeP00WJHWh0oZ5DInbI1oqLMczpDlimjkQluMFJuyw20szq0vLBUPctLvpVdFw
4I7oEi3P6r/OGoKldW3cHIB68MyCO6KKoaliD84iv9xOx7mvm84jM+RYcIJ8rScLg68nFnlqxchz
0Q7csMgHgnz03N555PMKboub1wNwpVi+B/J1x3zdsCY4UBNcfgykzmgWPGwpP5I6FtxT8DoDdLB3
1gH4pjJmqgwzarR3XubzEdKxlF8qr+JyEogD76XYvbu48Z1DcFZoPdG4bNtNcw/OKqz3B1yvYsXG
EaGdSGenA2mDX6YB9KZ0ylJwwURqKXq/qQ8eLWK5RRZl9Js002gRwy4S1kWML2Mm+EUcu0g6vp3A
LpLXRdx0++qUYRdJLGE1ocnyKmBapUbVu3jx9u0O/+368szaneneYDmwzS+tfRgg9nR5f3rhVXha
Zo4Bi+HkYpi368tvX++nAE6bpnXmmpTSVqNdi/TrnF9eLm8ffEBc7uvatsqVwF6rKHksTx7X72vE
/Kli5saqRNmV51fZY2N4bGxbp9Uc1XXmS0RElNnBFuK6/kCyEUJeXnwjLLkM4Bjt2HXmKoi4vGDC
AsMLXm4MIvnEfp2Z0PNTTrS73MSPXOpx4seLTWjrkBoPbh1+d7FRiZ7vmXV4asfGeVviZJ+Rnmd+
Y439ZWxxgAjx68SmESSRza3Da1ZsGlGCdYu2xSuWb1JUaozjSLF48jpitVoqkMEC6JYh6k3uBUbS
PL11hIstZT5DWd4bHd4kOyOTeI0XpmEU71jFomxAGuf5dWbvvqLl4To860PzXCXqUNAQ8fiktk65
VkEKpnlqByDQqyQCd+57cIckkRdo34hrq+HxwPElnihBNhcrOjxR/AEtbzziHWC2vewZsCmeOMnw
sc7KIuDEYw9uoODytI0bz4c4xAtMTMdX4RkUid+sVSTQv4AQJfYC45EWAeNgetuXEDa8G/dEm/Ja
6cSwCqATiRq0Cg4GHd7Z+dyZGDsUPGDIw3ELBeQuKNnE1H+6o/SjXIZgh0CC48QcHRafVx+WCX5P
984YSTQviMnKB5p2g1X+NfRWTl6uKT1wD0Q/LKcfW7TAcp4/UGxpxVu0pORot5lnXt2y7iUBHbb4
0DJFPrRctQSc+JIcme7FmydxDr+D8yAwiFG2RQtx+ANFcvL5urGKZ3k+YAQWbHhaJ8Lwer2QwPGt
XENiU5J2WJG7u0UjaqqkYDdIb81YcwPEpwuCWjoQ1xfZkd884xRKpUVbhjZ5GC/j2GXm5xIVHfbQ
sKxj+XUUWYdM8Bqv4/l1zLqOnXhiNcLHsOtkgs6SzS/VEcVDDRi3uC6ruJudtfuPHea5twsZ9gIr
J7LO7q5gF6dEdh1DbtbIG3EGn8RvjCw0V/4jhPi7L7qxXSZ/t05mN0YITbsWMBsL/MbIZSudrccg
xC6U6R1m4u4wV4RYEcr+9xDIsHeWmVwyxlKJByWRvZvNkRDai4SOPKEJgaoZQWc1w44nznlLIA3W
sZpHyP8eHTOZX8j+HlnU/K012Vkq9W1QN3gK0fqBXbXFbh1W6TPZ1/rEsVa7Fv89MJHNszOHjLwe
K8vkBt69tZUyv1JoK/GFCOtKjPJOK83BeMWJLbloKxkep0xwIiWd3EqKXymuK5kpqjIpQDolfiVP
dudEimued8ltV/JwJc+vZNpKVbjwSpZfSW3lKcGVHL+SJryLXLTYVtI8xRNZaXklMi01B+ID1VlD
dMY3pPZq2A8LEPYLaW6hpI5cXLaF2MvL5XmTH95t708f7AXm8sbRD+sLdgtZlkaJLlQbK0CM2K1F
sjXePbSFMrsQueBdG+IAYrN31svDS795cs5hxF/0kstv2hCQW4jFKBKMuvpeZmue3ZojGEVRjiwv
2YHQyHJmpW2NxSi6LfuxHPHlCgSjfb3WnkZstUHSW12bruf/z+joU/qtoIq24El02DJ1b+enh/Ov
p+9vL6MCUj5WMGvXtilcZM/rbMWeqdmh5Tg2SYNOI5lkTwRm7QlbzoVpfbC1xYA/D87vLXMr8wlD
DPgDt2kn5fJsRQ3hAw/fTuzsLR/KGxhyMp6ywGMK8jxYnntEcAvCxRkF4NAJn4sNCw/ydoWxHPE0
mN9SkxXGu+C5oNOxFUCmwx/aBchNGHuEkzwGxvXwaQjP88E0GrB3qFxyu1CA5J54V4WyPKbZg5KN
VP8JLJ1w9W3Wy9xi8Bybs6+r4bSiaUP+LNDTZTGpCMO0OeW2eyMuLcfa9qi6rVp1aDn2VBrt0FVA
yvG4heNbxdcCps1I/T2L8dvcvHYKh6jG46aP4ybcE5rWPtiCqqE9crz8kmReEpRBqG0xrT/0EcoJ
V/GmTa38fcrA5kKi21GOPrZhsWg6RMoKundzbKbLEeqadQfTg7/6jOzj06/cVxuy5N3Xl+vr7eEX
vguUaR2++/cO9MEt3x7GtBmRS1njXPZ5364ufz01WnpsfRTbv7u9n14/pq6n/DNIT158rqayAD+f
n67vJ3ZsaIFu723LZWRlw/KM/5HvElOAwwpcdjW36Ltz4BG+mlTNfZn2gnnBWvhme+BKrpoL4NRo
DTzd1e3pbrk3q598KY0bZHzb01XC/+kFziNoH1Yg2wvk8r85w9c62T5OD80raF3q8frlsYwx4qTJ
kLNFix2eTnel5WHs6IVSaZMw4QDfPLZwx9uuxKr2GpOBY/9t1QtZIwW7QB49w3s/v72cns7P8vfT
aO+tY8IRDIj+pxYsPb2cPj4uX+7bmLSswL1cPm6P/HvYuOpc6NnX4B6Xx5bsAn5dgFyykwX4R89x
1YN6Q7AWDBDo229vPHBYgclDLTTRJ646G5YiiorvL9/uJvOR76ERVytRKDV3Ypk79FzfH0//L21v
uiRJcqMJPtCKU+w+fvLqac6SLAqLPdP7Y6TEwt0iwir9Kjf3zAyK9LuvAqpqgJpDoRbFnhnpZF2m
rgdufADOh5+iTQd+soXk0eck4wGt93XRvf4E5IitKJItoNad54yeCQjAvjbEOOzfT0oDh7yVKubY
EnhJ0a+7UGl3/2e51+iJmdKlVpH0g9GfakJTyHEOtOBeKTwURgszG3H+0zzeYl2Fgab8UDUH+XDR
ANuE4KcbilLsXKdN0c1JuLUOFNG3fB3bofeneAu8nDLmbblqtBabh4K7r+kbssOCX43/XrZ8W9aL
9+q+vV+u285dZtKu3SrH8XXr9bFlukWeuWWUzgCkyVrP4E87iN9AS19SA9vg7VPbLsLfdv11EF6E
d5j43iPGQx/V7SDOSjkFwtoyaN+rdM/IFzRF6wp+HELL/Vxiq3kjPbQ7qnrNFe2U9zq2XUgsjSR+
u6YnBoxMXaxINf4+rXRJbtMJ/vAlUaGK9dt2LJ3aeBFSWBWssYFAakYg7Zq4rQ5LvRsTEQ3rbQdy
UhmngLzNbq9nHf7g04uhbzCY9UYXBTW68AK2eGKy+OvlIeFkz6+XZLAifMQieIDU5ZfS6xF3x3+1
kyjenVnXAmUeCkLXAzQ6/yQvlnm2kUNqG63FjboTpq6W/Wq9lp7OhkxIz0bRHVxnJmm8lLjEeGOH
n2AEafQ7Oj2GRzJRA8a330sC4kn1xXfdK8JJ54yqCe++DV58k+qqW0X1MMMnfvxS4c4tUr2qJfGC
pP5TwuypksePn7tRRHL8q0xS9CGppog0ly481Cfx38/DE3c0ySD6TZMpxskmGqlaTX2pSr+upMfl
zJG6rk76bcacKeHShXqP2yvxA2fSjyrRmZxacC0i+1naJ43oItyr78U3j4/DBT8Yzvv3mDGYkyjK
nYHkbBX8fuUN2ZZFc3Qpz1t5oEywQamNc+3mx+12eYt22crJKcA1sLjpaZX4tzl9S7Lcfhm9w5zu
MGxPig0prxAPCe8ivkz5tIwNjM37wXVnmk4QlR4Uv5rF1kg8uSV+UvrbLVZ97Z0yRwkwuHGP/7nr
GXvSopR1GI+tnWN+UgJc0I2AgqJ2jl3h+i9dHlctrNmy7oM0rgaCWj8N80968zmIOrBmiAxh5nD+
hu7H6KfUvA+LE2tql/79/hiOCWKHFSj4zBKwxmrYsnHqa8ijeY/z5FpVUYPQn/AfRjv4FVJk0dr2
+ocMQWrnqFiax6HHh4eN2mPvVGiErS9Vh9kQK/fUOQRkd67StY/bMf47Yo+m43h+M0JS32EutmMy
r42BV0MmNv5zuX0bbhC5Ol3N+V+A85U+fjRPrfG+5RJbPz9lU/Cf4WzpCPO1i1XUhEYdfqlkh9ol
gNSUFOP3H74Op+kYjYy60EnjGkNUlI+KHrlfvgDso+uEhj+lBp2LIgw6F+y7WI/zdnHj+Abxit/v
96vLUs2OZ/aXyxd/25AKtn+/u0BjaztVKTqFMKNZfU2FUWKXlIQJDqNbacaW37GoKo4WZbNFc+yq
7nADH+f97vv7bce25TKcRhPOu/2wf1dWpSmAHHMUbm38fjVHPMQXYaMkoS9r7vqyeh3nF4pfEZvU
uHQ7xX2c38znvzwuUByFfWTim6DBgaxFws8zTJrC3sxwP/CyONzUbSm+IxpDidNtrAA7XB4vq/24
sRfjaYKe0JdzfEUaAVkWCDgrnCmAm3qj14ONTufdz8p90TRK8OhdW937+3TDaRF3fzwcIPY9JmPw
1ti4WZyV4kPY38aX+bL/4krQiBHeP14mmwq64JxKm0p/H4eY7YAQa+rjxNtXwLzTl+PlxbzIaZxn
aPlwMeZ/xAxG1HcVXej+fosMTMIPaQcIcMmdLndIgPP+Aj0HUdzHT0E/DtKps7c+Gpvzthu/Qte+
m7mGD+iyHTFBEdpN7STrYrGI75cLDvwwz/cRnRWIlQZteBA3MPd4mcfdy/gK3fuNaojeYMu60GGk
tfDTYMyPKiOVEN5OTdwQiNP5jPiX8Ta7D/YjDLWER5UNWQgcOuLNw54x8IbD7TZ8vDxeX8fb12n8
Fl+iC5fwAxPtr7NV4ivUtAIh5Ow1TmdGkPErwWUyWiYPz6LfQb98B56dA5su8nJ+vBgNf78YiTLH
1yikS1iOYN8l/nUe7rxgj2mHC42xb5uM/TLZ8ecL33f8hyv6OGPBFdg2cqEdfDjMEVkKa3R0fcGg
Prd9S83x7dPRC2sulCIJxo/QhndX8h+HkT3z+/AFx1YcQaRAd8/z4XI6G5KKb4ooiTnK5k6JFM2j
orKPhU1hZyUdLSsxfVV6RxFv2BgsjzPyOs6/MoIP1zVKI+a3odAgzrez3qzkM56/VX9mm8azGc9z
LKmMgo/aZzKlRdeFgjT+NdtCsYCbjEmvtsPGmiPqQdhi8Yq92cfxCC90G/Z3RXPlTOE0i8Kxd/k4
mzvcLYoyuvWWNRBGSGu/PvrrMB13Lx90iXNCo7Yd6TOIl7pKI+Oo7GODHVB5MD1cwYnckJXL1Vqy
8+OE5GB1GuzvqNxNSRfbACs3n+ZlpC264b5Z8tPPd+MbY++8hEldUU/X3mCPw4Vi7EQ+Y9Eamo/1
HkfKob6hELJ0ZP96G95OOMsPByrczE7iPefxrVZGS8NuCe2G+N2wG+6XPMDjDE2soFuAj3fBEN+d
ExPx0xTsuRYO2iT00IIqQgZkqu7y8rNxgHb3y3zHUcXG4YgMHMOF2oAffaVWXOUgrdEdQmrIVUfv
b5d5TtiMbVuHBpcbtHnEPsv4CvH7X12Z/XTheGf13YfbW5z9O9Y2mF3cM4EbIbpXqJluzTol8VUe
V2gjPSb5owuFgaWHw/h6NBRlSRpkq/kfRUC2bSdxmXy6y/nsZsCnttbIpHrfqeYFEkoR7McXgqkW
GVIlUUmHfUg+aZGhsiCJA8qu88inAzcKNBO7Ze128ZULx/CnYf4CA5/gNeK/XxGlIey+JkETfz+6
L/BMXM04KaK4VCtCDdR/ygbH62pEZ87GHmBq1xw/asncGJxU2jAbbjxd7x/xl25CDyrGj6fhu+4Q
tn0WmkUuuXFRjJF8RWb1EgHgUYmr7H8yO4Jbvfaax8NvT5eHEUfDK+RCFj/g5TF/xAUca2lum6OU
W215PE0h2RPCVYJbullvMx6g0WCPeTR6F8QtuGfGw53sdEz8oThH9BJHvNwuX0ZjCN9fuzgn9pI8
eD7aFbCY54NhTrAo44diG2H9flF7bg5+kKgNBlPCOGww2lAZJYy2ls3SWMtHTjiLnxDfDadG/MNh
bSGKsckw6rIulJeLfXXysRhF/DAuxrdqfHridAXJsdk6aytJxzMjTxe6bVdvU4DfbnAxw34/Xu/J
eFkWqoFM46vtTkNPbw/ANVdIDhax4ff7bYABeW+7+agFgapKIuSlQMdc+XR+xMsy8HRlaFZzryFJ
dy1rp8980c3hIyTdMpQK1Tpa7e0URdXTC6GQ6WpS9kZykrDzRAiuZpyIWJ980brbHEpAimxDn9VB
QqbzcPvYRfHvuI1OIpDzJZ5DwLsoJS0AZDXcjUPw8rgrArqUuM/SgnUcdz40GudgFliol7FMniSZ
HiN/P/6wGZsVgREU86d3dW5fvXyM2yUkFRFt7cOr+LExQWOJRLzHnv80thgSTHKwgl9ezWPGlU3b
Sw6naJNvkkdtz0IorsKLn+py3UdH5yK/8akvmMWthIOB5IYLMjLg8voaPxw9UIWhpNhrK2/cSgSL
2WmrdnaQqI87dIVkVCyBBbQ+d788xlvcBmVTOZh1gaR12H17N8YJ6B50pq8YhdYYsG1LyYZPBuOR
5sSNgDSNk3gmRUUm2O9xHL5ajfkWh3TgC7ArLBYJzAVn/OcbSTc+yV3VB2jZRBjUJysVdB6+ThBX
2Z3HbzDjTtVnLZtOw7iDWRBO9KYMCVErPYxtabjdrJK+mU5i+6ebOcOc2Xk/TfHbEWMNFPYAg3dC
Y+Y+fZ0UV4vPfbPQHVHXY5jw9XLbj7u3ffyaW1k8LoyXYLlOOlQogrwU2RD2aCWWi0TmuDqL749p
jgpioYFcCwIA5n8up53VR3EWqyVDP2JDblQDYgQx7n7GnzJ/suEs8uI0zRZNBo86oYuWN7FMFOas
e97mbGlXYMQ3KHqb7/dTpI/D+e0B0tRber+5vl/lVXNq6MYGn1585uR0MXJ1cmoLAjq7QtliQx3G
WJHIz8NXw4W3yVw7HBaD8LB8zDixa1XUYwxheA1zmeAR5xkAVsCc8RQYLlTQplgOi1/7i3rt1DuP
lQjuzc87UhrOiq2Z22GprMsZ1elhXuoWy77ZC6UPGZTJyhI75xrvVds+a2lH5WnuRY19PcDI7ChA
314g2wTrVPz1zQ2vQFK5PO5Ho4NnI9cWvBsSTBTSbbdHr8ySXWgEHNzhFCLJWEs7ltymty0LnaV6
8WQwLv7qgQKAazsqa7BeeJjV8bEBq0q1SIejc/ZAEPvPS9bN4HWwWUuKzo6Ls27+lcY/OYkLjmk0
foEFgUwIatm9T4eDMcLQaTMK73Uaj4ed0RWDWU27+EIiTOCK24gpEs8VmMs1vpH5R9FJ7I5JekkS
YQuIqPgqskYi76/TYbzAsFsQ0P8ykRaZKEHAuoDAmtMlxpQ6KXK2riQRsL9cPyAbeTnCrqKwTXdB
JKrRH7Dxl2mGhgnfl/R0tMuEIzc6CysKULWIojzoUOiPtiHtg1zZfZ+Pdq70bn4fx/tvvkd31obv
X6zEzGE8Dh8gFaZ/grn6drlPcWvV8Tc7bN4hZtLFoe2SLzDVGZa87TFtY2yGN01elKz7KQNab+Ip
fJ/fTW+1xlVsfVZ5tn39P/34w67IimL3P/+m/UwtiYaXxwtolIOx5m2EVaNF1r2Vj5q2KMYl+LC7
Tvbt3dPHb5b1AWWPD7SMbIxu6vU4qJI0Z2tQsc3hPIMwfx0ho+5iVMoiGQm2JseYnUMsTfOMMUNG
yvFV6jzkdsuqLns8nl5GLN/ZAXHHyNoaWpHla3Zb4OGZP91p4fUuEL2ZQkN/vjzA61BAXvb4lSSE
f91aZSbJ5scZtTuzXna2ycOoGXE9E58cePt2AuN+mGdIDeCYdt0WrEKF3zhDzAKbd/fLbngBpfBi
ZN8XzS6rJFJzRpVVnsCxu8OEHoMRptbU0raWh0qmeNoahL9v5+EIekLbGxEHA/g/CRHgKEmExLHH
TgtlEoWgzQSXD6uDC6dZTIwukDAcZVj/YjF1LOR+B3bQa6y5iNtSJQmPKst3wxGv7A7RIafWotos
a0gBgQvvPHgjOmA22854yYNTsuO3eBmUlWaZJMePgJ7Y/Qzi6PJmSCWuVysSQmWV4QSmrHHlhueD
uenD5Y5+lGa0FMEefCu0x8tpuiMGe5OFzFQFH+poV0HJvMl37VrJ0HZiBeISd0xz7sqj0TxHc8Mz
dPGx141KGv4O7CQQPBoTsabiWWUHTfi+POcvAJfcTYYOHH44ISwqkcn/8MNffm8p6c/gwx4UYJNT
lcx6rHHso0uJWuF3AC/QxRKQi5jCVCisCmk1cwn547T/AJUyYlBvD7mUw+7+bVJvrWHk1i2L8f1p
O2HihkDOxuozUtSY3LZST6PTLpR7FSONKqu0x65D569jlt10vhoxjg7Ir/RMyyaMP7Qbwi3Dm5Hx
hifGXx7TV8VsJlHP2scehxl9pMkI44OK9XTkScYiyyl/wlj843/8PmEnisaAbVBmNgg1pGcboZvO
+xtWdRrtFG+Z5FZlp89Kh98l4+VsRNvRclZiJT9Pwq6EPdozlwK0mQndn8qzPqTckhtploziSF1n
iHWSoH8Wjykp20ve9JOsTgnZUpLVAyKpU3GijA1RMPda45+W5L/dJgwbm2c+QDA2sVIRmJAOme2y
Pjcw8/5o63//CvFd6BpWKH5BxqJvUY9rYWpO4pq5kCs2rtUMLlp/mIbjxZIkInIxFXDeG+10gSq0
/cNczUcywlMw5UdNEpXf+1d+qwmNP+feg8fx3xCty+oweBAoijrLNDWRS5zy/XS8A0LJ+D43Q114
09atuMaoixlpWYObaD/tJv/4Pr3ef/qff/pRE1ON5CSfL7tATmuyoZRsHo6zNNytfV9I6s1dNsDW
DGGoRmgjfY9mrLdpZ6PMPna89lDbTxYKKRtIGR73dwCXu5DP4q+UtmdC+G9nBBFf6L+agQUsUduX
WWJHBFqP1CPjTG5XPN7b8Uu9K9WP7an47J6UX66XX7Z5J/2X802/nAR525+ulp+GKGznqqWdPDG+
NFa4IA8ATOl4nGY9SlYy1uyxTwe1cfWkornmRKdgMfv5xJZOrfZBmTN+N0LsbovO4h3SLOkWXBnZ
P3uV3KpPk1vMicZa0S6oOq1dpejvfvgLxlZu02GMCaiskXU5uw7t4CU/eIV/NhQKs/h7Cu0k3NC8
DzOGObONlKpgJ+tbSfPa94QstvVb0nZFzU9kUUZlENqI28mNmMLwwsuG3Wfl8z40s13rHLDKnGn1
8rjfVdZo6D3KdpGhn4rjaVHPuuGmEsbx/ASDZz9dzVJ2YmDr2Za1UvZyTri+dSvFkBbhbCvBseVr
PIYR5jydwn+Ou6eD7kwYWBuA0/HrBKEiwxyH4T5o5NxJaVxuHLtst2Y5cpWa5finN/l5/Mu7oN5H
0hieBSxc74/abu0+nQx/fZ39qpoEZpaGHW9SssvGGqUZ7shlrLW7riTP1HoA397hqr8N0z2RLePB
6aK3Xt5S1uICWIBrN8czwjkKJncXxGQANmZymbM3+H7wpWkWLY897+8QWdYs5DLGcxC2dG+XvKiq
X88tsxzHVURaOLL0PisvXtSVw/oYs0yTckSTsJG6irqgugDpQiel/6xNfTmPSc+rE1O8KEd/D1a/
ahSwVC8q1vazOwRhaszf94u6xU4Km/rV5jMG9HeAwca/Vlkh67kdU1g41ybYznAEkWZkUTyGFIZ3
vRO7KWpRMg6lPl2MM3dgRu2Q7TVGZ8ZKj62T6ljcQie9IhQ6bv7AdDzuEOx+G395QCb5Nt4ft/OM
EiPZj8ZtMZekPsRHFyScAxFhQwvsZ5FUSGxRNAo+zSoOOOT+jUaMogEETTWL3XX6ruFSMmZDs12+
Dl8xAD7MyehaXkvpkMCk+FdiCXUvwdnkEFGp8VgrZRmlDIVOhCLMiyOJdJSYaF48JwRngl1pOqrY
fjd5FFGRcewXybIf/9f/+DfAFnmDVTcFMxa44alOR0fw8WypGkli3h2mGTSwZl3mjYSn2cKVTpDv
Xb7E4nzQbhvUpD6FLhheGMUkpBiusX1mUjDNNZUzhj6Mizmj8em4+xwrv3KqWhQcHsCzwYgtReUk
IYB2L8M87t6Nr6Qt10t5n3+dtUsRqYpiSyO0UkImwVca+/Mhye7PnoDyXvgOx2lQ4SzsYoHK82IF
ZXJDSmyIJsm/VfNk11lpYhtKIWrM+Abxbjsdtf2xzTutADDi6GP3cgPk326c90O0KSSuQY1/eLxu
RrqFX1+e9DhavyVeD4frUccVRny4DciCnu8xfDx+TK2QmBRxyDdSm9DFC5L18XWoIQ2T9oA7RFqX
zCX4qgqvohGvYus98J5AQKigGRfGcY0noZwFsvyj+Y2vY1zGYjfknnVktJPo3GPhMsMNoqCJJWgQ
SF0g8roUF8BCqOP1fYivRANJOshWd24s98/XceteaFJIDZ5/7XvpsiSh7S4IPrNFUCLGUwLQN10h
9W6Yr8cJQPzfLd1Bx73I51TEidEWP2XcIQ8u+8fsm4lptZgNKzTLC4yHFW50Cp0CS6ki2yhZeUiF
s1dcnPQ6PGz1ugtCuO64sXWoIoln6pct7OPFkk3Hy5hBQpk/3cvYpIR5XNtc148CtLDLmErCQCl1
fCyQrxe5aWgNEyWAkoWvXW2ywKCwTsH6KlKwcdnWIn6X1RQwD65XsqaGoPHdig4gYdgeXtxlmiJL
UBdDJmloSzFccu1YcPl57G6RU/+hOGwOP6WGh0YMlEwY0E/HLXdcgdpD1tivwjWsoO8hhuOp/gUa
zA6RaiJcrmJPXDaZ/Z/Ctcc+Pt6ms2sciubp7mvnSdm6ChG1i6EK1+e6RnaingygdY/gP4L5jYln
MPFiviis5HvD1yFSAfMpltWd32IrR5Qt1bSlPKPeo+erUbaAQLpezvO4xJ7jG8ppQxRIE/pWOl/Q
EqayXkn7QksJLB8XCINrOl/u0+uHvazz9WqM+/l+u3xAb5HhpBy3Yy/AumKg34S3Px21ay/Yrgpq
f4wlkrfHFcJzEAaIAhZxDz0t0mdo8bh2H+7TVY7cnWxnaU9Zt6EnoLR7ejst2w4NujpcvuHv4zfM
o7to3ZnrpgjbkPtCxXnaK5WJ+CVrtowpsCLz9rltyz0eNvx8FU4YLCILWJcBfeZ5nlyDtOM9vq44
hdCo5PEG8NT7666Lf1s/day2m4Kh6vfLzcqSeXaT4A6702TYN1pghZLeRWQwGwtRqSarXIPjb+ML
AEht7+jheIRBZzs7KBTD2VpwHRkiq9mcbA+MaVyD6sfxaGTdONqRgfS3Tokz+K+S1MVRZZbosFtg
hq0yXWnt05Kp7DSu1tFqlW0TQMAte78WwwVt7IEOrDd9uA3fFN1S4IyWfrnpsqoQr+cAlldzn9O6
mbTHrfzGZ0KskhDXb1h9d9hvUljlEhHiDetzkodGkl8Eivnv8Y/b5WM+2n29A3tNIIm+jD9GG3Y3
rIo/t86wHwv9dCQ79tPI22NivYzW65fU3LIePOKfcHPKINGGdbpEassQQ5pnsbXiVNGwRiVhf9bI
nW04YU3LZc8nXN3YfTrFGLhhXb9y1/m8Uhfb9KB5eFomat7sBw5hAGN0zjvWHj/OsM3CsKXrmw1V
2//lTWlzQLuwVYFfIXh7Gg8T2FseoHGV+r63BbXWhxCl68dpsf8u64AgWYu0ttX7eoNTbIdD40PR
1K4LX8L/Op2nGWo3sbDUI7Z3KHbvl50r7HSdHqw4nuM/Q5sPxntCZej7eEIMVbzlETYpYCNWqerO
13ZOpzdIQWNiZ/rnGN9ISRMFbBILyiCEXB2gwwjAFDPz8WjUkJ9hNZ83Ft8SG/9qba88cyMjbNH2
3sjjw+5uSPHNWKqIJ46k13A/NFeATZJ6nW4eN2B7btmce5VVWm4T6Y7NYCDj62k9QrNxaoyvWoVj
a/OnW4uWMuOdETWUXY8+tIM6YYjZ+wheOBhGANtcZYQ6HDVRE4XaHjppCiVWWpfTOAh4eo2K0UJW
2GSj5RUopBhhvu7hJ++NCS4rXi3N6GWa118thzfEVig7tgtM1WcrfnOvbSg7/kQNW6S3hV4ZN5of
hs1Ag58Prs9YCiiIl0yHY432/LaG6xXzuUYHRM+WMW5DSeJxCJYjkk/E5nbw8l8G+Nv957//fQdJ
Tygr+btNecaXo/3wOeZwGtZtwZp1JyjF/v5+i19PUUtDRRZJ9g5lWb4c/mN/VE7ZhDOpW0mqxd++
4G9fW/i3qyv9pw+sLmuBCsF/viu+K55BsdirVYdNlPrVnpZ1lEXKZZECOL6o3ARrH+LdLWrPK7X4
IXtpbLdvBZrkdBKrLCdrWYMxgkU+Gl65nAYczh4fXdOy4Tto2RRrTY739CsVeBsq8I4l+g67d5ec
XawE59+z4iX1KoWhNuxlISega4Oca1Ab8Gki8goHlWDQ8BBfr+XruQQivU/8AXppDHyZtY5/y6x0
fwVRmfgypASCwuXr4RUajkE23DW0SL1aQRuqisVkXmFr7Y4IWQtg9PlZJEuw3I2fRg3wjjygqsU/
XDRyWdKifBS6zLjCxEi4XeH76QiIHIc4sS6sMQ0es9v08BItZsNppGzULQcRTLbHw8N2BLmOt8HC
bIzfpUyhXc2ObEODk7O7j0v+x9//rMzoplmfrH1EoIKgTv4IE7J2sTbfdixkKU21dGu4bhjBujiY
KA59Rj+bjUJnPuTjCuWDRlh8p6A/2oiz8gq0vbKF1L/5sxC2yNHgFhWs77ANd+gKFY1398P5b04R
/DFeC4qFUM3TkEna1bf36T4eJ1v5OsRAkbgTNs+5WtpAhrRrCcxaJxroDe+aDTxGLOOa0jiJXJRh
vkXNJ4YiFsbn/rFhk28Rak4H9qQ56wwzhG5U7AuSaohTHhs0z/r9TGe025WeXvb26QExyVRLW5uH
8+Hl8h3KpTx65wz1mD5Xbiy0w364HZQh7UU44b1ICoEq/jRZLU14RjG0m82Gjr5DkQLjsXH98Imr
p4lGmsx0kdB2iYSWNVYVZb6kCL5UONx939D3Ff7RSy9grRkQGdi4DVJ+ysgEt3S1LM2GhMRbs7mv
6uWrAk+3tNGwI2Nu2rcdfZuj41ZIXIjwdKhqe4U8m7ZeT+u5MGH0biz7kLBGo4xG4QF9vSS5PmcT
b23Q09Lp1SJ/MNKELebRUXf16YCWd0dTxs1nTJZXS+u2xZuelXHcrTRG3Q/p43LIsaVtVJOQ3F0r
TmF2ZGvuEvTVMCuDjHM2HbjAP5bk2+4AwLTb5THrWUGUQLQMw3tfzpafR1155Ex81VSQEycQXePm
XONSmHW1HhGZp2inPPHW1EvzBZBPI+EjP+BuL7VtNoa77JagYEC2qZvsG2kwNjT0Po0g45c07xvO
SVYetGiDzbhUw+Gyf5yo6ctu1owpbjOyzcSNqS2mSimZKts0naLYaFVfFed79VFZXPTrlmkgsFry
qln1M99pw8jgWC27baFFTnBLKKrsFEvFXKGx4RwXJrHUYp2tGEERZlXF7NDF+/3Pv/z5342CcBGe
P6ohRqu6mXVmQ0+daO+5F4B0KYb0T9N3DEgoLFqWTTA3PRd8AnDezF/+c9B32bIJ7A1SS8XIY+Ft
5/rpxkrLWAJxJ87Q+Da+QLDO2itZ3kUniHcdTTBnxWdZVqgD/+BLlxbzX7obybI6/knLxp6Tesmy
VvmkDH/FfZKXyie0sbIu7Z+F+6xQPmvplzp2nkr5hC6PjWw0l6fcWk9XQFHsLFOeqKUh98wXyvJM
+aSmXyFccZYrb+NiBW04/DHLc+VXGtoY6dks094mC2/M/4p2yb1MZ8rGGnpK7yLbHpLxkcOWnUhs
4jSVTpJyi86zmcALTHfV9XAnmWq2AbQtJVJ2RF6Nj5QxwTNDtaGz75ZtoTwvlJgEWxL0aF5mkpS0
8V7WY2b++vYb83+idOROE68/9lu6jntAwyZmLVjV1UjGluT5q9UMGOtnapiITVpquu6GwwFnxLga
jfnxYm0SZatVLhmpzjbCL1Z36s0mNxYUjdmIHVFkrAFLj8FFjGNXTshEVobHv5yjoHu7qoemWEMb
kYAuZqbv1yvO2Q7/nrWNl/QTPaZLegdI1n9C818z1sEOb6SzBlZbf2bv2trFsnZZYQOyqm60tdMP
2LHtVtj5taq2LJl+w5ouGANu5s9eW/gTj+e8QPt4ABg1fxab1tYWbdjlAtzO/KneRJIUXOmHJQWI
a5g/t5BCvMmbI4OGrdshiXWbaBd5T5mx7Janl6t6UAjmz1JbPrnfjN9Dhn+6Qgs3xNyvCBBRRTOw
cHAFmqFymkEOcSQi/AULBJDaZrlpHpbXS3TQSOaKMCcA7faWMLgrFnJEl7RwvnY6MmcjC0ziYxWK
I7gnl8Kb8W7gysEOgHcDLWZoqvTzpGmWWlKC2ypv0V2rwgCu4q6lfFkWQmem5KLaf4ZxTG6kr9uc
ottZjJYggyuyf5zn4XVM1CyjFOnC1SpGrBgrT0U3iiY0zDxFmY9uAwyCVTraIzFVUpJi//44f7Gz
WWzK2wGCvgNqdzz8OT4/0lp8lXRH6cDehmAHt/wIuhQNM6EhaRkjSSU8ZUaZ0HWI93J7saXent3G
pFNfcjlCl6wGX1O5R0Y31AQ3uFoo/trmzXcs5mBL+xuXur8PtjWdDRlpBnkvpUFSQQsXxEaOi3cx
QO+nDkIXhWju72/HV4ji/fZ4/Lvj7X/Xs0QlD7eQ0S+toQV6SzGwxC8/la7KOR92aboePkPYVRuG
Zn3Ww96aLwsoFCHRsdgW/lGvNaE6RAIP2ITxRJFCXM4XiSM+6cq+XCa93Jrillytzb65JBobiaaQ
HPsBC+CpheCzl5COd/1gQC1h3UoSjE9p84opvrc6kxKF/0oapygiXjpW9+BErHGXUI1Zx2g4Q8Hy
CcGvyHym4xBpUYimLLY+wlQi6XFshAQIVp/RhViHgsLopLcRfwcYWvghZe1+g+ZSUn6KeVOFGbhg
GjBAKdTSIauxc0mfyASlhnOLogpRMVWUvHVNX1a9HI85QQehG7abvg7zbHwVZTdM6oBH2P035KDt
lfcSNEFL+9dKBrWRgEQrqrNZQyS4H5HgrCz76+X+h2m+Qg9ZHY5S5is4ShsawTBOEaGRiulbSLbm
tn1u3aRo3qFdiBsMyhh0S5FpPWwX2n+S37zvqhABS7xllf2zTodbjRV9SVWVosbMRN/Ays/xOzSU
8r2DFXZkSS9wo4q8EQDWSTxZzk0AQmwlk2dbKmjRRKklD83nyj+vZHPRPk6YUy7/mjSnmjAxWW7K
4aYQcYV0AfbAcJfYQO9NidD3IuAP861Q1L+LTo62rN0HP5/K3lPcI5XAZ1IcMxPd5oUTCYksjIu7
ydJWKVuvW/N5Cga1YsCCy5nVqyhMxcAUbFrAU6BKea2Kiw7UAdQpjuZ0auCZTgqvrIXx4YAC98+e
gsggVmRwKymKBO9AkmXBbyrk0AWuiCNz7PEGskhs6YL83Eh6wc1msbByf+uTIhUYj0DDBNFn8ELr
P//y5y2+fZVJQJ2kyatYuzwkhB0FGla1ZE2w83iHGO1O95qLPg9VYLcS/Yq4Z8ZXhfOtu6XohMWl
zM1PGgK2l5gslEkpwdjSdeBY5jwKf3XeMGAgoD0oVDXGuwuhDitDFvJ9S29G/EBfX4/sUd6qkJjw
eHnT7IaCYb1ZlerqSKxKztnNW3i36KRQhH0r209akSjNhsjmluI9uxPRfMe3h2irHt7qMinwHnCT
66gB9QSDEkbO2VJ2LPYzptY1mVg4/x+xKekWoVNJDK8QJFqXo4bILiQ6VCxV4EDFLK0lPNhqg/N4
d3/pB1pelIZ2uEwugYrXy1pdsAocKwTL8tuBb78OZTLDwKx9umoFCyuMXRZNmTMjWrHMeskMF1+H
PEf7UIoezEP/0ddK2U4jgZdzGOb3l4sKQmcqAzu551mfBDZb95iZ3YDjLbJt+ALF61qBXhnsj0a+
Q64l3gkaBUAuxeLBPYfPVdXV03uhFuP5v1/hSbAIMR/soeDnrYznZSkVhUxTdGOI/MPV3SnUQ5cM
TXlcF+glMPlrnaa+lkR2EsKbMNSLUCMtwY10VKrkl1gukkyGgJrjXU/RCQlI7IymII1UdS1FF0KW
Syp+bsfano3U9PwTEPGukrDz88lIjx3m4Kjayzaci78dqbkaxzuZP/tEGdSWQq1Kggedh6/Tm5u6
YVVoQp/nlQQON3d+tn6aaxOgUxJDVQXN4Z/axoJ4SWyIodWxdWGdhNeH/yq8VDRmVX+v2B4+WSuR
pIedBYkVuczGD13dORHKPe5o+0tkX3IGGzBOGmfjBlmQLZnqMssl6LsSMo2BQ1Ey5JJUkdTWJhBc
tSFa9IyZVG6tl866rJCUfAXLoLc48s8tYOv8kp83LOOXoSdWrXaApYIIxE/i8MsNgYZP4dBZqonF
u5cMO3S1u16uj6uyJ6J5EHx9kahhTISK61YqvtVBBRuDhXUlWY/r3Kvykr1E6Av3hXa2wnxi3Ulc
3ineRSMFKhNYXsV0FYtk5ZdUMtQ1T6FgbkL0Xv/8Y1C7uwv/zuky3R8oc9H/W2ElFPM0k1ThGjaH
ecaHcW5PSSOirBqJxCKOGQ6a0RbjmhoHbzzlC87GtFGhDK1kM6whSSkNzeqPXCFM78utcBTv7d8S
9yxmNI3JsxEa4idbrghdFwobo6C1mPBToG2fyAW3G4rB7NIoGFcZz23BnZx57SwFYv2OhEHBsVBY
o+JiuVrutFUEWydVe64r0M+UFVBC6qy+D3iqajeBmALPIQHzKUtRHahIMD3dzrxdTEU0CXGsSGIW
9nfzVPjmFpXFGnopk/0Kl9h4TpNoD90pi/WSH56qckwoM+4SUiRWo56UNc7wmIAn9NO/v2KzE7TA
X7A/k48KQu4iHeEpWL4oAEPEiiEVuZrJWFhDZyrqmPnxLHfiv0v5kayOl/Xkkux14DXNVM8+23Sl
UWiqlWjKUo5rQLxFphXctaE73RBx/TocH1rItZDELMpt54Qo7bztvbNAeol/1FsKpRTbXYT2Jlqt
pIIMGxLq67hFYsVaChz9C+0VUvBN1lSFVR5GcCuJ62D2XI/dJ8WUl41aqXRZMmOAlYNKluFXJ9jM
n8a2w1ODZfC4adRZJ8uJFwG1CWPComGof3sFhJbIfPJiPsxW5NW/EuFR5H0vwd2evOMZeztif5At
eHEx2+0Du9sbFnDIIcJWcp/HlfLTW3M2BQN7t87MXoKfAMuzd6bLtoK3lSL7XPKDMHnwehyUQHG1
6pbRbulRlRAhuZSUi2AFNLIuS55LzzB8L8edFZHQr4xmmZWXceOg+hTyEsXCQlaOEXxUVonC5Ou0
U6ddEqRVt1B/2Um2jmtX/H0HzufOZZKUYLGYQXa27ObsZFaKLVzAsLDiEryBBB6W4RcKiJ/aK3oH
LM7jrH5b8kY01Kor3rDB4QtxUrEmtBimAoBfLrpo7R7XNhBcdMy16V46a/7j40o2PXaYBvzAD23T
CqFg8JD3Y2CR3vYnx03Z73FT8RpCu0K5rNBi4siJfNxLIqUD3/vKot6p4KLyCFlrCNqu+dNg7F1l
kXZZpAe4bO/mdsD8zy+2XT781e7b+PL1fg867UbCWx3rwF37OXW5R+dHV4uv1dJame1GVbh+iPau
rYOnvDtedkaXhZDvwifusds49kM+wNzJeNYKr6tblqmAYyvXkPTd9ZK0O3Iq+QgIyPH+IyQb/jBo
A2LKms1j6alC0izrpNv0coSez4cRun6+jLMdLqisSCNncvtHQys+DtNlhy+hzIgp2UyX1rbIEVeA
Brz2Hyhr5WytngotntbC2TqjeY6jhofEJQs2UwebqNCVXVXYEX5Ns30qkHJVU3KSMnrAiO5oggwJ
iigB69HyrhS4d6ciGpCiKiLMHsu+i7UcmR8ztIBW9lKQJIG/LP/PmjsOF0My4C6N36dZY5OcTmWP
lrG1QJMZv0sRSn1GfIYI37x3M/CO43D7Mn7Y+R7wNzvzdzskgHHOiy7O/zXxf4+VZm7mDbSOJb41
f6dcckOXjI0RXPsfe6zrcfhI0AzeDb0URvFKR3FskfkOiXA3u+o03of4fDK7JInw0s5jLLpgUa0X
ES5A4hshKIWjQitmjbp9gWAQ3DLsRt9MxzQadhw2f7biCZX90EXXDUDw66Z1KpYGUOS/yX5TuM+H
w99gUvD8u+Hw29ubEuvklU6ZnTPlxfePjxecA1L84d//8RfFXWMoaLhrNyPBLLDpa+abLF7ufy09
pPzcGkgUuOmwzh9VfN6KOtvXbYBSc+1fMLVoHXzemwrNJvO4Uzx1U1G3ets6srJ/dn7+8NLW2qzx
hqJqQrza6xSRVrCiQyHAigyz/90PMbP9E3dlpKoMV6hpBaq7dRe3uAPoaUSbwlfUBXp1bQHMmKb0
Umgkup7Dt+F6nZ1g6+hjhnEr8/sIDtj7cIuZKrgIbaqwPmK+4TXj70ekwaJ9QWTGdf3+1FGdaYCd
SLGy1fdaDqiXL2U0kDFCxlicraJJLqu9vk8Ad/3YMfzN+UId1bdtt6CVbXcUN40EGvPCl5i+xxiY
zg4VLdQX+IfvtHmCPdo1rrfHWX1iujxEiuU1+UdRiAUSPmNGPmIW+TkYRyPVFFRkCFt2pimCuG1W
QqLwDPFeje1ua99QlssDbFVj36qIn4bYpept7MuJFriIxxkaJetF5LgKOxEV8bhMiJEiCdFZ0nlY
KgmmWF4xgbSF7TvpTj3ZXs5Hj23c8StCCFF8WxWRCI4zbRxYdppRhdrY9eNsJz8bF2j2v0GzreOL
MznVYHO6YhVjf97vHKUoukCG1eAnXSTydDaa/7wf48eu6dgOYZgtBPEVIiEpYugk3SIx5+ekHclk
/L+ermsJ9kKVQeyK6FRswO8yxQEM2WVCnZ+IYwWpzZz9HL+wiiSCC7PlT6XH5vLiF9aHr9dqrJzH
lyGJVmJ7CfNnQaJlLZyiwqUJFUDzbGgYewjCTzCowynq+KZIVoMydkbxJr40+/2+Az6KJ+YqGpqF
t88d5HAyGAihlJbuQoumlLVTnAxKxjcdMo81mF2liLMs3ViM3XCzs0dsJnZ/udl8KhgF3+MjMXs2
6RObg5s/3c9AjH+4TnxILmaAlum2KlgUxy72NMbGAV3bhfVtMBwGeOI68GtQtqF3n7Kr0lybDi6p
c7XKwqoLtuEMs+yOWgMZu3RFc3fyBTixHBty0tqsG7tGzsbu0KRQG6FF6sHP2N/75hFWWsTbv3ds
0lS9Ajfw5czLW0CyF4jOzNJcjo6NwrIRNRyF5YQHX92QlmvLmJp60rGBbwAhgExJ3VWuPhQrOR3Y
1i3thpZYK92pe33LfrJQHeRH+YCAYH2lix0+XUZP52wx8fR2nvf9Gj81bYulccQ3iq/R09EKm7F+
WmW8vMa/p/gIM6L410DSSzlF/IoL2gcltZ/uJD4tqGNTi4AM0MJ0BqZwtW4GXXwp2g9rMMQXwqGB
flRffJR0x6YfhRO4w10xtwp6psbaonds4FodQIzDd7/fIKg07qforMqOzfrBcfVwYY6GgPT+u3iH
WJN1U+JrpucYd2zwUvxB3N6wqhzrG+LyoiJCgZYnTbsEiYbb/n366tReABMiRzx+4J6cE7C9sfun
DxQBCMEZbmQaRxcplkWgIrPLfTtjJBOjxowM94NPT5cDjDdn4AG9or5jo09rNzcm9wAxm9sPhlDF
F2FaApv4mj8XXbb/snkZlmKxze+dMsNwvJsztVz+cF5mj1kUIIDq4nISZ2LRNF/I3li946Zyn7/w
l71iwDw2yAzXathapf3TjaM2yh/MATfbmVsI8el5OalxsItqVvJN9oXtTnxHJQsUYGxE1LexkkC7
MmkZhmx1GV0lkWs/JpMqmDIsbOs47SG4NB21EeQ0GBsTzbm0nDmZOeNjf/exKvhXypo1aVGChkpb
9EafslZHaxFKbrXM4/zlfPl29qgUbQywXZSsPIZykzZoq0vQ/tuw14aWJSBIfFnc7oZlW9GeXDMI
YzktO4CcQpPGsVdk7sCd3OJ35PjP6bp7eZwPUMM140UoeQLKW7NOJnjK4wCgDpCGE81tx3mKynKU
MYKdunjG83LKCjlLhJPriV0bjAf1pnGHXYDyZx5Vu+wBjCc7r3JWk3l44TQfnvWbgtskkeTYFYkk
es9oDbjgWL/KmVI3Cv3zevm8AsOicoYFfv7+8XKbDokFGlqgx47JpfdLP44L6MblulYEqonvlonv
urGTuxwaH/Gw7sqhPNYCbefrsI/PO+9o3jkbm5ZUVzZNezUS/R5fuudaq2ZaK7V8dMk+40vaPy3B
A6UiOgdb7N8XgzS+Oxodz+a3xMVFfCEaaI/FDnnhRzfM1rV6NTvZvQ5g4N32Kl7DwjNyGncW4Mfc
AOvX6Q5CYfgY3dDdr+piHVusw0ZK/8dtznwNhSszGV7x+b9usZzGmBH4Ee8M1jtM8/ACkRWEAnr1
yhAv9k4nDWjmfohmt/HmVu8YLWTPc3rclVBF4SEv/gJsOHnpleBAErvTMH9hwePE67BRbtRt4iuA
aPfQHus4vUHaeB6xU5GV4YnAtNtozV7KThiy8s9y3Nb9ZS3bX2knZlbsyTeuQqdEoFXX1/4JIG2G
q8RNJnuejJ0HTWPXSuFTt82mEhIq85MUp63fSITmQnYTUob2dUlHhAiOR9tbv+t1wO5giWfPiEHh
ot09b6WnSI7JvQDbXtGQjxTnI/S4vRmrrUyCwMFUms9tu9QWr1bbLrMV/eJrH3ZIjNrzMArMSvtn
9yT9bKDWJvG1xQo2TtKGQPAuZ//fo20D85y1OZC5RM7m1sD/NUvtjJEL9CylU9wKTJxRl3z69Vz7
dbqPEmMvjWuIsQxo3dLH3q5VkYCocCBE4cY0QyDEj1aGYpUDWKAjIagsJItID38XQYTXY3R8SEmj
zDFKzmarB79iMxji6vDkYGy4So94rAZ/rGAh+TbyY1uPhD8LP7/B58rb8HddFs8Hl3bzeXp9VT4n
n9KhfBrnNV/tPMdEnMqenRIHDC7+y+MCjq0P7UkEijto0hcnv5IWNLT7yn4tAVhHMgm9t7+Sh650
9dkDfOq5+6fbsj24YfrU/QI+6uV+2V/s185ncP/WPIa1CKOWacvDRqzFt1eOfjKkB1ueL4e4o9CS
NU/4LYy0AujJDn/nqQQFPNoRmpUCoXydJQJoqBZraTQka5VJy83vsTpQ/IahXyn2suq+qhRb4TEa
+l1eo3Ec34b9R+omnKprmXG6JEASV7G7v4/nJVmlrU6mBbjWXa3fjP2oZDY+TX7j7QBdLlX7YVIO
7EnsvM5d4veLJvh2KVbB39f2nUlXaWfV4W9Cgcv+OKkbL0m7gn/YuUiG9uuWnjhAe9n05h+3axBg
HLvB1Cw/gFXDE3or0fJPpMk2pOtyEz2lHtUu3dMRGxJV309H6Oo53vCjw+N0/e0MhT9+lJz9l7/5
Ltw4RKtc35s+TEx+BwM//k2+fMP7Vj6O8S8a+oKAOpgfAjl4v43jbjyOKAQt18dWasSVvsOt7e7D
W3wH2fIdo87lfhbd8bi/dvFFSvpxysKdhvv7KX5218gbPmogQt94zNrX+G5dE5o+zGWCTiOdF/+4
pl02YZF1RBTiV6301ff5uOUn2zq83S5yu/trXtR5fJni6X7/y12VQ5EwmNk8/TPmuvaEjMMkWo81
9L4waHzdDYfL9f5XsCQSmbhsWYTFdl3Xs8nimHdQ22DhXKmcnLPZcU+u34WVyyfLvN4OcIbSP2J2
EoSaWzofdkjNXWhPWiQKw8KF2mUh7G1YxpcBDH58nWZZp8BmMOZP55IM1yuBzCHeCr7pq6rG4LZz
RlUg/XI3ADyEOPl1cCBICKCOPy6uX5Ds88oGVgfI4IbdlSQM2KDQpdJxf3nAIJf491Ud8njhU0Z4
O840jA90xAsiYQjoRddUr0LMl7sdisgkMbqwZN2RtCox7m7+5BXM8c3UBftyQbO6Vr+YkYumj+Dz
rJQ+t47DaTBeV9T6wJvIRZkHvXaMfn1cD1FDDb+m3w5A0a4XhR3BfsYxNNFoGVxenzOCXUD9DC6u
efVIE71EEzTf4dt0POxjfUvsK/ThNdYOugst52wHGcQipG80I9rCPj25w11Ao29zKahwvcpGIksv
WTAdzPtJ3i9XV4GRKwdj7AZjO1fS7tsNeu8EuyqUw9EtsXStP8GGhyrZUbiRHI814vPSnbLuNzjw
6fa4gkOZotSCKIy10bycMci30Imy7y4UWrl8cO3uCro7rL7wTYsOCNyLQkXtI5KRAerCFefR+5fK
pyQuQSvXq52v8tXKDeSSAQmY2+gsHvtdIR3bIuzA+ot/yMwx9AjNnz3vCWGr0+I9SuzxM8lODwWU
WgJoBVQV0n3FWuktPZwUtqHPrfnhpGxSkVdMlmSYpnNh+qXHeBSfi9vuJN3w7XaBBIPRlsM91jfF
mraFdOrg9hOXTzSDzbFLsWzsenO+Ivxj0BMRHds0TNVRL/JQWWkcmBfM2sYaivJJ8ccvsyP+5b1O
rF54zLHe/laA0c496s39blL61x3xfg8PmmdZJhCxcdjPaloKCaKU/A2c7Z6UQVXLvi3o9kKr8l23
HJkwoqZjvkrMUOXwbfgAeXwcfcHc/Q7SacfaviiyhvELJpFsywBfyaoQasfUEv7RrCSsQlY1/SoQ
/NoReNawCoUy9Yj7d9uHNn7XCwaBkzYZ43mCByStD5VvGOUvQAGg/ddXmyTD8K7yLMwkymxQ13mE
vrDjrhupzMUG7Vss6pdTXtr4KBrpoaJN+i3HcNMD/M+yV0xc2k1swqJdVLSC9h+36Xic9tHRQPZb
egw2KocItVIItZFUMWI9VdSJvTwmfDEF6HKAB4fb9EUOFvblePg2TFgZhc1cFf1I91E32HmvltZW
FiikyJpPsivfdao96wq7lEthzEaViE4nQOIJwZVGskHW10toKq7zP6ScrKKrwW6G2covwWIn6mLm
y/dU9zdj8YGls0J638ommf9WI1anZ5ZGOn2Fyp0OyuApT9ytyamKXgNDrUF39K/TQCIi5sX3dDOs
psu5CUvABCBMN5UuynZ1IU1wwwo00n7OXAXq74pRGcNYlENZNCYmVlRbsu6ZELX9RvIVKc1GiqlW
bBu+UL5UZfngS9KIahqmoW2bx+qJ9JQHJjYHi9xBTpCnELfs42U7FBywnYdaJWF5uAgd5FoykjWy
a5hnxGYc44lcJZXfmHI0lk+gCWSLJGLg8+k+j8dX5TyM9iwcq9wsqJXHz9N+FDNBya7QFSGzyF0d
lYue2zTMfLxDh6DzjABrvMqfh6+Dw12q8h27T2UeLNmH4JeTkQjDmy/jsKgnO3xhZ/+VLy86uGmw
Sia8lIAP4pJzrJmPXYih1lsqTpvHvbEH7h/PdTFWcWtzxUqG+6tDL84hvWzvYddQ0su38fvVmCGA
1rT7/8Mf//r/xdbvXYJotfx82xsD2Fjt70ZS3h2COgahxmaBHvbsGMCFrJd1fMdkKLIG6Irbs9HQ
MavFrlrT7qgGyoKXUW64eLGtSdNtSDitr90OM1nzeP8DXtXfx+PwHdOV/3a5vUwH46Wbv/iPv//5
x7hstfss6PQUwAzLoEab9HQPbmT+dIPJ0jdbwbD/EmGEkuXrYX0sZ2foK4BfXS/mwT9sj47EQ2Uu
0l3XwcSr72ajhk7+9Mc/YOsz38fLyuXp7OayG4KyueX4TdS0POvFbWn9fxre/9HyPq5rEdPxrVZ0
asabbKvDDBIeOck1KTl7wMzfbtCc+f4R32nViW8GVY5hm4Ey0hceCMopxBX7LBtCGE3UcLI9kUQS
F/jbwbANsf7Nr/rDa3RjPW2MFSI5ZMDVXs40zjjaXLmjkoiF4qaS8DFq6LCWPHGhk9OZKW2BUPqD
2dpuHbeP317ZhOTWrEnEzUZE3eOEBT5K/MwNOzN1BxbOvIQIEkKnraQ9rpl3ITfEIEQP3JO8DsYa
OElrxOtm2cpIlwqQw9mX5i+L+F4ydvl8AEd4MOviDEdj6MYpLWu7QH+UfYINkpzV96Ukida7S+6L
nbFfOGC9iuOraDtc+3S0oTyzwNg1tTpf63/b5aBPiiJp2fkonOp2AjVrhxSll0wVUFOvb/7H0cy0
Pf90fs79KNC69iC9bH0y92xaCM1yH923zdBr5k5cLLOT0RABZ3fiYosRBohK147jqGiLjNk3VZSJ
La278ZoKUfXSxbPbcm9g/hy/Oy0X3xqXplQvaVXuhNNrNqpbujQ+Sff50vz08ukMdn28EMZenHjW
pwEaDHgB83aV9ei0rDz3SWx1ikVNxhqrO3y+fWy/zPwVAOxbXAFUtilakwt8kmUe3+lco3n3n3/5
878bevl7ZIa67BblgKd07ScBEgsua7+glmay1aBPSbStPq7SLquwzDKs4c9/RuTgZzbW0ZJs7rlZ
8n/++A+cCo3gI7/w/G7cz31sgjUuWNGCWcAoqz1uWKqnpSg2FN3bJw5dLgvndY21jDUJ9tUjb9hn
87RPyzA0l8K7EEm3oW9CFdEqQsuVYMQSktZ3qCTfgew2K3OiiejS18Nw28/lkC52FJ+VVN5ZvF+u
8YW46U3xrHDSwPGhWo8FqVDsmV4xyekSpL7Z5gb5yRQyqlaP24KhPBa7xxu9uXJR/BdxUcIcv7zH
cWOV8obn8avq+mWSLfMkOnPF4qslAgB36S82SGIBfePRSCBo+BUtYAXEnesIUYeTD3xG9jwYH2Dv
BhlBQRfiXKNr9ctaQnY3WIvM9rhRU1CWpy6DihLfVQujQTO2ktCcFNxbTU28SN/4eiA/Vvj9Bh0F
9bEFBeWT63AQyB0lWGonDqhVl4GvyVTcFeNc9+noz5c6WkdP6MKKAbKC1Dy33RThQDzNcD6BvIPo
5PFyMdszq34bX+ZfFBu5yCUP5XqbvmK/NLhyPwsqPu3bmmylZFHiqf66dEnFLxcN/Po42yAKjicC
4UaNvsBdVuKeDlgMcc8eNr6U0tp+cYj5XIIM70YYaGvlFEOl+La4kmJpurWyZS1jqltAW7PMqohp
Sftpyz7F0QLF00ZSbpRbqaQDsYiocCBtkSK8laUCZpc+ScN+v8IpUIu6/+2f//zD/zYmpOVH2+fQ
kj7rpWuB1Nov9MsvPDnD3gZP7rIiEgIbvM+ffLJlk1jXTBvUAvJETCyFw09uww6fO25HxyXYP9uo
1eMbd0gkiuDJpq58VkI08FNhkla0ofaDEd8za7Z3/3bZvV9iuWAssOaRduxkEPVtffWdooizMGoY
XeoPP/zlTwD4Ao2nemp904YRw4h1UCub6qWIC2jMf2ASCMar4dx611BSNzZLkriMQ6HzxLMDz6xj
xb9lBmOhZVL89W+OZ/Z0cBxvmXf9p7M0yD/xx+mliKn1lWfeA1SdPwMquyX7gYG1eTbCrrpo27jy
LyVL5HW6WegFrWR7o0E2UCyBgU2R+caHPdvj7Wwy193TbfzZmnJ2CRELACuS0cX6y7iEwWICRuGX
sEIWXlTp5xOPMLTmAQP3hkikFj8nW6sCcH21BpZFtRx+3YU2Y516JfV6u0JaTb3e6L2S0c5aZ7rN
3N/H1/tznveyj5+zYrcEHn4tzT+Lk2DFbHTsStS6MrN4v0v8WSJdVhanXS9OAxv2ummeSw5N0ndp
2esQ+knbDL6UAlqGvWRPT+6F8X/8/c9LDMpbApcdOTaPFw+a3B2NQ3mM1nXlOSt9otF68rKwY4cz
caSWsvZ6asaHugmrwT/3E2o74J4a7DVhK3W2Pnr+T0HA9MYzKguDYHTTaxtfrjx+DyWVvVFs9tP3
QKa+YpT11NgvcS/LL7Jfjy9Z05JsIH1syfSdOFh+E1ZeRxf8dQSYEY0jbqnRLn4TRVcJwohcQ5Ib
M+p8GlSyJhf+HCVmRIkM6JeUJUsnkPjFFJ+QJukO5z31Zmx837DysxSSlh8kn3wSNWL4jWej9m+6
Cd7WYWaiXkxe249zmKDnFDodCFnGfzLDxUQBntbyrSXLdzFz95fT1fann3FiBHQPgQiGEg2pQuxE
KSd1/OzIw0HJ54ghxSrLYeC3MbPwI/rbeIeiknWdwkKLPmzIT+oTmk7DmAYMISVixDmLEbPKwnhI
ahusy8/FWrmVbmKX8SPXg2QRBVkoGdgsjHQ5HBd7hVXcc8kiuAHxShaBvRAhLJ8cQ/M/3+V+ACXr
WbZyLxkvQk3Z/D4YAQqoQMSo3AHB8ynsRi0mBy3mDKaWwU5vj+M4b8CKdSFW7EkeQZMANjDQLfc9
FkfopPM7q+JfYu88z0XH1oYoXJ4BD79gTO6XTfmHvi6TMQEbgk1TUdGFsJo25iH7opK3Mf42LBHF
3WHBlQeA62Y3vpFy/ArebB6h67kC0Sik8DNbcC0xFcruJDzXExM2StqbIYf4JL4FdT0bKty/gzBb
B8jjPMLeAQybIn86IvUQG7+Pe+gTa4gSa0fjZ60Yxqmgoeo2iO6ynq7V9fDFYX0VZZVLoE+aQgwn
/sqHf2LJl6JN6VWDsk7yEriH5eOikiMR2GCxfxcfbZjR+HYW2U84L583g+0T1DTKmRyx4MjugdG7
cMF4D8+97SHy91s/zOKvPyqHYsO+yapP/RD9zhv7nZ0+G76nsdfM3PrEmT7zW+Kw8V97f7GGafYG
i3Akefecnbh81qW1NEBTyiGn6Yostz8NLGxoLn5H5a95j/gVKWTWs9H09dLOUr8jz030j5SrYvPK
aWxgSh7Y39yyfkbkxJylX0lOys+I0+1DnywpX1Qnyt4WE2RkwPzKh1cenWQYKxf8dT8T/5EqfPl2
A2VtkPU5Y2pqbfdpWb/hLap/kbKSXN7HxNMnaGqbvGJMnlUh4HbDY6gRF/sDpKtWIS2NyzftPevZ
M5ShZbXNpEjuPqtDriv/RXEbf/EmoF0nRf4F3afaD6REWOIn/DHIJY/fNJvbLkWswLyfbRdE6IwU
OzB7B0Oa5s/mc0+tnGCl5lwWYH+cri+X4XZwY93d39mkrILR6ViDOVbRHAXwKeC9OgTvZSlv8PpQ
vMFGKqGJh2ie8D/JGFAmFbfFq/l2374oIDoW+gmgJ/x9b+Or+ewdx3FNe2iauceJYjB9UfOym0yK
IAr3ur1Eqe96ac3nUqJtpQIVg2S1BI5mmEsX/tqGuWQeNg5BdfoqEUhT4mi0varEpjdRmMDsq+QU
REQhkbn41FJg0z4pw0Hwxrir2r8E9FNEsQgO9aZKlpZ5wGx4yzr8iwvP/rpw+RTahuNa6MJiQ1ZS
UZOs7CXXPwD4GvWyjdJYUII3tRbCbJRQ0INrhcRXzBBiGnA4ToNSccDYPhgZJVAtTnE1jus9Ti59
n0tlf3wGBwQplYAkQ0J3qPWfqkxv49vjONx+ZZi3jdeAyNojLeRqiVIkAM/DLHmKp3CKZFWdQ7M9
aaH75e0NAsDpUCo9DwiHpkrFKQGYpkjkWopSioWweRyglEuFsFbAuAMB+Noj+7ENRvKgLQ9ZIrqv
iF5n+tbYYkA1eVkmFa+iaItEdmD9BkqTRBsrzjfSNGluxSTqRTkafY5pplC0cmaSphDO6nvVEIDQ
u0J0hZivso8AjcGFerP5/fI4mn2PsNnpPv1z1JIimXSfaKHfbwDAY7+gWH50ZBxD/+Ssehi/80sV
WIWVXHlSMvK0UjSbxEo5AlC3wLNdnGdXaeE0P6RK3zIuBshYETGWG1MMfRdJ6T0ntyihtdD4pkHY
qIxZaVO3VH0/Y4bPDMt9UfphsHoBzScJUtHJaoZawtfyHK9LxqULw1pJS60LlUDbsUYoysaYR5Pj
H61sEWIfGK2qK88KCVkgEnYRJ+xCUuabpB+aljcNes0yccGsm40kGadAlmanLrnO0v3RtZH5G1r7
ds6RLU3DBsmu09kua2J+u69/bLD5EqKZ3ABDvE6oV/GLLP3N3s0Zxls8FNDQGGMA8Lq2tqsohUaL
sK+MxlzjsJCKZefQ8iWsbfB28Y4ssLWWjUZulyzSbcR8cMAxSOkWCRvdIxuhzYYNT7avmJurueSB
fGvc6IFzNvx5wRUvtOj0ib376CJs6juj8DShdWy+bNi+8PCAJDlCyD1FxB+e3S6W8vDb9e6kH2YX
PUNOqzCf1Lc5ue03kY8HRoaGjn8aS4apC+lpDZYMEogF7BIPmgYDNmbCxwmJjswaqLpfgsF/rt8O
7p4YKbpemYcz4p0cFyTD+XI2i03x1+Bvygebi2KmiIuZmh4VgdCuhg+HNJsHnXcnaMi1izZB69jA
iLBXr3EZJ4znvHxA1xpUn6oU6PKaDUinOIWlCqAwcyvxrysSb2BO9yKVw6NxdyS+FyZ/ISzbZ66N
tK8SXOYfGks3ycKiDHFbu5yPH5aQnBARIktIjCQHMFPVi8S4hQqZMKJAhkQ41+H+Pu8ibiRSId1S
i/vz4z1sSw18NMceCcnQuphIE04leFZ3WR1fopZ0kxP4+hN1bSFJWUZ7wAELGSlXUvUKGQae8L8u
nmjPOFhjLZ7iFEASNBi/8HTXRfyuC/by5v8sScNUE4gFeyZZ/iKlF5gBwGZ6Mw6JXwKxPQvPQy+e
JFsy6mVsOZ1dxVJoMKSUEmNxjm4/rsrZ7WpAUHmM0bnCp5odPJGlR4hl3/8xnUZraul81daS8nf9
p2A25fnuJPSOqD3+Tnko6vMY5eTxW88lLl0f708wbmLLI3LGRXTXyj6z1eJWtKreAjIvCSGGbPCL
2cI4v8lw6Tiv1aHpV3DBYsshbSgVZnQrN18Rz0J2oOvi6r6Oq3vKBvY5/kFlml62GbH0tlfyLqjQ
OskW1Ki9iFJ7HQheH8m9nM/ergQvGbaWpvW6kXSIHUIPK9lIEq4St/ebUChUmo0Wt0YauqEafKY6
a7b4NBFN4Of9RoVgFxqq7Vp7TWct+YL0JTp2UEf32zfwaBHq/Ycf/mJHjCInQMThdTqCjQdtE6LZ
E0Rd+lhTj0g+iEc6C8auFbgA2irdsgoz/rm94TySJaujCZCC1+/3Dg7kioYct399272O1lNTBwrw
Xge4OyJAJLgFu2pLE98wH2YHpIPdBnB69m/UBvG8Ch9+CszLrkpehMY9Be/fi0BLaum9Yc1CWzRb
FmWBkvDVQUxoj04PBBgeJ+PdEkphZcawC30RpDrsx8pk3IL3ncCPKeZK5L9/3OZIXNH9Op2e2Ri0
gBFuXyZPCdG5xhnLYSyk30YuUhlmz7uCLFsKHiTFxK1E4PZbZeoHbynS+xLnuqtWjGYYYAuT1eEe
yvX+3Rx5fUSFPU5DS5HVb5caHodJO05NDFg0ALooGmfs2+/H04ter+S2wEQGhETyMn8i0PQqLQlX
5oLbnLkzeuYNkrCjzWDVR7eiVmiF8Ha7PM7aIjVxK4ulM3F60Z+3kkhsgxAqtYPlwUO7+3EP9d1Q
y3kxP7W3oq2x0iq7CtoW2rGapxcKjZNk5JUZkg22YnuKwBnTLaXxcCVmBSKO+3mdtMPe5WTHM2Xx
vJvkufrQ5i6FkKC3Td8ul9ePuA9WSeaf80m5RZkMBtBCz8VfSIFfx9vNMNfSPFQ33dvtXoWK+EV/
ognt5Ux8vNQJcxZtsc1tAwd+iyfYSQ6vM29htv0I7Ub3SrSPpSPQuamqDaGSuAlcSibwc/gvvkAW
PnqhR4DKuJPFHFywzsKMAU7/i79uH4ZAo+G0lFtc91IsFTw05utFfbJSDuhSvJKFHXE8eCQjjPda
h7mdp8iaqqeRfzip4XyX/inIs8NmKLTBUwzhjCGIToqJOGscWgQCAmcZY5oO767cTlcHbpNi03me
YILzfI1/z5IiVOiwjuzanu0J4cBomGGDbHc/ux9tI4xy0VSvpRRPUrQUYZKjVeR5mHyMC3YxMeBl
1XjHiVcbgmFdK+oaMYjSxl17uuQWPaaufIpZhA1x0oELkSADkbFBM3SpEPZ98OjaRCamZgIgs/UY
Smw0dbq+EEMqkv6LH47lu/LF6EcJ4IkJUGUs+6zHO9o2k2hqfzm9wMGWpDridRW909aFxPx8Y/Et
ELthF3ZqrQuogbjBtLqK4jm9nbS5xKCpY6gte+/aVdi9kXJ1nkziFb8o3nmEmsEGV6o3TqwFC2qC
ScukeeoJePSRSHOFiUja0yw0m4EETImDpPJuxUSoIKZOwxFAOob6o1PvUWTVUkpBlHtV/J45AADa
vjk1nAR/aA32kQ8a8bhiCD9ORXmoRD2iFeH2kOfY4SAjDE4rDV1Rg1UKwOBzKbxk4JZ2jUGubH2j
qexHt5VSzFbn8TTtL8dLPOvNIEJFjp19elnuB2o8LvgzETsj7C7P4nti1pHNoORqQix5ZZUkPqN2
voKdYHYA1dhLpzuMhvUBrBMnhIa5nHzgp40dnyaPdcMplOh5fhtuZ8XuboPtVZgeXxHXAs5LSslM
siyk/KifJmyIDA5uTce48uxbyR4TPPakOqolgJUo4Lr4GxAzluCdlkux6zHpMYlWAF110hToZWuE
bsAOeLEHSpqTlWQsKQiPOJEzM8lyThsFC5Rxf4spyHxRkFZDf9LVaiXPVATlJIlatErhrf0mYm+d
h7SmOBFxmEjN+R2UqatSXFkKUAmz9E+1v7DoMjVF23VyKlvaZR/nCLqjCrKYlctiCq9fxV+/kuyz
GG0nbaMyam9L8IEk45WSJRzBiiZBIL1g0Mup7OQxa8kGEZ9PiUQ1MpF9Uos3YrRENgmSDCwGuFZh
OtdtWsGidmGgotJeLekMZTIM6DPon04UuBtwI0lISlmJmm2Tm9eWT2a/re9YCixs2Aym98XLC9mM
r6IGM9v8uUbZ4OBR6M4wQaXPwDqtKQPp+tVsyzJaffJQ+kWxCVMQmXGz7lPw/mQ/ubqXSnaexwAe
jSxOj/HsC6ltYji7TZ/tyAbxBP3AEnWEZ7VNWdXE+9L7bpDaMGX7AJU4vU2tndnYdrEopFlpEoXY
MQabW8fVUsWsm8FGoIxkkXEWm3iqzwLsSmluSqR6aTiOWmUer2BtGSxYHDhEE2etvwozpN9uw0E5
Y8eKi9slJSz0FFRKOXupSIjmUCEY6nGejMmTniDaSYWIAkXg3yTmF/btqjK5lNv0tUp3iDxeQCwN
wnzbOA+2kGrHlBYWyXpaNvGZ0Yld699RFeFnbnGnnGA6S6yxY46U63rFhAWEz4tcYyXNdpVuWYUV
DT6vAhl/ZZWK9kKtnJ5XiWfg7DL1sgwDwj0vgyylLNMuyzQ43aR109D/E2c8/oBjo+wsiO+OUi72
n+2Mcv7AeF60Dz2s17N27mQYqGt5MRn0mTX/Qfw3qF8yQn87l+Vf/4rNMEWX6ai7Op8LKG31YFj2
Pu587gxRc0r8GFdvn5o6C6sLR0eeiZ+9Cxt0d8r9+mzB/jiBKo+vWYhN1Vdrriv6cNObnovdBGHh
18u7mrX4KlW4yfjB40uUW54kSZv6A3U0DIB3JlN/xCz6cjnEN951YlfzNC3p17EaW9Bse3bjGrwa
7R2n/L7eQqJ4i7Hxu3joesuDa1SZ4KTmqQf9uoj+dCQYFrgmRkB/j5s8oirDQNLne6NXYs9kAlLi
vLaku2BM1UYaUxudYbxlBJJvG5noJWRtu5ThxG1Oc8462QHjXW28VFUbLXM7YAgS9HErrJHaQzNj
VanubiRLOrCTlp7dbgKtbU7hH1RtQVKFAziVdlBPLb9i7aFq8UmTXYk2+Ku51B1CeBAYPGm74vgm
IB+a/sYHEluKPbULOF0O0+tHPFlrabra2DjF7POHb+e/uS3+YbQXHm/i0HdF6IcWzKn7/Y8/bpyq
3YTvU26JJsRDJ1nYZqfe4Bp/vt1dFW/R9uTMQoLmPuJwa20CRR/OFreUb/y8t+N/XxOPPC/pxbCA
sQ5Hbikj440juOqu0Xy6c5PC+LQvNvRlJUGW2a+J4horLtOzfEU5peyRzs/wl5FuMLYNTFQm9ZLo
UFQDZI0SgaWVy295EdOYv7dZTDd8dYZOGePu+zvMp09NymoYDBqYMwM70/zpAHd+MUTuu4ZxmxZd
Qty5g2B21ULxNl4f7pbC+Onl4SIqssuxYW+er3YcLDglFiNrKi9tAUTuZmYu67kBH1Pi1O1yaret
JtzWAmHc9DDZshrOc8my1QRmS5MbtlXRtsiuX5LVGDy/X5zZ87ktsmemjujLcZ28SO5wAfzkwSzz
yA63nnvBdeVBxk54jNT99cs6dqSSa11gYYTwFHTQxErEa0ArroOY7w2xZSsFHalhWFB3pO1XQyTB
HNtntN9Wds+X5SpIcFdtvrprVGgbiYrOyGbsPi+VOiLtiU0zCWhq9kT1Sarvwg2uqN7Jii3XRgux
mv/IFre/LZErs7jI/P3UwxJj+poUhmA+GsvnphkkGetUyabehEqVtODWLr91k9CvADp4cn9juQNx
SE1klk48vtxK8WW2JWN9//i//scfvCmWsm/4EdUG0cvtqfOCOsl62GZ+KtYm84Ch/FBPHcR7z7HR
UMwbes4MJiIGGW/bmlP6U+qdVsY9jFLqnaa59RDOSHSJsSZcG09BxCZALYVR8actpXxJZNj3hvIA
GxCqpQTT+kU0GGrJClSXrGDx1LBvGb6UbtknOmWosX4HCsv2hHNt4nwzerl8sGDTsHsfmHRhqtUC
u7ebccoR3Wo8SjsZaXccv0/7SDrSzeJrl8UhjOBGHz8tjssdz9ouaagfA+HyCVqjnaQciem4Vbpl
lRKaoZRdvfm0x/OW89IPVCjqtyy/YdmGlqXyUD4zzzaiHN0VbBlh5W6EVi7qwv7Zb9i0ttmeLhkv
WnlzbWcFG+O4RAoSVxlvj+32VtPeKEbEJQNidJNzvQs2TdPeHZZpR/aY6qXulsvowEDjuUfWPS93
f9/p06TtgvmmG0zeWZVgvTXxbRCuboMtY8cG/3Du5nw5Aqj5f19uRzubwl0hQ2PP91sMpIzObCWN
p00PXe99w7GnXM032IzRnQ9ldm1FCQ/WINLf9GE0m758xH83D7NsDadOdnSPSo1vg7JkrIuOa8Zk
5+bgYfbzFTPO399v8XG8vTROmI+NcO2eoyuUq4G+udwuOn6aQrqW5Sn1nu54r430nnyB1BYKlsgi
DxraqvwP86bG2fnjVy0921b0sqxy9365bjp/Jr2AtU3Thy9z9evk42XhwPGlv8Fu+wPmdHsMB3mY
Dr+HBuH/G9f5Id4wBR+gkLbxdry8wASH4TZBNYzyfl34fq7D9eP0Mt623GEVfu7sN5RAWz4Xh8tv
mvmJnxP5MiN04+AWXKCU6N8nC7YQAYUZmUq3NIQ4CteRHcDjopSJP0wfTub2zRnnK3QH/aMGz2iL
UvoWsvAb7iTvJIIadTYu2D08z4De8BBdKMnqYMdJNmpDWEIvsKLdgLJGI2F79saN+aKDYdqCCQIq
1fFtZNJHf4YCRLw+C9SJO8nlxvzwNq+RAy1BNrVldFR0fPptH2ZMOq7gIJ1xsENBf1Cyl2xCTQ4E
mT9P9ltFTpQWUzZy0kpTjIPMkFnxL8Bn4+H3P/74dzijAqrOaynlSOE0hLX/Zq9AjTOWlmMcG2wJ
IlZLfOJ3f/7h9//vH/+gLJgnp6wsnnUSyJiVUtiE+5gf5/377XK+PGbsYK+Md+gTE6SZjYzmfGKe
Qs462WO9Ra/ED5V4YRsfbhMlCYUiGmn80xPI9XqbTgmsTF4lNzYbnsZZ21txqQw34wfUbassUGIv
vQR1eTpwpdBYJ+LiEzUFi6maQJ9zDAiDapirwtnW421+YGc5bfZWz8Jz8oTRYN69dyd/sCih6NR7
Jt5sM7LksCLUKXtlAkPOUPIMYcWWhC+NNjnaUMj2uVIsb40Rym7TK/kio/uGmUY9l855HCBeKqTU
SoD1lxEmpKJR5s5qoaNpnA8b/4S46bruP3XscFhP/OCNpEbCgpUtg4NKJnzsUNdmQ/aDriGaBsnD
h6kY6AX7aG5G/HDgFAPurcFN7rVhNUVE+iHvKM6qJbT4NP7v1xRitFIJkbnH3z4Ok5G2+BF2L7I1
45hDsAMKlLGjMJDMz2CtVzgAp7AAN2u1n60+fEBt5Wk6Q+gnVn2Icx6cwdWuZ/BR04rvqHewxBVz
ExZdH1+ycb0+7FYbJARtq2e4jv37cFM2+XT4er3icDjMx2F+h3Zvl4fxYHe/PGIkhWu6XK5dE0sm
i6XNsocP/Y/f/b/6zpqCnRUjcc4Qs40lYWP7y4EXOhbxaoSOTtmjFFn2s1zZ/nI6DcpuevlMB5hC
iXmG6WyO9u//+Muf49toe6lcZDmQsn+qEGEtC6Gb5HA28k17jJpTIRsr7fh6PdP92wQkfgNJtI9O
SYYLyWt2IS2RImNBo8+/mAdHv01hP0YtvNnSijkSReV41obtCYRZ7qQZ38gGpmiqhp0Nu+6W67PJ
HKeckl9XTvTDLWPY5Ty8Kqu4IFsbZoYHY/AbloJXI3L0ForCFYw0njHby8nut2FCyww4xOinWqG1
WqY1aOpEL0k/ED9ow4gCG4iGjeNXYgn6suJfKzIpW0uTUpUmCi9SnRWUYPRZ2O7uZ2XKrmWcp6NZ
tQA6YbA3BBMjHve7skrdM4lG0w0DQnel1SlarxhhMpfekvnSbcHYOl90381KOCa0wQXMHZLwdXh8
dw+fK1dLBAkSr7OHWmDaFmlitoP6J1585kui7BVjkqoWH2nB7CoqN+Pys0FLRFO5my7dB0uZgKnU
o5qfedkhhePC2tEbWZ/HpGmhSNOIFAyIbDiZDYO1qFBYuX6NapMd1Cl2ULuWppqATo4FtA9dbZLQ
yjm5cVbS1bNNiUpXYfJOlqepmyuUm8tltc2uS/XBkDLydm2GtutFVD3mc4ht2JBtrQs5LylH4szE
Z4GtmQlZSbMfGmZmBc3IeR+/HZh41k+bNBlUZjIjpt6uVt6ukhmSXbtrtwqWoflbxTkJxBqbC8lt
dBjK8Nsff/+nP6VeoKhlDreS4jqejQ4Zv7kEgMJA7PpBv+X9NkHRKFfGdwaU6qr7lopIBGv6QoGN
fNnUT55dprphl5THFIgOpg/WC74aU+8DegWotrlPpT05K5H9IcTLNaIy//SXx3j7UPZay4ff7nC3
7J1L/KNdGwmK1doTY2E3LVdzj7AY6mKnsXlbyUSRsnwVXckdczuu++kBr7ZAc4t5kHNG78gmW28w
b16muycHZXdFJMLx7C0othmdkPcOXl/Z+20csdxxZl7kIdypco25HDKJWS+VYr10sjr3qaAZ8r5f
FEuW6bindsLLeY3B/hiOieBBW0QiQYEllVYp1ZOYffLYDH19vRwfseo2K/rrtZ0iG5+O6rUYV9Nx
c6IWLQEb0XaDYheaiKGirPyqk0GpUNEprJTJ0gpnOw+6q1b3RPM4dKzdpI4qRXE8CeZcll6Ksm1r
2X+Ma+5lSkPy5puC21JA9mW2STTu/qPIik5hbLYuH7iwko/KOzay/06PoYbeGh6M5UQfcwkV/z1L
hotZaALk1IaIaSQKy1wHh2FQoyZZIcuZtWG91YStZDc6Jo0Vc7Np5QMuMsc+QHwvfbEOU+TrWx+/
X28u/fp6gVeclQtvZQsJGXGixqWa7GvZo1XYQjNhjisaOutkc5w09H/8XQss0+e8S17ojik/n7Pv
CfLAvv/d9FanvIC+kZ/oO83J85M2f56Ut2kq2etlzIC4YijlUGR3I6+ylmSoutWocvkUoFYi6Irc
aNduaiMy54b4dNnJIiilmXpFM3Vy8EKNLacb3ONTBMFcJrs3JdiUh6nYjWZYc9unzWTFZHx2Y+t4
VEmRws1qW87k4Ar6fjMm34eih7uVHnYYDOENGP2oMoKbajY5Uj9tC0BpZ7j2RGquXFt9TTRmrDYx
scKrlOWGTnpbj90wxYFj6tx4hRSvtAqvNBHlYVV0Op/XNHUyvWGFk7FGMLmhSKdM1vlPJqVilnJf
hzvEWkBOkU6t7BOs/YvjRbNEO3ZFJTaVtUJjEf0bBGXNQtgsoYBXwxrkxjpi2adihiMInLzqV/vY
dCs102pYTN6tVgENXSqfM4FA6E05jLVqXaWcLZMjp6q9uJUK8mSwcjEqntLOG+MFvuObJRKQaaUK
3biNxwHbdivzf6xmqWQOZ5pgc1qAZR4Z9iCyQx+dUExprvyLllSDqvV288MIeKx/ug6TEnoqWhlh
wk4OkOUtcb66b2Vvl+30DBAqGMykuX65nOzhc70U7UJPCTaOq36jtO/WXEwnihJVRyncXEp5/E9i
CvyIi1UOeM28LAynuMe5HC1jIVlFOPX0dd9T75NQuCm3wUXsuin6Fourr+Xo61ohb7GtufdR5KJq
jsstZYudHIeSYTiny23cEK3J03AwForYgAbjAQRu2IXYhOkc60huqYH7b88DrdBVT8UeWm5E8xA4
+eaHy546uGkF6dZkzWTbPhao3B8vtlmWFlws0wk5LtzTp66esrO95rQqHn1ZyL7RWjrAmLLr8THD
XyjKvJe9w1/tEnbZNgM4UGIK8ojHLXlae21zOnytGtJmjwrnzl0jBCbN0HpYrAlF92SyJxjblZaa
LmRTzTbrwM5ZKeRRzcQkb1GlW3tbwhGR9JKSS/5MSLqSc6Oy5Nyk7XgwmQ8TWGfrNkjMZxhkvylg
rhh4PEkQoBA2ITaVAF1eynuFt3kyamHFRB6Xudas/64HjJ8tvP+czNE0+RNEtYkAZ84XXxIjdfOz
RJ7Ga+muVsu2w4ryn6OYL8YMUKKYxVoL5utxsqmYNwdgcRdYFZKKjOzWy6mogG1Y7yoSfpDMJcU6
+hzILowQKlqwikQ1n8L8Wr6NPSSc1uuDuHRTZFnEu0qIYCjOVMRvIQf2UiJIkUDt5/SWcntdKYeW
tgkzRU0HGAmm8bcHrDcFkLL19lvBtVHQKizxxarqn4UJBMO0biFWpjC3kToyg3zd4CW1/CwRazUY
i5iA8BVyiGQb6J+H7nnMl+41gUGsWQjVZr+2hFU0g7mVcdCpOLFis9WZrG/tzNQtFhvL9WPsyFLP
1gBMk63jumW25ZaUS4r4AWv5tQEVzDEevLxnS56bB0M5BCIl8ZTcD8dWcv/8M7GDmuHOWWnASmoq
WjCXbXweL9tgkRZy+J33j4LbgR492JiWumIYQTRqkTiWyGOTntn2cPEN+OFSvuwntayB+NhlQQ4k
Zs0ExpFi9XE3g1tHQcBB0exPOc5aAyEriq3PVI3p7Op0/VzeyXTwFFfbkZ2t7IqDHcAkcJXqxK6b
E+EcC8JrRJ6iddsSDU2ZQnMqXN/J8S4kRGskvBspdjRyPglqZc8GCcK8XmV4FCkfCXCHuL4NuNGg
hIE54hEi1Mw2JujLkiKqUYygtlYmQ69SaGTFrG+STgcYL1qqnxXSZUsA/pk1zD85DrCpu1Zk2fCQ
J5hZuRvDGL0uTbD1cgA6WrykXH0AK2JRwE/yWM2SsSCe/AxbmMDrRl6DUHLxUvua1yHWgs7SPJ+c
1uNsczltrQGwGiEThnRgo8MuVDBTsTm0kQNrTulhwtqFsC6oiVa+G1r4tFKZvdwQKL4Im/UJ28zE
6nptwJUtpa+lFjLrfjbQdAQbCsTgFbZpbJ1oaOsCN3r75FoaD5Ec4qickM1CoQG5r+N4sNDvbbNQ
8rBxhzx+KDl4qA964lSZ2q8HL8sHzjb3/2XtoQIQ9nrQyvFyme2QlcRMlZxtullaizghhtBp9BVe
pxEsR61d9NIxdGkF3MntlNJdlDKpLdNTo4oU9eesgRIIjfLpQQ7j63Qe/eQdhWqpHRCYNH5Mit6m
+3N9SPK8rJ4aamDI1nYzNeIHv3LDIACL+zbu4gNrC1arAjG3EgOcLr68dMtZJJu1NeMr+WawfVAj
wbt7oDJX6r5wGSdDYBl8WWe0oOPGyCS+gOMxWIBNUn4+j9Lzu2DpNzwPmzoO46u9fsMLtuYKTbWW
gtGwYOdbIvdBG7j5gaK+yLLd/HhBslXvufMtaDEblTOksfsad/UOSGNvrSKkYt4llqXnqzIrnJx4
ghYyZslz/GQ1vdkKj7ToEaWPfMEw4biEtTGXuOXleESLaze8QowM0U3jL4/p64JxMou/2db8OGfJ
SKJb/KAuQdVb+B/+6Z4Cw7fm2Lu3C+DsFNKoGdMsnZDgG9CTSAtxB6FgRS12E3Z+T7PSvCj4Dfug
hDXfg/yOBojwZDkjMD6mGz51ktpeZHxcq70hRgrUEjx4TuPITHvlNZvwgqx4JjnF4ooA23nAuNBb
rGWDFQskp9ggnMOH0TfT3ot7/7d4VHwOQw6R8sWClVrijVFAluRmtM2wlTQVnZLGT/ijlVmRIqQu
p99vMBL6L9F8xPi3b1pwqsdemoUfJmT7oXrxMemk2xWM2Xm+FJOk9sDKPjKmJWxCfTUwCNKP8HKP
q7EqRpqoMN3Hk3KRJD7Y7MPrY3631+hXU61Fu8FeYiKrfzBUq9ADbQK9kTY82f5jf1TuNad7BdhR
sy4IwFhqgu9q2gFrL8e63jqrgKsHZbVK0qRQz3nbKAi6mpQoawIZDuAAwAIgk7Y9tc+lriRBIJ1S
8tuFjPFg3dJnEQm4zEoQttfLeVZeui8lIjE7APfPDmFyneWjhWxW6XaMl0J0VFICKLxeMV4Hxjd/
rjowu86Fn7n2XDLvXACSSXYniu+28bsi0Bmf2f5X5ZPBeAMwi7JEtZZEjFlTQ2XtO2YSv7isoTVZ
dm8vCiUV7BQ0Ljh2K4royEJF1Kxtw5QmqRivUq89R9LFFpIuQrvbq8LbTO7Up/VrVwcmb7Fifx9Q
+wwZlhIZunYD9r3wpnLlpNyA7gjEv5h/m+xwH3eEZQBL5UaJhdIx9Wo1nQaHfjpLy0+Xxis2l/1t
uB3wqifNhG4ZMds5Cs4FW7ptkNnlLltZjFvJYOiYP5uIJ3W6GBcBgl6Kvcv4hJrdhaOdQHZaYyTq
aGSMSGkyALPXqFnq1wmKP4ej7va0Xc5eACdhVdu9Kc3eYl5oBk62+bNaMzWOv1aNLe5pkP4MBJRy
6bkknODSVwSq2Wst03RsYozAcbvHWZmdbFmvYdYfDu3snmzmxKm6nCki4EHDw6IdmzJjufLISfWG
xtLDSvK0qdSEjFw/X/VG8eTnO9rzVXhIQbKkbonFdXIwwnI3yOopkGLDn7pH2HZkp2AX6TJm7yiU
3LP7ZqgupwOsrYP5sel4HN9iw6Xw6dow3NA+R5ocESjyrZE007Nss+04ktZM2Ur6+9VV7O0cw95S
KqWVHG9uRgDW7fa4AtTt5WPxAZVjMmbhkKXAXN6m7xr2gGVDjXpWHsrGxUhX8SKRvWG0N6BQy8Lv
xqkdbvt3SGMk448svGYnQMHsrLXEvaWCa7QIPIazDJiCMVSOoT8SEwrXlFJ8wK9AJAaHHjW8hV2N
nS/obAaSOOEX9txnZxi+qPleKCTVhb5Pq3GO8lxsGZpP5BglcRwmAFj7IY5pebIoFRXHZDfjXUF2
KzKbBwQ7DKVbcNZl56OCFhsKlKRokUwMR1FgxXo10RFlJc3OXTkCoUuzyTdiUUCGfPbWqDnREoF6
NZc0p/MDPTNPwdlq8vXxNKOdSR/eX8O/sRWzLoWKkc7Hy2myDUDYXpW755KyZ/A4Eh6JWEe1Mrd6
QW1vC/HX3ARgKGObLlrIOqHiGsb0bA5WQAnbUipFF7rJhST4U0GXmlnE5TIRcrkZaNcy3r5uitHl
vUTjvgTHnTDlexVlGN2qQicwIYKqUrKtl9MYkoMpj8ayAlSdG2NxGk/wbnpGrit4TAImsWSUefpE
DL5jJkmN6WvzZ/ks2hKrZOyc2E2mKJ7Ntu3RVRYv4QMen8JdLESgs0rJNRs2x8iKnsc+8i2xj1zS
ANvoqGWRdRYl5dYot5MVvUrvBeZ2/yR+UkqIkWTQSXEh6ZS/yGJILEHJPD3lBlkgkzdbX8mI1DI1
j4ey9u/uLdstbxk9xMrp1Vwwlr4CD6N0QWbKHX8yZF1JsTXu9HLGVuQeE1nNYp0+e1Ap/6lLBBud
ctgQnuDxGAyEC8ZTioUzpl3AoiyLVpLnCUFV5NK78ztOLJBnQailyoRwwBJc2BwXYIYhJA3KPrBz
tzlLLGPNuoXwjJmLfXwyZ8ac+naZ/OotTGdewHA7I8YS6dmuFG/fCT4fj4EKHB390XELGEc5OQ2x
wL1sLpuSlRtRLswTo+my64iRMp7OkhjzwHgJx4pQU3K6KNaOXBOY1oamzHnO+/GoiGp6O1t843wg
1VP1/2K4QS3ZRcPQMFQQTWwHC+RT2b+Sh41KzLQ5tlJ9NYU82tD3fI4ebjOwc25gg55x1qj1sczF
pU2ZlmXZfO7IzVz+Ysw9OwIa/3pn/+dHVIN/vdz/8T7eImBYaGHsCz3zoH2fW4q1TlVWqJYV+HBH
u4JekIGf17QB8szd56u5bsswNWW5nHbTrncznQBkba9mVtYoljXw/6wNihOq9Zpx/DhbPkaQRR3d
wA/nP4KtpCxVLkv5iA4N9XUkbDF4jpxhMuib08vT3qXiEmq+6bnSWDTR05ILukFZicxt1h77aSVu
QcQJnkE3cLFSXsyeFNIvEKUEs29WNtiFILtWW9NDXzbcYLPpBu2yRhgetTvkyDQ7MpIt5j5x8vBn
hgS3Y+3iIUJM97uEFqYhUQ6Fqp2vh1iJbYvWtChN3V0WxT5h/i4z4ODL+TAry/W0XL8IpPgeiw1L
VsuSRWYdwfWyZaSKBCoOXDoCPmeI5CCr4VPL/s1dPdH+fToe4uvmtC7B1lApHB44OdsFTO/mR96M
FMcofNQ9hCVburwgVEGX9xw5Tb5J3+ebn8QhPbYRDluWpqNeL1frW9g4ny3ocMbFbfzlYeRGfKcd
e2nK2OrnL9LnL57pJ4vfgSeGLcTebL7ZDc/U0mIk3dQtbmGelh0eNXRWrLCjNtVhOZxWvMov1LDl
ypyhhXzoGjFMQko+o2nUCKPKl/myGiVuuLaVwAmlNyUrZvTDVUsNt1jSATkslrZIAeP7lu1V4as2
a8GVx7dCT8emsbNPy/indCls+qp20VtIKeOklElyONAWG5bMgyVL/LN+jlNgRMfQVqzCya5VSPI4
rnm28DcRA8MPbVAd8YcpQgnXxVkxS7EiKW4c4tvEz7tBRnZcRqKYyEuV9DfoiL5vEsTfxj8lymBO
ZYwqdoVCF0xPk3mnK5VNhyvVw62ua8MT1PwJEESV12kdsE1Xs+fNrZf2X//lGyXN+9s4nmkKrv17
r63N/wJFR4A6ADxwBlbdB00Y+VLYnCX6vRORdR8M5P46HcaLLzI1b3SLVGPjrPJ8WQGhaPXTDpQQ
CWzBT6sGOHUBnt/TAr5bWnQJ5wjDEh1GH56WsHOYjuP3eNwCr4MWwrd63outnr28vpr9/Hl8je+p
ppcpUYWUz2/jcvi4udME5XBYHbz7Nr58me72r/XZlvBLLb0AK5u8DjdM+cIarn8O/o7tzBU3r/FN
M6IKsq2CJ8HdGimws78TfxoiMAZCkGkdhlQrpN7TpshG4yv980/nw/g9/rht6lT3AXpnzUp/F1yn
pCNR3MfxzOM2Q0f2h5GN77HKYrxiWgQkdf98mi/jx8vF4klhW/GLcQgphWjd+8/Xo5GG8QAxLlal
Lsm+k6Ug8/Tx92IrkXMrrATiARS4d93ut+E8T+oT+EphIPl+qQtYiS2IgMK5429QMOHJAHzQF2zZ
lJK8R2LoU/QdMPnw3fzFwfzV+zi9vcfZpiUOZGH6QBDNc1z20KZYFD2yKegosxI1S5MCTAUkOLyl
W2RdkYUfw141ypweFBecyRENWbGnna/jHgqoDrt5+qfyrkR5rMkU3xGyAxQgzyl2IJnBvGK+lLGH
bJk20N34PX5PPd0Ti24KkjC+QiYp+8GQ6wcgu51oP423tzFxrJpuCHVTVDUl34vdTy/SqWXyOCeT
8IIQeBFbwLz4yzEWPcaF6mChPErzEFLcf8RPxPU2ME/ZxVZK6JuWRDxziuKXDMga1KvxvTFJ3yq3
TdILQRrxO8ulHY6n6/1jtyYrIO/p/HCQQZ266lCHJLcZ32Apmad8Jcw0foDWfh9uGn209K6sao8v
NR5H9ESQo+NvQEzIIFbh4c4HzABpyqfq2m3mTOIJ+yalZcfvRul/ezd/db1cH9f4wZhFwvoMB0sl
LJGGRByDRfIV0G96vxwPypHaPlTuubBKtBEGXi2Tk1YeSBQIbRv38VEbeLnEH6xYlfw2awRxxZbg
jL5LvdZwneJ8tXrrLvZAGyRJHsrtPG5+HqY5YX8yp8mBfBFRZFOr43cAq8D4Dtv+/DHHkLUotkvH
XyCacvBOc9c+cX/EGWQf57uxoYyeHWP+fG5rFvJlGUTot66H49nNywWrZzobK3M4GlPiFl8pz9iG
usUiPg1XiDGMw97O+5ktsBWtvBuYdrvh9qZssHIhM1wW+0W55i83i6o3dhfOKog3B8ZuZRXbHI5Q
sBjv17fd6WIIc3wr7pf7+1jmkP+ArvGAWbiDMDDKwZz74vvnGxljOMJmCt6Qmvfxny2c2oefxfiX
E17Hy4BLXC8TJJ7HMwwggPs9aA9eSkeA7cd5yV5hkUtfmv2P383jTOakr9Nt9g0StU14HwqXwrao
yz0+zFG64XYbPpQzsJ2UGbBpmbVeMZxt36/DBUkCg10KXZTObYKlWBDcTU1xaAzoZ3q5f1xHP0oh
Op4AeaFlpEY+nSM1467eNQLr6FuKtMHFmHspC4gBupbT5oxfzpdvRiU/Ti8aRxWuVs5edkHgQbsq
2ubBtQF/qQuW9HrMjoHlDIvCCAdQgUj1M9bJgjFzQA8TpwAbmTCc73iXgFM6Xi5X5cdclrXLg5oG
pBDbUSQ6ZqOxpS7L5wjm6pa9QkcS+yZfh+Nj/AGSyEZmjiBaNAbKaUNMSwFLvwEOZLIFlkwYFCAM
zN/mCkMwqVc26EPm7JwTWCZRLAees6jCa3KdRZA2dvvxCN2Wor3mLHv3ooS0L5jgyLpY0W29XPMB
ujt9Ncbi4KgWqEOR/z09GHqnzpaYDO0cP1A+v0FAbJiOj5uq2HKJk4y0gvGnuxzkRqPcRs+YmAAI
cKC9+b95Ol2P0+uHMWIn22IdU27YCW6HksLID0gSAhO83AAAh2YLdKZVzs7kPAtDOFqHpotgKkC8
Zj9qJM9WoQDV/HF6uRyB4YwuVV6yrgL9u4Ak3L1VdVGVyudZI1EREzWLUN5d5psVFRbYd72rD1oU
pLgwcM2kDijCpkrQaJExLZp1CE1zRjcO/8EohW+ZjyVJN41f6iKTKMThKY6TWcnQgjWgFDqrypjA
R8Y5YYEf3prGM5nE/LAICKCbo0DlajqidlaiY/6zy/ErfzI0lOb95apdTE4czHrZWUyR9QLAWtIo
uCEaxPhAseaDOfE4WdlLOvhgNv6xAx3u2x7voO+xb0Aa7b9oJUqVx0TCsyoBBKDSp95aMfRqrNuK
N4KssncCHLh2OhxAgMIoxesH7nl4Uyao2Z+oQ1EQjOBMa8+qqkK6IO3prBCjUmBLmJ90QnFyWTv3
X1whpbfX91kw9cfaFtoH97bJjAMk8J9p1he/VapURRN9mt1mSB+9PPD5vwJi+q5Z4IW0KnSQsJt0
h0WqMv62Zh9WBROR5Fc6+awk1Z18ZtYcYZEWAw7Nq9tjDxJsjIM2bZ1yK8lqeyC+DvQZRqtQufY8
l9TGYuy9Xo4HlRvyjFupPY1KQP6CAYiX11cmiTAIYI78NcUCbF2Qch0nLRTS5oQqPdFrsXK4x9k4
PZgrJoM24T/VzEdeqcb9ZV6WUa6oayTFbo8yfh1vH9r7ME4mNMZKWxnz18gDc6bTaFx2zeGvSjL4
WK3M9GZ80BFQ4vCf73Dwq34rZS8SIdhQh50nxatmerbytVqZMwAw6qKUQdhNrE/DmvxgoMEaCA5/
YLg+Gmp0YrONubdo80BvIMNU04zkc7y8vCBk0vKbMYKs8aipayYuM6wvyhobEzCC7TDuXaP6GUMu
GkWKd/8Vpo2+D8bznYHh0nRdS6eFiM3bDbLrW2RiXsZFEbrfqAZolOHbeIdySIh2XVX3j0UKuqVR
tWiOgipD+8YIOjDcbfDUeIO3y5dRU17McWqwze0yf8T4fdeEUdHTBlmnQ2ssqYZ6xh0cyF/mzkya
UI7sR6OW4bKGu6oD+l56PGgBfknzLmc90kUgRYx+naE37jUtYHviPdtAtG6XRzLLGOIZDgfsHY7g
CutYeb/LlrF/G3G7RyirciaT8os5C7Iwc9kFsjAMaO5wxKT4V43Nmz5mEEI4zTn9zyHAT0f/6pCG
vc9yuV4XRpjt/9iCi7QRUaRkJoW8QHTqdiy3tYkK3HUa4YvR4zk+ZNv2KmL+NutdY83f++XHhDFd
laX0vTOqhhcjWwcYm/HLYzjCNC6iUc3UWgXysrjwwI58rmMJXJsmLlhECtLn7XO8HTwsPdzDw5Zk
2Ftn+GFU1ZuPRmhGdxdG2jO2EW7+3UajlM5awJOZSFkgZOmCzLUPOD9Vm6GC3Mmii6wDkVUF9pot
n0/RbLAT/VUsShlYpdidC2MPLEx1fx/uu2k2vwRc5f+9ZpplMVK5vHydIK1LZuLroDxKy8KdWfCw
ZgEjAyGwOs12alu8ZtRtKpdsPljLWHkgn6YDZ/SU0cGkZmYh0Z5HR+PUu/3NqjVelaL3AnOEwe4x
Yhc6yhmBcRus6aE7HWxLq1tHcuEBOnVbeeBUNdT6MIiLH8fzG6SbIC5zOR+1BAU3iShV4oOX9xGK
64abnkboiX6xqN293ujNRNtoHRANhkZnP6Hqxc7xO2r6r2hjNDYbY23/vptOJ9Bdg67/yoxxGEGR
FjP3O0Kn798sjnPEJhagC40zF/hyGs2xtCIN4bBR2ME57kTLGIAYbfIdcA6IbnMwJpsXW4IJWhC2
lhIOPpJOclGjchbNp/app8s/p+NxwE9sHAz/0lUl3C828aKMAcGRWbnvM90GYtsHaOvSKJhK+dxX
pLdBTjyvf1P+pv5Nrnzoe3K3gdWUZ79p4h954w4/IhGUF78x32k/ltF3jLPz3Oyy0D6jwzHKNp/l
v6m1XfbLZyy/6mKVKG8nG3EwT39//9Butwwex99u9pvqN6W2gZb2TZ798qZ9n9e99qtFeFu5f9PK
/P9cu7Cc/TApW/wyQQ29+JM5/KD2QIV0ULfTTvu9OqQ+++HvfpOrP1eUIT3YXY5fjY286Prx/HW6
Xc7xLlgFk5m4EgFPzcbrxEX5tkXhFhbFckZEWrRS3K3RhWsst2YIq9W+K8RN5/i6yiNV4SMVJCL0
D/NcFBH2dTUC9hMa2iCalJc6CdLNsoSQIfdCJ0GR1zrgk1Zj0TpC8HlCJDVRRtHEdFZKApBJ+azS
DllmoZS3chdFGY738uRnXDRY0FbZAJo+2v6iYIN2VoexJTuAOTIa+Xh5e4yx2W2OLBtJg3Xm+gvt
AUpRlYBKUJ87ky4Sn1tVCVUgGF0q9nGGVNoBdYJ2TaKKRi2gnrARlYch54RQ7SXZ6Niu0TiIHZL1
Nr8ZkxmfE+nFePA4Hzre7cs+ai+e2doVqgqid2UFnF55ldqXXUwnaL9XVBEhVSc2WuTi86AEUJ+n
fhKnXgs5yN778Jjxwl38xloeFoez8x0S7T+LJk5RCrqARRnADNn6hu93FiX2+cWduIXFscdHtV5c
2bz7TX3zOa1PdKBt3vi/25fP2fKEwU9s/1O/4AEKZQBVfv4F6QE2naCl1yVbbXVBv377Pm1fBrUF
27a/iX46Wr/dtP3PLF4l7kba/HI9m3grS2xfpZ9Nv1CFD1BuvaBNr8uIs5C4NyYatizuMXpl4KZv
osxNj9tIjPU4Q6YLugNaI3oCzB2m1JzjBgJWuW0id1YrvUncbNpzsU3c/AsCrQ/lMfTfEXK6vo2s
ivPgIXyKVxGoYED84BtkLG82X5FKu3OELy9KcSsO1+vxwwaFVbQyw9IWJRzT/EmBXJf8uL/ftDho
kdNeahxlwRMUN2wy/nJ5AH7Z/D8tRyGmdRGQZEPSSZRkEQN7QYrLAgR1MG9eZrHYHUDFwEaDXnnz
NnxQwdD/zIWSEni74zir0Uq6m7rBPzq6HTsKEkO7r6/gKmD9nv+RWbuxVgIG2dsm30VLLLEsB6t3
x20BniiZLawZshbbr/p0xOXbQs22ZKtQroehKpkHL2K9kN9WCQkN4tWEQf5l6MM8niZMZN4sx0FL
uAOkSZUBnw6g1El07vjlNJw/AFC4/zLe1YSeCI/8x+WvCQr3nUhWpSQY88XUr80ELVgwhVdYepoP
FkUA4X14mY7R/nz24UURxlCILvPxe6RkFY3YSEzrs5qQo7D92G/DdHS8cVKSRHVTxGB5p8dx9zJh
tQDA0bXYOrsdpqEwC0Cc6nrmYKGeD+orazLwdpHhHzUvYMibFEaXAQ7LCtIeZdUQrzzh7WyBEWbX
oQQG/1Y7ciMmxLDDiitUONl05X3UFspzMYfr8IpGi/8pkZvMu1huEjPLW5EBVcEUG1bNdW4jkOM+
TfNpgHSOYf2vp/hEMsd23ATAnn75CvmdVUWmIb8zWWpcx+G+cwU1X08Owq7xHYMSNii17eU8rkeA
lo426ZXEplQioMCnjmzVNuolxFkD+Mds824YUEsNVRLobeFjWwaIYFj8X9e531b0aypGTjmdLgfI
YJ4xNvc6mjX2Oq60CI24QkgYEjtr+cFGksDIIbfd+/T2vnv5uI+IlBn2d02YV3URwzwCQsHnfQFx
Bmk8/veIknGn1my7OgZ9NwvUhR8iA/2JBk00MExQ0IFsIf6sLLVyEVFlWoGA2XVIQj6OCXssY8BB
FrB3mneBQN0vFxDymvIV6+teJsT2OM9As+Y4QVIgCXtR2e5RE3aQcQ5BCiDIsTmBPQF3i5+YB4/W
b3YImrGcB/uCer/aj2w7fpwut+v7tKc0cHSR3AH48XDwf42v3DJ0Ml+nCNQAi7Nd1yT4lAWnHEzO
woid+a/OI+xYN0k8S7YUXLvUu6sjAB3u8AYW3mZuKH47zmTCFWlcolvKY57i9+JMtdXlgkKF82EF
ydloIwSvoa512MaYf42ndI0dcFFSkdP5FU1cOwjVM7xy77Q1NuePo4NhL/OyH/B7Xqdo54qOiQzE
aoLSy5dwglHdWM3tQKYDNv5XFmpooQrdJ+c/efOdpG10lb4mymbpqAkMOXyBGNAEr6csJbK8HqGN
xOVyHIezhVDG374kYmT1rwhO3gF7OaObsMnWLnx9HOOFm3Zr7OXIxHE0CYaaJez4zhwSChZgQSVX
D7WHcQ6vRogptFM24QIcU3wGmCOCi60Ieb8aEaK/d18QRUN1YL8+kTFOjKqfbhr80p6sDp+8WLrI
G7vzdh5U8ZE3dC/MocUQDdS3YDv7uCjrayKZFjtW4+e/hcv43eMVuPMPw334XxOY2mB+mmeGoWxT
rFdYB2NZSDrCX3adq46xCCIrOPDv4q/lkzmwBq+athGeBaUW/57xEcNwQP7KutWA9YvTChOBTPHy
W/nT+d7h3/trwRjElsthB7PtMTza9uvCpNadib5Zy3bH558he0K3eUu5O2MvosV0pwubHSpKkQBM
ALHaq5f9MmEXGN2qkegOc6IqdI5yF9tyij1Z99exCs9FZTjz2qLljiSDFIlMF8V681nVqqhPIl/W
q5dXdCu79uX++Js052ilzhHPD0pd0+N5T6yNjXNyRWfu7t8usJpiaFR9yBJNhGwshSj7YpKU0V9g
IMyPl0/YBrQxbl4+NQtQRChTWxRRedsqLTJmTyJkOWdq7zR8GbFIVPmc3SzFToywISsCscVA9V8U
/d3n4cU2q7LCFyt7wEWN30XBpEOHHWay5/cZXubt71OTyGIJF3M8l1swq0Iluz3eNDpnDbo7qPhK
K2mZVm4W53I4GJuJdbfQma7Pe0m1OxcAzMATVi3EqzqtymAXR6HT8TgdEBgGz+AObIzK4/5yvceZ
xPfItxIQh+A4zA1OtgNZQDdvS6gPCQislWhMrbXLSSey73S9xk0NQnhY4vKtaMoCHtRd/Pw4RY9Y
FZKmcBEeHM7uz2gbtio3z4wQHNtjbZh53K1pP7qZppAkgPR499sYp6SOK66Myk5P05mM6PhBsl66
3/PFV4ik8MIdQ6RYCwH/sJT4J3ibwOZIWht9zsjQYp7cjKLp/GV9MYfhTTEz+aYa2pQDWTtRm3CR
cu43ExKa0Z8jO3B3hkP8WCW7Z4p4W+tQ+fVakmMomQVytS39jx/biNg3sV4t7s5j7PDj7jErJh19
jWXY3brgEaNGxgL74xA3XXruvaEIcxfjXseI53fIBiqKjMmHBvsc5oHdpnTVsyZbIZlOYDzOXyao
T9OcxD4n6sDQvOtrdTe+5fRyg1jVEg4/GKfkq3FKlLAKHSW3NU2SJcaDKopFWIc2XcVv1XB3ovLc
Xm0ZGjlZUNEWyy90DOK/sreOF2ia8rp7ncaj9qbMimSFI+78+g/3TCNSINrxw3TYGR/g4ANuT4EB
VpKZ8Dky5uwF/R6W1jBGk5uTYlZeccjphlkDDaw7cc98wRaIEDNQXfKeGSXoaxWsM6e7OAyqKOaE
n+iyBDycX24LX5a3880s4notlw71ZFoqz19IASV6J2vkQjCZtX5WRDhbj53LpUEhJzPaZqVvj8sj
fizmQrCJW6dpXnrCjL8owQGiS4RTGjPSRrRtayXtQnrmBbEs8HiyaXCoTXq8jMV7LITd0fwJ/Hk+
A9sPT3IemRZ3WbIqeI+EnwRR6RNGHr2REJpMMQNSP88a5iYue6HM6OnydbdYJIq3mEk8eb84EzFl
ChW5GNaOOa9mXwnntZOc17gwT0TI6dKgvZqr0f938+h/Ga4LixupA7LOxfOjL5Axaqxymrn+5Fkr
HjVpPtZPxj0h75AHgWjlklopkggF1+iNkUA1x3r5UHy+vhNXctYM81y2SWYeEyH3mvTIy7RBiyjq
o5JY2iz/ky2h++l0OV/cLygKOpdsdx/2OV0Oj+NF8axWoXdm+VgLmUfP4sxMQgGhXblb508Alvit
84Ne0DGLNY5EimT6C2KO2dp/oOjl1yWyG1+tD426UgjnJqJiOTsYK3vimQmFOcrQL+/8abpPOkMs
05bbP1rXm8RIDXQ/AnJ2jif28FJ4l8kStFp9Ye4R5lk8MHutJTP7pmbZOlDxnvuf4ivoqQDwLhlI
6gopokbONMzEVFSTeOFKvGdDmKcOHbbeKUwshj9iXfbaUVcIIgtzFtlzmkuPoC8lkiuriLHrRuXL
LAEIG3tD5PUGFKQ4Jyx/TU1DGZe7SdoYR4nTsyikn8KFicfOpSg728p29mKWSIfd53NPOAs0clMY
tG0lYnEdAxUXvGKxRBoi6WwE189Z6aplzdtGSoA6orAaXTXr6l7KWwXhoyRxZl3odtVPqU6jH7VM
Z2hNeJ/hjDkC+F6xs8ou8DcWS4TFjqGbzfbYfi3JEgg/J+R+v3YKazEkEm90hm4Gd2CRRVxy9fES
Jmq/jdNNian3LCxY2FYEsTCaEkJrpLSoneXEIQzQqwBmkVvYUww52NGww/Xlrq4o1jcKL4jJQeCZ
Ypm86sA8iKkGSwx7YV1mLbxGa3Ggnuv7eDkeHygCkrYnN6VYuwTjHgxvx2mgpmkKB5UhhKV9QhvY
MLWSUeqklAKLFbrswipWGPzTeKywkU648o0O43jdgIjJJazPmgRu4+Gxj3sw3MLK0TzL16JT4Y1W
sjXCbNPhMxIjC6x5J/0XjlU2wpSx7dri+MGWlXzG/SkyibFmKKlIWats+2w4lnctVz4lzHmICuOu
Z1ABbI/jsuhSVkMJ3vddtg4R1CsHzPbUu0DjsOOr4mi1oU/vM+NGRhFQahohMOb2pWmaXtK0xlYe
qV/M5ay0rbJCJ5eue+U5u+KqDQ50IwU8Q+33OH6ClhspiEKuC5p5djDgx338M8Yv4vZVIZlF9Ig2
1IByGrKM8cZa9i1rUcAJwXbFjG3WWJY8FnEwhJ+IOHQSOYRw5fmbosoYwpDxLL+eXxNaaKTQAgyS
S+cC6zDoIeKvUxnfvuE2LbxTVbLkgxLNaCS83VOjukU26gGqjGVoOXzP6Ye0Vd1JuE2g1svjljRJ
GUCTemKiKqbXNeJLyuGhONHC9CycjRAhZ2XaJkz7h7HFTjs9r9hXtZTZeYJbfA4vW4vYHzkOtF2C
sCwjyE1LSv9m++V/ztvruKPU47HzZXRMkjfyQsrf7k/X8RdQHPCa8D94eXHoIkPd9EJUEXQZPAEq
N4XFewmZzFpLDydgkDO0MX492s4mccOB2cDU/HUbNE+JVtSSWgqD3/O7EhHMCyaq0U6sHcYKEzbm
upVBgdYeLkK0K9VNIqBtPO/fjYX+RVmABW2qBW3vE8sLMELJLbPonZ1bUwqI2yTYtpKU6NofVCQZ
C3IA1it3mQgVG7pwUwLF0jGHzll8dQxVnMJxto2UOFwCMWriN+MRCArXuvTaxQ8z2A1pL56Bqhi+
6zAeoRLmuY+7Tf5puNCeIVEAmOamy70BWsjDNRRmzyVd8slMRDqfXYpmpBzQTeaAl3FqK2wJnzwT
v/9WskCZkE5Go9iVMXAjKg2fTjgN5tm+owKO64tKqk1YIdfSocFKDM/h/Fzv875OthT0KxT1nffK
0RrRdY1XOyg2Si7ZAFh+m9SFlcRr2+RJ/LaZy1dizXXJI+47CFwZOXJ/hwZdSiCFI1tz/MMHRM9v
x/EOvLDXoLE5wy/kEIz0rVSdS/bVB2V31mV7nZZQ01Vh46JloealFts3AlY+ZDECBlBC0nOBKpvh
jtuLKwEiYJ/BO9juIZYStucZETed97cxWqiJQZxOWolO5TsLsEhjEgbQt52EiQ2uKlwzvlIrmXyR
pNLHpyDEXYCJ9c4FMN8pOoazYz2hVy6aRxMAl00HsNE21Mw1YgIf9rAM6FMrtwrJz0QZZFWiBodh
L58DPi33hQ42a0HotN3BWHlKLKWRKuHCGYrQqEWxG1opraZFTW8jzlWA5yf40dYwaif5bkagTXts
pePC+jvdus54AJOPWQuK5lPBkL5opHRFaLglbbZWwsxAsWVai6xcBDc4wulWzdrrKzHRskYbx/M0
IumqkfJtr9uKbvUqmaiYCp10I0tMUL0SHoMmL0GKCuxY0XH8hivROvCFJbv9rGUDcxUcGSfIWsrk
Bc6+eQsWUVAeo2OPgSnSvG95jYVaZt2GEdpcqbtEyztVd9lLtXmKStqi5hpJzT37J4p/3UuwyEjq
+zPajftxVE+GtOMD7y5hqJBQJrFopCZNOSMrDG/lwnAFtL+MqFlx1XJBaO6MqrXE6ysa7Pzaifl5
1/pNUXWdVB4qFue4jmlbinPK0FOqQxbZzUcYTX382CIz8lzORdhMzcZyi6qKWRWe19KuTV6JmH50
IJLUm7OyHAxjrgx1KANWFLPc5eGxehpl68wwYiPbYxn3uCrKRPTa8rDeiMFewIsVo+yrDsLhrtmg
7BIpTlAnlTxJQRXd7CgyMfWiAYiVDFoeGsKdDALAdFDCAGC+PmMn9/TGs4dmW/G4B9tHvWCBiPDU
IS4dazC9UtqsTDu+8VzCKgflbHHLo5Q0kVajtLE8qZLg5k72a2h349uI/QkCjW0H86nAKDnd+5SQ
sjOTx9m8j4Z6EINJ6zCiWl/e8x4yoM16fiPAhGmvr+dFntjTqFwPAtVLdUk6Qo6+e77ZJTKpCJNM
snOfajoBgzE/XuI2ai5l+HgfCdX36xn6h1V0uOuMIcahIeGgVCHknZjzfq6EBL6OeyiZ3I1Ai43E
mbuXa7Q5GjoBFs8ZjoINXYkKXOyRpmkCpk+wo6ljB9uYdcRGA4mKJw5+78Icpm8zpQMxsjaPvBSD
OsQTkzLi+ClbncpSF5JVh9HhbfHgTvHhP1v1YIi3FHNNdjlXJ53ox8NiW2CE9B7ii42NF8sZOiWo
0CiW42xArTYtNX/ApqKANKYiiU1ip5T68azC1p5LITf9g6qgOl6nRm7dGsg2X04KjI0rKuBNlz2L
gK/iW6HbAgnfLyXgG0AfraS+5aj77j7EJol2bMyLtX+w92XAFtjpyjYO0GqdMlb1zBTv4+wyJYfd
cdqfFKemC1GdlcwTCglXkjUUHVwG8uY2HQ5G7r18JD2MvhEx8GInNg1rZ1zLQrZPmHMLtt/2wL6o
uZAC3h9v45aa4ZwZg3CLnTMkB/QNWH+MuFKuRWymmIhUAuxi+Aqxaz5/vwlMxSAjrFJGfKtE0U3G
FQZJC0eVW8WziGb8tJjPOFg0uGS3nUR9biaFzN+0kGDGQq68V+8qUJGGufLGO+RBRu0QkJ8wQA+E
zqYS0kJKrzznttQmI5nElq6nsVodU7WRKibWASydbxa9lifUSroxQrYGr1SpNG9cPeUSYAmPQyGJ
BQ+3Mdjeh+6hG8Q5HgnDGRcyjVT6aG8k2FI6MpKxtVhvfqlbSUJ5NrxGO0NFZo+EKKxN8bO+7qQw
zSbgYfyiSwm0tjzeBqhBJoobKo9AXwh7MGlFiwzOVYEkeAZ1mIMFyQLVeGO3DVDR3D1cBPKSLF8s
pWBFKFHTi4hdxeTKiL9DYDZuV3KERk/lEeuOZ4oYETv2LZ0VXUaJAPTxi2aFSD12oc+55tM2kXNw
WYN9sMs1qNQmhDwFaHTMYobYDy4vW94DIdHQpJV8aDH6btTQeWNrrELKTrBoMZsTvXs5DsYQw7/G
NihqL8lqBTSNpk+UEGshyWwpA6P3LRCLNTcpbEVNl/EEHVfTakMm1tipWTxvrY3o5n6ZvHIcZwi4
6MZ8+nn+CRyyn14e8bQ8OxxuLNLMeLtZ30YDJQv+ByotN69XSaxgcQtLtyP7pCAeFAujFjcWw9ds
gNWI9hO1nVFZvGAhLgY/DVCatpTd+caKsZtJDW6Nt/h+gcHb2oycjk3cXCHpn4M6YFPqlW4chtky
WtLDdpssZU4FNZVhLoamFloveHQH/vIJfJjGeJYSxsCDV2zl9AFGIijYFVGKMDCO4gJ1UujZCiCH
l/9UzrJn+oUJbNYQZEsCNivE/oZiS0F4brXNMotjd6jH7dBHnD8BIXZHzu/TffcNVOD1MqkzGfjI
F/J/aUIX9RncWajmzvUfPOnDHsq2l+b04EwqB9S4WufcUPw4RAsy7S7rIhzXRNNf7LinEaajgKPt
rvES/v0iUXGEO453Pwf/hTbspwlnrhc06hmytN9iUVc3LYQGHrDEMY1/AJrVZp/QuTtQGF3ThRNd
eFD7ZTSXMdosjTKRoqB5KihQ/dQEnCliDnSBMV8276UNUymkg+HzEkpwKf6GWBwMe73jQJ3UYDUP
Fl5N57IzVgiqvsSKRmzUbxN+aItbtDUyE/z95VVjADagg0CfPukGGuqHb+e/aQWfbvROIdEJe2nz
/7SXplkWsKOmD0Fm49nITZ1H2AoMynzZ38FiTY7mqDil0gy51dA/K13UZfJwJFUujDUb5vmynyDN
BchIdbxZEc4LKZgQ8WSP0Fxbf6jNt+tDOdesEr02anhRB4i14pQnhRUVbemmzPTSBMHwfMmTtdLw
IOx5/SdNQld1FmPh8YwmSNhFYqnWUc7D5BWb8AN2i7terlDUmUNsJCKUL9WEWYqDcO2nTRneR81m
D46v593WOW0ZGzrGLE+4H1e/xAHC13G8vl/AucGOPRuGmvkOL6uHu40uCYeD9vYX49nQtD1NIItj
sjARPXgn3Jz9cdsbcXmyc0Hv72DSGfNbi7jb5dtWGrj082x7NJ6NGn+5jcMXI/Kt6khNT2zC922e
AAt6IZ+j4FoaLwovBM6qa0zqp2hZnjS86SvlD3abUKHuG/WpDd6tRudDP6njEs56OwwfM5Sc5H2b
LelubdobG0pHCS37WsdhvuO0tx8U5ZXxMZYMWhRcAJ+6Z5yLFxhLudyKdlDiI8SUlCuF1mRFrym0
Vnqb03BdEjSv022+2wYsO+NeDjvgH+W12XUxCn+yCiAQdz6A0sQJbG/eNNBsvEziRNEINsa6lfWv
YNfAvEqNWNoutuUwMvWijq4s2FPUwDm1s6aBpV8vhu+gdt6w9Izdxix13yASuYs2jHNCQ+RqNxds
gaLAjLEJNuoHs6nzOXNpPp5bEuqWYR6u27MRP4ejSoUVv8GVnbk0oNshMEOdRJzzQams3s/Cu9Ae
tabjaCyVmzZzTCRr9Gy1OXC+YT7yOoWP3KRP78Vok5SlabGi7QGWvDaRjk3hY2Wv88fp5XKknrkW
scam6Sp3UrfBQNO8T9p8uWbz5ZKZZQPJ0/xbddCnRycus1WJ4d5ZVyXgumUO4Gz5BRjSid547wPH
jp1k6sOPuADn1wuIt8c//6mZSnTMDkIenRtWgJ4loAZhCrnmWYr+9UrfM90eKn1rCGj6vhInd9sU
OxHbov1hHKImCDNJ0BgrzIirBRhm9o00N8Sm6rj5uezkPf7hypiNzjSe68f5PnzfzY+rOg24a+VJ
hD77Yf5K2QK/fJJKoNzAfPMi2DlPUbiIU2u1qCNAQ/7hx39A37QdGBSaHVFEfC6cGggixo7a1gvE
nRvLpiSDwq1cLt/C3u67MxSBXTAeqO2InpvBakVxBRNSsU5XaURjOabMJWfp5QLuX7rm1g2g7KSr
Ws+Afdunx8DSPbE5CyEJevtdI8M6NAFpmuwCvw/LJtX0ld0as63x/0rW9RLk+ePOhxFCVxJNGveM
HlbQi1TK0w2pZhSVLfi+5ffts89oF9hKONW5yyTrAmLKbxDZ804YGnzqWPkyNu5+5XhjGz07h32D
S8fOystWl14Z3hcJwyraYzI5xcIy4dBq15712zv0K3gfvmJHDfRzoP+fNre6lhSZHzd9PGpyIjof
91dEZF/MX382LCtOkmVzdQ0baHN1e3Gu7tdjivH9DKvVExsZbwOntr2PjaX+hP9I84Kj7hvBQh5n
LM9wgWtzj5js+jbcTo+rZqNk4TZ9B/f9eLVFhIthFgXjWwLkk5bDOL6RtF1y7nrJFAGgMcoiazYo
g8fZw372sdILpxTYqPJsQayzc4LPdjmn6KlkVicLOGGwx6g6Kge9jbHpO87P6ELrtSfbcPoKLlVx
B8Ivc4T4nF2pF7yu2Shi/n2pBZim940T23M2JzqIJVlHDnzYDUO1uyoWTknUoNg9MKPoqX7E9YfC
s4GE1mRzlcVks++hfzFve5r+mYhZFTXTPBiOXBqi/80HerToSpXJAYfI4HPIFgxmAQ1y6tIbdSyb
9cQQSsWd8+ZIhGA7rnZF/7CeMQE1FVPXMRdbgsFGa8yd8ZFL+cQwIqWaaCWTXBhgq8geftz3qNL2
x+mq3a8o+1a1Dmr0uZa8FbrU6axdZ6nEVLzGN08MJOPzO9pmeCI15ErvrWh9PdyrsAASZHzrVoxE
OTSj+sIFC8NVkJOsXPe/n6f77tXi/ny5/HDWuKuWXuntNExHI/J2WjSkZG4+M+PpgcxVgx0Af6nA
KN17ZUHeLCeJDXH9ZMqDB6jCiINiSbp0qKZISnY9XTAZfsIRNwoYy56r6dPB8cvZSiuNHVlKh3qj
YBLlfNnBoyOiI2E21UUZi4R+ZjqXUzQsbt5TQ1TdbDpdDFGlzaZcEs3g2CNKQXPjcyn9atPPO++g
pG5JBk2sI2nopAKjamE0po1XQaotuZEt/cocfdThY5RLZDpxYzXLpDBfzoe+zBlRTHuj6KCF5Gpu
upDQZSr1cX5Ae9r7+zRr5irXXgjVt8rwOL5NRvEYHYR9IWzFtw5od0Kul3zxxS5Tmsc7k0wMDrkJ
FlhNqwU7ykCELLNS0ANLu4cVj3VnOTXKDOnRRTswcK6ZdTWLO9dBK31ITBkDF3MX+gPVZRMqjQW8
Mv3T56utRabRXTSP5FzQ+ZfbfZnbMmOoZHhLGZvMUQcoZtNEr0q7ozZk2pJsHzvEOoqVdHE3uh5s
rsq9chu/g/sNQHAceeZbpcfb5dqf6aqYkYcpt5ObEKInn3zR++IqtRLihIXmdFC7g59kEpHZzrvL
M5B1oNmAVcwhfDLSN+qtgi1ZQUC8askVfmpGYjsyYG+KXcrL7vow3Gqf/Yct4ecsWwG5fAm52Qn0
Ojd8+QolleYhUFM8zt+m80GTeKKix6yGTbPdRiM9NQO66iJKcPjwc8u1oa1O/fHMa4a5cn4pdnym
kkdaWXU83wYqE+UvS6wzNzAdJiy4x5U1NO1plb0BM/E4XK9w7+NxdMT2upvhPUDiaZaE6MIcLif8
z+Eg1DWMHUSmlIw1B4SLZXayw5uivRD9tnBsWSFiFYqhmRr7Ng5fYhZ6xmaQVd061Ac6FOIaNuoe
t61wC860sttnQ6XYqE8jJG/AeudYLVfGQvare1iEy0uMPTKW9cOzUPTQm4f38XS93IYbTL7AWjCc
iG27+aDnoG2Lzsewz3LyoFA2yE5HXsPfbpfTNAMG7N8eR4gMQ8plHK/x7ZR0UFZEQy0LoM2RZZfH
/fJ6Go06+oiu5o1MbD9Xghg1f9bKATGqhhDtm3LUho5KoXVHVy+R/JalpZZekaJt/pKMR383dB2F
hmTMGlotcbjs8QAQ74MCi7c3SI2chvmXh9GGB8hV66DujM2HwoNBwit3c4cdJXEInnnF4wjzBeNb
9SBFpCwqEnaLLfdvvrocvyrLFCQDeEMnGE5kmO5xm9Vu4hkDTFUWVV/Z8RSxIqO4GZixro74AFRW
714ftmGrXBT/H0/VE50zM8Et8zhP6ByrOBe7TCHd8UJRAMAZFeavK+kwzvlUrE5krpLIhZXdvho5
tjM3eLGlGzAszmdX+r6ty/gr9cQdXPX4BjKM/OJrZKI0S71pRyTGItAYlEJ43wWbHdweZzQob/P7
9KpQW9+FT+vlg6dVQJ87qIwiKmr2MhCqar0mdvk6FqqKh2IyVqqx2o+nEdtfCemEhkLEr4pxIw+y
e/mzRKh2xkA4K3tqpT25EpHj4+SrquK0W5T01A0IhqbqBV2xKxTtwAyEWqgC1S2D0iVtrcrDP3pu
7UE7pws1X2a1BpiyvhgLaILYSdTms9YTk8nAon7Udxip12rQMtYJCJchuxQClcOOpZmTYqsuFd0X
wnIUoUU0xEJMniCdQvgMUVZ5YFoxq3vJ7P/fzi7jLbN9sBLItX5PKDyfKcZVCMjmEwGXy5fd8A7u
sjH67nHbp+DmL8W6ye5hsTLF1hHfG5xO5226aubx42KI+uuIWFc3Bt1GVxQRR2vjZI5OIgPlmrLQ
JHYghAN2RLjeQMhO2vdNFx6N93tC0W9tHG2FPiS7uLU03A1fvTzuMJnu8KKYTCQWWVGRvxKMtUxn
KLX6oolGP8EQb5b6nhiVfOJoXNfkEIfl+ZbzGrDECgAicYZHpSCzs6Sxje7DAghfRsDt7haJpWjO
XnIilg9nGwnAO/CBP8Xx7GvJNlrHiePyvRJV3VMUxwOuFE2VSZ7ft/FlOrjCs5P11pW9MLO/xHrQ
3r2pH3SoTJmyD8c20T67nxyrjrE+3ajwFTsrz/w5fwxvBYsoejhnnjFrNLz/2B9RXL7qVQcZa3u2
umIb++SBZtjOdDaSYTga2aQ4eU0pkaIL9rrWHbaVy37YvwPvWPzF6QoVUJBPAkJd0Grz8QIW5HCd
d4oFzF6ZWUWGYoFgcRIu4IMSYD5LL7kkSH6eQ7EEsBkXu3DhAoWIq9Dad41Gh6/TGxZoXY+Pt+mc
DKdU9NbWG/bjmMb7mPI4ci4es1VHFe7DRQeOZ6yl0kq//nprQXnPMoxAZUHYFodPDAeYy6FPBsW1
6lpy/JdMXMIALAu6Omho0fVhYdyvpGUlIMTUK1PPi/sCvwDxbx3smrEmdCtFvZzcXOD9j+dIBy97
dnZ160He94sHl4DLChXBkCXVfMyMRXFY5p5LYbzRRN7BCuVeUjFuWIftUGK3l+KrjMcTQrznFXwZ
bBhAWW5bhbQlJsSUIOuySXJ+Nn7seN6rwrnnlho8QE6Jn/3tMs8+Vunu0KlYAqraxvwukh3/naIK
hF4lmt+xJgkZa1W5iodMsS5vGauLwV+tn0IwEM37jCvDnMqQIpKxj4zFHRiZY3eHl8Fb1A/VAvPl
DSuX+GqY5HX6npLPBQsgMp5fpkRYlBBMYOfPrdxsLyn1eTyi9HUmYawpkPU0aQUcHfBUT5DyMnLu
5CNIE+pvo1CdRE9Nq8Q6yS+L8YLesD1jzaxW+swTYLwqxsZzaunJzraAz5pMenVrxuC6KCWo2f1i
XCqVURnr/78iehYixoYKk3qvvthxrSYwd4jYYJcgi00ptapCjJX5aZPn/bvCgCVPDLAwxAUQT4fR
MuEGL6gtpGUoXgdGAxRRAH2MB+VpC8msXvQmRKHQyP/h1fe8HZWLIdnagDxv+iUzCFM4Se2xjOaG
s3IXmnQp2qnWLCVNg8FwzWQvRQsJkGYQerPdhvHgtqMP7haNLwDHhVN7lR9hlA6wNldQ+27suG87
sobfxgv2PreoTz4OwNgrRhNA5C3ezcRSUxFyZhWQAbDDplgAE6KslaGDgeLA2q8glFHazCGcQ4tL
siBV3iCnuJIalGE29W8I9WiuV0UMZawZ5CpqT5EglITJZAYLlXLVad1I3TvOI6xLAAswmnw7e9/Z
ItXEyV4Ud/7hn3RrVLALaqCMOo/fFDuqEoPmwz8/HC6B6SNfGqf1f7MELWoPj+NwvjNwiNqwLWM1
Fbi/cslpcYpIkkLWi84Z5PoBTPm23z3Olxdwg9GiBekDslXzhOnSICLaVayC9K7mWsusYgFKMCgb
0vzQUH4pJddSj70UikMkxuU2vYFseLzYyxlewCHCxpCKRSMm3SaEg+8ha/eff/nzv9/v17+DXa7k
RAuWaGdYLP5YtrRbsbdZcHgF5+KTidZso7AKd5exCKYXBIEiAFrJssJ2BOOGtASPvhCuFLO5WKc/
ndPpkUoSIzYMZY2p8bsbvDbvb9MVRfio8meTSxrybtbZvU7j8ZAKs5dFpuJODgDhvU5Hq6vAZR2i
PXassSbmjNfZmy2qiWXwWLqERyIThmPGuIEFWJzYu56Ry1x45RNeOYMLSG09opWvGSugW73XdDqN
hwnocGnNBTwLaRyAeY9HzcFkJkexmBybsoyJ3CLH7GDGPczExTsmZaxz6JIKaNd9oM6YEEBs7boj
FIABFV7MmSph42xfjLifIBl3BEK7DxhvdIaiUq+RsRkCC3cHWTXgSuOlHlirklQgk2EGIN3SkBsX
TH4cH3ctQthkkshaQhZ2qmA6FVZIls+aJTGK4hqD6oK06qUE7VMc2v0DRfeuXLLuKZ2lUFcpMaF7
r9twBjqy+NmL2YXiFnSdJJOfygWsCa8mYbi8epZ8SsmdfaRSutTNMTAPbMZXxJE5L8dRC4YVknCd
zq5Dlnf9FLHTSZABQvT93TmgKUBfIdlfC6rH8OzpclZkfJ7nUljLda5+GaFu/fJQvHJugZH4XMIj
EPdWvKdGxl3GArSFoqsyybzAi6COSenbKCS2SOScjWRDLPzB6WRFe9F5Wd3Jf0PaS4kw92FisksI
r1eLJFWkVydp4HXf/Q2GQNZWIstCyIMu12izZUi3GiXz7cJWkmjVQdUGU/RkUMFS2w0ENpsmmBR2
UmN+ZZ5tCzDhzWsBplICWJNj69u4or6e383WvihJ4FZyJtYN9rY8W8kkxkrS/t/Ld+UsscnsC2jH
95fLYTKmuhKmLsXog87UCg8T/deA+6r78il0pMjrTIsmO4tki3Vfr1LQz8p/SQKmwRxZU4iCOB5t
sm/600/45D/9pHixeXjggPCg/8Ddm9c64Kpk2WkmyP7njz/81RZhxQ/HvwS9nfvSfpsW52P27JQy
RT+IZOiczS1QwaIX05urrMttPBmHeve2V6InmcTQcbmejhZnlYjy8BUdlpcVvJmYHyNxlS62zdhE
0AUZUkUzolDTcdFUH6u9QGBVUYuRz02+NAM7dctYHwHkq4jzXEIIufYHzixVHrxgihxH+tS+VSEM
u7pfjNuwn2Y1gCgXN+giYxsgLg9ztG40y23clNVspXvxjRR8WD+YeuYBkYn4RV6HEZCif4qAbBD4
GbMGmIWLrb/H3X/8/U+J6giGw2R8QUVWp0Ex7zsRaCQHt3XIe74uiWieBbEDaUBVgSKHVcdlGZWA
ZcOGJkdjeCtZdf5ERJNYlwhNDAdsNsQhZspFi5VwT/Bg3TevRfEcFAAtzTiVuEMtWRyUId0ijVvi
VgiyV82vcmgVD7aUPNjHGcsvbJ2b4quvynRcoeQFp0v9x5+isw5syJR+uQMfoOvy/xa4VKUop+wz
qID1ZSqX2Eiy4fs7S+u7cQVpt6Os45u0A8RcIxibdHeduJS9dSKk0CuMV2jQryiLWjJUlwFt5zvA
yrRsfSulxy1j45WnYpStKBlAeAOE8Lz0vdcaO1n5LSb8uW2bhmDkmVyYYyvgXcDuZPxmI2rMFg+K
VcKBFLSdIPwNfbchHRJtJWMzBb2UD4Qqqgf0mP5cCUtZtlLFHAS0oJv2l9EXU2MXVrR3ldhWG8tc
0aDoZOyWJVZY1lrPGSumANN+4OzkTZWE1itXn0m6VFbLyy+gGMN08hYcU1+Gxy/jfoLChLkEp5DA
c4rpWwX2Gcvd20o9eApsBkNzX5Aj75dJVQN5zeHYNfbUIhnhIDMq8LETLRoa2roNB5exvP+qZ6aW
Z90IT+DQC3jGopHhrPfLnyGtNCaQ+EUjBpcW1NHGGrGSw1ZqXrwRpiBobreShSgkwXEcv+MQDiio
emCHeakWQonZiJg1qzN2C/bnHcoXMP71uB21PYrFSIYJ7ESP+weEH6Dj4/C2+1mJ/fBKuHxdhq/4
R8wcRKc2F9BGnzCaiy6u0URLxv3D2OxJq+EqqfRIcby1khP2ej1mjl2UmIZQ6YihrGklpvQvdp/u
W1+skApNrIn8s5FQu5fH2w74tFIscTE49t8R8KyUgGcrvbFSAaQUvnSNFFPx7oiGF+J10uQkAGB5
dxrnGeSgH5aQDqs3YvDMCK6vE2tZoLAxR0CtUw9ueIVylEys8GDZZGzN7zHkifR8ySJCiLIMk8Ib
/DtuJFG6M9I4YzqY/5m0y83amHtvxMBSCGO9YOVYrNEIm1/9bXzZY/mGmxipj5/I2Ii9lYdowzqw
1OM8fr/aDKedN2ishQtZYUNqWJNVr3RobEraMvTZ4NoJ+XbDFiDkkJjKBZRbkv2JvGYp1wpYLy45
a8uK41qqDFkUPZTRj0ctTlOKFYms9/DbbRwPH6DjzYW/G42viFEmQbiNxNLMh0Gp5c3zTCp8cAH4
T/bUyVkWlc1tx0FD+2kx+6BRl/0rHNSq9LEpilo1qtLMXMqJ7KeicuWCS0k2Rnx/xWliFRk0RSYo
VtgGa64k5wvdDbiR37+mpg7ZXEclReRYfYiDGUynk4JVqsT4sLkSF9JbFKvrwmoHWek1AHmI2m4o
l2RF3PT6oeSTWGAFYjZlXcivpRwqk+gl0qNBydiUGr4pSAJNdxV5n3F4ZhiGt41a5/vjhZW0wZgw
hd+rSopbLyZu6BPb0gPjeKulW8ymZJoJbEAqsLcl98q7i7REdQXH4fz20OIIRVVJWch/1Q6slchl
LlUQjd/HPdI/FLffvuj1gQx0AsNqA2ieBVbcRhjR5joJGK/35UMFza7Bfu1/yyWUiuXYqyBbiJlp
Gft8C5fY29wiHBkNMKPYHOI8T9bDNScf+SDDVKubXC3Q2lAhxnBLTH0o3kKueAuVgoECYB92WFK0
KdsL70/LwYW2FZxl18Pu/eP6Pmp9UoJM7hJQtHFw3v/da/xZF79lkUs5LOsFqPk4lszjUtI2a7Ez
E6GOnUIdB61zlBi/skPlGfFggSfijiDhiNyEVQz0LxK4qFpEHPiWJApqqMzkWn6fDbOtqBbHzdK9
kpFoxNThy3T/hll0MPnPxjGwCRMFGdWVKVfOFqEpHFeFFZWd2iPJlesoEqGQyILmCrn6P2VDhdiV
6P8WKrBoxead/2pLp891cyokABOLELmfoDLX6XXUq5t4gXQbTHlZIKDO09dKOvJylXmqkxOYk3h7
sb8oS6bpNSasgPcZOkJtrPV0UdXJ8EiaRYMN1GFHb7fLQ6OedUeZmrU7CzrdbOh4VkiNFSIABzsg
Evvi7o+X+aFZoL0Ylg4S+S/j/dsI9HpT7Ye84cW5sGzm+ruNv9hulKmmLK3WRTKwPxQRI/a3/WSz
wrISo0RP2YhNIfq6k0xh/v524i02lubdUpVUTKuoKt9ykEHKdLMqr6R+Nq43DJaLewwotEnWkuHM
b2D8yyNKTheCDjuM99E8CnijNhKV7j7TNiKsMDx3qZxU9ANX7U43dA4sY4FuPlP9k116eNlgvyQy
E0V7AL34t2RFbFNIaR23M7PqDcTR6TQoNNxKFsmn5+UpAZk8dqXbW7Po2qoQI7YoK934u93XOV1e
nHci+sQCNtCfQf1ycBk9hZZbCfC7aqY/+2iWEb8byqhzVvkJmaEmCGYCChxtYUVj5ZLH6r5PMwZD
zwPKrFtFHLEJjB1XvDXiWEl05+jfSA2AiAHA0SU6tRgbSeEGh1xwb4264uJsQQSvDVpH+IBcsZdQ
MLTAWuZ/S8mzjBUFoWjrwuG5CCDfP2YNvMubllDE2XoY1hJQwLIZi1fj/DXejhpJ5aKEwlqxJtiy
IvCAistmMF3UGrWvmf3h29lf3B9G+9KadmVIc3aFqF0V/VlG+yz8X4tQ5bJhGQBLzbZfoT3mWesH
wML6rGEpNX63e8VkAUhJRVs3Wp9Yb285ZIJeJlmJXVAx/wnQKAeJWtoyK3zaPAcOw9GoRpvVyuQI
NvVw1ezugTibxDCSko1pzvsS/6y8mQDCCmqmUY4lR4k0NM0Gzdla6Nd0etyxIG7DqKq8yqTRrf5k
eZM6GZvfUmA/kCJvaA1DL5ii8kMqLRvD0PXlH3mjbX/XVYGdEsIHuHVorPUbBp1pw82K2GDN5Ozt
nAYTrWrXZ5jcDgo39FUhorGb3y+PowXPfdu9GuUZ/kfK7/VtOGGI9Xb0LLG0uNEG47DhZJTAQ5Pw
36A1sDZJqI9NxVwq/3FmCDdY7SwRbWpxJ408Qjx9LOfuZuLwmVUtSuClTbLRvUBNH9qQn0qacegk
3utxeFMHULaxQYLOihyH2/EjOdenYBMNuSni08zTSRFKbEjjKsnPhNLCVMkRrD5nbVkZnyJ3LV2C
Ee5bJkX5qQPC3mDk7ws0D3jLn+f8fnrEbyPJ5Zfpfrm6Jlj34U2bBtdINECunzqIrq4aZSASXbxR
+EbdaRMWaz5hEVaqgh5NmBDa7V8HCLy8vKhCiQ0Qg+oO1rrBAj2Woc3OuVmmHGmE0UQJbWYVfMO8
1O4j53uZoK1c/rqBjNrsxTa8gMxNq9RGJVZ5z2bBLlCWoNfK/R2q4o3ZMu+O05dxNzw3H405UW4+
ayYNAXM2tVP+1L75kOiEbOm3zaRBq9jjelP3bEvHTWRnMCpIj5+4XVThWNZsNSP7ermm52m5UeG5
RGo0tgJzPMHfYUhgEbXuX7h/qJ25iw08dO3G/Kx1BgM7+8Cn+5faNMBWUmrhrLRt4zdrrvVhKdei
k8UGEhNUSy6naPgMVHhNb4/LY/aTyM+X1Bxy7xiu5pk/WwCv0232zXoA/+a68tpRv6fxphk6eSte
XnTia6ENjxTnpp8uBw+c16YdZuG15TTl19g0h8tJJTA+0Dxj0VSISVorX52hXDOXgZXwIFO9zJ+d
xOnLkVa7kdq8KigON4S5kGZUOxzodFRt5owN40RgXfEJV0EbOE1PxXq0Iov8PF+SXoCPzK/MOWME
GhfgzNPBi0tlkyLf3icjbWCP1Lth982YMG6+hqaomkISdS7WkxjY2nNfgFKIxuv5mw81RNrfuHGv
fThPflXO/Mfv18sZMK+aQqsYIfAkD5ZpjBiuVYed+2bBuIliaWAsDXFRbrFjnjWlsJY4BYagIeV0
Hr/pIrvi07hZD5uYyN4lpzw6+d2sbbsg/zij5B1e3ACTlJFerymVGAjKmXd+CgII4nk6jogVO2pm
CRtojL06/PSNq43YzFhgPeO34T/aFeb/y0gWaMLv3DqEWYAobIRVcYkyuoRzIhokEEQZZ7FF2vgi
1bJI3ltDyfVpelqmVI7jvGbcSwb7ie2kiS9R0o1go4Wuie2jii9C12rLd+MXW8cXKZZFWNZCWKKI
P29P9wHSpC7y2GHii7hAMSwSNCEVdqLcSE4PDAfL48+rkFpL11pD0Lqrm1ZeJleWaWmZFmsCICTB
g9/74+Og8bdvbL0aI4222tm4by834PIFs30cXsajaq/1UngPvCEjX0HmaE5RK5nIS3xaR/q6aGUu
LbHMpQjQY8vCCnzI2e6tZJiFxkx64rCfYLKYmV1wvj/Nf8TimugcUHfCQpwpHOzFJhttGhj74mrW
VSdZVxSoboq+0wLV7POSEjdPpn7Szm8lu5k6Vm0mgbqqpcnVbC6f8+5TlRBO3UdGWC8z0dZktBsP
b7aphhbOq3spDoRmKbkK/3K4qmDhJhzZUES8JyNwrrfRmZ2ao9RLr0Q+0vWquSgl89tZk1MrqtRu
1s6WZ/4RLGX8tlTf0dNFS0ZUfEA3C0Tw6GO0Qa2LOxI7slT1llAK4xyMG7HGau/mYVzHcfRoteA6
XSkrTCPqdEaj7vNXdScJldU8JCxSg2CsJikrKWBv4R+qcV5VXUyuuQB3OrpXsOjeKiHqBIlrcvpy
eZyNJ4uW9JaklW+/tUg53yAQK1JsllgBQDr/upYMaYzDId+koioejbyKvS2SuuzrSpHUFQtd51WH
kDCXy5LS/ZMivvq+V5IIaZujrkhL88HCNn3wqhkrvRR+pwJFarkN9W6DHhpgF1IB5NzcEG/zAWUw
b+MZq12n81eHzdDcS1JhrArGGlC//fFPWlagl4IlrsDJbAMalGuOfScxnZOKByMFoq2inBQsY5Ef
3pML9qFHDhlZBNO83w1dpwIMxpLoxQApOeVwGRjP08JOhaqgeJseFZThlH8j+foI3UQf/zhBGtT8
TdCzSqP8cmVtN+s01X+L3s95tIZCPWiFY+EKwDM0fcAiJUhdRnMnUzCayy8mHVkTWVzQj7p1tY/W
Vle4hqUPMYfSCbmcbfmmvArNJAbbAyZA5NfrB2t5Qo3hHcgGFAm+mM0+YzoKwcIWbbC/IcEoL8Zh
FmH/G9fgy97NYdRyUXmdSda4H2gBqm/pna8ZvX0nmdB2hMUy5E9LFHdSdNO3hITc5MxS9rp/2hPH
YFMbPm+QcA7kYxj++OUx3Vw5B9QX267WmiaoihgmxcOHHMKOdYHBfBcFajWxSOIVo2l1zXCn84hv
iraeg1zG+na4RE8vgTICk9Uo8sF8lMR1O7OCLVgFIokbXss02+EOEmDeki30Y05Xb8eW5rmuWPcg
uxQT7BhAbhh/QOAeMBhLAtzyo2dXK/jRuzG3+/K4I3e66pVJ5UoW/OSwRH7ZMw0A870x4gWKzmdg
vE5jZyg24TMsLubvJNrxqO61ZHFfxrSfAEUBikHLeTAzgw2/ctLaQXzf9ppYKSR1imGK2VwcpqGt
W65dXh9eXinEP5jZoj1uLYVjCM6CCYV4HzUHR+vCIH4XJ3FbcTPuVoWMGtHnEvbOJdn9DIP5/XK7
Q1E1MaoeI6uKWGpuy544MpFYwhmbwxGx/eB5auYFj6eFpIqy0PCq8c8gOAFSkes/zeQppIiK4Xuo
M/8jhAbmKLTaOcGtZEZrg5uctuslbWe3DUfZa/EDbhCGpXlP1QEvD2hWo4nbXoJF4EQPHO1xHbUx
7Y44GjHHZpNSdWG06mTEBvDXl0ndTCXyaSA694OWKMraNpb6j6KAULJpxWLOHq2i0TcIdO9su16L
HaAEbBoL1TJbBVIUWawiMV6/4BZigTJW5bFoCNZI4eZr5DD5bAd3fxgN5AMTmsboY5jCldmDptSr
WXGbvcMkRIVWaB3Yfw5Gbewn4zldjQV3+4BHvBkBotmBmSRoA3rSK+ed+mAAMGpe/ThjZwRU5L4n
0f7y0PRtzVZiAStnJA8vM8zDg15MdhgYdjhW+yg5YVJKnps1Mn5ytWHa57m0KSedfTxPYf+uiwFu
IS6d6+ZS0ZShE9OsI1RF0WsRKvFGPQLL4a08/CqNuGozKb/ucCPGsNIizX0MgIifgzOIJdBH1xH2
q53QmlYyOc/OU7UxFrPbnaG/H60BcyejV2JVJy5epJTlu3BRHdO+ruCZZW8u6pg+ZxGUsZgG0oxG
L1UU3AXG6SLi36d7ar6686LzGLieQgKYaEhyQskSUmzWpEudGEfjbkEZ3CP0ZYN87Gvq9nKGjl/P
7VvSMxhNUKEtKrYcScoFEDZaaGsruwgttMcZ2++hzt0vfSpsrZGxNNx/4wptUy5+zhUGGeKhP5QI
SRtlJiKqMPPgu8G5HoaqDZjHs6t2POn8viFVlTMxjr5SvcqqZnXba7FQcRuOwaEbUMpMLxvRjmNy
BkJYODkVI1in8RTtLexkDi3Yg4hMZt6iY5Nc0LmSpJBLRUxq4iyXMtbPwvlzclnMP79cLsdxYO2i
t2RJM+7eUKIm7PWIGR9f6/0SG8HgwtCiXgzigugEjmdV1GRFJ2WxDped7Sswj8ZovBxVsmLVW0Fk
T0z3/4pQnJ8dvXpcRxZhXeVfE2EWlrQDRdM0XCJ8Px3RUVgAe5pQqCRDwnHjCQZSfaRrLkpGFchL
rV49s6GYgWfDQsw3rNgZ2/i0sHuY+WS12QjC1X6EfBp0bypnMNsuAxa867sFq0k/linnWabx5fGm
Ym3zIpfYCVMihh0h6nS+pJqs24fMotgZMT+8OG2fSBQXsZgSSwy8DtNRM2IyKY0Wj3hrge0y5Pgm
TNQaJ3RDDWTNAkZMVHsAtlY9mvGcKDXloDFeRkR8jXa/trlmso9Wg1GeAmwQFrDNuY7Wwl9qKvZq
JLBggpHlfxb4w1JXrwEfGil7ae8o9UrrMJ8HWI73O+THJl04iWFfn10xMurnowpuqxiqhvHll8OI
//n/wAjAD3FwA8hGZxuADmXJq/0wxz9xuJW6DZjaEMNxd45+5NKadRsoaY+4zuM/VtOPES7kdKgj
UFGAY+b0DePCnxd8dxX/MqMvq0Usqy054DNn1uAlksn4B5du/P/GSFYI758uk8WJ/xgdoITf1PID
RJAC+AurZ2YmdvwyemlrR9A8i4E/x78u6CpJnFo/66cl3POTmpLEddrwSergSX5KJcrweUpaIue0
dz2O2ru2HfttZnVhuUb8qkuJo/SB8njQbvmuRzM9tD1/0rN2eM7VlbehMzbHt9xLbzWdXx7T8f7T
soPkW2V0XxjBsRetIz/xOzo6Czj/zlrwcTZYPSvVhOyi47jx1zLptAjhiguVtmeXWyMh1iuxUsZ/
sQ/pqNXrTJEa6HCsYcCCX4kTQcFuhbISjE1+UvIxeNBMkp4uZaWQb87uZ22vFHHN0BV1KGaaEIap
hMIrXxzB9Io9rtX+CdXXMaktjOz7KVUth5dFlMvS5H9To9lIu7207bV0jF+2qLX/Gs944m8Sd2Kv
r7zKEq1q8JZ6SXE/yYZ41RwyAO0XFV6oVxMU2WWkIyGrX/WB7RBn2a6RBIRKT12xoqdqsTfy+GtU
ofhyoIDolFz8zyvJriG9mLiSYsWkXIbFjak+l6iOflR/xCKXrtOmhFSZ1HalRENvw+0F55LEH76W
FPdvo21mkLToAcuOGppfzofJJnPiu+wkS+Pv49sfI9kt/IgeAtN9QfFDrok92YrGYaU/Gf0F//O4
TfG3ZGKzxTFAJYu3xK+nk5Tf1+EGv3n8KToTG7fcPBHdqlkXYdSUqSzOc1pBouWqEbS1EkUjlRQu
tZtaqocAYwFThDSHu5FCMhyjXZZaBixdj7CpSjVjGaJVn4t1+fXFuNA20730tdqC7cpZDp0JDztT
FiAc8J+7fqkEz041DuibaJMEnnSxTYiDPEsKfp93pZwhwdFnB2gDf9CiV3kZCzqLYQiMPkAOy2xy
h0FeFSdHLri12qnF9eWV1demcJesCY7UOJ9jqRcjUIs7Z7FEYQCLfSpXwbwXpBYcgiJdxpJzBHwZ
NGEOH17IsMVbcrqHLyRMLK+z0cPvBaMcLBuv2EhnczYtEcABbzi006OlhoMPHI9qE5eqEdMkfkq7
4axJrRZkiBQBiZsIDWWst49ET7Z2BaSImm9uxXzz0rPSIk0AFPd4e09cRylDBAyN7Ie7S2NAigGE
9ZaKMl6xsOp5cVzGDho9gkMHMQO9s/NQEpWeZS6FcJm0+BV1/bxxHjxr0dYMr+MRc8eLOTUIDQs2
PBA2ygFeN5RRMSgdM0cWMZQAxuRZEavCeoV2b8nmhQXPAfVw7KKv6xCipdYZFrxSCgKNeUepkZPR
oZ9sZlIwoBSrxcc6oU0Y65xrDzxQVaz7sb+crlo+vhQR+Uayfhk/VL0lth1yKCUqhwHZejtM2HIk
WclWN7E0yuHyAFIbDtZOJh1hu4BpGACRE/3Mp8fdFWzzrqZamU0Vh2Ta1Ilmw+VSkZkzUDEMNRIF
acYpk3vukHYlzP0avjQmg5q/rCUEJRsrbyHcs02ksA7SRskbjyiFmM3KTkp5v4NNyNrCasK4FunA
jnmzuPDZAcM1S7IoY7r/ubqeOhHYsXF+ilGq8j6PdbJ8ypRqqdCAi8G8r/JG2CwbdphsblQ1sdKT
EySXBw0lytFOYbIRATiQdX8cU1WLfRkC0lreJc5N4N0CwPF9lNGIhQRG/wz/q3K1QDWCYaJ+tYjQ
1IwlXmKLNbZlPHeabj6WVZX0OMtYzMPorAG1aWPZS4g/X/wDTRYP07y/jdfhvP/Q7NguaiLb8rNv
F0pRa/zGu+eFC52GL+MO3hpdF4w9OadDbRjXhS22yjXUKDkC0yGMSqk8BLXs/WLcxySULu9lwe35
EgzCBPI6y6L8aAsVXZMHZ8alm34UrNgHYh71kyl4Gs4f2hBM5yJyPd67SeZBr32qHlu00y7R3Jhh
qmFvTSqU6+y7XNJLjM27TGXzVoIWss7Y5l9q0LgoetXdpzo8111mG3tkgoliR9Vb0ucuecMb8OOL
sha6B1pPONcaB5Yx6Kqzmp2GV3GgBbsdFuUmIUG+2zsMZtvUsbsVa6oXdATgoIDooukyB5AQLVje
kMcWqWr1/2UtesMCOhyr7rXdiMXm4UhQD8/TwCmNBH22PRcJyaUjIeuSt33syE4MO8FtEDXsdlgu
CnuDm0MZ7sLPxpOtfDe+4Gk8XSJTGSBj3vi6bYAj4IgC82fjhiGZNa+3aDUyft0vX+O4kbxjqYIN
o1NxEe/12ukU2PMdF/kTQOZ+a6e/gau+e3/EWnzCMgXbS4XGahU4BeRaaB0l8VQ53UmGfygbMu44
Tt37Oir35NFH9p7wolza/mQs++HtOA3Kdlq6nwbj8Z28HecUbNhPmbH95PbPipImv8MytJ35ge7X
HbdZlq9s7w3vN3hhxMtwZtWPwe1W7GkxI9lRZ5UkjRb0MbxD7kI16LiOm4mUaKICyVK1WfK+1u8B
c8ne4MTq3bHX7tCRacThcOASInIN28YqxyfSa3E2m4O+uakh207vu+7AHTZouDUOIHs8+FLc8Rfl
eyII7BxcVks+aRoORvT5JsjxekF8BHrKosJqksqmltSKQWwNvAnaybuPYm2UD4daHPDw9TIddocH
OBeJ9go8pkt+M5uCx7pM2+ZCYxTK5fRirInbZOji9nvrOP0W28L9DnGo/wDq0/I7Fa+3qxZViy1E
9sd/arX6Feu5u2psOv9yu386+sa6UTALOuiVDgG05BxKl9QQY3nXaY//ufN7gXlg0p4d8bqM+o23
YaTGoWzQ3uOcqJfET6klJZ8x64IofF5YfIlc+nV3lKA+P7pEw3ZBiWS3RFBpoDRLxIWo5ygb0uYW
Ii2LGZwlzxtfrQ9Xcy4htUfWUS54OYV0v25DQDwHShS/JS6Jmm3yEtT12VJX3YWvVfNVXBfnVMQF
16mkm8Y+IiO2t/j+kSQctkS53oojHHbZkP+OoztwT3VsTzyYEN9PKe3HNZC6QgzgPCdkNS7zvIvt
EUUtVlfExg6Q2wiu1aj2P87z2BQfNgjws5msYt3CvhM6M9pQgx51LlkUBllnhWAoqlr37sUGrOAf
zu/D4fING8fs3vYpKEDNe2+1+EcR7c+xm79M1y2ziMpC7PTvG7fYaC0OXlgGZiuIRdeVvFFKL0HX
3UZj/yWqY6pGbJnk1IAdLPXQgjJsLBZDwoR54tSdV220+nFVARP01gED6Jyk+7wtY9HqedqWlmyk
0n0+B9zPITtYH0JNztdtEW84uXS60Lzt7BOjZKZ0JXCZr6pQGiGO5PvM4TAHLXRd15JF6EPXw3W6
Q7udVC9dniKi+IYPp28tjslYpx12VfuP/RGSe15xaqKXCU3We8g9VjqjzPo4lTizsSybOlIbjh3x
tWEGJevcyvLjFhACzKC2sGTVXQyp7OSY99tSjFqKUtaVNvruKjqeoGIBRyyxy/m0WoYe2NKGNm/E
6KUXP74q2BYF+yo7bEyjSaMsBgYLpl1ZR9rLDxTew04fveDnkAtNpH7NILOCJfHKFiDcZdvEh0tY
/fJtgqvYBMMSBZXtIoU4sw3Dh3IJ3uibf8Hs5FGtpa1YzB/nzgaZMCSO8fd2hLIGsiyf2kCiODlP
J3sx+NmX8QNHtO+Gx/1iS3RfbtGuJ3Y/ACgNbc5lUWweAa30qfNlbCWPhw7TAhCiwfZad1B5b/ps
ZV/c6/ZD3q+5KShzxd4agyHOG4y/vkCECiNNscV8Y4c6ZCzflxafPzZoBlpiLh+zHhZ0NbZYEv4K
SuVjZVzuYv0uaoBqFI0LUSqL4SAQpQkbNhLw28OQivnTz9/yLjc6HfQjZfyi2OO1FiO12iA1SjPU
fonGKK2O8i/InGGbMfHkOUe/bulr7F65ZOrmx3yFOc8LIdLBojfUsFMh6MvFYaYZFYUVTTgTe9lZ
bK2OSIlN3MVHsvNLU2l+G3/xZ2O99f07p8ioZjtAb8r8WSXJyGiPwzcYzn65DvtoYs8qCb96u5zP
35RjlWT/Wzvz263DqoGhgaKxVNTXKtn5qFb55XL4sCQHTaDimt2atf5688UJWBzUJOl19Dx4u06t
+XZg94/jOL+Po0UJRo1RSx7LTfYYp3elITBX4nWAhi/jyxdwnof5y+7lApj96CxZexnPlKe9OfgT
/t2j711I78T2+GJb3+HWdvPlcYsrkapgAo4MXWWHK20wp7db0nZpSLknz0XrpZmwY+emCKbRI+a/
Gc4jduHAmfLH8fUeFSy0CG+ruxwY9BToJ4gA3aBfyRS9OkazZWbRr67a7zy+j9Pb+z0t51qifDCQ
nX3xOF+N8zx9N4ZokvZzxv6sZx5bArvBzLsT/g0C5fy/iksUYqgCwTsOLLPsxphyr1DuMtJokugO
mz7kzkpUK8rACTs1YyF5iIU7fbl0qjiMxyEqILuVYCu2a/AkddPSONa39GhFQftixF4x/m10baEp
GzxYKRojwDGFUESpki2BVTnmz7XYMf9zm75Tm48ZzNgd9gI0/zy6OSJVHP1nt1Ye8D8l1W4H7+y+
ziQixBWLhYOwqBeDUi0ZQbiWEQgA5oNNxtaolzWY5nEHpIUwPq0zIxgs4Vo07MJ8e4fYg2WlhEEN
JaXLQjglt1wmE9i2R/Ccdux0Yp2CLggSFYWblOVYh44HzbH87mJrZctaTYbeQ7nyQohSo1yYhxZ+
t5IJaf/WxVa9KUQlf89CPOm19KRXsOno2i7fG3V4exzVYrqFfkLLRZK/uFZcYJKM45jlT+jR6NKV
rrCgAbiT8NPZ90aN8jBpm3rpDEVrEYkjKOEC5tvZPGZ8wZwrCjAgXGR5UetP5kLyXZs6NJrWfu23
8QjjqXfz8Drcotq5LJkoBW8G+imtVnJ2kt4JaOHmcD9RvzZeuYx0QotxqOYznURXaCRTN7ob7Ohk
rkmxH7JCss+cz/EZn63rQz+kX/NS2sTz8U4rYjDz2a6EjLPqo9TT6ewSd7PieyKmaeAHVhvS5EJL
z81aDTAryhtPtrgIzX91CK9Zjm2nwj9CEnCh1Phz19KWrgMgRVQnrWfRAThX3taRiFNU+rDHpYwR
fY+tzc7DcdbM7oIxNkv6X04vzMe1Huv4/6BlEzWVMsksXCTXPB5HnP2w2EmGePdGOCoOXyNuzpkj
cNDoq7YS7xChQL+GwWwJZnHf44Z700qmtlERYPnbZoc2FhNfgr1yhhm5zFWOGtvlw8Ztd0gt0RV6
euaigfCU+bNIOX0AOh2Hu0K5XSaebaGey+srlBOMODnKaBr86ygVNZIxa+u3vo6S1IvLLKIimMbT
OqlnPwRMDYQf4uzYSDbVs8EfJWISuj0gI3qn1Fk4AKc14S4S0YpSCgMvURi6ia0R4a4O44mZFJiK
ckQvKTpmq3x1Iz/HGJDG/ewis5bblQweNH43OLN5J3nbkrsHZsVt0sJNRS9FFZMef1vpN4OS1E6w
0eR5QbICUxvFk4f/dThOB6XQ0jWqemYjQdv6/svJWCnxAyYUQm1LoJVfYVeyUFdBvdBYDFcNjtcs
jAXHrttCt3SjLnpTSYKMNrKO3CYJos6ZSgcgadGtTa+kb5ezqCKiDNogdA//8YnJAMd+URXAjIwG
O+KXSQWwVajkocdWy+GuuMDtGBngH+X6/jfHnWvmzII7WvVrokpSZc3NMaw3qKVEx+t025LpKCUr
IpmOqhu2BwB4OTD4BFMqotZck4WefDyhAeOvY1l0swazFoAIzZ+uvGWjh9y3khCywLvkE1ZtaLGt
bVqy0D/nGBcsfwlyvnDB4WiGLyou+p6FvWEEmOuS4qJA0MdGsyxLovcOGKaral1uRd+70ZOqgfX+
CSYqCjlvHLmnPHpPHXOMwFFzcc8Fmn7YGGyual0+/wqnrSZewbKBxhXLWQ7T9XQtWgnk8Z+ujw1m
Zi5K96fYZvRyKyYiKhJTzPDBqN3nmKRkKpmN63y2OKMCr5FSn9vupMolhMG36XB/3z1Q9o4nJVBR
SnHMp8isNbsdLi8ZQSnZU0M0LYd8nEWsHKbxMVmoPlq8O2gw/8sD6l+i7waY4LqSYOCPaVCYHb+r
n9DaKFXBQTq/4RfTeQbVHfzd7uW2++VxgcvPskaORSMR25dHSAX5GldIWP7zAtCeC9jksWkwWL6d
0xJ5S/34jIP8dhuu795ZNg58Viir1LQRooIaJnpn+S7+oXNP8Lt6AdTSJWQRtDCevgy37ieunYCD
8PZsmm7AJmLn1+ntoXkleA6H3cD9ALMWbqiz2xFM2c2yNr6lmm2Jmte4r+lSsyq+BLsSdiq+gbxQ
NtDS1836a/hKkZL25yu6Ad6H17+IEXP34WW+DmdzE8pGyjokzUpbp1TWaWgd6n8ADGSDMffRrLEf
IwoNl3C2qnwkGI69dTOFk/9rMu/7quqy6Gd9Hb5JQOTDK5ZJWKR2linHyBlhEK7o/nEFoah9WTBG
YS0b/FvYFijG0/2iXaILGK6O7j62h5jO0EjAnCSKSLTPUSg8jwReKCKvpSdgKaKmzcquVciIvxw1
CKrrqjf/cBf/sGNvR6HIusnarOkVwdYRH6IvkEcEgcJBbavIkpc3FO7Ke1XBBrwvwm9ZEUIN0Rqr
BQ+koHLZVaeIMMNo+td9E379/Nu5Qqd1E9ya8HXWK19XIY9lnLqU5/b4wdWmJTU6neEKjprEKvI2
ZLbqSS0qWykaySio+sYojkz5VS75aZxa1bV13mmk3haKyrE3Xis3nkm/6voxoP52XRtTcsWP4VhJ
qCeWo5dIaMKuC1k4e1Ibxl256Gzop9utxJUT2sAKxsiH3sUuSH3SbJNeOt9i4u32x3G4zS7eZX8g
brlbjZKFlFI8ywiFzppWVIZdVhrZqNBZXyjvVDZ11TXV7jWCoLH7zpOyTaG4NhP3ndVd3mg83naK
Fi3btsvqPrHvSlJCgWRTZFPDZFO9NiOezRjFWs9EnnNOiau1NNuZFXHH9AM5wt6ksZ6wKqMKyZbx
b6DIqFZSx088/jLev2EKy9yKwuCVoqbKPmurokg8qCgimibrq7bXWKCTjiE6XYo1mjfSM3qCeB8m
PlBPNRAzWolhQgMRrjxm1YqP2XTGTMoV26rPJcXhv4tvt+sVIrC6dTozakjIef4YT/rrma8U26Nn
G6MC5LoyqqRXjpMrz2ilguJxNjInWZdEkWZ9JX33bKAqx20bSSB521g5cBP+tBfAxiKtFNZvFC/K
GpUKjTIfjF2yV5PoQSK634YDbQwBXCJFHRPZAF6hqZ9sNEWWl6Vk27vtDDeAG9k1NK+OjgSmSp9x
y+nLCK1KBxdQVIymSiJ+UAXIRxgxSHt0TBDRvBdvCSg0WG6KlgS2M5bZY3RHEey95jmx0JriAVUr
KyF/tjEUrmw1G4cKGqezS0kdbbeEhKSq6LHAiHJ1QVVf91kT30xbhuKyDp/YJbnTj6y5o1ZMZYqZ
X0uO1fLUMzTFnQ6TLxxQGJlutmyWMm6vtDvjWVZNQmkTtbI5ZM+STzEhuyyUfM2a9dBxsdAniOqr
1hjz11hJbyDYFDrtV1a4K2MZblCRdVEaz9hHTUT71GBnmetspurKog7jevbUDQydVAMrLDrA2wn6
KJhiLpV01hrwjXX7LLKVsETRSkJOtNk0z77SQnFMNGmh1U568icCRhpE9xBSf9BK4s0qFpjSe1Mo
SnlW1JZH6KcCbQWNz/q4HR2xb1CZLBDLQJO08v02TEdSyLDtY7wbjl2Si3rs1e4idGXbdVWceNcc
LAQhFWnW1NIV3cbDRXn5XgzLFG3X9PEkRyN+5R2teYfVgfP0cowBpCztZiHVVTFF6wXW5XHH5wVx
jE3lrLJQJGIjKZmVQ6iJg1wxR60HonxdNYq6tcQExR3Wsb3sFdovlYWsLNbs/0pyTJw7GJdovRQ6
ZMrkNB0ORlFfXtGiUxRJKUkoXy5jHuHrBJQyejj7h7JUptyDVfaKemxE26muoU2twpLMZqI0tqZU
FWHPpXUrhohyRdbXnSIdJJEPpKE+Tt7TnWCdzbOyVJIeZSZmL5ynpWQvOkV6cG2jaPmqVLxte5OK
eVL3Cl9bhoRvFUu6VJ4C700hxIKFqbK4qWfTV/4NUe8kIkdi3p2RKtQQGa4dwb4fjweFTotUCFaj
i1qzwMqm7uuuTRjDRSgzIi6Yk+BGBEVbo9iL0eQnwqZnO4pj3H1PZqJr6eUXS0+xqJl3jVZtHyN7
Le8sEq6a0NHwEasYU/9ExQoPscQG24omGBUDlNvdSlYD/ypBu9x5iLjIirJsGskBCL5WnqfpUkEz
1bnvpQjU0yVY+WSxbuM9Qa8Fy2vzcJhLMSup4q0ugXKZZSvl1NGxj/cyt5SZJbN3CgSnLhXxXrZt
XeYpb7yUyGABr8ERZkfbo0KLPCX0BCrAF0UmOY/fcEXlFYk/4HBucpR/RSWoWSpZaxIbzm2Klyuj
FK2lNzFyoItTEWMIVoalmCzDPUEaedcqqXQWKFHYtA2RACsFZVyfskmlWGoJSFF1VdY0Sq4uE1/R
pRaU6EImoY2YqHWAlxcU+wlzPFeyfWvjA9CvS0juDNlg90sJQySXomG0uPfjXIdvNalXcFZ8Ug3W
0lNEQSOKAg87UJ5KREd52IGSD8iT8UjFcmo0f7Ps6jxPJqFbSWz7EP42e6koxaBSmAewDWj0VADp
UlZ/704Dgg96CoxnaIeGfQohhq6IQBFD6EJzcdYRv3KRHKRxWxoEom9QMhI8qigZ/Is6VOz+SqQN
FHcsgRBg75QYaSmpFhHCET9VJapZB/sDpfB2nl6nPQyqQm2VsI2ZlsKGljWDviKS7xv0fLVRYJgR
CSVZXqL8x9//rAitXpEBa9imZpBUSrwfkOUuNM0gnMpz0mkrQClVrcNRY+Lg5TLcbPsU240fGE+2
/cDWKZy51YSWY943VRWrHsnIH2jWUOsZ3w8sZhTd8S62mcP8u0XQH3VzOpZtx4NsuHUXmW28we0y
OadhP+/299tx92X3EX0WXKGmU/CmV5frh0vCuICfTRv6qdW2X6whp/PXYY4vnrHtEaPUxoNtI+Ev
vFm2JwbDONwuV8sKrkQV9Nj4+gpQMKXQAw9ZLAti5UnNnsrmumz/22jcA9+qpFUYJ/zymG5fZlvB
YtghftVVRt8zOWZ3QQaprWyI051v39mEHrW4jLJIE75Mw8SFXSrmT+NRnI+wetgqa5uiid+gjxw1
oYas2waGFilX5z3/Zu2TALwYj3uYZqyjP0PZltH1cVrw7fLDVzgY+8jpVZglFAa5wbKblAJBBGTS
hTL5u14IwhyKSHH2dbMOMSxPqz1K2dCjADKsadjXZH6cLbDweLx8Aw3wsSXdi8tnTEySX1aXxi5r
O+XpaFcsWojMHM0NWaYl4YEmjBMeVZe1ZaP8Xi69b900tVEXymeVtM3OaBqNLkuiS0RFO8CSUXZt
rfxY00oax8vbw+giYvG3yJs4oTBzBtUQ+3uFePIiZM1qrQduD0MrUd8DX4xJBVbDb111T1+qgKwk
8WB//u//+Lc/KLSZh6LZtXZGobDH2RO2vy3+7fvlGG2klVFATBawyMaxOCHupW6km0y+TaW8TSW9
9uPsygABGBS/VHYapky5TMnj3Fu27DDtovNsqdxfhtuXx3U3zGDC/eZ77DZXWq9hFk7S3Lb2WRZc
aFmtDS12i1YZXPY4lMPmuuPJbWuBMcInwMP8eLFVvKAYziitFMItckn4szveUE5k1XIWvnTmDKY2
z9pKkSeMQBh4DH55CQIruy+Dr5dKBU7viuSo6zi9M36zxUDxZapGYv6qL7O+azQZzIw7XpCTtV1b
ajK4kT4LLaCSAAgJr8RaRYwMigW3c73Z4l07shPiLpiu0ORgLj0nymKEsc7ztwsMY40G4/GAfSPq
a1eBqVwot5DWVZSe65xPqmCz7I10oXtT+GGPNorr4hk4kBSH3dwWhNJ4ULweUfu5+8Ho1nsO+tPI
pa/mV96Vs/atJOux5N7VHLvN7uJcWzDrNKivqdq8zBTC5VZAgdBLCtK/juifW9Q6uNmA2IF2I4/j
wdhw991ttF328EUO3mRVNsl+jaOVmG3ZKLYlSRhs1tc/O5ooeiGuoJh0RA4AEXcpb7S9UcQCdkg3
Maoi0EdOWldNaV5SMayrOMWY//RyBDIxP664snkpeTzkqCvk0ZWhtdfRj+8fnqWcT/s63bCKdYQ+
HzMIX43DmeSjDgah7/7V6GZo/Tntv3wojnopKUG7SJUZl7OJZ40tSyrBkHk4G5b+p2ubpBmhdRly
YxCDfVgKQ1o9jPuL6xUBHp9C9YW0rzpr6iYSLrQikAUMaAQ53qy3Y3EzUEV+hIFmOOslxNPZuqt4
F8OM8EHWOMK5CGVUABXKKSuJOHG73DFW9sFMgGKhJOfPK7Sdc37scyqPdxgja4W5QaQu3Ltjhis6
o3rwpsrEvVnS8vglO4FYsas6ycQhwWMjCUBagzFt4xddkhBlyFwnBs/3YzLa1iQdfMUPYFT5ZGZ+
uw1XGFy19jDMuycA8rg0DyQ+4YLQjLZRJWBjUEX7WZGV3AWnU3pKtHbQxSbLlFWKNrQdymfHRbGk
21xS7JVRIEVfatZPVYUapn9+olyRYKIcfJ2O0GHVdivBZhxAesrZGzFwajdhZx7ZMKFqmFerKyg3
OaKKG1pLBmXwIJlCvF0YHMhUH0m54raTrpg0ca1oYjFc4+PAc+Jty0ayPULrZUPsteBRUKIwkkP2
NvYQWAakg75YncUpZR1UVkQLz4HwsUBG1Q73wa5kuNcY/rBPhXCLkEa4iHofh8VOnRWHPAvdDz9g
FToLmwVwtt/VDg8F80lrS5cRAK0Js8krP0/xYJjM7Za+B/ZDStYBXB3GZPscFs6PXJLuCkuJgUCi
ZUWVdHncZNsW8svakJEKomdkBuPwnhQqbsOcShmajH3b6iZjmWWSQ9JkedfUisXR9pLfbn/3fLGG
wG7++qbIRZH/6sxQXq/ZhLlEl2sbAkAg5sfN/8kGRCMdev/zF5uHsuNNFGKuw0fn3O7hIRrw2F58
LVnZgYZTFCu7BkhXdL6l4dtuvu0RFMf8j8GYH9M+MRkS5QaTzDnGT9Yh3G2hWzGoU7VVFQOtWZ3f
SZptOp/H2z8s9g9fJ5GMZREl1L0ldxs85gIaTl9c0WIqbZn3kuiqmirPSs0mZ3zd4hCQ+nkf6bhg
wQUxhaHEBLcmZgrRqYPeFOfHFexANWaQs0wlK84Tc7cK1RadZJJalsU4miZqebqmwtZVpWq8KJfB
pBeDgO2d86E7D/wiWZipy5pOCw5XfTzZxNLpim1AHI9BJJaOf8XW54qwLfivU6KZSU0bZr+Nr+bL
9xRHsHwb9gHLS67Ol1UVZ7ILtyNkQxQrqVVS7yta7BU7UvTWocH/fpjHXV8rIISKpyvoY3wHT83g
awz7/ai5aCxX7GKPpaRHv2Mpxve4Kq3ClHO9jkBZ22i2rWjA+1Fz85kYo6yLqq5zLZTfiyl9Y7j+
AxtGQv3+eP8DGLJv9n8VJmMRGbBQctdi/3DBqCse7WEUA1wvzLC3Q/C04EyxUi69BPHRFuizuNvv
vBaFZhlMiYXgzX38BBf0Ewzxubz+ZAGtCt80EgDDZ2eUyGstmt8OlOCaxCHrWBcljUJg9ji1TzIs
U/eVliGrJflf9UXRZhoSKY/vfsXwtfIEmfTj1gSwcZvbvFtISlGFLCrJusJ/vUwHJEyMQkL5J/p8
FI9UVgxTq046W+ibBnsQXXDkjfMDmmsuXWaUkGMXZhS6tejAQ9hGvgCChECqFp+XIyYuCWRY1tiN
tne/mg6uuFeyOtoKB+FuOYqctRKNuA/r1upoeFdR/G0ZSpCIq2fZaUskJ1N8KPTy8XwPHP5t0Rtq
+Ljk9jPlbh3EHDc0s+C9HmLtV7ls5pWCy0+ulkVrbalHtqZDEQ+ULAVOsLWlLkQZ+o2CtJZMubo1
9ljfaiKxFW+LFIKiCpgEgEhLU3F8gPabTRm35X2OXwtrVjFnn/qDYWeY1+F4nFH07NyVKjHnUtIp
gV5TLGkeiqeGY4Elp4hkzlKE5fQHsg0GlZ2LYXzUYIclQXRCeIxiyXFgHCY2yhXO9RO+GgNhMOhV
EnSkeEx5mYr2Kh51yXxh8J6aPgaHVHRTF/dbVrpXoVwWEXhKTLKLUFbgps8atusNZUU0cuRqgZz4
fJEKoTLGBaBLXT1FQzGVQE3ilQutpINUxm5qWxV9y4gLhQcnLhSWt/EA/QPO9yTsuJfwTeQNHuBM
CaQtc59yjKeZP7noYOlFyzjKdsQIaExv6Xiboq+jOUZfrRhFGCv+MwtclDiqoBQC2IrDyKCiYLZV
T1VRYYmvYoVkCYHLMg0KQXd1XBM5qa9IpVKM1CFMV4mIMV3BhheWfdt0KmpkdWJOZRbTdTkfP8wf
ey1r1kth40BPafGiLC6FMZ0O6iqBTS9rJZu4kqQKBKjMJXlMvHu6HKZXGDh0jc5Cy6hprRjCBgPP
o0UUgczshixnLjph+I1YHF5Adb4ch/OXlESpuCXHZspIZrpSR8SxsqzJiTMIteqGVswsqBEHJd7Q
SwwGyTcs2dEDbAGSFMeyFeQA3b9ddlRgZef/GofTcP23y01xgvIuzvLexnG4SMXmIk7AeYD92jFz
ffPgkRw+UXc0sloS/l6vX4+Pt0lJolRiMRBxw6rZqJa0qDIpJtn2tZKM4koQtUJQSaM5H2KGhF3j
cL8P+3c1CJP3PODWYsUW82GsMbLBDy36IupsWz524zruumrKmertQb/0nYTmrRQlWcrVO1eczGlM
myPUFTmPM5G0qQLCKNZpQqNnMaX+uB0VkmBxJ5D7eZBI5z6/kZisy3G0fN+qokxKfJLjCepX8T37
MBGjaBElHMmkE68RCR6qUx6qDR+KOwWHywNr5Zn5Zi/Jl+hvwbh0srvg5ucopCwiw6Tb0UAyZR33
VijbpuRqOKa4XtkLUHym+kpapihEHWmLZJJgtGhXlXNyhkFrChwsWQZRZsXAq6t4QOtXEoJoM1kE
q02uoDY9TldUhphcQIWoKOY8aQkqWSOO314XR63Nb63CRMQxh+E1G/74bHytlALzSwCWOs+wWsSN
2PWy76PwbTq6R0DeByUdyQE3ZE9zKwJqERSjoVHiaNaZV96wWWFmqietqYtgHjFb1a66gkrta+Y7
sWab4dOT9v/Ey2fSuj6WhqUqEKYwrqa5oNuQCKuyvADzD57rxVQ8dB/nlZWqUmJYZSnh/fy5IN2v
nEI06UnVvmDxhiIseGiCzAgkVIiu2parSPfjY6/EfHikv0Woi1hMr0QWmT3ToErxk7gPF9RIK3j3
rEQ8qzgIA4+CcO7pOEE0GZvlKY5KH9Y+uFLyrOiqSqlAZ3nvp5izVbC4ERZDwksCnLqmdRlnNYtp
VNdFXpTKZtoi7go7YaK0I2ApTSZMPHliQOe94RVDYBiZf6QQbZXoLBBroGMVVCUp/tCy04rexDy1
VMyC44gVEV2ICe9gH41iYbJrpXGsSvMJhXXK0NYtYqJMy/110q1C06q6U3HsrYwWciUdWtSLzBSg
60Z6x1q5v0rSBlXf9a2GUuIsVFkHW0xKni+g5xXzU2yhwArVBuiJorxZy1xJxIDEXUHFzKhDYygO
p8bzKWKuTBWM5IqI4IWJhKfBaKnW2KaRgvTzdLoeXycEGdjUFpct8/02XZOGXMUAPiwthCaIxS1B
j0WfHUphQYqqkjKwT1a/Yg1zOFgvtN/BgLSWj+0ko9enVDRYjFjtTB07nchLVEbVSXmtOGpMgzIa
ZQL3enPWUrK2NFNSdd9VAFmv1AusLDUNYtoqxT6KpKuleAi7ARhAoZyaw3qwh2snYRU+6UblUkMo
ux0NI9ZJcRFmb26IxnGk7TqEsarh1KAChYhwXfx/Z7SCJ3AeL48ZXI7b9PK4a+WJmVSRvvL/CO+k
Q3wKlhFjKVWtgaRl2SyGBVvsreuTuaVoql7E8jPqO1zG2fphX7FrPdbwImGhBUT1ZLf7NBwxUaAQ
q9jkzIYLlkJVxXZnaaynRJQNLGl1vWJbC4a9Gc77d2iaruJFCjEB9TJsqw3IOzH8wgFnxrCYqYbH
+HeXo0aWRf5cjL5cKn6AhZOvw2k6+pbM8QYSHfkREMLGHEfLuq24koFXc00uChcrf+wIsAMrMbvh
fXp7P8YrTDrCG+CHVG1rfztRc9iRz4yf09QHF5Vqutz4REC9cVego3APLMK08ny6XOZ3D7iNZok7
iiHgAiWjlFWB9m28GxMs5kt0lPPE4zQL4VZ93nRdG//MSRh8x3p5x6X82UMRYXjV5aj8vBMRuA41
56uzqunaqAnXUQ3d8vyO4R4zNMf5dgZY5XHaT3d/m64RB5o7xlSOL+yikLAw+J+N7+iXt01eajvK
2ZNQcnT9phpR0C+zxMG6G4Ax0cFuwpxtdC1f1If3Ss2AQyJvFKqgrbDhiE/PO+xvl3kOWj2n3pue
DU33NkjdWvAk+o3vN4WDQ5rNO74722v1Ux1gcdGulQjKFW9czscLlHY69X5W9kaMwbTIfQSUL+a2
oYBGsXo76rKDa1CvL7gcRge+zfHl1TzIbIj9vsGn6Agus7q9OOfo3EKCrC+X8WzSrT3OsVLJjkI9
eGSKREpSNc6BHtkMi7CWwOxkDIc/K5RAy/CSj5iOyhQdlYdS2nGh4RDfxuvkOFnZTpVJ7zWdvw7H
6bBbZiErd9uHC7SCLFDEUkmihFkVDlN10EmNdDQLVA3Xq7EW7u9GIr+9+0SJ72im7CML5atd7OeH
sRpfP6L8/j1OurQeiLvKNzsdDZcmZ0lbQsklU8Aej2ZUG+Nvae2vRFk7gnLCgkCEDpmyZJjIeT5M
Nw0v21GwEq+rYaOFjkZ8oJhcZmhb+I9q9HSVJNUs8fjJSqrB4j35lbkWYyptLxUZYCwq/LSXXNlL
Ke3Fvptd5+cLFOG/T0ceHU+IbZ/4Xxl1IZ8pJl3JmIUiLUmdq+haIk9WmbGsFL+fogrlaL1MXUeC
UWRFTVfAwQubrDJVrbZkXEGCo7F3CxMEpvP7eHPxtJRkb+nhGSDKfatD0DvqCbwS55KyU3VmwzwX
CBfmmeXN++XtzR8CzaidOZa5rt0JnWEbWcHckbJFZrgxMHWMzZSnrJjYJ7BvbI/KjrqQXcuF2ZaK
OB8OPWkWQlFL4j96sk45WR+K7Tb0HHfrcRXKSxYiQQTlft/voOFuD81mZFfULa3n6qLo8kp5oUKk
5uiNKKKnEsV7KLkqRXLR0zDwsTfe+qzN4nMlrEBmdhKHokROomylqkXHGj9cJDkZC0uZxnBTDZmM
+XZVRvXxmjpVdtk1oW52Jc6A3LF++8vH7hwF9HbUCXvFDXXR9nWhkUwV2nKdrDsr5SYa6YdDUqkV
UqHPWYGn966VnTPBhiSaCBwp9kNdSno2SmxKEKTqQgYMgxfaYfrQLi6dZrYCNeFD+wL5xTkv5UfU
HKVKcim40asbUGz/rLKVEcGsX1zZh/zeSL+vGJNFLgmctamkWEZNGB1pIqYWRiK2WFpEUog+XrvU
VjpscaeZlYyo5zwh1HuFzkUR4aRy33ddXySkchEuUCqn0o03FnHI7CgX/VRKZKpqJW/UPZ0Dxm71
87vQWK3j8TaFFZg3QmCK0/DFYxaNbWq7QjiPze9OvzF29cBhRdUmYkC3yyWRe+sI+rGYPo3rrfF9
d0OtZfMkZilSjQmnp26k4EKddcaL0BRRId09dC3ttYAKZ3yylJ5EX60QNdEP9j0tNrH+hsAmHQgD
C8WzKQgZUojGa5FN2h14b3355JkO98tJMbd9onjFH4lxTfYlRdrgmv16u7yZr5KOcEmMxUCcmq2k
2KbdyqLTBWKuOaeFZHVp21IW65gVQSAg96WVIQvHJ66ryuVIDZLkquSaQaDjLdA6qkP1dEDj2l0Z
6zpVpKzErq1g8wFXHIOiw4rc93FU4nh9JbmotJCxfaEvg6L9S0nkrKwHxfphqSNmAHImSwV6Ount
8VN4n/08by1s7wgWuEo8uMTqHq5YQTV0VBGxUvQbVJBuijBRC9dceUxCTGkrVn/VhALB9dYpyqwv
FNbPn525AEOEH9mBb4S4xyNbimQjgOx2jRQHoAH069vFZ9fROK26DC37zvyTOlZIXhC2pS4DGepi
AGYbPilq+0moMe+CJAMuR6lq93oQ5wYAxnEcXm2sMrpOR8dhAtlti6LKUTBQQfl2WIPF8uloS0ec
+BhiSizCKhXL9xqnumjq6LUW4v73x8m+6au5R+wkb+cAMoQKNuVKMGFBGFR8756V9ITNHPwPgs0V
Xapne2VIHvz0ZTQEubvdlRkABQ0ywN1I0DmsQ9aKjUCsOubBfQA4JGf7sNbNcZiXxo/qWr77Oq5F
EhcVgHn5Ge7ovFfmdYLQpRtmZSWOfNxMizv2MrvcTra/yrfhFidpF8RbkzSNkz1vMWELsphWh6ur
vm2qMk6SbfDMfoIJRn9B5W8kPOeJLsdws4PsAzuBsRi20yK56WgXBA3P0XvP6OkYWM31PBqOx/hQ
UTCxSf7wPn72l1HuFlH6c1p6EYWsL9QZsFz4+S2GLi8o6bSSOJyCeSFknHhrifLcnFBbteMsc8wa
3j6hJZrwbh0kcR2t3/Xx18kkYcFqM2KGDNxwWYaEa019G3At4y/j+wujDKb0zh9++MuPi4T5g9NM
//i4xo/Pfp/Fnx1pgfFjtDEWm7kak2ixOtxEz+QD5eSsjXm1EDpf/hYfLwyHycPDNZE3yeOiKhO1
DWOZTW3DkH8Y6VEJj3W158cNze/fu3bh1rS/Go4YEQtzViivavLw6buVhvDogMvr6zze4zqiknSE
l+uk0ZvoRnKmOLHxRVFUgWVgxDnIcVgP6+TM2uHk77iE7yTh4zeHi32d5od5ENeT7+XyPbrPihl0
LHvkbUewfJYAQpzf6dbLHl2H3jkPaIFYRHRqGklBiAwkUgoa1VnblEWpmJdMmDM72nVaftxmY43D
/UKVrh3XmhzITc36raCucJSQr+X4O1Dqb+MSuq0kTnGTUZhhGee1ppYIuWrbponbgznTDMw8dxBb
fAvFRA8Nkdz3Ru/yom7jUtNXACy2uA/2932Zxc2ErJf0+/vlNP7/tP3ZciNJki2K/sr9gMstbpMP
jzV2p0hNJzO79z4PV1JAEmSgEwTYABgZUV9/3AZ3U3OoLjN2nXuGqMjsdIMNaqpLlw62gB4vKIs1
xxeCgtRsbmbNaUY3ins1TaUVVZJC1LJCNNyW8dC/l6F/ngihOVZLezk+HG+XJV4amYAEAqXXHwN7
UOKw5Thnd8U6B45TZ9sdbqMij5P/+XJ++2PNNyObQkB6mzca3b/P+qT8DwY45JO5Z0H6/ubLDZb3
rDGmpz5hvnlRve5fvY96epYlYuLUqeu6QVmDLlHHXYcsScSV0LJhMJwWjL0x4nb81+59N2PDPXSz
lgdh/Tijl50xCc98HB59+8sREOH+y+7rISiWSzzK19mCfxx3FykTI8ilLU/LAnDUUjoTMFLPoUUC
TECbrABHiATlaqC0+8Ewky7b82mEMh/sPBGihBAegUtLQffz4rMcThWgTtmOLVCf0czrKb14eskX
BrrR1EXcQMqN0pLtkypVXxpjNvD+CFN5SuRpV2OHN2wsvc21om0JNMRugx+P32WEy3sdd8t6vHzc
Qjr0kywRigCRyYVnD1Nq1R05tA4sy0K25b1n/PoUF05sw9oeQzbNPScAjKkSpzCx0J3idX9NIon+
5fAiI2OCF0lPQR58Rqffd7d/kF1p44gZtiHwb3sOKMfd8s+MPPpe+R5Thv8CsIQDTzrOOjB4EusZ
XmXbrErbXBCEcUbetOzrjMaSLhxESq/e5crVve+ew6TiW5pLXmwUjvO3/VW2V9l0kIgh1fr5AdvK
Hdxe6m5zBxv0uyXCTqrWF/Syf7k9XEIy2YbDkS8P8S36tRNjvn4z1h5VL+dReaGl7gF9LTOQG9fF
vzmgTSZ2PSeC3emCTZK1GMvWOTqxyoMBV3IecaFZ5ZtpuCs+661OqV5GwT2/Ncfj7p2KdbBSgAZf
6qFXprh4AR55oETxE/mNXMD6Cm7Yzd1pSWGQ3aaOQxe380+3i9RiMHByI8fJLVotXEIAvKwGkBEo
RR8PC8/T72qtkIJ8EGCe66+om+D5c+omLJrzXVy3409/IWsDzkkK6RYzK0DPGJ17oW3iBcnxfSY3
7cHIZ8jCE+cRtAG888hRStvrVFXTjoAtUhvPn+Vvl/N81bNSk1mWnkNLy7xi4rpv6hyaykaYKYaK
LOVtc1w0zHBGUa5XI1KGS6LixkVZXW0fKZLtIfEOSYrw5qLIrNj2876U4ePlztVdaTLg6bLoyI7T
DFZGeR+XpnMbvzsoTKF1j87Phq/sW3owLJT6pyZzwa4hQGfGjtPVvJAl5R/tt29AggrZgrBlazf6
hY2a6KMWYSU3qQvH1K3hl3sXQZZTlc+FZgNEoQ9ZEd5LiU9wzV6DP2Y5XEMPKzv5BEGLvWF0frx3
c2WKYI+sj0hYoKCXBqd0J8vJyMmJV9EbtyjCIX8u8gzy4gOz2NPpR22NfDVimkkgL1jYP8wKWf7d
XnNmEZmclZkCNsdyfGHyZsN5/rr/7ku7ZCtDJJQ8DEfi9fj9mwAJiUTkLrprJsgu+FNxOr7d2UMy
YTLr5TgKQQqmEZ5LprUGTq0hWrDB3iuOFEzcVoRafqRrKDw8vLzsffY/cTEBRLaENbqHyBul4WQv
iZrxMfSkEiGEDMj6kU1TiTScTMIpNpsinKHfa6g2Nb0s+byKkKWSQ5aai0YvNkzJhP9Ygmeb8lZD
P+z97ba/NBMw/cCB2BRHf5gtzoeHhJBYmgwHLQKKTNnDx53s6emOC5sOymkUs+05zb561W+7y6t3
8VJMYUU50lt0OreQjPYvdNlO5NZiZuTpGGKmCKCmzvjjPszk6SLnKer8TlPkYPtAxLY5FbI9NpbF
1dpo5cRIvCZMmPLHotaSGmPNiDhtzeZ8BW2KM3SMQnQui5aB9bYc9I5xyW0eE6aJzaDk9KOEImSV
tA1SxRv++HG7rRgA+veasFkEhoR8mnzFvdO2931c/RMoH4+3y76awmTYiLl/xbrIFQIJLao0pTqV
Dd6iQK7xF3lfXak2VDvMAG4BHxa6J03lwNzEasQWC4zAqHOaM8LZUIarDeM8hDLNz7E0p/QpLkoU
f142DqrUHSjJUWahiQYi9mFhZ2Qz52hS2TbzJPTMC082pOSySvofT3kEI5/8N/B2kM5tcTdwulAD
MhYnKYyh05oTHCui0aspQtRwkqCjmubF9kBBq54LX8dni/KrUl4t+f/59iCbbmIk7mK+IYUkIhJP
4IXkyghNZIBPSGTvuplpi6XkblrBgAxscsGikRKMicxW7fF1neu0Yn5LfrkgnngYygcJX3wO6/54
PLxfD1fZ8eg4nyrsSvQKMMO5lMje0bx2MCNgLRync+IK/nZ+3i/JVvK0DUevUTyVbt+8ubP/5uvg
ZKC3ASLRFLb0O9G5m8QG278c5s+/70++nCfI2aZV9hr5Dt0aZD1H9imkss5/juk6GStzSdS65ysY
CsbieT6ev+W3wEJS+izLWFXZgU0KCPG5SixAjRyn3pRSAk2XZe+5M8YMGmSps9lQa1LznkZQvP8t
S6Fms4bks5fPuS+DLylOcAlBtxyTuwAdw2ao2nF22SY56WjcsIdjmavi+30ln0UOtDiQQBGUrdRT
IXBBeeGT91invvg+6v1UwxTEF4soSaIi2sxORuu+k1G5miz3XRFtWp+H93N5rll1g1JTWZcBQHXD
hQCybQ6NnNeICIbXhIkgYjLPVw2qBxmNquPcFtLaGP+sZdPnaaJwNU/dTRxDFkU1sMi+uHbG5WHQ
pUmdLLWqTCvrCkGRCY5Jc77BXeDVY2Y50koJ3JBbQq9dFPlaMujIlp40aVSgTkeQKM5LrZxIQUAK
GYzmfspIkKQgUu4nliLMZ1xhvtig0PXLJRQdrWeUEjiC+fLPKiGM4CjtQLNRYyYw4PB6DqeEvFLk
39DKIhsukN1opNCYR86Lob+bM8adtkrZUbaMLKpiEns6OZynuJTpJf3AZ86nrrb7iL1hQZy2LE70
ger36/7j+bzW2/p6XpkHnEonpy/JcIpzgQp0IzuXlLXxN5QSSqNF+QmVdLHIe0Rhg87vYYv2DyX7
L9s8kh7pm9FJhyaT3BMbBk0oILUuaKIqiTUnG72UY4L7vgnsbO+7hvGo5anIDdXtdDdNo5VN2sBd
6RT4CYlenpNDeRradZxNym6MfD217KB6xV1bcMf5HEQ54DQy1zkeLEZ6X2a3SdoRRQ+dG2aFg9KJ
2aqOha5ZybNPl56QyiZSeXafHL68cbL84/m95uyYjk2Y5dPYZB7ClcjN5MovNcm7rEAF730JZiL5
ZLjRcQxTGu52XnL6KnlvVOSGNZ8quDrpjdNAX1/OR3kIyzk5q2Lxn9WSCZbucqvku4L8l5W3ZmmO
54+394fddXlFxO8nTkXXLFfKWxL5OriJGyXHc0DebMdJ5YtvIeB5MnnrTUlgjYKNGORfHiEkk1UV
X/eRHA4ZOKl6DhviNak7THpPkIpYwO5qrpqfj3SFzFhM/1mSwqUHHzaZ/1wQwO33u+v+d6fnP4XU
4RldxwcWqmlh1HgZ0nHAa/6vLem/tGR4a0J+dzz+IVFCsglho2lLPQ+4iPkC+zKH0W6hkIxzDGds
i2SBADOvs+3AtQJZNsLbBiPvw1VBOgGE4e+mlxLh5T4LlAjNRIEbphnWwQYWrCKg8m1k+eYzXjxd
GsuefKsdXzghx2zYthvohsCTtXkxk9/IKT3ibMe+7weQbSAU5X/dh3c0vJGc999n1sP7SQyki3+k
DmNfdoe4mN0tYwcgEY4Wq83/3G9x2SJjufFFmGxyreO5+b4RQr+XcPE1BylikCReotmCHJ6PIDgy
wkQeJumxqb7PcZUJvEhUI0iWTdpfjAaIILHl1uk15kSvZI5m6ey+UGcyFhw5n5ZSGbIdsx0/pSRN
9d8euFjPUjc+Y44fQwzqPw/732Rd77hMCy6FCRQAs95SNf1DZjUNWwLEUIKyIus72SKs2b9yAoq2
LMQnV0kGYsT+0gfMa9sBAIsScFLfT70s8JabRuidG4jq+T7LP7nNSBgKDlT2Aic2RSOhXuywkcrG
0JB0og6k7D6yP7jNpX/fXa6oqMJ2larMqloaLTeP2W764MT+vz8aupyYEXCsqXzPV5r4XLGixiHa
5SBgTzVspjrc3YpmRxjZuc7GjHRK3PTI+mQ1s7G8H7a2PfTYLVx7WSGy0TtlJwAUCJ1K+uBGb80/
Y9+S8GRIRQepRC8SKp0cnmMptqq+kPPICPUR3q8cm8tvUI6S41KnVlpKdvLYC3rfXwIH7whvH7Lk
XE64BEe7SdYyzUlRaB86mRoM9Jy8EyCjuTHn2BLbQroUh5SVH9cMe9nVH+WWMykdSC6IGbUopqG1
T7wyJI8AN3MZsB6qefHGWhHgh9Iiq3BpEY9Z7twzkD/LBkRStiY8Buoi5XqLdAxvh2uoypTf7g0O
r9C1xa9/dtF/lN8jCreJ/VruQSMjWOouhhSUkcNZsjxrtrtSoThljGfYZdQyYzPB5i9kyikI4tbS
E8Kxcluknoe/ZcV2PJ9//ZDrfchJMs4R1QoyXlaWKw/jG1WE2KwsVwMHQdZrmbpe376E0eS7yaas
rLWaDWlBemLLIgrBsLJguIYaWdDnUPGhjNheCLR2Gjhy0A2DjzUh3osNIKcmcDLD0RWptam9wRJ2
BgEX9wkKU2YbrCmy7cNLnOkGCgX9h7daJxLFpv0X9kl22cZOzhtcK8/kOzSyzSiDx7dm+MgT77kG
TTHY9LDVLW0RkY7N4G/rEwZZd0vteGgUPoh+xuPx4/J5H6ObOB3Z20Gu7R9sixsXS1fb+wyYCemB
JlfHkjidz6ZeXrtdGjIEfxonOE2diFQCezaLx7UpcNGNfGhWjfNBynrCcZp0qfAJWeS7tUMIdNH1
wNZjC9lmMg7Op+LNzdTIj1RdcDOA9rTb3B5K/MksftlsyXSURF46jWT29xlhLsu2Tits0tP3J/8O
h4+Zwh5Sm761SQ52z88/ig/KhrgAq/gv+9eQRuIfgpzdotv5AnCjYcvQzeSfLJIFkA3XLTn/IK/Q
cTCZGpeKNSFh6fgO63jfJTXQ66GzeiWZW9OKkLuuIUuuURaLWtTc8mrh/bL/evCcSZCIJSFK5umG
8kRScMR22gxAJbDNAO9Tp2Tj1JGeU55VIr7P4/lZDjAMnWhlZxfyk0VuepMMYQCXJftx5FoQBv+4
f53vxLL/chb+OAHUwedFgoobzdXN3Re4gfg0G1IoSF8ZApFqIaZba4LNsqXUbC/jtVVHtX+S0w73
qGxpUm6sxm11UxkjSuVw3cgWXi2p76npI3LQNb1iGcoyIQz5LB3frTRFukDymmnv2LEwNWFFJP2y
1riD1L73/u+9LVuZgHT6rrXTGbiyrJTfkzcygc3zJ5u6xFo5asf2JrybxSjPYmK7JcpkgowxHWeZ
V2MSDn3tQZ/UUn4VV9YI+Zh9cGJKXdb8G0K7t7cZ5j09FAW9s7/4cLjm7NQjaI1hSarTEFiZUfFv
ElSb1Fg9yY8blPkf38O7diABhM19WTpCpxa/KA2s68XbtzDPx+8p3Tn20fMm8/IMagwtKcP1vMg0
tbV0A967Ie20yBtaH+/P/mEYoi3X53S+IGzpio7Msb1zhgS/LIbrF/+5jA1Mexyk6DS0PKhQazaU
xx/9fRmnkaTIZVgp0+c0+cvPUPcbwzBDn2pNFHjMIRxi8azMn/CanFJsbxiCkdPmpD4bPvWlsVWt
IWOHNyqHbea17OGxqflutkxTD9L62CT6Mg9TxoKGexChpEDrzXnZ6v70ksfHuz/i5jIiS3i2ZUbx
1u6f/nCelefpOXwVr1fQB0+CsvQqbYHcPjfv/mnx8Ph2fPgvPkyAn6zqcwOUMF6uW56dQO/GpEc5
/LBXoetAGGR59FcVBX4fXuR+lZeyvAOr0kPgyzt74cnm9I74vB2HZ/mHUzaVH4LY3t5aK9WwBLuw
PFmoyvZSZBMPt/2b9Oxrn+n6zQ9HUCn/rjHl4Wn+8JZ8uDSPK5hGXojLbzA97192839GvNDr3v/9
Jr0N5+e2vIDrjzIcTHo7x2jtLNiKKZ8iCRUkAQoHGJmWevA/rEjlFRFuySo9dmMHptHn7zy0nOJ3
auqdAV+5PHniwC5PlYSnUVMmXvC+vhye52UtFgaci81yGcrfTeIcbG/VOEqZM2EdPbd+Z0fdSe+r
+dPrNHcDuWvswDXOuoX4nfFV+MM/97///gfYODqMYUZujOssCE9fokgHqjre7NMp9MK73oC+y6qF
YOM0Hmk6vNyVinwtuSFhfjkdys1yPrvdD2iHe26HIzF5B8FQwUW8barUQClB6nm9ITM+vZ3fg8d+
uMoWJn5M1BnNEB660aCrq3THfZj0kS912N2AfxvOeyQLmcIBxRPSsxsvW4yE+dflT+kbI7QnDDeD
TJbkM59fPQKMtkZ+BrHPYaWgLLv1sseyuoJXyTXLQJUrzgDMCOP+xll59/o8Ckl2C5U7sxe+37aE
2H+g5fWlIs5dJkAr4bCWPmtBwgj/98f+8v1h+4ZymAd9oFNe3PICtkpPc6dCnH50fQfFcrsSW9xR
8CG93Jmbjc9c/gVhEWXzFnhnN6Xp582bfdnZXT4Ev+0KdrLnZHRGvF1nZJ0/bXQ+xZt/Pl/2f/Cv
ujZpX6tLqYzLUPN+T/JdJKbDkRxP1WsjG4uh4/To+7xXNyDurHFIVionDgFN57j9vc5H9Ov+9uVy
/nj94p/0uj7EfzU76q8API2lRo86eI2mXj/e388XtBrLoUi/cbaTD3tQ3HYn1JsR2+23w9OevD5D
Hm+OesVbO2CGFecmhFq8CMdQd9Aoyoa7S0ndPp3f3sODw+hh9j7TIGGPYpW5FpEJuNhTz4HMqKHy
Y8+f0U1EfZucMxRnFUzeFYGBcSxQyfo0dwj0p6RR/ES4H8V1pd5NzG7vxskY9PPKcaBoeeXmlIhD
EpP+Js9h5IZa7Bjp3uGDr8AhomvJO7KM0+CIEnnrQ8P4Bfgap3ug8g2nUpxSk7ay4SV6JHgLqsxM
8rRIeDwyOS1/yq3GAVZV1nJ7IGNVcG0cZxF8wddgkQUcyHXLIWHqD77txTZmcQ0EmWUmSTkzAi9K
cYZ+G8X7r49Zab18n+/8N6LoAMLqOXC6P82DeSnfUcAN1Bi56GFL1FTSDGtnhfPpeN4hrkGVtidl
4pyPzz/Vp2Hy9fDM39gX14OGXzDuXPrMrbvSo/tqwDi6lJSUbOaGCfjYrFE5nGaz4ptRXPY+ISkE
TGbz8HHb+1TkGb/8uH/fQVhA8F5IVE/Razd2TmzXGuZjWV856U8EME1pg/tEFthO3jG68XnDkpOU
nlD/DPOmKBDID08UA646Y70uV9TkKw6rOS9nAc8aaFJXalJzP5/5LxifEYBHIFFvnBtGoMS3V6un
VzQERRJIAICn45AvpaEqiIB4h6QZ+MJ/AfA+cqo6/fD7pWIzNAFIpMvUBtkAHENor1Abu2DQoXMA
vJO15mYzlHlNwCx2m7m8f9md9kg1ZtEhzfvc0JtuBBKnJsA9RxSVypX3xyMAYz2nmAvBDet4nL0n
gFXVwLqd0XskfPQXRKL2HK3jXQJngdXWHG6IMvAUYwQPX3fHjz15JmD+PxwBnauJf+Z921TPxPIT
wEoQzoVeitnDGSb5PpOYAtECi0znYwGzzyN4pn3qGWJqVY4LHSu+XRWJKiLzHvRqV4D2VKoWuqf4
WxAQ9OEU72DqqNLCC/F2dfOAhj9GnKEbvXlT2sWUMTd780Yh74CnA20/jT0IitDIUn62zE81iFqF
WFV64kikWfE71SlI2kwck0CoF6BBqAu+iRVzu+1ZgSegjAmAJ85EoUm2qPZld7wiL3oC1qG4hQOw
EflASbeflJ7tBRTgzrwiz00lEUpefIw5GkApKvaHg5ukzKwCwLEa1rEsr/BiWbJPBO4vUa3efVPT
8lLt2BkI90bBRbRWmQlFtli17Do7SR0n4rMH3FdJq9DM9SiftZTTiE3Yu1Xs5Q0xvEvu+Yat3hD9
pxZrq0fNmTg3n7cFJm5skAavcgnTjMst4lwya2u842oS2t1dXj+iSZjN5+PhtJOTN6PuGjk5L+59
E62kBpaYKa6bBteN2Oz8vuLizyAgZTmjkzEoUC1jGYNXvGRF1yb1tz0s2ZPgYCYOjTfZfjVMnJdp
h/n/dSA6NABFmwg9sINEkghkWawX2vqO85qiigy8wpqHFd3y1MEd0kgdd8PikISviDxuQnRgNJJz
kJ9eqEEpFEjTRKH6g55WdsoiFTCMhdNBqygYWw2MtON0GXVeUu6U0IUyeiyGDdQMXWeVhec9cuAq
5hnInxGWlThIdnaKbYd+jsKHHNPznYsiWJ0P7yl5trE+C0D5oYx2sAwU9lVdz3kDiT1LuVVh6+vm
XBniuDqfRYJ4LA3mRFiUnPF6r8DAECONSsUet1RtbyKggLUltBJ52mpRwyuFA7SxLe/qhtzLDWAr
XIbbcBmOridmJreviuBz5eP2qi/KGiOkOfg29r7ZEfCMFGekolqLe+TPqUF0LMreShrNx/Npt8ha
2hEJCJAyy1mljT0Kgk6cKpqRpe4UounHidPwX3ye+B779Wpk82Go9vv2dpTjPZpAHRJ+LLmG622H
KGiilAJnooZJJhdQyGgzlZVRDb03knidzg/Xp8sZ8j8dF/QIS0oZlj/5BT10YC4DTdhaq6jT1W2Q
yUlxZiEey7///Ne/tDTfjzym5ahpdmuRVpzYLDrPQ42yv0dYF+K6+LfiYUqqGjkIREEv+lhzDiqR
5/UlvN3pfPtSyxfThIYIra5NsX8R6KxB9oq5yxbTq4dx4VFG5WAqnuJi1U/nU+zbGW31grNu5/Co
HvBNDMlMcb6jGZurinJEs2oL7gmKo0GuhSLdIFSqAMmIkdoY6YEakOh0xvymNXIO0ysVicWQ3IR0
W2Ojplodc7S3ExeCIdx9k9EeOIl7Oh7eH89eke2envZXdMCOu/GJZLGdhiQLopf8C0fp7mCHY2Td
xxkghHSj51+CzP6yu/o7CeSDpR39IwRL8cg2l6zGKPalXnGkJZe/NEspI5CTiQOHHPsGhJcGeDIG
Txoq3cPIEcTbGHfcPwc8/8rutlRVY6eGZIaHnrdL9oMbtQVE+8S5VCVfifeYhAkIZCWpf7ujb7sG
PQsSTVIu5pRE125/ed3/KwmEVvG0RjCq58vhnz7F5vjjBxqDZBHQfN/k6KEY8cCJM40GfS7cS9xW
EuwiNDcQwd7x15xwir6W9fweX0Fe34TAecOaGG7C+FMsGdGgz18BFpew07n96GJxL/tX3++kKbeh
Z5PYt7njwFMhl2j0KJuaGdK1eXet8XjOchdr8ddBhsRmR4u0sut8Ceb9zPDjcGraFtXxQcWhHzuZ
EBs7zktacsQWqP/b7HTMcOTb/ukj/Pt0MZf/c0V7EITE+D8gZs4XGtRyIJ8+rrf5yjVkP2ru0q+d
ywFWGjjvqCSCIaRQRBmSArQEhus56gRMEDg8QywzDhPAnCOXFRRj1kuVWtQTFfeDcI/Fe6c0yR6F
WQ1JTQyd0wfG5GahB7CIj77cJXQAJ0ixzKdTunMgyWnshfhGPwzgtg2g/iY1CjjVYBgbNr/PY1h7
lj8CnmDYmC8Z+lhwBiV+SmowKNSl7nFW8H6QtvCI67mwQLun79gdWhLFgFo2nP10M3Q3vXyrJscm
02uUWErTYE1Oz0s55cD0kd8yod/EEuO77m8x+eOafJrT7uvhdVep6mRRTyJ5IxiPg0WBqAURNAVD
NlYLJsXUT4NFwf2Bg3BLzFa+vKNF6cQbehgU2BCJIeC95Ao/kVTD8nZrkOk1Wixwn9gw7Ok6/3fv
Z9/QMJ0H0M8DR/+5rtdmkP0EvkBMTRbkiLmet+1TN4F8bFIXG5xhlX6pG+X8Bnqrp60TGzTex2nN
t6iVj7JZmr7byuk5JsR/hH2uxtyVttxO07Oq3ho71rja2Sacznlx4d/N+AeOSiYminS9QpXAw1Bj
aTquZDRqDBg5nRyH5U4fx+PSMqKCOCYuEhfcTr893tEHh2Q4nB5z5bzk+KhUSx+XCF3Y1PdlQ7zs
BLbu6B/lPteW1RkOSKUceIBc74It+r7E6aeGsn5Cg/Yrd8mX4ZIsHABMhQLjTbE+lebE4wFJpukb
a1Q0k+ZgmxzgZEiMvI4ptN5YbFuUWoA6roGTW8rLovYBm8QqLi0Mxa/VxFL1MTAMfpdWl2eu8Q5i
+msTmpjU2KORjaIn/08mNMjy7+OTdR9jm7Sii9p6AAMdV23rjROojrS8Dm8ta6IpdPRxFpKXAjyC
SaRUw2Etwc2vh+thvnFL4675PP0PfKsSrAMHZyhj28gD0PzvETYRQYZkkDXMD7gIncRISGICb8pQ
lSFbT5Lj97eDp9QqIQXHhRS8OrGjnHw7sDEAGsL8z2DTPk6pKtU/Lx7/D8DG0+vZh/s5NdWYgAtv
+HJOJtgKHPNhuAu2x34xz+fw3/u/QCSscqrdUIrLZT9/mpxRqb9X+DxFs4byrMMvx5zB/RKCBmMM
6xikZWQYI376v6U3vuMKyBRcDDjmAXz///f90fv5VzBEn4fI0hYGuL75R8JJ72kwyrSOcv/4U+j9
5aMtty/7FHJBW6LJmlZBDhMqA/tgNnkIkoxJdhX3VI3TGPMYOYcwjBFt5G9+MelRzmt4Zm3Gmhex
t1mcWD5uGkro3TjoQf7MdZygkvWAZUzl8ar8aYuMj/mXiflY4d4GGD88frwaPYpvlcfF2DxkRkv1
IcEsnS6lL7m0nvGUyhVUTicaSgQU7j9goVSOCg7bjMj5y9QUen/bSREPlWmsQRVvWNuuN4MDC7VZ
KAMmHxv3ToOZmCwgmjyPcK/FWi4NWVaGKosaWApigiMUopuXr14CfUO2/QX23VG5ncBQ1giHmcZN
v+5jol5w3sA4We0TBz9ajJiePFu1HelfD+5znlII1qSy085NFkuszRtFaqui6EX30O9V8IdgiFrl
+vtBFc/uEgtIXSqwFstdomUtQILswO3n0uLft4K+nN89exligenfVy5Yn68mCSrXBd2CbSLWXpWC
Xhi68DrudV8tDVfZewlL7/z1mf+0W7GMrx74A9gDC9rbUsen8L0ZRjsAbWonTkFvBekkPb0Td0YG
IZtUuroGGNSd2Vx7PYYPosUELKnJvcgGV5AysYgsIImUIoGl2uR+Pn6ksM4ls0Aei5C5YFiTh/UX
Z4ZRcaFXX8G+j/2505de3n3M9noNnUfhszmKtC4lfkj5cXwNNIRPZgBweHnZe7rvAbY4Xw4mNJH0
j7wMaGB5FF2+JcJOL2rNZznUrjN0XR8Ln+L+RRsxXxvfajAKzHwSt2AjUu/vb5K/6y3xooymAvr5
XptNJJ7LLy77IYK/njp75GlcD2/vqRM5mkkeZtM/J2Vr5Ak9H65e8p7BnNQ6WFHhGFqxzmbPt+OZ
11hbmcmj6KK/V1JV8MWNOESXN0eTJ8HjS7HXj0eAgMP3Ln+fM23DI8jpLRp/XWRePYwx5WVkDyGm
0cw3IiTVrCbc25zj/vR6Q/vS5wHJwybpxG9PX+JbGt7pBeedZ0Uii+urxl6wF7l+KA6ucmiW7Fiq
H0kjXw9P6arAI7NkddkF8OJSTKO4eVVJyteM+L61TnHhS71+abvQ3dbey3LRZRyMZfMsCAtA6aeE
6OTlTGvzNO+Lh/Zn2i5k8KLEC0I6tGSK2CzM06dHzBb28iaBNJP7hXiDMYWWD4RtDTu/j03rU1fL
eRNSce5p/5uc92dylCnYSkuebEsx34dQB+nVsr8JgbKH799Enyzb3+Kpza/73XF5Qfwl8j6BKpdt
Wpxin4fL0DKO46s2v+zDkzd+zMpIKZHJj2T0igsjQe/vfhjm8FIUua3JP+v7Oi19q8PPmXxq4Vkv
mwrVVoO3f/oS+ICrR1gG7ECed2/CUwdO3oPm6aXk4zC9bNPJM1fxGYJ4/G/725czgDSp2jrIUb7S
6cz9XLIk5fbzYDiVh8s57D6hON708PbXw+XjWJUelUcq3HRJGJu3L3HOYYokx+uTwlS/TSbfUOcT
Ul3SL/u33dPs9d4ux4czWD752q3pUPezZFo1/2uy74jIhj8GIPtgl8nxhTYv859L08X8HsDD80cA
RRVZsLaUqqXn/W5Wl7Ng7Y8p0ODNdX7vGSxyyPokt9Pml6jBGU1kjSY8X2qKqv01hW55Z6BBbFTW
miT1/PweYM27z8RLDabBEHl51qyphNurE5rFenCzPOqZIp7B4qFcApMjQBuNjH6i3WyM/GGzlq2F
Gza5NHrRJks36Hidvh72v/nYSOP2mnxC4ekLWlu7PjUS3zT2/c0O4cGJ1AG8fv6a+phbvbco5Phj
TQpZl/pdFQe16UnyuZE7TlDlkduNiJ64w6KHk0T1Cu4AkaJMnrOGqOFOas5IIrBVU2iqhEbLW3CR
yUw7FYZ+2p2e9v7lytQ7FbznFkcuxWcJO5efR4Twftn78wHLdpwxL9Wk37yKJdCiJeA3sHaXzXQ3
rTBainrFVzHSP1Te/gk3bCmeNgV9HUaYfcCQgBu0YzQ3wEUacoGuKTJT1tnQVyN9lzQxujaQvkrl
EztkXuGuit8vedBm02B9mQz4YbKIzGFsfzjc8cPpw78PhamMISfum8JepBCAvJt5CX4FqotHEx+P
uqwRhFm3vh/EQZagsSmiNksRutfSS8i0diJDFhRSEEn2ZXeb3eDHD3AoS8sAH8kYQ3+HoZSQdQiP
4oKSkvfU5QPuA7PCbo+8nLE8Zi3NBMVDhtyF3KSX1cx2pI/TYQZps8KYMQBgLQbyWIJJqWimIy9r
JKpoF1NuW09tzKdGkn7Wya20pVjxNOR6OVMUPNGTv34/PclTICIYKIyl31iO1c+q4TbfI980bnmw
cP/dV/2E533lkU2pIwyVAPnk5Qu+shHvH6en20dk0yoxkYHka5sioYDs0H9/7D+ADOV1BASktCsy
z5epVTWGytOwIavnTmvu3g81JU4uFmkWv8xh/233dPNUU9iVuhpXouyEWoxEFcpbk68pk5K/2ZiK
LhyzGg4Oy+KvLNVdkdnyxx/HkwKAQ+4YbdKtVR1/KZbQH+jINeTiGZOaWqYWmqGfdlje5qbI0+qI
IE2Bkbh/FPH68fq6v4b2JdEvCeuuS/mQjzI1sBjg4PJA5Nrm2Js4x+vHY+sMs8UkZWCFsEVfdHnW
EIQzhvxGk0kxKjW4ZD29kx3fjScHfn55kWeWLxVplHEHKupIglynrrRacZzrflY1M2g+fbzJgxCb
MK7Nc0sF+NuXw20fN6tF/+VbSt+PK6+nJyeeLof3ylBE/RDnYBnqy269CnFUMFKWBtKIYh0psRTi
o4pxDHOn2GktV/gmgakd8371IbyX6SQSfkmJ6YfC11sCz6GXfnh0sNJhcMoZs4HQJ6/Le0rj/bqn
52lm2NV3anYFv4kTM3k0YiNp01dvpH+7im9DT7npOhik66z4deJmY4RiTQ7wHYpo6oL0uUns87of
SY5o1kN6yTUHwddDE0dNtOZml/0LTFLi9rTip34ouk1v0gyaGjdPuSNvkBlSYWQnN2hxCosfuvmK
SIXv26HEdVsiD9mDqUr+KEv+xG1kIRtKXM1Sz7XcGzUxkjXIX6tSsgYiGgsWWDSxmFIfpIEE0ciL
S3rqnBEFe+E4w17mPLh86aVXwqf81tz6i8yVUkpeOLmQ5u6X97NE7unz3LI8LJk7m9tF1qBktdBN
3LfxDom/OOUTDxamnHpMyQ6NM5Y2OPMUZL07bjbC3o+Wx5GPY8k0DUvJCUxxIrRhwexmf1HRsD4f
JFw55V6mq2jS8pi/zXgjJYs/gK4yQfmR+0HaaW/mFZIG3klVuKzClqdVeMEz3kJ2DluUiRvAWWPG
Xss7oogevy9+Fg5eVjvjyKlBen8if50uQ6h6PIZ8UFSWNeWXQcL6hpUQhqIg5wNOucXXKqOOueqy
9bTEeub6Qrxt8nUfs8bcNgwPT6CLCdVTLhAMH+d0PcEGL++dEjMiXz+qz3T25KmNB7fXEJBD2lZQ
RSzvb6eA/eL3V8v7Oyn2cjjbDz2w6Qagx2QFZVNikA01fTda0+EbnQV0Cg9pNIiYvJgxL4YUQ+EN
lUebDNAa0bihvdGO0594aZO8tKmUs8J2pTRun5T5G7xHS/70RuRq7y5PuVUrEJRF60W3mLybExWV
TyeC2mrpGLCZXKoaSe03TtcYWG1rHTDld8k3SrUh7Dnl1vf+Y6+cnUXbDpTMCGTBdma03QjvCYGb
PnnLFcc///j87cc7FMdh4lwhelVnEwqvqi09sRZtJQPYySLdd0E+oZoQ7t/5Ro+78HiR9y9l2GVK
c+TuJjDKituV1qiXPVv5QjnLebZxC3NyMmjiOeVq5s1WsCDtS09RmgwfiXtAOiHrXnX94IAh7Vjv
cPlOVkkdC1cXwRwGp4aKYCJFm5OF0VkQYSCR+PVAY9MrzFNkS0gy7wu/PCvJK0kwgrHzKb9AsfEP
3i8fpxBjivnH4cBl+KQtQN6LKZOBiiYUU05r3JAPO0oxpbRMWa8a4PvNw0BV1o+c89tIywDJN4bb
6RILyTJkHAdRWfBeaT035dbfG3vvfFGL6ZCr03O3aXNUv+6/yyfjANIOXrl8MMTzJDo1SwXgxAYg
oD5ZL14W/HbllF+XXW/yINITchrflCvyNuAvnubHaVbN8WW8wHvJXguCx2EvZXHqkPMVeeerHyMq
APAqyJRbM68qcmyw3cD+6vKwdGG5vkZzE2FR1UXVkwbeNEE2snYaOwwHBF5Rxtp9B3R5VE7ybCid
c/cxv9VdL05l6OsqyckqaZJVkj+olDSfW5PJp7RRjaWRntxke4sBbMcxESxQ2T0/X6S2zVNusLPs
sC5uFelXhVc0OM6fWRSsDFc01I+8W9fJbh3ZlhyLc4Oe+lH+iphzUmmV5vDlIqsBXZUmmfBc2kWt
N1UX7Ju8Ywp5HoLykWnXCWFvn7u/VEuH/42pzZHpPMgKUm3XpjgWCOCrSYbh97nksmR3HM4qz0eG
oMS3p003TT8hZadGQGB5mtjXs8ohGFU610szJNJnNxWs7/8GCnLCHirAp4tqHBCOvS4tKCTWZRuO
QGHwEwElN5bf2tIpOP/XQYZS+dMhqHFbXPKQOfgaMgcrbibFIHf2lYnXyGa/ZzXfmsxKZib2vwvn
rGsbKkfdOlsNXcmivjzqyQOFtbVrZT8Hw+le102TAQQQQXNFu67ZPe5l66/YSN18p2LXqe/JsRQf
hp7yQ30b7zgyaedr8k1lXI5YP8HayaQPCTsTa4exkRyHGUZEHIzzpwZjEtNz1/Oyf10eDng+PPly
ICDLfaliCnm8flwu59fdzb/BLttkequ8VKokUXEjZsvx95d/VL2eyX76mICwDqxz7vSgrZVBiXIc
z+p01xulEDzIv+ZpUlfMPb6YdRfZgbwa6zi5zswzka9aN5ScglurkGNqw+7r+fDsbdnT/hm3W55y
ZQfvhQZ+pKYmNdlOUhbNAuZGV8tQl1ImC4NBlF6uDBbRgnsnCJtsVQZddbYAb8fmPvWd7o2RIaRG
AdyGYKK8GGs5HtGZ+bYNAIIN3M2RMglk9ToQ+Jh7DBQs38v5eDz/5hvBf3+4/XaW+phPuUXoureN
brW8Oc7AuPlKsoKrvUG4zEZhVodWrDvmNSRI8fYD8GNI6pW8o6w5f9sdQm180Ry8FpbK/gbJft3w
ufI+0pBYvsEbbwfwpGQd0/bKJjellw+x47iorRYKDQNuh8Bx19owBQs4Agb/7g4BkIt0g+CsyjZx
6j49muzgqZFkc+Q8eDv2vfQq9pTTT1m2TjQka2vKzRtCsm0ZOEdwfV/geRHsP/79rz4H6cfY3UcW
kolT7HHSZcKhbKZGbt2LDf6yCy9sXbDvtIl7lCmCu1AEGfoEVC6+6VgM7ssci1By7KsPLt7EQptx
6vpRNgt64KhsAm2KwM3jDH9PJxC7UXoSQa+/rZe9L1H6Oh9OqpUMNPn+yXdwTV1zZb2mQVgoaRbZ
O6RkxB1lHnzUIOUfp6Bp5TbPU36VckPFxARD8YCIEiIZ+lWTKaNSGlW807Rm7N3oKi7OWCP+o8wd
d5fQQ+PlupcxqSIJlASTVtc3yOsbAZXrW77Hlhz4dg2aTXyawZgyEwBrJNudVK1ujKgMB7YxVX0f
dg58JMSvnYzIAw6PsCJaCnkYwonyyRQyA62p4r43nN/jvUH7QN2Bu1t39O+l+MZuMHKKshQFKynf
GZKyw5AM64KA1idZZMNdFlkItNHsoygpHqPII2rOmi2pEbKEkgRBkoohiId8QlMPUEghqSDmvtHM
lkzlBP0IojTu+b7Q4fy4350+3mUlkS+JCz1M27SObBBJTQkxiELuvvRmWLDHDrgTiY6UgbBFcUsS
+ZQPljBgpE1JLXVcRkwKnFQKEyKHEXGFZD2AW0XmrsExB3mPrO9ZT2YHaVK2ALxG3T+s20b0DB2n
gNmpBSdZRmaGQP37qpAEn2RLQMgLJmH1AmWZOhnTdjcEFS7DAsJZSwaBOHMgAjQAOCmHlGR/rlfN
Z1Wk28knpoD1lXWbvGRaQnB3ELYbjX/8CwbqNYfxFhoXoKksPaHLtEU+jlwj1gEwEfM6w/nLdsqi
EPd+99wQ4iE5/STQjQlOmd0bJtFILO1VUur0Eim95poRnNusR8Xl5NpxcGqUZ9QhArfAA4AMU4Wy
0BvPxA2Dw3JGM76yF7m5SleU9y3bsb68A7pN2cuXtGeD3EwGpmwutAMYLPXwXLLwZQuruHwyO2lt
elmbdn0t1VrO+SBJvXWFJ2+g5gTO2VkbDSDLRX2aPEPk+P8gaiHv6TDwPqdyPVDO3cTyrr8e3h++
Hi67tx1OMhk5+m/D2loZrGrA0AkbIMdQBgcj8avXJ2sQmG0bChJspRqQBA5z5xan+tFNctRYofQD
2eLK0VJnQZJHcgLALjQk+MmFCFZzv20n1WsDc+7dpythgVhvcm43IbwirwL4MhblIW0qbUAEbmgB
+gThx6fkP1AR5aYFgb3Tn3LKSdfDIvP1moASO3tXNb/0m9k9zjt7+x47LQcmYO1WGtbmV/l0BS3+
uoE0lstNyV9P50ulWjV+njsEkldVNjOp9aLrcos8DyHTgW0GSY83PlwOr1/QhPq79svxRQb6dFdY
VPg8GNxKjaeNpIPvuF9e0fySYxBO8WOdP86ANvqH4euYgiV+Pq2fk54J8fOGmQ/5x3MawuZrJX7t
8m9ne1Numvxxt34cYmpqWBuGHt7jewAf7w/7UyRZUt9GcTCbZ5IpvXwClT00eReyqSJHgA9wLPdw
5PZQi1/3+euk1fJzF8vdTZHrvfBCeWwGnOTIpYop1cVl7D5uZ9+XMka1fFPKeTsTQQlG69bRaAug
/S306n8oBsUt+eJwZh2OmKG8LM8Q+vsHRlB5hISMwqOt4XW78MU6DUGf/X//P30iMFx4Is9z4vOf
6eGtENgQP1wuqa9A9mp6WjqtX8GP9es3zoSnlBeL9bK/XKT2S/7Dcf0wtdBOH+5uO/mjYf3IekLV
Tqnt2FdRQ/t1dXlDJhcTIJZmXsJ9CT/m8mfOMzvzn4la3J0O77AFof9VtX5uXHDA3AIJDrM2v8p9
vfxvT3lbu6BH+iVh0T8vJHbd9L9r8rSD0Z7/HKIcve1uX9JHb8G39s/CL33VQo/I2bcUpXPJ4w3S
mZV4tFFv14/H2byAhnixmW4egga0548fdqfz6fubT+VNLXVDcVFtwJTyt96YYR3Qz+bl45//BN86
bj3n91mWZn0YPln+YUYSl/3t6cv3hy/ny+GfPiuDbysUXnFavPqppAXuBkMjjHkEUniVT+24++4f
yZ0/PPxzjwbq14HyM9tZGEKn83mHH89S68C4VapUbY5YsWuSoD+ITUbjEwZEdYca9/lPV5zWrB5n
XHp6jt1Kv8mT6fNkyFMDZ9/4cvf8XJtHVvrWQzer0t6eHnbXzD6gvjBxFoaTnkBeneIzOLGl2cG/
SQMOyJKTtqFTZGpq5XvP+e6k4Nt016OcjaGQJgH909PRpzWfzrf0js3ahBU8oBkHTS5IGJR2PgzJ
MMuRL1kNV3mgpfVDGMjbFpXOe71Lz/v32QH5svdw9uH6/e1tP0/yCYyY6v+nEkYuc/rt8Cw80xO/
JlchVLoop4rv3y7n39DnOn9uYjeCQnyD+otNYHnhjcMoMgsd3i5ObJIXYE9+vlQX0hleZAIcu6YH
psD3TpGVxOVUxWYGDhoJTV5VaKumbHk2WW0+7I7+XQXJYKe9JjO0Ybil0/dse2+Hp6vwVF/6eiJf
d4HNT4b3AtovpitFRKwLb/PGhWTg1dZzI13ujqjxLnRTadlphXY63yqCxB8/XidnO4vmQgQvvmWX
ngHzKWChPWh6hwuM0ZP12OCrDsUxL1352w6Z6Afv36sUqSNbLTPSaU1ZV4UuT8v7fPf7e9n5MgZk
tEeytgj6UnQ/5od9nA43pO26gf88b+/j+RsSvHGrnXQGR4+7675JuZA1eAihUvLV7fzr/vSnmHZ2
fXj+ftq9QUXryNHEJwAGZhwPIb7uLocdPGbX89qqOoslihe3NNaybQXET6GCgCwZJQZqulIbPHhA
tTsi2bATL/ernM24AyPodHkVvxeLDWk+ZyPYorP8zFycwSRYsdUoX25HZIGJYHiFotLbs+vnb/49
zH/u54P5hs9Fk7sbIsqqT7ROrFx9xsrDWWEH7m7+8rqgXOKVzmZsHXF2bnfztw/H8+lVyp5MYxKl
kFtBLNryxXdpr+ySnohhHbMlLNDY/r8/DvMiPWJEQxlR+AJ6mR3LON6Xwwvaek2UDHmqcLZAwzR1
6BbR3RgJAOMAIZKcLMPkTatZ9o9RVV/kfhTpEhCV1AeadNjo6tPHWzBh85RO5/hXZBbJznq2YdHd
CZDNKOHj7VQZZKkIiLsTHuc1m0l9xroudarkeiXo4cd7OO2v0nvCyRpSczZmtEDkzrcTb5QYxUlM
Bs6PTTrP8vtDhmmbjXLsbKLqfHiZLYFIG6a9odZgyHIcTHXragSE+5b8vtWgICw4asHcJ0fgfXdq
svbUzvYERe3SA7NVS92PvGsVYKnUTSEpBeolBh050Ofd4kPL/32B+mAkOnIge3nOvM2Tt6xXz7v5
rHyE4ygMNMRrXV0PgzDtyG8lfazuGS1lEDRTkAqElcjtCBxLuq8brFSFa0uOYBhoDDzdyKrXBqmY
3HZO61WbYcLHFX068C6qhDMapJwujMpo1q+YAFg6Kdw5UIQAaDWhaoML+qpXOOsDhDP01uM1G6HV
SGiHjT6zEzEVPvx++3J4+nW2GVfEAYyOxxcLSgngtsUx1OQSBcwzdRmoNENkMoiOXNYifLl0Cjp0
dE81oTQ8VVkxn5o4DKSf7mIgGoVEFyyymgq01rQHxFB59kst2TILK1NDWubOJ07xttMqog1eD+Vj
xiGfJzVTyDyZrYXoCWO2vg2JjtLyTEM2EA8f78+7G8SMdBGx03B5xZA0CLTJnbGH10uA7z7o65Fq
qioLdXjeTUfGIuNfj+369DDiLFC3M9pH3UsQDAPupY3bve69nzsRrW9vyCcnHAUpRF5gXEOMZRJo
0GwQGljupX//HfZf7tgaskHXzPKOUZ5JjWh0xE0MT9ylBhIUAq3uw+MOTaYjDOhkiTVYi01fQtO/
Kkvd8+B02ZhoNdGumA1x04tmyaB7Q6jpSeXLR5DR8+H6ftwhWbHUg9GZrGDmAgG7JUiVMNPI8qcX
jsMDlwgCGN6IR+T5eL74aOr7rGmW95tA+nDSWj1vAA+nGNsPeCnYY7GjVboifelwjcVNrePIkeIB
FTqcZ+HehRcwX4/f379AQEnG6MNLh07Y+dM5EILH3Tva7UlY0uEUuxJBU0KkwKti7cZCG74dGjbF
DbxKTU4bmnvH06oFpXQ6p78hc3CntrrCb7ydX1/hRvSTYNkLkqGdmNoAprirUYn79xV2b/vnmqXS
A2+qsyouLjtanBKMftSjddy0NNiOGjQ3515566qZ70gsK75sRcQ0kKKVfKIkr0Yw++kGB2fu4f2I
PToyGRdyCBb2MbrG12vTZJY3b+6Jk+Uit+SzJL2itgrOMQquAUn0QxmTS/k2Cd0VD8D57FvfTKua
KTNx6QV/8hz2XwOk+Puso/4QxpAzJUYnpdt4B2K7USDjYuAms7s8Hmb0ffme8hjBYkjGRs7AXGRw
UTm1VJ+cuEFSo5ePGxI/cg7LEDRXCp3GPf3zfL+r25mTjYhTd571kz/Shy+H//LdJB7SsYfXrMGe
TiCbKng2T7XpDOzppp8PQ8ygRgCehgSDNpk0s2B9T60QVuy4LPIK9jcnxEyTN/nzn3GHf4vv79FV
yaOQhK6RPBN4fovvcX+NLwUe91/3RxP++u19d/sS/vZ//jH/7ccw4C9JuH64xXn/NBv3/S//8be/
//jHP/34pz/+8re///FPv/zw859+/N3Pf//xl5//73/86X8tQ9PbncukAxWYLT39qdPH2+P+8p8B
n0mDTOsgxFf5w/nk9ad/mf2Xw/WnJTt7HvB4lEZK6SORmVzJ62LlYcn7v+2/3X754W//+bu//PDH
X376+Xc//+mXP/34ozjBIU8wS0IY9m8/zQOfj7NU/HI8n+d7/rfZjgZ19h8//vCLdwcO36RhU6Rm
HVblYf/kAa0/ml/28W/7X5ZE9xRglgY15ERycQPdzC+765/3oajgFyNupCpH6bipPV32fivzDqzN
a4VRNdnH3MctjvrNJ4f5vM+84v/949//9m+//PHvf/iPv/7pbz+jAzJk4KwuhEXHUKe0cHImuWOH
MBIURSMfLrPWv/39519++o9//OPvP/48X0C0VCLiQ3njtidDfudvv/vrn376x+/+EMT8l06LJ0Rm
nc3IZ1XHT3/73T9++vd5RVB15IWQQv7qT/3+73//y59+9zc4tJ3KPYq+3s/+zvvGUlfxzCZxb/E9
91yMNBcj6g5ODlpv+VTTu4e0a0HT/Q8U+1hshb4/netp9379cr7Nx/MGBQBek77nb+6bXz0+rW7k
rqqkPj+hTAynpSRzhLWJEw8fyfiff/jxp5/LQ4Nn1TUra1klKFElfMpKteuxbGFIK+/q1vz0848/
zOcIt8PWNr0QXSC4gRYSJdfWruCMDw+nVwh9elZT1Y7udP7lbz+J58XK3D8u5yf/9en1lx9O88Q+
gpNcUYejKFdphY/ns2/ME5b4y8vueBUXap1o+pfdmud2DI+PxuF+97f/e6tW0Kn3WZ6IF1WVp/+B
3crqgfQ8/dwPtangfPFCZpxpsxzihduoS9Nq3JD6tkocFG3GJ8/WjuIt+eSNhqZoc7AVcZ/vkCzt
fe3miNsC9yHDXPIc3O8WYijeZg9GTrLRHLgD2wwhftyXd2wUz+Ev+9Pr7cv/CBf2Va3Tjjyezh/y
heideN5A9y5O45/+zz9+/NNPP/3w978hK6cV542BHfsf7NdQLIM3Idk+U6svqoqOu28JklZsBhHR
3CMd6flPgp1ei6gv/UD84Ofv77LV7ZpPnvFuK9Bcs3pWgo+yB86iGDpMFkr5wk418QvXBIiCtaUR
wiD7k5dj+h/hVhn5WM6XKMf7w+56A1i3k501WTB2sk3R/zND8Lf/+Ovv/1RBB6pGmv3wR1G2unKj
2qHA4Xr75fntensS5aX7jLdQkz6jGySkHQHZu2sfK+0zixyYUxX+6sufw1++PP3i2eoQYu5GnnL2
kHZp3e6Ky5a+jq/xxSYEl/1LCCsEMCINtz6m7Aoywg/nI3V+zLfdfCluH5cTHmjp7Vxy6Wlevp7A
/2+u4BfXt3QmcgW5Oo+zNsr25emx34H/2+v+dgxGbXd6DoXr0sjry8Vlb4B55JT5EmMx6xRDL4Z4
C+VVL11VXGEn0qp9IWuqFg9/l4dZ2ubeHWqx6N37+762SJMnRPzFeSS/rrjClOUkDqHzCRD1lIYI
/bNfDvvnmAshz8OWcjVJYnra/xYm5B8aXq+WLK6m3KiOzi3uT8rYloaYiMCP2xGu+1tYlwIL0+Xu
FPePzOBz6zKjsC4/6vJ5uEkecIjD9LpYXLnrq2S33cS1Kyy710/H8ykMBLaKXo7cUzvNxt/b2Uo2
qKhBSSpqHubL7hqHCHBRHoPsby4CSmOk+7+qX7C/g3D4aYh5Uelv18fvs27ySlTenwndESJK86j+
38DBNL34w1aCwmkF5uR0fjq/f/f6GBz8KKjgrYj7f5wxwHW2j2BiU6mRhlIjvR9nq1+5s+srRndy
nXY7wZtVW+6/Pe3fQwqOrLlV2+aHP/bfZvUNxItquzutm+UTKN3OlYbELCMslz9aorReX0mRCynE
QQct3JzV4oXdD6ub/aVVJ7zW7oHqhDNdZjuLbKiAf1saMYBJjsJB3N2pSILL18mAE/V3aBZ6nxY2
r7SicIywusWoRzwUemWGLpmyXc8jEfic5IJaQSsvS42COS4PcT0832ttxhsvQPRHQVqfz2/lqb3E
ECTcriXDhd93aruwAuvZC7l8L97weC/eD7LBHwSDHxRjg+2wSE3HXrBhdVCmpg08XiXBr+122F8j
Nguo28uUApevF9SzF4EglKB7y0iem6his9WFmK2H1xEYmg2iYxKF6Tqjq4b1rc9y3k+vcEmK7QJ+
iQF4LwrPImMvl90rhGnr23x3dsgP1gZF1vbUrqA3GZ0ArAUVgRIu3nltDVpKO2GLGi/f8paOrCEM
QLdPMQpbB7fOAViyeJhQxxhit0jb2zvN7oFpRbFLOsHP4/p+PNz8X/xLHLKYD9g4c1hy9+TDa8tk
gSmsneg8+PxXuN9rn+K7CRZOqe8SEMr/9pdL9spjm7vT/nWHEYrdqEUjYvsY95Nt9iSI2LKH+1vh
/2BtrWwDK+IzbrPZnZcPblgnnMdmK/3l9397Ozw/H8G2OQkzbXVID9z8jltj65X3uEOGGET+Sj9J
FB2fDxsC2SGYUhccZwDdNEv3rP2+Hs4f1zbANwjeod9O7MNpBDqpd1NXTt1mFr1kloEN7gByLeUf
YjGr/udXv/EArWswYevOXXz9DbivI8B4BdvU5LKKiDbIQ6MbsQQK1kkpHngSXxMcCJyR5+KPvoeJ
PJf8fSg90Zj7lPOmR/JQ1x0KErRZfshPvs4Z0JCAHhK4dLc+IXFuo4S14PHPKrCKBJfGWfdeGSdx
+LKNiLmhKuR8fG6G42br5A08JYHoOwv4v8/oV6UHYaTidMmJzkchj9Z3Ao+/NX4GAOhB4O0Fwt3j
Jcy75wFJi+rCzVggKmKBRmFpvFUDFq0XFPiGJwf4oDOCP1cyUu3O09ABJb01lVUlbQi7fM91E0q3
wjo44EyTjQIEDWES7+MlJOQCrpoeAYqIIUEHvBrklZI1OLAGXerfvhJ1qwFUq+FZr3vyOZWmMAu8
u17PT4ddmGEtuqFGtOWFIcReqa1wrLF0eB2wEjYbpzZPucLPul5k+Fb/7865vJ1vu2OMpYJLLBmr
7LW2+1lL8VO4OgONEHld+b67XPf+yUDv655flvkCj1oCSYUQV1W5NcKJFr797bczmMkksPmiwZvd
q/3zNe7++WV3AVipVwB6ZD4SkBc16YiaveES9Rt75VrjMoDe7CQfZmFK22hErYbWuEK+Aul16Mol
pVxuweBt5ax2mawFivu1HotWrJZtpsxBkLwHpCmFWAOwaQrwnCUiAnZpow/1XVTTo6Io89DFtxOK
AizB7ArJRD0IRz30Oq0RCbHXsOwL8FGkRBDqFdMLcPsyD1iLTkqB/EKhvZw/ANrSPdg/GssHmLQD
cfwtjGygg5EBj++Tzuew/++P3fGf+8sZ+F9SgFo81ezaNh4riagHe2BrETdf6iWDBAn5+mOk81x8
4vToiHy4RqDFW7zvVslWIG+Non+A/zapN4ZTlyhqYtp4C5nQrh903wJByO4FbgRTIxVmm7Njvl/q
fB2BCZMgwKoOfeFBPVXE1dBv2LDT/rcGMDF1eKEbjgogCAcUDQHRpNeFvEAj+Ierh5m4Nw3mo4Xr
VQLKL5c9CheN/zJdD+y9FS6nn5hPKPACFfpLiPMzHTYQhDYFJkK35EHKuBkDe5oddyf0hddSca+s
lNZxH36N/CxC49oCapcqRqDZjAL5RxSvITDpijHurt9vF99qO8kbjHYpyQ9rlNb1KMBsSaSjRJef
/Q3wE6pFGKFVbCClRYmPemq+OelvQK4HQBoQJqxF3/VWiiAJADSKeeXCEH8YZ5w0ce+jAlGuecPO
v53ms6nm3A5SfKY43+u+gXBRZNtYR/jin9XZf93XckK12uSeTXzQCKfCaQJDNjwyOcXT2WN+38cI
Ra6V4PJkZtIAZlLKaiww+jwRjNAnDQScik+69HXnYdRYhBrSqHQ/VrdGg62xwF7Gry34ugdoOn7d
g6/HBi+zXd/TlHg5mJKxdB3zGqkqpWSo6ppxAha/CDmkbP2KK20697nqlAKfALeha4q1VBOthkqJ
S9OVp3G/Qq69/di/vPjOd19rCpFmWt3dfM7Zx2rRDQ1m6ZWYJaBhJ5BGRryDyoQsuPwrnxSqt+Ux
JICx9S3AWRlxMSnpsjmv1GhUZ0EvS6uWNWIIsbSwC0dWs7GizypAE2DVRpRrnJPj5kFvsgWg2d2O
+nX3hVKwUfiYG2rdjyXdl1oECEk5Tcpu8Kf7ThiLbJjvK4ep3AFhwIUJxvKkFMhpuNYJIJMPzPsP
o5L9tnoKqK5EwtrTA5c+hJ/wNNY700jxKYe8zMYkdqV7oNRJoLkZhpkBxPBXfFiPpOipqwZ72pKb
lo7k9YtTKxWT8s4rtTdA10+4viVjVhwK6SfBdC1h9OfnNsJuHBp56Cic54/b+eXRww8Uw7VAIkji
ADxEs40hSukvsq4gV7KsXUQR9IoBGyQQk4W0XjM4AkQbgf8AFOhUo1ijm7o7HlvIAqXqaeZ3m1TN
MHBghYudwDttlG7JXyV0TS2fhdxm0vcJOBJNZb+msw2lLrG36fmlUqZEymY2GdECPAq87v63ih4z
CmudgmyppFk7EFUmtxLk7XUdKnBuyaQ1UuL49grMc6pVQerqXQRwW6HM8eBB5Cv4dH4/7FF68PCv
Ma5p7Yhv1dA5WPVyU63yhNxyQlhWit17kSQQyhj9mwJXWIw6SjweD0jOL4GIqzR3UC2cAYovN2TT
T235dmCWzSn0bVSJHpvKhwhVgnJ+TVOMfkXFiXapOZQOuBN0ySBxkljUsoBJyIWHq3RDxZ62ps1s
K5gL/FNP1VD6nnANLWxC4xp937imqIoKmsZfXSW/i2XoW+Xb1hD37m7iQdCA5M2IjfjyRMjpikYj
T/lkNRB3/49pdr71l0TRhjHIiw0TOyNqjOF0yNtVpOl9nM7aVO9vP0mUb5iN4l5qkuuP8faQx1N0
ndzDEfIwIHk9smCQuZw/PDVXjmSYk5PaK4XvNXmvY53J/PNkn1UHjkrdrSQsZfnP//3nv/7lZ//m
WurvJkVPfHjAJcA0DAXaWYf4Kb5Bsoxk5ZH6dD2GUqDDSLMy+d28PcsoDoySPMdhKBIZ/Ch/vsyn
swzRy0OYlJkchvD9uNU6RPraafnrJdl6KJ/jI18rBT5fEoiGoeBZyOfjBH58mKQf/2k2Yk9Lxz6F
TlRNlQVoNIPt12OeQXiCYzmAAcygywcQcrmH7QxsB2aQsjyGUs3O1+J2PiFR7qdBWvi/73f+Paxl
7gqcX99L61+P36Ljt9zk6eYPaPOHUnj0+vWiVzTYuaUGfhgKD9J//vvz8/dl9UB6lySPoVRNgjZQ
IzgMl0ciwGe9xz/tby2n4bI0ht7arpzPMhGwKW7cXMh8Ij+c3j/WGwV2xXYDN8Tu9PTlfEHb2Y+W
U6753QW09oHcIoLpqRpDomQH6SRXOQZfd6qmxQzSYkba8nBqf9gfjy2KzBrpPv9l97g/Nlg3q7N1
I0Z/eyMMuhFaso9/f/wvopHBWdihk+5C2I8fz781jNLrqaJalAWG1ZjNVpj7z5FAWHAFFLoCoiz8
QA06kkZDxgjdou9lGd0EenvLffvzYX98JpoI2XUzSHKQvh6ANlzyOIahYISoYlcA0SgKC8rryKll
MFJva+BgRKZ52JhmJVwGcJi2t9Ja/rq/7VoutXXSgVKjgFBOT/WbPIRBBk51pYLN66BQFwjm4gFv
RCq8lmyBKA69iFCjej2vqhFsgeuniopHq1+i24xiTV9PyLyMSpKj9To4dB02t+lOlSGNtETfpO3b
eDzIVzGjpBN+FxRjw3VQnaqh9R4Bxr7mrKDr3HXiLdh4bMjv68fWUdCNpJih7oeii2mV5EH+8LZ7
3TdMxkxautsbgw1NnzLSxpSuVI9cKVHXrTcFoZehl6zv39/pfiL0OxAk6dY06KCmNFJT1JHOvWao
ikBWexxKzDTyGhrZum6EVpOcIhJM/Rl1oZF/6nppPoW6QLZvyiLlCTurWeOJTtNaCYn8Xx/n275l
iGniHJMgEEhtD4Z1reN3HfqOxZ7EizLIixolf362k8d4eNABcLoGu5GC7kQFTRUjwn4V+SPOlAZa
2jnb7JMp5JNhgqABj7txkryhRS8gmzV2FYs3IdgyjqI3Qm0DcgRGTJjS80DOrTPlPeSZDWRfnGwy
V1ID7KRRrPUn1wrdZdVVDlEh/G2UCD7/cjj92nAtLFEmvDsLL9XUV6bvkAxaVgaDIkO/OhBmczPn
gt1F6MYpW+N1DOIntaj+GxiZJRV48+OJmkVQaHJtOMQiHDK1uj1o//qxwu+ir5fUKFGL5jk4NAfH
GdDn8xPmAzdfCbh2QLh2c2sn3nNGgJTsAGmncg7uP5y+wl4rIcGQs6H7itc6IPntjST9ZXgFaV0l
Rhl+PtyaFHc/dq3uBeIDiQ4lL9xS1wBdJ0UpKXtvgKgdQ/LgekkqF0IJwSPin2w8+b/uTx8Ne2nl
cB3Bd+hKOzFsuYkaIbXaTzWtgoggErgiZEq6UwjcysagcJKQLBKVThNUMgpALh4fGAno9v39mIlV
ROZ0k3QnKRRAImCUhIM2J2jQCdbsAjKrWrOkZjpBi07QtcJyjayaG1uHgckAxki83J2TgOybdTVg
imCSnvr6lYacWt9JZ/mPS4uCtpMo138+r8/mQXGiEBFyD8jz7QlDvFGPHPeARnIsF5XiN8jgjqLB
pRE0pN0oUs9l9KxQIUNje0mo/ni4zBtxvnxvYX8ped6z8X100ZayVgbCF/4vIt4n0YWuJQ9FSk+V
AOx+AQZ5fbqrcOcWsXJmkG7Wn8+XtxYIatk4WtKUE9KUk7Rt/9hddq+X3fuXpqutpWEoIYNyJJS4
BwWIRgpyaiI3UZZMr3RVipDVpWlWZfymdMjQVlJyeQz5J718tVGKhsVuCTWCiFhytRCtc8ipd1K6
xTaMgeAUce020J7AUaSfXFcmrxFP+S+Ha4vtsZRaKgMg5dkCLWNpyD33GuYcXaSzSTJVSN+xEjJD
6XxU4fGJCzB5gATYNviSus1IPg1h3Tee1r//2EIZ1gK2RL41km9deip33M2A5LtnQVnibhBr1XWc
sgpsF2LJBposkOM/SdOPSNOLYVWasYWMhe2sZOXWsNmEEul0i1+FgELfiTx1kfcCQSTJzd24piVf
iCB9J7IExRgIPDqZdPmhOSl3GDmlFJMdkNmXPetyD5AaUiKMLtJWEG6xfSd6WBvzgDibrS7T5C4h
R38w1TAwguBjB9NdNsF1FFM1YhJaVoWQKLGSMv/97trimyntqomNCH92g5gROE+AuncIA9L0l65Q
xVv3DukIs+EBnRAQBhs6WckbiLb+2gY77Ciin+KGo6MlEUbSXuKeDELB1m6oeGfw64lNGE0WZ0AW
Z5C40NWnQvaduumlUBcQAw0xiap+se3ILevFZN8CNKKgvtM1zgaBCxqb2CCcUjtCcn8QsyRLPY0s
f69FDYv8qaEX/eJ/nz9pyVUfRNBAfWM0glViXNGh0AqxKuTyJrlH/K0y0qLplNGlt7V6hx7JrcN+
MPUfUW4Dn9OSoC0CF5T8ZlOUBsRT9r14XAhODdTd5RP7UQzLmkoEF9E/WndtUA4KuuF0VRQ3mMij
xbjXesrod7fFKZbBHpDiNzDs1pI0O4rJOIQNhdw0OXxoJRH66HqOL0nyjhQsDd6yVmZEQY7BQjd2
ET+UAifbiaKkA6UB6L4i/z2q7qtmc01oB0YrSVBpoKChFeswPI/51pSAZyVbTaUQSRCfI5skCPnm
XY0+RzUomtSgbL4ucAoCqq7OBiH+vhsBN/Zvl/PHexPzWUvCQeZaW/WJag6Ym2rF0/h9OMoW0Gxt
U8kpTGhRpVoU48DIR1WqlmeJNMvyvgDIhEfwz5iuyTYglmEYRTiAYscD9ZvKqk2uuAeJg9MVsexR
5a+b4BbQGDJi4Y0YO6XKCZWxmklCpaU0wbIK0dBsy08hcUukIreQKJQNksmuJpMoM0NvE39HNggN
a9YmsXbxjhxAJpdkzYbi+nlf7laCJEtPrfw3DJxaMWn0r+fnpsKxqSXsBmtSK9m/JHUL1QUrK4bE
N+4yAlODmIlWan+kda1YvFP6A8im0nQ2c0+GtWRDT2LYbLshqB5LLpMsAgeQhxGZoLLCEYlZ37fE
L5BHaylrzwb5Lcpyp3VppZyvsWEkE4N4nn/Zv+5Pzy0ofZvqfIfSR4QTB9dE+sMkJK3gTW0JuE1s
zUTM80Zs/ZYdjnZ4N0sx1ApTJ9aDIvpxcLWOJQ4Jix0rqfDo4mrF1iCkvCKkvIgi5VKbGuhzN4nV
yDRzEEqp6M+VSAPl0coFRhx8Q1tiezgSibkjMozWV+fzDMIHc5LFhJDNjyO/0g26xcJC/DhMbQ0X
0Ln2OEWHQlmE6E1fyxVDeMV01YYNBjVs0KJN3LqqsHpTVKWFMULebtdLokHvGSLlTa3kyyKe1fSV
0IRFGsoY2HyjRapHuWXBrukQKh4/BcBI4dlNlq/lADCcB85epPcCzcOIJoM4FCi/wo0tSaUof82I
R1IycaiEzImZ5388trFRaqtshSplBFq3IU9ePjUqSZlwvx0SjUbmR7tPJAnATjWua+mu0UFDYsWi
c7SbA2VXS3r9LtUKgUfnWouV0NFqsbRkxeGIpCV+BFeh05I0PcqcFNJ4g3GcC5BCPGj/+eyMgD5g
6zZVsbQDIvXlnO7SYUFGTg8chfnsFQGuyhO5eGocHTKOrtIkDCXnKZEkKgIqyChoCyA8Eu+xgrJ2
rZnEznS1dmPo+AfdEpeCoHnoOY0VPT2UOGJqpDVy3LTWErAqsFmHsJkIEqn4oUxfIzNAtKwU5faN
Uy13BLGDncjarLltqB5irB0BisVr1dW+RjyFck3mH4Vk5QYR9xwtAjMTtrnE8KH8ANeLcZCyZw2y
3duMa8fTcCitZJpAPR3sS8C2BYi4AWWCuKlGmSGmSMlsRnGTkRnY9hPTUq488hkHUQpK4gwdn1zi
REQR8YeOjdAn8IBsqRbdJFL4BxETm+sfM3JQVNuOlcDZiAI1g2olrxEBMzjJD6CaHBly0qqSz2JE
3ZI0zavYWBKKJCCGMhIgKJwypJDtYCo5Qg4laFgrUqgwEU4PMOGfhHVQPq/umuJLyPEY8UQIDQc7
w3ymZxWsQLVi4nmh2FA4pBtbM65RmsImhkgm8pcfmmRThAmEO4GNBgZOxQfPBqZcVdtHoVtpdN/q
iCLdIidHEJWOFKv7TMoKgky9k3smFpQ76t6juhZOEzpdnZjuew+7UFnIpLj2F1HhQFO3KakxbCM3
KI+mpYUSupjGNNVZoeV3WoR61HmAzX1tU0suFIAmh8B1Cd9IJ9Lgvaglfrj+4F/PabHDcqVyyU0i
+ZQZ0hXCIRyoXEudNtpTK97T5rwAsgbv4JN3GIohULUObc5SVsOW3aNRatcowqKySytKSaLqoszR
WsNRyJ0xbL5gLEpAqWF8LI/XUkgiR7EFQ5nlAV2LgZPIRBOhkrFR9Ce8Y9P0JoNr9W1h8rYR05D+
o7FKph81rFTfaBqECxzblTw5STC5wLS5eGgntlT/fRIt2kg9VfkehHFN5z7TgBnRxqZvLDuCh9qL
oxQZ2ciUTuKSaFkjrCjsxVwTVBQx9GI+dGlsULicatnhvkNLeSCIPup7U+PxkVz1Ypi4DP0j/7EX
YVF5PVDUROumvt7ojkxi2XKZmweT9E1rPgjyBXvV2jYRkULbFgZQRFCwsncWKnPiaqObX+mblUeB
XZGM+FhTGTiCT4zUlGGP+GfXNWFFJK62n+QgH+I8qT0MTp4cK0XGxIm3lroRkPQhp7mpyrgz8DCM
pLjelJxQIAE1pk0oYExNxDwUfyPH38qd2wu9DhvBbMhwx+WtQB+zq9SL9SjzxrFUXmRjkVxaWaBK
Jwxey05knQoFDGv1dOWRC4UgnlFy+qiCQUWcEbLRtSgRg2+EF6MhqFDTdVJmDIfQELYyIqu9RWhI
2/diTcnqfqE6DGPEpO73xlIrS2mKslS4DIzBXiwbT/Q+yISyGhXvgdHaRcTvj30twgXrVgf7CQYQ
dhztRQBAvFmU++XEirXSZqLjHLR4N5FxGDYl+vdn0KNIkVNiKyX02s7gas1JB4QxerFXewmJUVau
ljsFtJaNO5Gla3wbVBGdHu8CUwAOeQT1CcWKAo29xYF/AqqRPuiNCNxQfcdAe9WWDQT+ePjalLbI
5sRG6UeWiTZvLJs9b7U5IoRofQnjbrZ0fBjlfB1kkgeL8zU3hg2ZVtvVOjJp2PJZxv3vjb2YLM18
sWXsASngwTW94QH9/K6p4w3sxiBzko2oQKla5YpDZMO2mpCtU4W3yIjomIJ8VCEgFySWIBWhAstm
vMYIFFIisu9bPAQEe6mOFViGOrtpM4mdehSc+Njib6IhrDKS7C1WHCEp18ttppDWGnStWY5CWFpP
Gr88c25qtjqISQplvT9ytDvxnWJOjUJn234mUwGNZPEDRy1pE6NppaZQhFsNbewhENBpbEqkgY8W
06CJP3M1kAuGnnQYbN+EF2GsRTnYII9yS+hEZFNFw+SI27bsK8qp0wk6xklkIah9QJrZmJrXisyb
nsRm/It5Q0rK1t4xh1OfbEuGBTo6SzMxB653Aqrj0HIxypo2g+LGepAIxcVVRop2lPn/tjcxlZog
XU40CQLKciPcO1oUcfdGLI+gOAVF7KyDzn9DrnvftTntMFW9V1U+DuWZiyGMksFBfgf/ABZNFEWl
1sNYCRXAcNAkHmORroMc4EnOjkZV3gONRLGP/KDWPFqb5vA92nuDH7vZQAUUe7dDvX4RpoM40XfY
5GrD5jKDSEGhlMCBsvosKY9SSrSxrYQsypPi6bP7LD5UuEG6MocIFgkPIDZ36MW0tdXzRsmD49TW
ARGZl2FqTRdGYqjEEE+Js9ClUKIPWq4GCeJQ9hA2wmPoiA3ppqYUCuhMmloPXrQRerKcbUg4D3Fa
nQgxf7p9bytW1WNbuxJ0kJrtL57mD7uG9I1OC2wdZsRHs0tZhHU/YzUtCOXpdW21K7B5hDLNnabQ
MLaShU+GQRtiRYqlpHcQ5y0/e/QfjS0T+1Esri3IOgQAx1Gqyig6XEPsYaWHCFq2YXIVd0YhZ8Qo
MQlmE1KGHs0IsxQaOqH1StWSRRB+dGJfp7YiQeWcDDmQjnSDFHAowTts3Fl9uBaZbaP6tqc7EfW1
NbhCf3FIHZLSGq95p5EPhCHmm+RFhLxowsvAtwL11FSLg0IGRP42rb0K3AbBr6qxmKhSUivd9vAU
yu0YRAa4zOiGPZS1SHJRs4/Cd7r26OeIep8P8tuZbSBcadPS4Qx2chnbKmmQSHW19+iQZtF6aOEm
4EuLRkrJpqVlsK/42NbzD9Vr9GKtQ7GRaCHTKDrnqKny0Neosgk556NpY6vBIZKeiT51yQgtplA6
hrJiHVHz+yODXORAYQ4aglZfjqInBN9KmnS1cAcJgRK7+//5sD8+/7Rvk2jRsywPFSjISUsTKS0F
CpDKVUjlNMAYk0LvBTXecKUHbpQUsYN1wbpK4SPtNg2tLZWhTLmuhhqRZyynSxWqCYGeTpTKXHwL
02F1pWm7RZDB1HrOw15j08T9NmmvgyBX10r0wGyhhrgvyt+autb+AmgSg8gT0HpRVOxpxDKRlXhD
Ltw4NlkaBd+HMrhbSssyaHTHI0k13N8nFJpyor1tZtxoo/YyNlaGImAMvqs9hIBcSZmrKd0pBB61
xTlMtDoRwXnaRyq+IyukdKBTVU2vL6FDsbrpXV/EG01Tm90FeHrqxaR59DLzQKMJpijmIP0NYBFY
Vwk3K+TXGSVWghf+FJJoPYhLR/GlwYnxJRqpR7yIcWLfGNSZdOj75n6aqOkH//PF1qNohBoqT3or
ZNz1VC01R5PXk5Mc+jWvHLEJAygSQV6PdQ1v4EBgQN0+V5iztmcRlDNS7OVe/yHfkbZetiFZ5n4P
kdOgxr52gogUMl1fabmDqFWtlNi/gaaKwIYJWYC9FnJ3AoxyejX1HTe07AYeoYxWGgQrn/pYe3XC
jGonsdvrCSJRGoe2MB5KJh1lbq/AV7CZuZXmwZUeIbjpaqzEgM5UrhEpDSm4VpOr4SNUcmH0KFLl
DnmM21cgjQDtkD2gp+C7Xhh4CiiDSE5U2NYpIFjTD7gNRUtDk1FMeG/uQEF7+5ZXlDKmkJCoJcVN
KGF5ZLO1H2dzA8Nvk217pgVRvXaS2hovDjRS0UbVgmeoXsBoJfbJXlQjsk79wB1bDHfA8uSmxu3w
Ig0DZMg3KUMoG1R+JeP3PzYxUFkIPDln7iu40AH2bW+ZoPyCqa/lzln4lJRuePgSirAZajgRorVB
V0Eu2sFJSd7Nap/R8Y0iP81pZBQBlhsprHAZha0G1xTAg1upapk2E8L7o6s9tIci4EZPsLSYMGrI
rumx0sAGdfnSSnwGtdTIyGW0Q8PTyTDfxYkvwRY5U8hnn1h79ri77l/OlaQQ5q10/+3+6/yb1/DF
8+H6vrs9ffnTV4AP5tNMEaS+9D7Kryf5a1f9WtpF/3Vfft0xXyv56yF/ndXq0wwmbvs4byN+m/yF
vrwGh9PhFr+04pdTw36B353Wr4mzln9XXm2ikdFeSfyY/82R+91yp+VZj1Ntp538y/mMieGg34JZ
570mbhn9Vj6nYSOZ5u5bea+TtepLDZNPSd6pKX8ZgMLAnNIo77Mt98psfreXfzevlpD7i00KX/9h
d4VrzvIVvBZOruXfH8m6cwA9z1w+42TaNzex/F0w66H8Oq47fPXz7vK6r66a/HoGhuWvyzI25j0L
NfF2s2r5VkyWm3d5H+U9G8fytLk9k397VHcaLBiP42w9jiZ88HS+7MNfTufn/eF03V9uj7NRuuyl
QKc3ojbV8E2l8/x8frveLofTq3+M43Dbv0nHEQHFmMfI6Ob2/X2exsv5cH3eXw5f988vl/ObtEF+
nL7P45CD3UerfN3fDs+72zyrx4/b/nRFIy3YcyqV33O6WvNQy18/LgdJM/iB1DCW2xM1od/hy/7t
/HX/9OVwfEZTWSLJU6lLNyNIZHMYIRFdU2lFtqcsxY3iKetyGa7Yj/nKHTxxuD89nX0pBTrspQR8
2jTU4A7bgp1div2m0iazh62Q8PXsOH53ns5v77vLflnl+/l6QMSwH23pWzNtNOr57fD2Hqe282Nc
9q/zxbh8R2Mt7d2nUl+Ec7vu//tjd/R/lTRVOLbkx2/2ep7N0/n0cnj9uITJPO1mMbi9ewS7v+3F
zqBhTkpxV4w/PSCTQ0f2KTtFYNcN2vVeleKpynU+zaIwA+zg8F2RbI5TuePTOqtZxD/mu+IHQme2
pE1s1GGSynmQ69OX/dtu2S+41Y5VHeuiTvNpzbr/aX9FiqxTYEW3/bfbPNgNBGrDopQr9XN0e8L1
uh6eO6h7Cj2aVM8scOfT4Wl3nPXOG9pOcq6bu0lugEbnMZKpa4KuXs6zyKOZG3KSVL+cZnP2/U7h
QVtChMqTgsp1xSTAt0uccKO6eYs2b4UClloPEydPvJXtkJXtucuGru6Erq4rJYSat/fjLN7BvqHb
76aRE7JlFrvn8/styAkwcKrrudNeRRwoDWKfjV6Z/611RTd9eXl5gzbSJX2JOU8IIyxPYK9HMm3N
8/xXf9DYMFsWPXmBP+yvEMBNltMyrGj1wKYPamKty6ymfvtyPu79X9B16clZkO9LdWOQJAlmRDDe
QK616ZphjgZbu7wYzyhwAv+gfFrFXY97EwCRRKelQfxSXnbzf7wapA4hSTeIUubV6re349f95Qri
+EHgu4lT6+zuor3pHatf/bX/lK22Q4n6Ohbld+iQxuYbpJDBHFS5MRaIHVLyg4g9543xbOXs+Cik
18esEoIVM8sNmAUuafZ8p8HWLk9sbwRmhUH5kJCC6ggMGIsDokBCIyBhufu82RCwo2Yghs4rGtWr
dUPmSUT9kq7ib19mnzneJSS9xkmHdC1vNtKZdGtKc74ZZEA4reMG+Z8sSlN/Nx/Vb/tjUN/7Z6TA
B9NLp1SgCXQTJ8NtKkk+NgivETaEdPZiDSHQkkvbKeZQ6DqQy+5GFjuLxkxbRNCYJoSF5H+cOMW0
DHHZe+sRLiEYQ/Ujdzaid4Wca17zi9ujDLL1RrqHx/P514/398v+5fANmcWlHr02nYwHocuhRg5Q
8mLYIzHUnMswb/LTr09fdpfd021/Oc23cnc8/HOHnjSJ6K68GwMDUps4NeoUlXCZbjc0txSdVcwt
9E+3DmrHWQXEXIzUe1D+D3OPWSHpOQLNu+U8odCM6pN+HVI/xlruTtzfd2RWluLnFjl2SPK6seRQ
AVzsoQSPPJ8WF7XchHWj4NoopWruKNX55DyB7i/Y5XwJN67CM6iRlel7NxhNqmOZng1OQuJoBys5
CtRfQarQsq44e1jIkPcj4SlyceHCuiDvgrqho0iYI/fPUpOQJaX0RBGgMtxdXOkIxIZY3oddxYp4
WFCaKFxd+0dtXRrod05y6INgMTTEZFsOAvkhlkKXLYV4XXQQcu2mQZpDYdwRCaoHyUrQEE6PaFTL
KULeT0V0aM/Fku5UhIHWVySrroQjBxd8edryDk1uQ4bIWFmWALgTLouEa2jxFRAx7qjKLYUrm3/o
L/TsHREBLQKhzklzubbFLpa3cAXVsQFoSHcolvUnLhSkvE0zg6EsYjA6CZRLcKZHcEZzcT2EhBXC
I5I+kKaGZMgqbqG8vUTHPynZcpP7gK4UIivzEIhncaNDruZd4AXMRmnFaTuRlICXS0tBeOKRIUgx
isaQDIDw9CQpzUiDrdHbwMJCgqUzzcw0WtLyUg1z2BQrKoQVDQfL78w7ss62tEYILCK81ss5EoWV
RzZ6G66f+NUYhBpFrEF1OFqHtshDifDvetudnnfH8wnHg8ZNAJRPXUHmkXffFgSO3GLdfSLcgESM
somZdMjnuo7iHXWk2mh0bLozjneuH5J7RWFYJXphkes/sflOwI4gks+4DgNdulXwInQDa5Awz40s
k5kkZmITwVJIgZa5HUt1GBsZQWqPYD7vW1jLI08EgDvFZ3ZsYDja5FFEewUHho7J9E3OFUoMIdCD
ZIAy2SUotKh0Sfg7YTfA4Y4dohYz2QRvpZuEfBuBMEe5FpZ1kkpSD0Z9OQUhB6KRuad5LK6Iqd+F
4ZDYWwtyFFbThEz1xu0TwGEH8SULgoScHBg/Vvj6FGYBMRRKC1GWbZIWRGQdz5WmQZLBRLI78cTk
fCRewRWOCbrQwygCMgLpkEYQkow4aUP0Fw2o5/RAMe8JXgDibZHs4vvgFZCXiRVdfntRWG+qRwsg
LCIhlPCknnI9j1MRQahZD4s3hCgwT/HhXUScWmWEePmLyE8GZQMPE3Ib75n5CcEzK7hagvYdkPbl
8zq4+4DsgVUS0mOwGdKgnePYlTv0gjz0yXF3kw+mIF2jTYP/iKIVSxeircVmryXKGuDPmx0GRUsH
CaUWkAw5TLz/t83XfqXJ2jAMbHCgtJAaFJLpRPaCGQjpnq5vSiRAIjwaVJqRhwA3fBy5LA0GLqJc
BDfKpD6hy9BNGpx0PvdeLoTQvebhTNJ6K0N5xTEndpSK34Ywoxn51K1tuMEhLlm3h4AnFLp1krbZ
pDkhx02xIXKavLiiT8TYdjQ3bk0Z5qM5KNYq1lCQ5APEKZKrFB660cNULX5BLrae2rPVrzB7lr+h
UiUX8sRGEXMxTBIKndHAqiEJTFLCEMqnMpYP1ZMI2HyEszC93r7gyrmWyCIOF9tmNNijkIYa2hk7
dGCWuOGe97G1JOwRoa+phdWFaXREhzF5a/fAEukyPhNbkmoUj5h0U0kf2mdjkR0lCXkoxDJoKchW
BHwQ5pk+GwxD9T7Li9VCDPP+uFBNSGPWI7KpYy+FqUllB8oa3oJtx9YAIga8dzLMvlOAyFVzmhuI
lV7oEvWOA5MLhfRld3o+zrjWoixfwCTlyARyg/i13HMCwEZNI+Ics3QAaR1tg/aGycr92MLhwgo5
OZOCJMgguZhsQ2gTwQZySQhDKZgOmN1i2oodoZ0n4dE+dP+RgCKiI7blZJ0MFNHOdLpNR0Or48xn
rA4s8+pastJRnZ2bVFuSIspA6tikW94lQP664Fpw3AyKwtHUEL3lKu8BPax9MNxViioxJILizBkl
Jm/StEVYvjwVsRgNvC2LNDRhtDc0E9EJqPp20i2174gc6tudEZj60aumTDNYVthztDqfkwkj8ra5
+N45JPiQdPW60vNeLaCg50P89/cZGLFpaisuAVd5ctIZMfzUhMI5XSX7qEyfQElwRsw/K24jqpU0
bNYRn9yCiJ3eyL5ZZlpR7G5kc1vKdGZEnBCI4ElJrVwluApzP3VzyQMsAeKTrFkjDWOJLMBe66Zh
awDXwiEiY+ioh1E6CEVUFcUwB5TFujgpMLWilxI+sgWFSgQ6bZknRLqxG4F3cm+FkYNCEwHUtocH
E3xEYw09ShsiXjZCcAPbVIbR15CNdYYTtuv78XArGqTgklOxDLZwOBBZbUcxI58qRuRy6EHMA/BX
DlFv0yBz7qsuRJJmp47N3iqkHcbypgZtDP2cYWjwf2GWbVvuJrJNI4vwtl48KqYyqqVqErngjiSG
KRd8HRCMHDoUjGQLh1lfANq5tlYkyKdXJH2OQYtEZSDuauhRHigZBOnUfuKSa0U0hHw2+bBJrALF
TLapKZrFMOjejqaxWh5d3k4szC70H5qHbQrBQ7kftTQEvb6wYcXY7EMPKHSuIXgnoVSUcNEPDWU0
qNkEjeB7MKFczWYjVDaIyWHFASFebrA48FDkl6GBqE/fryzjkkKNKlY0m5vJajSUe0ulNbed3Kak
oyuzqQbCWQiw0RLhBHwKtbKodyAqDZ3YKfEeBAITva43boKR4HFzDXn0jtSJG8XETKkdF4o3OBav
ziOFnYFFTSy8XA93ns5xF/NXoE9kdC+rxxzSRODG6hZwg4pGR9Xku6PYPL8M3ndHiKK3zQlyFpGd
nebjmFJYFYk9zSC0RW3wa3PfGduJfU2luB/iC7fMaSVjGqYMUKySS5/XLKxAxCaAiwigaeA8c9kk
oR0XLldpIZGL3je1EUMhM2sQoszxLqDuRt1exYx8j0nKUpYkB2k8y4Zqto4MVHwdF78iMJnr5IBw
t9ZNeVOIsVPdJ/QGst7T0KBM4UXf9ousXnTkfRsH5nNtCIfZSQzJF6kTMO+qby4lQj5NT/wr38rL
CAEbFOUwSmpgFxpFoPof18xyQW1JQtAkma2khhEt1cGUVynvEBZDWHQfiU+COLde1LjX5lhyT/vO
9CRHQO7qhKKDfN8jHrWirCh6Ie1d+uuG+UYWjuIALis9MTiIvjZGJM+/f6atuJ7E0hXKiaGp9Gy5
OOlagNSS0qDJ5sJvIABDXfop9HCVeB+U2KKkTOA7sUWVHR3r1PN2Gubn8z3N7jgoZMeE5Py76CA4
2WlTYKgZeV/Cr5DD6qWWOIW4IxBlLC9jOcAPhYxlnklrREi3ig19CruHmCsj56tTe4WGICojvJ6R
Hd7d+/v+9Fz17owW8+7pCDBNeWhsiItkuxN1X+G5I25nQ0jyOgMthJC86Y8Jl/vDhk+muSgdhRb6
QeiRJnliSKkbDXu/gvYrEB90UgxLar+CDoEWp+e8cNQZBvKpn8TKMInGuAanD2Y/u76piSgBMPBB
i64FL8A7YztYAdyIXExnUBoasbXoxvRdw+sEMAd7YK31wu6i0g3duAB0VZUc+Jc8M8Rlit3T02VN
HCK8maoZ4QY/D6HcYWhoRKhRlGVbhc/W1yAKnnbUNBKVibwQ58TMHYnqQFJvx2YVjzqn9RPsNPn6
mSYzesJB4CJQgtC7MmJgbuUFYKSlE558SuKbURZ00cRsnAIiIj5/yz5Wm7pAt8Ka9ht1hTVLk6kc
+mf7lWrWw25PRZna4w0QDTouyI2uGGzGNpVVASPKZYdlG10ZvtNbrA8ZSYv6PN5XwSCP0oo8feE3
oIwfMyLRue+dhKTGgjqzlf+D6TtaaLYhQhqUHaymT7Wrg10TJ9QxOXu64Lpv4ppS5BqxgsP02baJ
0OJ0wNVaUgvRfZpG0MOPQQQIfg5ioQoRHeTzTU0l37CR64hagNCOSUiEu0myMrQXD0ygEx8tkpAf
MjI0kbYsPGhzDIzskZHwFsrBHTrUaQ6+2DBKc6f5DQgNbR8tEu4t6qmh6InSHjWS04xSTs2AUvLb
E5uVzJNIlhGBYacBml43Gl0//lGMNdaBUgIUaN9Jbx0KHCkDevVu6Hf0rh8f0ZdVGqqTH9g6+a2T
gzz8vpdbPq1KEQZjp08UfiOd1Lf3sXWoyZKyPOtx3wwD0Vh6AAmLjUS67USJ/VRdmNXckzhy7gZK
bqOoO7sX/JQQpnOCwkphu5SKDZ399j5UsFdeP3ym6wRycUbT8FgvrB+yn1WZyCoY+gKoAX1qoIdt
22AlLPPvhHJpSQARYtafKGKDPbSlB3xyDw1/RXcH7P9p69rTEyFXo9i69gWDoPRVbVHGd0YQ6IiU
akhFRMJGmmmR+BBPDqGkhnGSTNK1rVFkr5UUqbq2wduef6flrkseomE0m1hBosHwARH3WTWARuu7
JvFAjtikJCtfbAhSbXpClUxlEStKrBjFZxeuzR5QrwQyiknRgyaob9ZFPSp31rDFJFHU6AbzPSkW
/QHjwr2QZhJ34+uMe+YrAx9I5B9/LbN4YNv+T9CMUB3TuiJz129n470gOaNxYpoFJFWcIubA2nqO
E6yw5CzD6rggWlu396mF43S22pAY9pWnkUT/eOUot5hDilmPLYnV0A0zn83+RJUAhro/uYsLrwFQ
ezkthlrvDwoGOHUnd1TKHh3KMemFpiESl4B8VcMmx/KtMVHHgR410bpjSVESDt0fG/DtxvVgJwfz
tI0ENzL5BDOIizfmvRCRVwauzU8s93zdH5+xi/zfzjbUl0K3tR9bOrPCAgrhkt5rC7Qj2+Cg1FwC
mYEONUmkcAMl/KquveMMqjLt2MxL/ojRderUJ3p6IUrNsWWi3GvcsE1RzxdfbEsDgNTSVr70geZ7
gYEPRXRtj07CNxAH13zYPTok2Y0pogXIpRzHzz1SCx+kn9q7HCOs66QG76BJLHzfmw10CrKMdI5j
X0LlK64Q88dj2a37ifqtaI0iApuH1JB/ohxw6pcMFBgXmap9W1BSRN83N6BBIYmef7eBHwfJyiC2
nKfNG5Am5x8547Mc0YpGw+0MCc/D/oWDlOLx2hZzslq1P/CMDJJiA8aS34bSrfhe7BW9gK6h+WzZ
EGS35G5MJMKIwlfDJsGfDR5DyWPJZbHpFmI/nK0lQTa88GoogeqLgZQTmrmgVfHVc4jpQlmNvW1p
8oAyKkf0UN+iMdGukLRBH5WeBjapE8WxBtfS1RPRBf0EGlx9Kkyj3eYWWeF9GpouBRkzCMmvzbUU
fM9PHlGjRyR4IpAPZ6FDs1zfQ4aURBpL2YbWQhDCDKr9WXrYUGuS/AMpiQf5t2ZsedUT0k80rz2/
xc2X4MCmek5uC3kHFpGLy/ct3Fb9okx9WpsQnuLhAi4o6kP75tYKLlCHgNG2lCXB2m5t0YN09/mC
8IhGBE3u7BzsWNa3PIcyo9lr64so3fjZZuPI77VDS7wYNT8nwUe/b7b2bBFSzWaQKyBJ8h/yN4ex
3q4coqRJ/Q9QINJkPFTmk25QWKGHjT2vfPYyNGDtqtogYn1ynyuXQhhcyrNFzCg09prr8yHm+SMa
jm/Zzm8Xgr7j0LztiFnpR8V7kvd8E5qN7hugHixbcAq+H3jfnRG+I9i3vMZgUH7qNDUbJcjq9Bob
pSKrAmlI+V2Rwrqh2KRmM77XbpHwnY2+uYuGQx6/6prHQSReP7DPvpZhPJhasX7uIWIvNFqFTQG7
TioOD8FMWP0MiDUKshEjRV+LLdNLiB+OqJPJVd/eWfOGYBfivs7NwepMSorZ8AfbywTlZHTi69YS
R4JSobe9RBxPB0A3amhvK4iSu+TsS8mBQUibJitWutoj8rAfxwYHD1bCDD3/8hxGtFDnD+0PaCLN
QoOYucewxAQinTl+toYZGSRDVNYmPCAhdkQw0Ue8LMqoRC0pnP1kdhes5N3ynGwVMczAHrr27vew
2luNkjphvGvECvINvbdJDCgNgg/C3Oe8AYw3tXfAgq+1T2wvT7aRJvJkrPlUERzuRDJ9VgKRejSw
4fB9eR6aGd/cm4nAokEGXIoraEmkk7oJdJhdIy4wBUBMa93kEaCbShP17pTsp95+1FSTlX1ZX5vB
lO3Gtu698Llk19pOBTGf3dBSOI1T5QyXLc+5dAghGwUbUrXR26YbG4M9mMbV6J3a6+cbC9LX2SUa
tqXbltLyMwD3lgKWkZhmf35A3Y302JzJi0oZ+8lAypGRJgjOdEs9LmxV3H3ObMAniy37TE7u0FGk
BSDua4SkxZJvfHiJ+gzmHbt6sSKhmFD+tNGfbOuD8LBxDt3g0vNHYYJuagmeQJnsOuBptrTgtmps
evUd+Qe0f3CpoCXIgfJSti8bGcl6IWdTbYoaIMcEX32aEABqzoNT4rO+YmsBlHurVVMXWFQnMTUl
E6NQtBORJkmGgoSNdi3pVDCuigr8PpVUop1qKQyCMRLjZH/trt4VZtnaxlfokS/aW7nLEUkyRNLP
vyV8L2cA2E6NEBA2XeeZXomBQOUaJCJK6mF4thV5fkPTY0c4UQuHZKKBPJ6farEY3dm2B13gi8au
lwOWRFoQh8vnefEBOZSO2g8o5LyBorAgQORPNu4Hcsy6XmI+GFOC4ieq9b0v5FENQ9uzr9AT79Un
SodQBKbbtGCx0mxQUnXvPpfJjK633NZQgiKIYDS2sSML0uWq5SVnKDjOtphqZJh69pU4ueANFkWr
lpd+YWRzEGKj9+44UsHGNDwNhPL5NrUsurIrGJENbQ2NYX6Ma+kaqeHTa2wRnWQoUauYcXNG4tVG
RqXv20vfYJy2MzwMx7Qfyn5UQj1IOeJra6yFxh6HO/ok1+kjwMZ3kWFkCOl2PmtAkgAk0mNLsip0
nlx7yA9tTD+x7jtfG4UqMcFzrN8/U2louq4lnwpK9KBwb4nkbqAhjG7GWzWx0YPm+Z9tnRaYD21p
moGSPB0ke3wyA5MPAFs93Pfhnv8f36ph+eK4/7o/qvDXpxmuh798efplNUDe/zycnvffrrNZ2l8u
8+HMmsD/2/PLyzyT18vsrO8v/4udQkecSl3kumx/Ig87S+EMbV9vPsvU/7M88pJjoAuXaB7ZbzJp
d27kIZbroNOZu2WIrRszi2IY6/RxPIrDmYUf1YVGvd9OP67/29vh+fm4l6fX5/GCR6Do9HwuxrxO
T72Ev4vDrI9J6YIrScMUEukViry8JX9BF3d+HifHaBZZf/w+n6TX1runp/31usxXHpvOMSsmP8d5
kGf//dtuVgi3j8vJz9j/C3mwpTT27hz8Z8uNfrnsXiNL/Lz/ujt+gPEWHkEXmorbwPUfwC46aXJk
pfPNCv94uO3f5qsw3/d5967yoIYIcoak3AwrS11ClLpIKWVuhDzESBaYc7/TEKnRtf+rX6A8iptK
oV23aTm/wylQ6evV2n972r8HDBRUUpJE+XKNY8tljXokKaaKPtL5DDKxcr/umrARhTnRo6QdAQp4
DtZoGm4VlTUgYUa4Axtt2wNtW+54qbDjqW0vpzyY0qUycvfKqJB7eaSpFyxUo6TV7/zqSuiiBc5W
1vxBVOVD9/likGLwJGYUfJ2P8URO51NQH2g71/6NushmTqOmLS10CVBGZIalqBSrTVP1f51lB6zX
lfehWK8nNOLEgPlT3HQaD/f9oIBAq/JYhyw5Gw86hTQgfNBTJ2gkcvMv5zNe7srvsreMXFQN1pWH
IOkT+W4dTh/XLAkzKgR23UoaqHyTJvzjacYKtzMYzVrBOq0SmggUMKFRsCthPTSVU94frYQxPC6f
RfI6W8rb2QOe88uCiGT5NAie+UEC/l5x8Tzk2/vtO4ZTVKcVRsSv8vq+fzq8HPbPFU1jWmBUHTb2
g3SB76AdhtdGC6fvF/Vld10F6QrMxgSgXNiPzspHpZWgx7e6F2ijASyCyp8F8meASiSXCmzlKMjc
Rkk4oCQGQcQafMen88csOfvXWTd+BQLoutI9M3SdbQduKAS6W+nL4XK94a1aX61gN3u+leffTvNS
l9sABXjsgPARSglID1lNMNUFxmzYDjsJYGep+IjTWAGhAl6WKn0OfWclBMsKxqQOOediRqN82v/W
ALomB9TXk8+YyWDm6fw+60PgjWigo/O+N909ItXYxZqXGYaqOX/jVDEgUbked7MpgRh/koTDb9Ss
or8ezh/X6+HxeDi9YihDVfWdpBNfqGI50H0p7v/L7nhFLqkV0G3gEmaj3bQo3YRrrx+PsVimYl0H
hbZoXVkw9kCYJCiSLsx89JfD/ut+dzy2QHeq7AZxiZnBwshdl5rTNvBF4DojNDIPRY5RXt/QjkXq
18VICnCLBpaL/Hx4eVksBdDxkpilzdo9PzcqQF2TDa/q27xko6TBlgLo1ZRiGzhYgEz3Ly++kvNr
zQdWTgAGooc5257983VB0JjIIYC1dH828Op138BjWSVoexEmkWm3cuw9sCiFILZ4WWvqIGtPIkZ2
ACNr4Z6uUhfmE4zafFcbGFNF3FFToG5yaU/n28uMKp+hN6p7QGJR0wtiBloLArz1ihpWRrkNzp9d
tfc8VIU2VAMXDWlmOQDOl0y5RHJ8e0MchwJBmzgZ70SHMD+4/xKvCSzL6fy2mxUUwJ4KUBVc1ABf
/B5BoGWNcAhL1NxG5xLB/wQZo510sQU6+LfD7ctsayqiZ/qGYV+bWGZtATtDc30A9LTAKme+EFop
2+lGjZouVhXL2k7yuEU7kFFWqxkwbe7lp4jhrgewiwzaYgxth3A4zakAx2sEYxCYrf0tyCoSj1FQ
QPcwsgJkxhaovNJ2IG40AVnbEgxgPhMAVgS1AF6JnDXJXwCw6nH/ejghwK17KwBuIfxfH9GaNhcl
X6TVI1sYp3ifwEWaWn4iT7pAl2DmDpzQaxJdIPrUxN9dRcqlf8bdMLYpaaEe/Rwr8dpo3JPvD9xi
C/wMCq9qYVQUyA7sT9DZFzSG6xtC9RvCDNg2pHkirFYAC4yC6kxA57fL+fS67A9GAd0ng8LRH66B
ACnQE/pbkdvYeAmtHjHGk/yI15pkqA3HqEVPFihbg13r6yb6jE2JQgQelfkK4uw/qbYQeWOl8/Tr
8txIhTbXA5D2NaoVcnr/ub+cASlpwUUmWq+JKjUTiAZQBxAEPrQFK1uAfd35s8oKc+Hpmd3LfIBR
iQJJUiUxYpnm2rHL2fNNPjw1jQINT5eIr5ml1qpIA4pYj1TUALDWAyYmKHGvwJ/O79/9pIAiH1op
96YwNAnU37sYHIPfZonHEbMBvuSiwpKaTlJMzW5GQ1guC64nMHqJH2v1jQzNnCqz1yjB8/H2OCuK
l0qAi+odgEOq6WEDyi6t5xloEtUvr1AgOlZ6H2WXTICPICk5FXM3yPzNqhXuyJIalB27NjFbRCvA
+oqnoASwVW4YYoXKcFEWo3WzGijCTrIQXsOEjoP+L/M4gEClgYECYUh+VDUReAOumayFASApCxIy
vYO6q+MdJ9yGEoytxsoTR9f98QVYKtOS9TIfWQUdDELIkk+eAQM5iTwhOmgVw8vu9IoSkA2gsV7r
JIWSXAUxseycSvDBlZ3K3BWyU3GoK8X8wBPRA0gV9OVCnwgUm1ELg30uzReo0XH4LPFGLmZrooqr
5Ow2Z4oSx+I+u3NBXphppDFc+6/ks6JNdUBZl/ll88/MdwV5Gl25eVMlERuMpIQM7G16oAb6f6gG
v3pwN4ygjrZecMRa54/b+eXR2ySQH6gnkDHWSGhro0DUKi7LgCl0lRTpz2ZvDw5Q1VyspZIoYgRA
3hgP3l0QMOlR7k/OZWnJr3BjyV5bjr1G7HeWTk+EG1vJeq8kHA/AxydAHoFUIxY9JKvSnFBmxejs
XRFLJeTeAypqhXC3L5c90KLGVESeg82VtIVRC7hwyey4Xs9Ph11gZ+rZHSjac2+GgQlWmFnc8BAA
0nW1hLtYTFzNk3S2pWYQlSU2mGz9L8TLw668KECgTFLKAkM4YGmeFKCsyog5AJQoDX9lwytZdM5J
jGzKHW0DkEbrz6bErBGcxkhoL1Hc6PLeZo11rDq+KGuPOOX4TIcO08cRM61XrqJWCEN6X3jG5aFV
WFK7daQ7VoHOQgPUp26LRVdKdyRcXWry385gIhbwMPQmDoDxzQbFaGp16wLb6kCMgFHMKbwhNFHJ
4R1bklSzvqxRD9uiX5HrnK9WFfeZscfJYfle4rxXPY0CZbg9VoBddIfNsWgEgPfQI2W96FkU41WC
4WDpy6fddX/dn3wjHyRdw9ASGFplNoHjWv5yJ2id+2gDGGQSiC1/r0P20fltd/n14x1ccNci8DDB
suF+Iq+Qilsz5z22hiTW1gMN2TpmQlm620zQSvKZbgyVgYpf7QDsiF7nCPwBBxzfotUScJhcq8LJ
QCDwF7tjhVcnKWKko/I9EsBiIFYBJMdynl89ZUL/CwWuEcoCB6+TiIO7jPkG62S6Bpa1PZXBoIyY
KF8aSDgqd8HFCGJyQqmm68CcZJGRPpcMN19JRuvbguRNRtp2tcB0zEquBiMVQjXBGgaP43RuiODe
u+OhkU3oX6PL/jWzRv/dAp3/9pPq2FH94SfO38ddS2PLOTQnIVbnB0rcuh9os2N8VR0ca8xjZfAd
5YksS2AhwwhkWZlDjiP8Mcnnz7NWEipdwxBDnsRd0eM9P5doVXlRyYkdwzN+/urxmcxBU3mFCUbq
8uI2NaE84YT2OnEoy15T+8TEROBIlpOAcs8FWxf2u8+r6qSigrv91vJ09N35FW2f/v3nv/7l593j
cf9TfDntT/Fma3mBfa/KFUZduw704/m3NEg3yYNoItxZT/lBlk1Sg/i1oruU2VP/9d8f/2teyDIB
Wa6XvsLrRut1iD/Pu1pfwUKCMHP4s++St4zg5BHIRpJAnB8hfayMfLeXIvjwtSoW0CBmS/PU8HV+
44D8di/L1OKkMj+9TBwc3hLwDUc/FPLz9wBHrn84H49RGjt5Epa/snQSGuye3twLdS9/Bsif5m7p
VngsEJ5OEv8/n0+r+MqXcGmAEQbIXK0f4PezK7gMIG+fMlqS/9+dnr6cL8smyotQqpMUQXkLJ3AL
p1KSTJ7F+/tx37ATSuVb5CkeM5TqqNRrSr4SPZHqzXKKHQFzmQZpNYVKAGLZ51MhYR0i1FrezMXJ
Yi5W+thZcKc7fCvrImVHy92pmz8FJavBwRpJEpdDk4HbUqnAqCLOqhlg1Uxl8xRQp0t3m/XrqZzG
H/bH4zKMrBmX7sbLKAlscaNoMAq1bGrlY4JqOD9/rwuhskrSjVS7AQ3vDAcayV6OQIpHJ23l7z9u
tyyIYAH09xmEMtuX1UTI2zhM3CBBmo18jwZq1HP3213QIEB19FNXu7xgzygWKe1R+tjKv7yEkpkN
XyUfYIFpbDMCPTACvSQu5YkDa2Ynzp6Gw3LypR/GTsIQWygLTk53nP5KJ96DE3ecp0D2HaA/LZvv
f9/vfNPeBmMzyAZvdleWAQAM0rYiOb2sJPRW4U73CAxY/bGT1v/z/tuNzB9Ynp64EeTOBanRHTBY
Qylsd7jdgvtiRm7Z4TetvFvDYCXA+Nfzc11IrSvdUnrHslFAG25Fl4sKC0CLBJ0QjyNuNriirpNu
yfagO3DQStIwJcwEsq5M5bYCiVlaR0kGqb79jpqHcgU/+FbddbRulXiAq7dpgL80SZigWIEBK9Al
ncWjCuTyDNIm1qGVJse3geY/7Y/ZTIENdJqg++CvJ5owHML1Bx9XariIFKRP0kVE/o7pRd+TOhkA
nhHNS2jBwnMGUFfb2jEoYHOU6Hev1xhAlWmQQNLG6gExGkxl/kAbLV0DZdWvDCB8jOLgRtT9QAUO
nWQpf3jbve4b1kxYVyT9gKxaXj3ebP05YDzw04OaagcOFKfZKs6BtTrgthCehzxqfr/yHqycrsAf
+hRn4d9VeTnDnx+6rkZSAaW/pCAjnxQQlJ3oFGwsJwKphCfc8Ez//mOD4PVj44UFpmcQHcKSl5GF
V3WKixXckxvASeGjMZxvDngCZ52kP37/Y4vu77hJpEsINIhWLfgD/LIbN9EWy+sgYDemUTrG0gID
ZoMs30NIk3fv7385XG8NFJWbOO/83tUEQNB1Ii8AvOyhH2v40QFmTzy/P+YXbWWuf/oMRwaCNoSt
rbFcQJTsyN2Bx7D/QJ8NSmRI4q/viqsMJmBEnbaBcUCQdF8hLQEO0BQHsH7zCD4eax8rIElGi18X
dA0A8pYAKMJRJ74DeNuTyBYUwBWoEMpsZhcmSU4PrHCN4QJ+q+66th0DmH9Qpes7FFawBbNqyFNR
4wM8MNsV20dw/x8PXxusT18yogRQlBocoEgt4oEgAz+1RHwM4QtJMwA/CIkcAjTQi4rkh0ISASah
AUA2dAu4HG1r9PgEiD/qRmciKEEADSBAB/HLJkwGuBTX1WwRUOJq2ISOLXN2iIaSueIttQ8MwCAm
H1AfHGAAw4LB3QypgSbpp6kCAUbg+lIgPspqCFEPvaqE7TVQg7qruM09cJud6DYX+HMC+JPf8Wh0
NNhzBSFLfeF9J/IFpdYDHqSepCEK8g7YXOUqKgN8vPSP2Oi7L7vrn9P76sh936w+799fDqdfG4CS
mSTHofTeQK4KCa6SbnSFE62BGzxC2NhAfYy1MIcCaQVL01qZAhiAqRiMpLVXsAcYgC3XqECmDWCO
aaCqXEFTpo5yIvz66elyeG/w21wnek+bQB0gcJdXcmU6xYwAs1tpL6kDDARxaSXKpUeAgNEgO133
hziAQxxrPgdY/Gil7acGE0AuAj29Feo1J0LA7Lu+xFuO16Ag04g4PsRhS7gJZKfo2g2cQNyHBhjF
mwNiZm6CvM3Gcwe5TX3t9CcQshyRww4ktxPv21/2r/tTS9hSvnUb/hC4vIMYN/qhNWKyzTd1fPQL
QIDJVZMswO93ohD+0Oo7k0TuzQ0qiXCAwWjOZLmGzAWDnMdBJGFpCBrwWFYEQeQ2ARwhZxysxgPg
iA3mF5AkCiSMIiG/snjAcyK3cPN1aUUBAdBN0gmUOZ9AEXdDxYdRIDnKmA56b6U+Qzk3Vo6kgSj2
0H/GCdbArejZBODw++AKDKaHWHTjhIP1O4UJoewGd8ANFhVjmRUBMu3k+Nw2xgRSLwf7iV0BSd19
33/ieJHXaHVFUxiQjGecSA6g/L++4l9P4CcnB3eQwGOAEcwAMfayctlM9Urc/1KgQGWHGsSLDWjt
wYkHVv4ysA4kwL2tKbnD2Q7g7E1ggEmzAfFuLe7gnw/743MbP0qllxWlAfBM/fAJFY2S65zoNf5f
H+fbvsXpk7XlJvULKBfZdSmgG4g6Tn01Cg9MHh8+IOQLMFfKSTxlyfkB4ojm+vQFV144Th2gnsQ6
IzoCuhLdIMGOjbFCQbt+hEFMouKATBrbqCdRHEtOgFpgHKieU5MIQYoDGYEn20mK6ufDrSWY34+D
JFelLwCgpOpbKqAAnLYio/MfbbH8fpzaMs8BKdKLkkmrqFBChqokVaIowlRLjeoBJdNjvUZj8cAl
caJjSeldIIzEJ+O5WYCitRIT0P32t1XCKZnV224EMLyuFznKv+5vDSDWuo1HYET9BACscW1UBUiw
pE5mmepX5Mggk9E1kFbAUe1FwpuoBmBxjOvb+GKUs8dGSRNlBSxuJ96qEkeiqkgrguAi4CHPgugF
wjZFqlIh71LM8iyTmwAIdk6sTgAxssGpFpCFUovkKA11IsHMaYwtp5c/np+/w/xMVaEzBqC++rEa
CQdRkYHFVemUwZS1mIh476eAW06ycYLpG1gcolEKVB7Bn78z9zgIMAe05UZO4oiSBlYvw4YCjaIw
jBULWYorDqIZcjR2C2hBVHHQYsFtkVcEclIHkZYurAVwFUlobpMPWWIosJ89NnwbhxGoAJqb2THR
ygY0MnWtSbpANJ1cH3EHrUC5iKvl6YEpaK1bgtYWpOmQrHUdwtD3txMYMdJcYZswXQgn8PpI2vY2
Y5g6OiD4o8Q8qX+fP2lJmxNDp9SoADaK6FrSlInygCBjxoiJgyTVCRiIno3YxJpWUJ04iDTefI3+
7XL+eG8p5d/kt00irwsc5YElTp7PTzDhRH8i5IkqF2wtQ9eC+2d1Y3kpkJ5+GJvqdkDcbyrZUDIN
UvWJ0t1FXri0dUAKVY1MBDpAKyVlDxUxM1AwMYppb2X2FWCOiirlsAsSJAdtlEbcUYAk4KLEc5yK
RHAD2JHBAdcGUORdL9VfrrkrQBK1EYuJthsAqFRby4UaQRrbMLUyHgBAOjfW1AKQZ7kzxl92j/uG
HGxrdLXqHYDmbQRZi7odmNVNAUHRpgVkc8hRhX/sZrRZ94ydnEnZmnZNIWKZxFBeZGDSOwMjpxu4
CuyL62vRfMT9DaaRzkaBU62rCQ0AHRlRtZbpOSAzcDMEwNuo04plU0RJiAQwDzTkWGYWUwITUMDW
wiXkg0At8WzXGKlCfPZgpO4/xNgjBrKHjhixLuCOyqUqNNMP9RUbKknmoNJZm0lC/KULCM5zFIdY
FSxgkcZBclrqHp9WneQ0FRoSJehosTx0Q4ij4gQnlbctnYSAhZO91lLDAt+x6yQj2eY3KN3XcoyA
42tM35YrBzTj2Em8Sh1uarnYjEbGAIPvWN8jATygCjtXa6kJ2Dw1KamoajVn4MgGV2suAtwEoxR3
ZDGbC/TE6a38GfAw3ShdskI+QF59n1frUZG1bLAI+WViP5rSqwEBK20qwcMJlBVMctiP4lhU1iGv
oIjRACROLsoYGueSXTx9NABZO1U8mhGQ93INWEEkA/DT9RJ3+kNrB9jRcvxSigGgYr68chMe0rmL
HIOkdFfNZwHESIWeaUAY4wb53ilXoBt1J7aPKU4N1AEoVWmVp0AViDEiWiwzJwDaVa7aQgakTch9
k4v9Bz742MNOThSzg1xwJ4YeKO4G52B7XJvUkFckc0OFFkPlBV2luMMBDWJxTRLB20AaetybgZ4G
wI1O7oa3ST4ATowR4/6bWgsgnoOFLv5PLZSjocS3K5t0EB8EIFAzScK5IiHAEEyyaP/Q0uBrFMu8
ULGMsZIglBEX4PoMYvvh9fQBt9JNTZgEWXQll4kVCQio4kmEoVteBFAz2lVbgwMT01QviloJd1qE
FhQYoBSYUayaveM6QYhZDs2ujhTIXKXtInhxApSIUbVufT3wpPuu1rADZMZ1IslcVrkAF7qb2owT
YlnZhoMxegeck2H8TK8eEHyS87gLMgLhc1rxH5y8+z7OwMcYjZxKhGjmqcJeKODbGT20NY9GjU5H
sQIBxS2NSG5TowWoJ9oGvYw1b+EEgGVDD9XnRnxArXRva+2oAY1nxbg73Qtggmn4tWQhS1sEYK5u
e5wAFWxvM7SMrISBo+7kHONCJAG74pqyQVC9WifSen88kqxQcC0GkeIuKQuAUgmvF5q5Gnsf/wN+
K5XtciNLs4r6YOZFeJ7ajOyzGyhr3bU1sQNX1GhOMcfwGyC7rK2RoqA+TLlqE06waMUi2lDQhjqv
DDUSFURajVVNIg8MYNe3jIAyuCaRYsv1zqhvZddClYAMol6JscqC7QAopBPbHv9115IHZMemNQAx
UGyGbTSnIzCnUy3tBPFqHctOpm5BqEOTkSi9xeoB/WT7llZDoKl/r5rLOEHin55E3AXOaXCTWBN0
+35sCM47Iza72AavUPjQtqbIANs/2IrnAj7WnWlp0A3qHyzbrih1GgH9LTXGbjTFBiSvWjaxIB4/
yA7qRZ+19HgAHz72FadtAMTuoD9TdgrUPoVbIyQQgNLSqkIggJuk5QT9xfMF8ddewXSEhms4atAj
GGhc3ax8wO7LOqAIiQCwQfOzyrzlImkSROemCZKh9B4BYtaIvTKK9GVAx9EM7NKJIfkc4D5tHYc7
AOXAfXJICkAQuaXHC6JuJ0l81+wLQP6NOClquXuAelMa2uBSjQAioR9E/Emj+AD9bYKTkqeAPEcj
JuFvCHnUdEeO9mwyk0BlhvxMUnEXQKiGsIH1IhGgpXo7fuKAUXK2ZdPkU+gVGEqjxaQDZNxt1/S4
IGp/1Im6ddsOASDczZPA+v7JJpDa4gY54QKsva8BA5DOo00vhlNAPe/ghrZMMhChnJSUXrCFosAa
D7UHICxgsq38oCIoHhpc7YWTCVDvU9fkeAMvhuQhmZAhc++6gfOeegm7F30BUHeDUUoS/sel5akD
+S3HtgQ8Y2vyDgyP1oP4JhlITBh619yaH1gcO7TVJALUMtgmlg6BiFE1867g5vXdZ3onAoe6Bw8+
AK039I2JxchK8amQKRcQsIXd+JlOWABQ0V7lDjb4AkZncI0vhqNGPkZ/oksYKkuzrrWtEFIyujXj
AuAqM4rvBW+6PSFK2nD5RJFPRo8YKi7CnBwEIFm6xkMDk6q72gvFANtrPVU+Bmyw1uIjw4VbCZD0
JNaNFyOAk5p0i3uDYgeTmHJUokhAsHVjBZBM4AjGqc0+gBJtGuDW1XJxwNHQNOlN+iU9D5BoPfXc
FYjwCphaV3u3FfGb09ia2IHCvARh+GL13vLBfdRbTVXakgF8qcQcRJr7BypVbNfQThoJMcEpvipw
5Kt+gD/KN3hMAQJghCaRJq33GNK6/4TvCvJ6+t7J7wgC11XuOJET21C/jwmmnm4MMDB7dmqtlgJE
gFzbXz9+3Yksa5m9DmIMRWzOhv68vKcE1lBvpguMgZGDuivXBq4QAdlCCjmw471ox9diEUDzUReB
5SAG8NMyllzsFzj3STWXcYO0um0lrNCWETVV3GRTcBmqIB9kC0VIZwhgegdbS4scgOnvxUvrTc7r
Zff+pSEePbGs6LPPQYFNIRRUPdS7BefmRPxVZhWB4ns5MFTWzKIK8L7xzXnkk5oaFh4ArfSpfsuI
THTVh1EQ/Op0C8UOovxOSViqbF4E0Gg/Nj1rCcieSQwXF21uEd9ULQgBZ2BUh9uBNUjk6JpeuAPy
aMdNzacQuQGYhuSOb1g7WlOHXrhvS1BDpUlKbLdSOGhAP0w1i45S7KYBFH4Cvd6JjTHoRQJVTc62
FfOhrRMrUMq7CDA5ARWbeGnJHILLMBqpG+mKS0DWqRwra6vgV3JNZhEnAx3d+FQ7STUDR8WZtr45
wEXUDry2iXoqapGQAoGeoZc7vyM+iu+pE9sbkVaIcmcfkpTqijeFF0sKgiV8il/IjERO5FimuDsZ
zQBV4z7xuBdCZLo85V4m24GsuKn2ThnYED1NTTEnQMd2tdcJFQhQGuNacj2Q/aPPzOfk/SjzINti
qOUZgY81CCnT5l7oNRctdvsoEkwBdqCPzLMPoY4gSWXU9Q55SGHT+iYAANGzYIRG8AEGc5cqCKRO
8zVOscYHpFoOMovaFuK0bhSz5TYMCkpxEWupmzrIKic+SERJOGDsrGnJdUMZMhPbD4qwmIANU00d
v1F+lqmxN8AHU7ZJ5QHA3NlPxDcBLdkPXeVtURDl1Na1NmVD6NHK79sfLvNCzpfvLe9Tb+wqSTUH
WRbDILo/VI5RFTkblSFSCHSB+owvjmKs1jZl6gM2Ug21vhCoYrXrK1I0AF5uqPXKnYAWHoeWltCo
0EvZpidOQK6nXDy95GqCBVixZVbxtCiAH/Ib9SUthRq6iJTuPZwEOp33YTdNb0GSW+9au1OAbvKu
72v1TqALmZG7kJGiGdSXZmhxAzXqIWDE1r8KJRn2HE0aXSjw6AF/9CkVEnhsWuz+1+qvk9SaTQy3
SdpUj1/3Jjk2QO9p8TWcoo0IaoNYe1hyBDB+7FpQEHLU2944RxCgm6pPGqF3bLTkPtVjYFrbWhQL
VqWSKJbi4LsCEzdqanm2AoXRR9XSjgel3PGvGEXQAmLwQ9PDPUBmAeRaoocgAjVaye0reHNA3k9O
bOVK3Bdw9zXgi8DGmaH1CTAAtrRYVlkUy6FW0Ba8/oF0dYeLxM4tNWJD9SFc0HbPGNPWvA5wV0aJ
Qg/qI4feVHp3TUDRTCJALkluEEBU8quzAI0Mrm97lwcwHa6tpwkqS+xcY9wRJV0ZVYlVOXACTizL
LAkrAA+1XInS2rxxHFvIPoRxO5H4KEYAYUe5U2zZlx8cp2Kr3KIsArqcnkGJz0tBAopXbm90B9GB
CuhrLQmACtLym2+LGIKPq7zNAHK4erE37Q/XH07P+28NnKkWa1MKfw+V9asmZx/kYKlakaoC3WGM
xu94N9TXqa6KOIEaGKemTFqgyicrRQq3SeDoBUrRjhYwAFWZuua7BOizvhZG6AEJ32967cwn4b/e
f52/u4YvDqfD7U9fgVaY9zKVDfkWdATOPR+u77vb05f4tRG/Thkp4XWOrAzKr5X8tc6/nbVp+fUk
fj3mmZObUHyt5N8eN78dQxBPs/zc9rV5p4jn8svp2Oi38o6ldKzwLXlbp5i1lmdt8qyzFSh3TP56
MOVvx3kv9zZ8/YfdFa7c5d/PRd5Zzqw88zF/qfizlvCD/1qVctZtflfe73Eod4yTUHnWg+PkO/8u
kK/8pXcZjLuTESf/qirOKa2Wfgtm3OGdkn91JJLZ85IJ9MgwVOUarbivn9Igf83KFt0v+U707Lfh
q593l9d99Ub05a4NjFwD6bTVryU4amMK/b02yGcN9Eh/96X/f+av32cgc/66vxx338OH6e8PR78Z
D89JV4gDqyW5b6PUl2EOp+ttdzzu5NSOMIglK8sv+fFzebg+XTzp+IwmRawcsZXXr6/hv7/N0GH9
yzzH2+X80LmH2/9a/gM6YHgqNi7SrzU8vapcShyYD+708Db/t4fZHXg4f9yOh9NeHCap8zhMQFRR
8Of//uFl3qbH3dOvDy/neY1Pl931C79AP1BChX4gM62lu9fg1j/4Rf1lf3q9fXmYp/d0OL0+XP/7
Y7//5/5BS1Prkt50qmhicTj59YQRH57313mfvj/sbrfL4fHjtr+mWX6Tptkl5RTWm0329W1ealjm
VZ7Q8jxvmFAWicfD8yFOZ17R5bu4HJd32v81HVfY2uth3ojb+ZzEKq5BGieBrrCCnC+Zxzl9zEvZ
Xa/7S5BwcRgiP2a992/n58PL94coRO/n68GP8fD48fq/5B21ZEddeAglCqLfkrilnQKCbPIxh6QS
tfQ7DXPwishfuMfj+elXWfpGcqyEFVqm8PBxOcyX6uvueHiWJ9KXO2LzGMtOeMG97N9mLfDw9OVw
fMZHpZIOWUd0+E787vT8b8fv71+uDZcjcaBBFjOL6sec9faX1m0biCxlH4JM0GvLw/MsVLMUzGrz
dnha90KWiNGWF9fSUb89+Iz9h98O8yzDEaMb1xEVkE1jOoEwv9N5nt3L5fwWBwOT6spro8ikvIw/
nz9mr+npeJj3S1QAilMeYR6/zVKugZQTvXO/J1AUbpf9bIgfrLxJitukMKtF+4sCYMnldQECdKUg
1ewHvf2erJyNCHPaRp48kRXCRfnJX/bvu9kQPvgsjqus0pcWp5u7/4lbZuRb1nNbK0syWOfIrXN3
vD28Ht+/z/t8Ys2tNDGbhwtaRjmVN+7Lr/vLyY/41duAp90x7IKspTa6cyBmLSxLNmn58GwgucOX
/tfnfRa/Goi8Zg8uzDz80Vlwj1xWqV527bD9eAAfE5tHip+u8w7tn8Ouy1hEs4Iwg6TLLW5vDR9p
ojtyc+p4S+dzejmef3vYH4+H9+thlsyvr0EI0lbOgvYa0oGu4Ca7QjclzzrAOD/Sb+fL88Pl/HHy
zZ8evsxidg0XAg2piWD4xASVmu5+4mop+WpZ9ixWfXz1NBi69ioficfClqi92cy/njx8fhRFQQ+c
OVjV3mX/sr/sTwGpktMVtSCBDtobezKXgMTkebAQga7ColX0HET2h/7P82wSI5ycUc/HHmyk1uXk
bSk5Xw63GVjfAPKfJPtTbOW+dkMGx42Tge3j3t+R97O3CS+HrwgdES1B4WBAlN6hPr+9z97C88+r
BMv+Edkc0hKVYFtk9Q1xinKOwe79fX96Jvjldq6hF8vuMXVbZNOjXAny+q3KRG5mn3WA588mvfF5
Yt37jDcvqVhCPBKiQTNrfgdYZ6AJ4MpAvFU7bszeDJRevKshX5fecJd+9/z8KYfHEtXhR1Q92dHn
/dMZT8IobiM8wH58e69Z3IH89hj+iLd1/3Ytt1A8hoFD/EQYRrR/urTc3UZnz174exVD5zNYeBA/
AX92ywIOpy/7ywFonGGUFxEOEktBz7nxsp6RXWiWSzi/vFz3N28Bd5f9w6JGgf9MFjPE8vq7y304
PfjvHVDCfamnxrSoy342IrGkIRmyGWK8e7PmZfybMCeyRRvr+BBuK9xfcj+2+O7lMC/p7MHC7bt8
QQznhy8XhLriHn+Du0IWMcZ3Ku88o4fL6+MOgCrKjnX+D7O9LwbshMtH67WVUxX3Afh4E+fuR5kN
crI/BWP//PB2OB3ePt7iv95fZOEljpsX5JX4E2en5Nn1nHObnLh5sPf5z8MVcQbL402rgYtD7BqJ
jM72HPoNZuqyn6Hv/hJhUEVk6Cyyl+YdBC9uEUj7HXndn9/2s7Z7alhaRyjWAFTT7oSL5EebRTHc
KhldDqLr8FuFXOsn9mSCkqySA6PbUswTZea+n3ZvhA8CLt/SMWSDovbfWo3WKKqjr4f9b4/nb/Mp
BzdOXkxPtFLOfgtjvB2eo7afp3K4BcUo6jZdHoWjkl6ZASGAySYAhrzG/HSTkciTf8zy9Hvv7V1/
D1ZDPHECk5+O+93lYXZId7drhYZw7LXLtOtuPtbvb+eP6yzgFx+0kb0QY0WUmhwhZHO0ETVQ+hrp
ae1EkB/c0Cp17BwnFgtPGa5L5Cg9DyMrClb7FJcVcKUjVeh9eHhriyNkUCajwq8LmTTD/MM/51Fq
dFLPgrOgivdvj/vn59lINbgLnXigQbKWE5HlyZUwu/8s4Qq494kDkFTYNBI2K9K1wcgVkQVwXzqR
i06T6NEkWDqyHq2TddHIbkpduwHyVZeYZ2DwCUBMLJsQ4qJPX2b99upPW8aOTqYZ0wzmQ36RL4Er
MbAuomur4z/j+orjPxgu2lc/KJl4G1mwhqBk+EeAJM0WJoyfvWuAN+9Esx0A1Gy7n2cFHURettrj
57lX4BTwRs97sCHzLUjm/jRDzgppOHEuGw2+1abSEYQWOlBEMT2G3f7d8399XNNAEaxegZjlu+aJ
Gmcpo/Gym//bh9VBBjo3jxJe4TKJlH2ajb9X2cEbDsZDDtA7MbCZbPFsOXbHpxqZSJAJoZe/HF6/
+Ns/A5scIRenQsAzYe9mxD9/Odv1x8t+92sg1sG+kjP2cjOLIhHgy/l9nsP36FO0MWCu45BGXR/I
anYcOT6qVLPA9dMgQtZy9UGEYKyHkUHo2OD4go+0vYaAyMPT+Xi+oEhDx0GJcISvl93zwd/5Fi/I
TJwaKjmaFPSUmRkn4qLlyCFQdpuwS5xDMIZegc0gffaVg+ryqWuVW9b1w78YegW+zcAhlC+zq5aY
53yUkWOopiUQYBqem3aqb8QoAAqq0jx3W3oInsVQpkypxumAK9PJ01lgC6RGbUnOTjFJ7X+bPzz8
9J//Nv+wCp+9BwV4uQbxf1ADP2IglVJw2ZaFO5sBLBggpQfZsupkNyMTL5/zmt4erMCABMKuyxPw
piVRGOHKBwUsbkj4OoF1W5aazAfxMW/l8+zRSSg7zD2hSFtW+7ztrr/644RMavj1Kc+dYPygIPwA
b7vL7JyJQDRMIelnO96R3de4eR04PdeTzc/oa51AoHOlMGv8ebKCfsVKm+OfkPzk+dM3Lb6/76+z
Cr8env7497/CTRyoAGVDsJnCiKag8hQyM7Gcov9ffIrJwNqy4DXJ0MGX7YgOY/j9BNg3V6i4AcbI
N8BOWYaJgS++1w58T38/30AvvdeH591t96A6+es+RYc3IlT8+qjB/aXfZ0/q+mXnJSCC9r0YhA0z
cBN3i4oZzOcvr3+YShluTm8M4qeyDgixL7VAtuL8we8vjcM355924OlweZpBMZpC7/pSgIfyFvsc
2l/3YuZMvMdTeQ3jKc73/+bvUFoEugSOLCKH/ZYBojqGA6RQjB0LV6e8BRbdAleeYjmB193H9VpZ
geKuETUk4BIuD1jb8m36Yvodmn7vWE1cajFki8zE3+JClYMZLA2z0Ap0h9SI4q7h/PP7y26+CCFh
BYmxGwbOFBA9NB+AbAiV5ta/nP/t4/Lof/1FPv68fI+hXaHFXy67V6yEBhbGeI/W7/6TFz4r//rQ
bXRAoQUvCdfJv95bbu9LFYTM+Dhxl+fpPPu+895dfHQQSr9hTWhpBODt4VEkMUHg6+VJVlv2+it+
vZ+QCTIcCKSCNyEDOHKqswSBFoFAovhyt30KQdHJDZZb+yL2kXN42mPRt3kFPkfejHczUGgGXbl7
zO6PDp295vQO3X0k+Sr/eiiC6+/vHZo8VXqO/PjGdFpkOsfy7pVOQEqGqCDIqe5EIRzfm47XPuEE
n86n54r66DnNW6p+gGDtaKoX0CLT05WmY4mc0kMEd2DoNj/fN+YMh4/1VIqvZlQn2rvRVfEvUl52
sNzaS+U1IOWlOPErf39CZrvj1Fex9z3ae8thT6o7kOszqFLwbWuOb4Teqjw6x4gt8D0tdb+3Wb0w
Nzf+OtE8JpffRpvp0xZ81RpcviOYjSgv6rwb5Lybqt+IJH954EBAzPMGfLlVIBOxXL5Brk1RcU8x
Pnju9R3Dhp5CbvJYCamQBOsfCGjwzoPdOP6zBbn50DbU/5bdw0X6U6Ii5h86x10gKkUjkiKyh5kj
pMgHoU69sb0dZzgQ/WI0x12sqPlwrLl9I8eALd+/nS/vXyoylHfP5xVa1u9BKsS4kj9Qd3cIsQ+9
rloug7TnNHL0W0P6eDz8bHdJAKqE3T2C3azteNvfdkF09t92b++1EyR+c6jx0Xd30CHrmfdvCg2A
OPOjkfkznBLa6BB0g13HnX/aw4/T4XbFWpTSh4IEaKRFx5GDXuUZIgkk0I0Y0Fn9BPjo61qh50XI
O2L+S/iCvBfifVDih1wf5LsQvzMs3jK/jrAz3byNAYClYlH28sn5KIQ1jXUP8eP8y951TznZG82J
WGPi8pKuNovmezzuI+gGhJfmrGe90iGS3qzDTfWOQXpn4Mi64tgg5zuxTme9PiL+uOV+fLPz4Mb2
ekN3TvTGhf/BPBORG1q1TbkWZHN71t6XgB06OyPH1SwXfoe11dhx6rKhMiJKTT1SgOTG9uy5l7oO
LZ2gjU8Vp8TJd6WjtWWY30KEGMdanLWct3YH2tG9Nfn8fMaHZeUXIRbNCtA1dJp8+LI7+XwnOADB
3eQGlaBFIdACqdLr+/7p47i7VHBbGTk03R1rg+6QUqICwRmWEXGPQH1dv789no8V1sdxP3/H+iDX
pRu4Q1zZ7hpr5gbNfU9xv0O431Sd/hFdRK2qrmMPg+6u+vs9Aj1dzzKu5R1C0Y4ta8MFK1C4hbI2
hqcODAp2TMT+BkWsODWgkBASZUx4380eoAG05a5xSTwjW0LUAA0aRDv4fj5+DwnpmDg0JXdbmNLk
PsDvBfKJ4sceAZGOjf1vEyhQ3KiDDEDgvxAJQahLErZM/ouXoysOvFoWDZTuC6SQ2JuUTqDhAFU1
+6ZH5H03cT9fMr/wHk1c6KFW+hTxgOOjNhsljswQVUMkvS2Rl/uXa2XzJk4Lrjbg6eNyPVfM6MCK
DwGD6OyHqRI5Ucj30iUYY4ljdHRk6sXmkYsDjTjOfVqOD+1/x0oA2TwkuaNuiLmgyJtmHf/19GNR
Ij4/h3DY0/n0tRK360s4z4SsEYQZxurdHREIIIHPsIOOw7Eo9c+56gSGDk3A1iOvaP8nxbkjs+7x
vvtp97YPDVQqZ8CGrtaskRf8tTYsf1smbSAgNQ2cCmqoqot3cKjTx7MOABjG8Jc4ewHIeit4fwP1
hY6Pj7w11ATGtbOWqxQeB46OcCDbmpMEfCB3pUreWDOwAeWM2Yn3YPLGI9ChegC7Pq6VZJFp5HJV
imvrIPg3VextEetNcmVceHHjbudhvt7IBVwiaRbS5CsBg7E6+R7xteTKBZ3N+O79iHSe5sS23rkh
Sp1pyDSEqZYDdJwXvK0Q3q4jzhEq/YHjsAqlAVMtWAqsyJRANnMTM92Y7KaAC726dzMIEQ88BbKC
UMrlGNWBvrc4WzQNBD3PjnVdG2pT4w3U1XxdhNxsj7RX2kCYsaEb+DdEQLsSd7ALQAnH/dSCHJHr
PvTVpBGE/e1QR14KBb0odGRkKOIWhB0nVgjXLYgvDFQYNFNJW4cGlA+BlLcIYRc7gMKRxFwgEzzV
03YMOoEt8OvaC5ij97wxwpa7BDDuitijNW8fpq2XiZPMASL3VW2Ony08QjDGjFUWXaNbPE7cHaw1
i42b31evH/re0syfnLWx8V2R56WHegwLQTCS+yQGgpDzbdiof7kBPdqAAZiAwL2j1VPN4e6SXnwk
yS+hYsUdl/ixET9kRIgM+BSGVJG9+B8rkJUdkHEoVeh4V6+gkefJcg+l/kOXlwTS7oOonjx+PZ8q
7Bmb8k5hPKKP1FSFkRpJEN29O+rvo6a6iPmirSso84KMx8iGX0rSF4YgHc9Zk59H0SM+iFxaf7R3
A2t7aM4I0h19z6WMleF75IHpkUt92KQtWhS6JOg15I5saUMUORsVZzdLuUMhdILe7wL4qN9c9N96
LvRc/jgK/PLINx7crylXEtTnkErb3j9PytB10HXty0wzrkwDeX5dpdTh5SXdW8DWDVzObml3ULrf
wMarSq2J/GdiNaQaqwEme7uy2Hm8u3noAGmwJ5dalvceiQ+NWedCybvkCeS42K7F9YGw31aVl0HY
aTJcynm5Ccj7HJD3GXUvgq3DhNL9MG/nRgOcjiD8yPGnLgNtT5GFB0E2kvZEfP7l9r0s0gdShRti
vZD3GErp7ZgCP4R4SKzZ53yae8yI4NrAopWNx4uIv2kUHbZaY4+o+1GJX5Q7hFgGtj614L1g0ttQ
J61gjbtB9cWppS4Wn57T/ku40TftwbxvxzIOBe+Ljq9nC6RLjwc2mphKf0E1NhKJZ+/KOpH7ylgE
95StepsGwT0KdrfvOVSajkRvV1dUHlT3453cxj4xoWl9+MQ3nVoIh5C+GWPHfMMf7fucpy4qpqyW
m4fxOnQf38WMDR1D39D/JQ20dIcx5aXK8wFzyJ9uHpxIPlR4kcc3HF2WI47UryMRTEM35W4ocVZL
OytTBARTB6OH+AQ56azEnVoYZszDkKIwP6WlQ+TtfPYvmMmr0nlVOTHkn/vZL4ztzx4eP26z5tq9
x9664pKmPBA1O75RWZqCsIhpIyX53bTYRg//7PK4mSnV1dfX5cWlpR1YeJYZjGMkOUnj1L630lFc
b7vT8+54Pu1rOzFO3BbSs0h9tuqHkVezecTkfffsXy4BC3HiQsJxpEbBYABWKOkqUkv3hmXYuw1J
5nC+XeGD5cqRVJZUj8Zu8jzQlLJ6QxlN7BOv8wx/OzzPE/yyO/HvFsQB7DoAYUSTnn9+uJ8SGErn
ufgY69I8nB3s8u3yHQyl8lB9eLqzi7sVjOasWt6u+V3E0ChvKdxbBHz57+af9b8iHIsitfg+v5cU
M3khmad9OXybbe3uMqMN0PcsDWTXgUh1xzqV2VE5vB5OIctp6fKH5pXq9KYgd0FqEmW7vzx5W5MH
Dl3Mr3CNeSzKvXrZIJu1zDB0MzzdwmuY+R1FNH5KjIhz9WWxg+UX//mhU9aDH5rUu0pTnzcXznPc
7unmkPbpCZaAzZfbByan8756X0UT6Un94L/X5cbkQUp17UUlizw8YF3KXkYVeYs2JnnpKggGdflm
5GLZfOlCm6vwt+KHWG2lSADND+ivdb+q8vn/WyBUyzB9PsXY1XrczGxRB5+aXJZh2nnv7hjCaxlI
2StSrRAlY1s28xzzLv4HyqrLOxgiADrqxeQUrdA2tC467E6Px4/Lw/75df9X31n4+eP9eHiaf5/t
9eclKKmwcDXGYKUSmtv/MXUF8Wf019nYxZhBIGHez/Hh3Ic0C2n0JfsxjN4Hk5UIgf3vQ+lb6t/9
8DZPVmi96Yfp8jBF9eTnJ9Tl5QZfN1Fj+x8Cs3D9eLzsX+dxrlFtfd3/zte53H70g8uPE/iBU2Mg
PzAlPtLAt/CCc1Z/D0mbBWn17sThhJuh+59I8by4mbkSf/9v6eh/Px+9+HGi1MIWkg6A+z+cT1/P
x6/7v0bLd9q/zmv9ug9E7/74H6dDaj/5f+Qz1nlasfuz5ccOEOX58PVwPcvzTDHHMFp80nB5a+r1
4cs+0PbxjKURlg5VcYQhUMLMRqXZ7L8ednDTDRnNkE2P57p0AaZiMsNMWUpUlpKcyC2fQmA6/295
sxzZevJuZ7pW3nGf70TsJD97EeePm6gHOla45gvxY7gQD7ffzg/7l5fwCKeoS7IkBB+z5+5AbN8c
5V9c2KCIVsoe5v4PS/2e+KXaqApXzGF9EDtO5vow657KVCwVp8yHpgGjLP5HCMbN9/jyk88F/vvp
P65eNg5vB3+K3P9V/rks/7R+sZTdVU/JYksUL+Gx0qyPXjIWlfPw8f4MLMRSe+KHIs97fn4DIgj5
fXp88vezEyb+Yp/3YNslML9eebhePQaWBplseXFp5fXD0/cn6Y0W/+3Yk2/9vUo08Mv+z8fz+Zkz
hfJJ9FuF1hXLaXkXMaxHl+tZlOxfvE4MtRRim/lwozb3O2ueeSlJ7Sw93n1fVdmC5vtA32csBlrM
egQ/aHdUx0/rXrjuxOdfkK8sGrSdSdYutC14uCJPZ59r4B8t2192tzMAGIrYL/pa0vXL7vn828MK
UWRF3LNW/nC53h6O+9ttfVBAkpSlS+CdpCSMsz++zAfz/HC+fSHydxA4g2i2+q2JX57gjg/6PKwo
N0l1VK9gitlwBVVvCKCL5RS+rmUGckh2Omr9Ql1hqZvz1VrtIRrOCfDqDgf73X8Ij6HKiFVP/GAJ
NixdysW5dNIlK3HC+RS00Otld4xYQYYKVKx0SKzjrPPhFKoBm4x0T0SdRGvSgAFfhZcUK4pJs/Y1
ytHuJUjT6tDioUai8skTtuvNC1c5QO7aHSRGWK/b7yGoX9Aq5VoWTaLWvCiopeHQ9gQXTRm3HyA9
AojoA+uLPTvyvGzcFsftcMkUBLcR7u7SwjhsitkkVvwoG+KB7AWtX9v/lDoIBAPmkXQCZ4f9s7wU
sg30IY2MUz1RHXGqvBACwnM/pc1FSK92hfDO8/npw99+WYY7hBEX588/MHuuD9aTNeZA3Mvs0F/e
v8wa8vX7g39u4uP68LS7AgA0UCTspbgrDcGqswmldsrLlzdwaYUepTv8sYz8171/avq3yzkkJ75/
gC2z5ZaV2mgh+5JSkgXCah7ncmgkvoAtGm5VarNV/V/O7z9FFdIAuw13dlvFIasNurFBhWll7uex
uocN7ivdH/J0adIbq2GLaFoG0+TKkKyI9dYdThn8y/eu43eYCHYFAw89LzQ/f1weP47e1P/yuHv+
5brfP18BujfkYoRMjY6Rmuvu9nFBfpEypT4sHIzz8qSXuKMdZ6vKKcSEB3kCmnXZzx+Xp/3vju9f
drJKFnxaSEMABojc5RgHYtmvuq/d9whRBOTahleHrZmYGL+i9vhT0C+G0y/+QsdYW+1Cm+3OKB5V
yhdYsbxd+Nn9c1iOfMyKda5WCU1/m1W//JZjuDA8mF0svwyDphGh4CQWUSauSMv3DrEZddY2gj4f
+0VuoSMGMxP4aZO+HJ6f96fgCCLjPcIV55nKSyVoKeev+Z/dHfxjcgS+Apa7AvZL2vLi90neFc2q
OeIs7y7znN72t8PTamrDe9qi3qKzCxGdoQgK+Dh96IznowJgkUPJEk10Yqf5kH4OuGbes+TNgKc0
w7Q2QtZTTCPjGMcbtULE1yfeavpPYO2y7Zf1RJ6Hx0S2MPPRJtTdzslxfk+BPVppc8tbmK0zTRge
eaxuK80b18PIC5okeNgW9QAOmdk6ZFM5KSVPauDUcgaJPvPA66r38+VWNTCEch/DH1sOJD4+HPkY
8Y67khBzDBhJKQfipc4HvoQpSfqgD67LAZuRJftXfnT+72WffzK8M0dAZRDZ6DLJ15giopDPuECY
nw9H+cKOmvNtCQSLXtBiaZNjKtNiZCd8EYCyS8lsYNlCIGf+Wwpy7972VSKDJ8HvCLKQW7XQqbKY
WHyb/hxX+f3hMbw5LsvKVGrugXfAd+/v3hw0+cwTAo6fib4CUqfXvGMOf0QezbJTjlsYwWUlMDP1
YIT92/tsb15lySVKyMu7vr83qzGvXB06Upe7O3uZet7v34/fZ/169URDhbcmDtU8UPzTtdBmwDMh
pmMKzyHa/3mAoTWC53iNVETwPuPCDzzn9bL/O/YPx3vibUkInzHbE3w8PRRsJj41YrRcRHOl4ZFQ
khG+3v7L0BdeeBRXkdL8QZV1KrPYlD9h0BjDOsYmgbYcQ6ExXDmPThijcCLk4UZ2WSvbdjcumpki
q/NjGWmPHBplWkexoXu+nYRRLBplzHPJpi6c8Z08gGEW3iNGkUKQbJ1M1HrzrX9v3qFxIsMV+b7N
I1huXXfCvLhMO+JaXj/ePUZDm6bz1ocSbmHjH8/P39EcFVklib/5gegLxiEyFQIdETSBEft1RG8J
RkkiNFpcHiMk36cxPCxJCuC3s894u+1miHH9jJAM+Uwos3U3ux6tsCNS7ythuR2bgdXtsDvOG/Z8
2f2GRhuArtpeAjSOa5LXqGsu+2M0EvJ764o0KRxU2aWDBnia55dvubIRhm4f/9UPPx9O32PiYa4p
nOHTRwjXigVS6Wjp/dfk/rNDKTRUT+bah0LPCQyl4VDTdlY2LvtpNxvJmGUZ/7omms5jsfvYh5yR
eCJ9+WZ8GuH1eH6cZW4X/AM8jFqHUWPIVFim9XG9nd/CN/GqBXmJuunhEpVTfCaaW3NP6tvD2OWD
NP/wACFB5NVF0PN++iyTx911P8MGadgpBeX9sPGpD1LBmNIXUiGjNMRSFxSG8COEAfxpvp2fDy/f
V95w4cTEuYz5FMZ1oPBqQowJP5/fxL2fUsJk+pjLW366vTmeTwrL6POvk3ej/uuaYH3SkT4TIxX5
GGkhS9Zqr+474vuXFC4x9/Xr4Xp4PBwPt+/y1ipmRxJHcP14nPfGO0NPx4+QYeX3PAjWmkbsOfxV
JGaV8j2kkl38f6nFrRyGjpv+87yPt3SohyUL/3CKHXXFUHQAwNaRe0EZg+P6kt6XqyijS2eK8Dnp
ShLqiy7zmufduLwcz78JqDHspGVP17tKu+O/+f8JxYHnJ29cRP8p7E7KdvMjkVyPWcJ/+nj8afZ2
Tq+RixLnsvTZCSPk0kt/er5w9eFl97THGzr1+cp5NIDFIifdV+XCXzZZLnpWrP3dDj9xVx8AHMie
dLvqSyiXiiD+HmsgVoz0xZ/y//omDUWOt2ygyGpHcWPJ0fiExIn0/0zN/1/ky7qZQ1fO4SpGxsMv
J4Iy/PLglfESso0Fwf5sb+d5I2b3PHamQCpZd4xK/uaLcx+iKcqNcIUxdJcy5AsZC8o4sQOpmxsW
VDNwe+JFfVainjCaL3DKGoqsv8yhhPFcFvyABHSZ1xbml+RQluORqCNC6H68jr2ZZL1oVT6iUDOQ
37N9mC/Bz+fb7piuvmQYiMRvX5WbrZMsWYxtm8HdP3wZc6qB+xmVzwRwMhKtbguQ/nTZz3s+/y3f
3JBSKipTIqsE7x+9nV/cr4S6sAboiZyqMKkUePgI6chFEGaG7V9mNPwaq4U8FJAEVxXKMe7WOSQn
/jPW9UQ86EunxYMaCabRXhdEOXt93KVk4vPHzWfeiVZiIlCQ5pXmLQ4aeR9zo9FNnC+Rvl/QbDWf
TchqfBgGGZESUQ9eFfFfjrPF3D8HCz6f0eN5d3lOnBo4eIKTh6JlQeXiLlllG9uR0dXSXCxYMRmv
LkkUqxQvDR9mtfaAVOLSoqlX5aMS6QDm/zrG3KIuWmYhosWlU1kYrnwi8B+pcGyW3VhEBkqEo80h
ouIjwapLgGs+lt3lsvv+91A5KaMr9jZGd2pNvng4+K4OL+Kl0UTge2+C4vbMpxK7JVzvmHIZIZmR
U/pe6GJjjpdZ9rx3C8A4mQ7p5vXi2wnN0DkwAEJlS4QDtjyd9f3NqJR8NcGMW29yAVdPnm/fbOzl
fCbOzApgQ80hSFmIWoHcn1wquwofzXvGhnUYp/Ie9Mt9CrUioe4zJI0vKGq/Q0tdnitfQW3Ud0U3
A19Bf4vJY/H91AKoyWdpnS6NXpbP2xLxT4Xw+5RaGhT/wav8s9f2WpRa4xicc3enj/vdr+JGEpVG
su+vB9/y+Q9//LOEOMdu4BSaz/D2LbfDU1upcXYVdS7FHssc0oWZLfyP/vBC3coLMBBmVJyg5sSh
+buDlHkUlWMegFaf+zr4w7f98frw/H6Q9Y/iZMef7/zTHuYlS7OpbnbiqXaG8Xr9eCk1PNzAhPiw
vZglRN9DpxhCjDznj36sAGUfHj8eH49it4qgqgeLNdt1/+qh5/4ZqDYyI8L+bXgGmVroOVf6t/3j
r4dmz2vG9u4e20f34HZeg3WvyS0W97bX96NkD9Z7LLLAESc6v/IQD2athZxV6tOvKA8ongnRhD6c
mXJ4H88+IfPB5zWn1+PEyVC6JqepNiuoMDjQUSNLTHnTGuiLy8MMGi47jAFHV5JsCuhnKTcwKmNb
yo/JDtn32Sc8PBE7P3usNylvM9IQigMNsyM1zC5LJ+/3yPE55VuZwZT+LKbB9KTf8Ya1bXk0IHxu
WBpmzeQ5nYtTF8/X5ll4oS7yaFqqBYMGJ4CFUlzx1cN/ngHxOfaOIw4SEnn4cgAzN5zpS2r6TPmX
SFc/Xs/Hj1vOS/MpAinFRUZihlvYbNr+9vH2uL80GDdCLxNDmyiEIP5SoX9kDCZ6/cYSpifOLLSK
EIkZAhBovsRSVxZZUP+/aBhLoApp7Px2jkT5132y09G45S5OovT2PUclrA/8pVZqMkYn/kt+sYQE
J7hS+bDRIq3pCCKi2VCLPfEXMrUokmDouNmkXgZ0D1qGdF2p49Qic3/69rR/FxPIo7T1pU7RQiJk
p2S6mmDpnJ2XwGDcgP8dFEvFj1qqCjc81dLRLvJlL8fz7oZ9hZHq/GwhN0xEwlbeaagYfjUZU2xw
0fCrIOQNIOQtR6MvsgLYMDdYzp84nLw3llovid8SZUncptN5cWpmlebdbp/3AZrq9aR36EZWCRb8
dXYIZ1skbwHdRhP+iNKWVO/18E8v9ftvnrQ/3KI1AhMi4TPfeiTlkKPBFtMGxlSlw7o8hBnCtLPS
qonKYKdShlOHzcA4LkSt6Fh03A6vzQYlFksMEvQahlDfSaSgytkQXRfiSWojv9erLL+GM2jHw3U2
JDffbHrtiZTA9Nvh+F3mUA05ovzi/Iybfu/tfyYqYkVEMNggJMMa23zelX0ZHPEFcyuI5/1t9+Qv
1XmGD5e387zSyDvD8JAdubu6phLmrluiNbHcAGWegZIZsSwt01hGxtmYUmvAnborXnK6UnKWGxWl
IDhlsiSNnOPCCbSWJZngCO8IqZTDGfsvxs6riCof6YJyZDV6kzOIeAnpn9mruMpeKXEnYjFlxNL+
7akQWPRbG8CNWGgS2ZC+dLDzsfs7tvd3IaUqYwGcaMQk280ctg927uIbhMlp3dHdVoyjfPGJVz5s
/J//9sclX1q+l67U7X0t+6OmwAjHorooi2VYqQGYTxy09ynEqy8ZKQ2Zp7UbPiXF0kPj5tiE2N/R
x8Pz4eHtcLmcxdwRRzAfoffXy3S9nd8LfwFDJmc0b3reA9O7u17/5k/PC+R/7o41Rdazzh0XK5Bv
qd4elyExt8elx44nPRIEkmGlmiS6w3PY77TCXJwPMeuZeD28vX1EKiIzJMBdmDjO8RO0sMy49Dzn
F2m++AxW4EVJY2g51cLeD+YZjmmYRhAqVkUAIvFbKWjo3bunX0Gwasn2j0cUOmyrIlJwDR0Pg16W
jfkwEf1F2yLF3pe3tPIDJCsHTrnnXq4h+0cOoDjWhIaAkue9YgYB4qsGQ9yELpxuPs+UiEAo5hsk
jKaJiaOvKqLKEy7d3qNSoA1sPEybNcvNX5k/7r3n8L2SEVUcTZcbjpBl1S8hMQrrcrYm4fBctQXj
NG0hQM+dUwAkXn6fdu/X4Ci+zXj1cvRFF1cQKiXMB7kLng3I2ClcSnAjJsusNbIVi9KSma75sMbS
2dRtIQojhygUbz6Tl3++BJHafdzOMnAnxCFpQZnS7BKvNIOVn0N2SAUqDyXsHgjSffzw7QSJ5gCC
OaPejkuwCbO5nG8wiLh0NV/xkuaTMFEOpmF//XCbbQqu/o9U3cBNYGkGluLYvnz+pyC+P8tkneKy
DBZWN+DqWWpmL1bOeDATDYuF9y26NUR4ft/998ce1YVHisFyRFbM55vFPb1kXrs7I81FybuaGphH
GxtCLeIAypVk4QZ9xpORf54LgIT46kNKrPvwmOEqFkxHN6PnnLkQaxi7QY41TFxoFAe2g0EC8WzD
0QghmxUnwVjqUGQguFhTmq2xsK9FjrhsZ1mSZRt+DrhelDVK1IxFpt68MzLW6kbeBj18m52A4HBd
ZcHIG0n6usPcL5j3NXBJsaGFtl9DtBax1BUUe8YM6JGTmjUAEgPQKQrykF53lCXGjHchhKSZvCeR
HB3Zt7FaC3m3S/HjH47e3PwI0zAcOSnSLmNj41MQIkYA4v8JWfauiOKa5eXxvU8J9kpbvs1OSumO
+si/Fembbz9VLN/oGKwf3TR/LOKWUh4449ok7Wv78LgPKxCD1m+auDKIdAdrTL/tpMt33d9+lxOv
oOkmRitPYMkIWmFuPRWIncvda/DDw8uiMOV0VzaAkQMPMfy2ru9vP8kRBxaWhCcgYpHJ08flsvQQ
8QsGgQd2UslrjmX2T7I/op3gEAXdlJLv1xqJSvrrZKXs6CjC9Xz1nklvKcrQnkNN9xLdCZUBS08c
+V67noPLsRLn5l8cWom0CoNmFbdbZUhiG2cHwQjLZc7A0RY3KK05ECShOg/8iuGYpIiWnqu+lBo+
WUUkZ/qwKjK2BX84ns/vcl6EKgOQpIjh2/caJzdOjEYt2NxXf/K7hJjaiF3G794YnuTL0Xcc5DtI
xDMscH3l++nLeSF2ZHqYnND6dI0cKKtLZV6cz3R0mcdau5dvA9hXuQSuL+tPXEGIhnSch2fyLItI
VRgp9OG3OO65nDKR75mnGFIRTHoVb9Uu8UXjehjGGsPx8SE8+uELWSKlf7iG8ElYqqy8CYgh4fmN
xmOUXYqpRX4HKD4KpEmrqyU4I/XF6Ulvg006TcxpSz8dpyH3CYwJbYxOX8J5iCR2neUDZt7HTFR6
iDJi6ruf2ByM5KQEa0Kb+ok+CRvlXFxowrk0kLBmZJ2TzbHHxElwuAMXm2SyFjQADyxBkdX7Gm7V
sl7vON77t8MptArd+dJvHwb2Kv7Xj3eQwzkwcC/t71/P4bRpRBseuqFxX/oEcvSeZpQWqlR8wD1Y
rq9gm0kGDXl/IEb8QxeXP1XC/iQ1icyFXsFZKX+Tr2HPye8SkYrACmZqkVRL8kTgfaZWLmiWjUPv
OEcynEsuDDzMhgJi8n5iHfxoY260XEBOkx0HoUp72diQTyQrJcbP97/1y9Lr6ZdZpf0SnT7RBbU9
f41TLvfLPqKAegGfluqrGyLz9dAorTE0oTKtjBSEB7Ex1eM0m573uCPGO4QQK8QuKUGhxcZFWLPW
/D0GNFnSyr+pMt/MeZNub8FKPV3Ox2MgxeZL/jAfyy6FIwCxoKzIhy3FMRVebJi4fDLmtUU8Tk+v
Pu08uKQEewnw2dbz6YcSosW7ku+v3iQ32CWO51P5fCLe6dfT+bfTLLq+/TCoJ+x500y69y/JBFec
TbA++H4X1lsxwv4SAGcsQlkyQmXUMHBT4xNTkaZji7lDL7+g7sgznGv9spw0T6Kua1J1AujhaeQv
qFC9L+i78IehbxIefM/GgDuePy4Rl8ciEjmc66DCoXY26hpco6omJWQByXSc9/oaGDm2EmjWF9/j
U8Gr5kDsmCMlCwSibF8PadDTitMMOXE6Rg+qDuQMCfoyVb8TYp113a74UGfwjMK84vmtrRsf9z4m
OMPeENWVXSamFCYUlM97AMSKSLnf8u5TPV3qi7VF+D1VBpCaW/x9rzpOmP5tUTOpYvd09jcSZFRb
KX9/W4cpYhfX89HWnJeIVeZA47/ZBX0KzySf/FuG4hFRvi+L8KZWZSd7hX1B3k9ZF5VpiLImpH0h
MiOwdqSo1EuPg+Fy2LwuX9Mwv30PdxCF8CcWxj6St5tkBOM46Co2K8m0e71ZyVJyITcsYSujuQQ+
oA5nT4upv4/x+QBXE8iRj2DgMATJ9Fi4j+IpE7lTyKTvK1ruqr1Th9Tj92rh98ApiQVL/JecXUsc
fGLwUwhlbUUUHzP0XmP0vGCGju6IRhzo2mLq1mUfP8dFaVxNcCwlDNbTQ7/EFK4NZSvOk9UGBUcX
TzAYfpRCpLtOSE2DaSiyciBcwrpd+c3f5X048SGVCNzYlO3FxpcyWX9fJ7IJNH4QHk0eytq6vRzF
tcwOXb/s3mdcnPo35iiUTGLzJZ1rADfxhF9Ddeg3+UnfnrZV3ebEkx1ZH86r+HPDwNafeDfs6+tz
LQvYkeACqZpd8cISCgsp/iLytLwtpVTAWsQr0wGOv6drEWlIsJbDVlx/olw689v58ry2nZNzE3uO
bz2ed89La6Ld++0DNQXpt14xoQTTG+4RNj8ez0+gkIdWKtBqkOhO+3TVpHCqOYYDX4AR/PyITyuF
fWPRTWQ1+NwzC/+2e3vbyT55V3TgMFPpA1DWVsb/PRfCSvquoikVg6hP+9+SzT1cw0PcNeK4HxR3
34LxDuHMAN8SzvY+JXLaxpHN405Q5lPN94CCsNsiylHop4gFaRpNNTIcS+Z8JjUgzTeZk0MOBVda
dVnmALd809vhm4+S1wLSTrHslQyhdr5ATAZQXKJETGJLKCVFWYlrKuaXsSld8aomeieXYD2FPB3g
5lqOuv43Evupe1tG8rbYnZL3iBGflTkLUYGQn9bQ3cSSZoW09WKKLZRpiJXOQtseZv2m54QPn6xs
SfgHf4RyPt7AwbqU4VKPFPRWLDCDMehZufUCbtt/e9pfg0fry6/OT3JtcM8FKQJQaugPSINz+UjS
UaztmUQTY1pNzB8rSbKWBBtDT+qU2hY77s4XJ/YG9g/4yrohi5dXVunFrsWBSSU7a6hGrrBio05r
Rf77rFJihY1/W83jT9+SS05LE5oGBIwTSrbTQGlcsc3QNqVZFVldPlMtUkW1rK5xlJqELboqvE77
2/54TP2nayh/ckxWR24esjaYnC/1XhYmSxk5kuaSUdyiddbkicv+vz9m5/ZZRnVOaji1wg5fdOX9
fkyBzReVRVNljaZ6XguwHuXeX47CVfrU2P2t+dkHYGRglkXLR6OtS5GlyAl6T8T/77xHO9Ra2HaG
j7JukwWS2ZDrrdYe4RuCY0UXHrI+IMzq+l7SowntyRnIsyuihMDmlwxSKl1Kh46LP23LEI87z/jV
U2/4XlqHiyc7A1SsPW8dueGeo1cSI3BKTzUTgAIaFUxc9v7T8h7cc874XZgsmQehAdwu6KcYCU4n
jPNTCCKkT1IwURS5GQstyQ0lZbnvyYy3fTnby3e5mKxnUz9Tasv3SmLOoEauhUuYdmg3lQCxnO5p
OHiXiODd8ekn8u6dSNcxpcSeVgmJjd9nK/dNZlbEDvLEFyIOy1KyU6OYqWnJOvKDhlor3awHkRQ7
pQjYak2eKy6f7jquNHX/1dcAeKsiQ5GBUwJFzc+bf2wJ4Coz0XC9Z2j4TU4sibyjA5dltMhpK0Yc
aPwnd4YKJf3re0ZP54tX096gHeTwCU2ZnEIK5qbdZEDMn2o4qbhEvnvz09DmYeBbu/8rXfL3u8vs
qlVc9Z416Omd2Y/j8SHnlMuhBZbDWrs4pZK1CqlolZhkVPalfgjF9K9Lm0J8LfuJWmXyxt7H6fB0
fg5WObyZHPNcGzp6TFQDZaBwnxqmARVvRi49m7KXtbDowNQJbdL/QW8py8MmNpEDBtlpcMqEB//c
fVZXjHtg9TlyhSdyEFkOF/fsUyCbYMT11/1vclmz4lpfEe4qcyGHU42CGFnsvTDMMcMiuihVdWNp
swG1Tiwr92iEr/NooEdfPjB/9fux9AVCeaxXH9AJ6Lh8Liq9OBgxDUx4pIjo19uK0YSfrC6CdYoR
8cotNmyCpZB9BPOVXWkDHKnqju1nGhowKkfqMUlhW13/x9DkEkV+uH3Z3fI1ua42oBJidlJvj3t7
r2WD30vIsL0DqVwXxjzkEA96QXixvSN98a6hgYelqjDL0be3Y9SDoQxQTvAy95OaDf/ZvzYWlSmu
wh07xdmSTWJGtZak12yn8JAWMS/EZ1jMqPoJED1s0n94tmv/jLuUD1PPBSkXgha2fup7lufdlhKD
fvzUlxm2aSk5kWB3gg2JZ4ek53rA3ofQvvqnS0AIbeJDaKt6bS08cHrTfT6BZ66gGntMM7AyXJP/
orTH+yh3bUg8IQ3aSjnJX8ph5Nk6hloTGUoxdmB92sJTAzPOe/VJMrMxWCNGvvBNdG4tF1uODyuQ
xjleJn7df0+N9kTdMG4eipjuelvUOlqwJYizpUuZ95kYFj2MLAexbdZS+b82iwnTSPVBVc7cWrbj
fg5az0cWQpJeeT3OeOTXK3hHg61nWSDAMYL1UGAl8948rZMTd2btfjy8z1Llc3CfD7Oiv6IkO0cU
qrcYVglvEwSZTxJVefRjZLE6m69Q77ho+A5YYrd9uUGsVSNq79GQEGQmNml6Y32YFrqyHTJczeZS
sHc6p7fIA4Ody9tkbp5LgsqVHiHOg4poRrZV5l0x+Wc8/nFii4r9JcTZm+NgOdquXvQHwtp9J4VD
UrmDGBdlCzTpo46+OCQ5XfExmaT1sMJz5MRIGta/xGKk0sP5koV/e1uGAdkHupgEMXjRPYDUpGX9
tc2d8L3Mf3d6/sdOTjumb7+Y1S0IE/ClFlljQ1pyMiwt6fW1z4f0rs41bSRAd7TcLwyihDR9iviA
3FHFnyv+1/tUPlme2nDUWKTZq3Tc63fZLax16e079vm8kB+XAjCH8O6u+LBtTMiiaVCeQt2ojTVa
+Sm1MUgAfVO16QC47KXK3JyBbWWE6+SMufBi1RPIZ+14uj5kQULrOd8n7gG+sojfP/H7l8MV+UmT
43pive1OHzMO+h43EfRSltsOT6wDck5jhhr60LFTrlUZOHSd01c9ARAxkOgEdUKHYJ/hvbSXSq8L
hlQ82KbHFUVaLiZf6W0boYA9d6eIpqt9hIZ//WURuUOxGaptFSLGbeqqQMv0Y9LuuLZP+/xTV5Z2
bBnAewd5+JZHDywXQQwikwL6qB9l79g3m0iuwcl3+ZFrOcyAmomhZyisY9+/83zHIb1oNp99iOvM
F0d+W4CmgziTW1CuOsWfjaxRHCIP71qTgBp2Nh+ea+khE+nk9tsQJ3eb+fikCpnBcNPEJ2/NshA9
iurzCpYL1K8dm8gQqJ17T5+/yplYXJEJPBsumybc3hUczE7AAmxFpMwccEL7baW4o7JcMI3vl1c+
ACdKvuKzZpfSLdCrZXBGTr3/Vx/ABihYYU9/STAse5aAJrosPCuLuFMc9ml3lSXWkepOwnST5M7T
uZbWae9rhwhlkLJUWhkDNpixCQrXI8HsK4s5mBeSRENeIwynjayYcbdZvsml00v6dZZl6HK2+cBt
yPsl8mepHEdmG9lun/OV/+qLVqpPQlqjQcZQbGuE2hi5koAYSiFtfDPTaZYPX9HXQ/F6x+z3L2Zn
QVizFZxVDHjuipY8+b9qkadE9GTWK149ObN5RnqJCdUrHNjaoPDDIUnLp48GZhFUbc+6f+QiNL43
ZOowL5dvWa24GSybCp9ucE5XHxGtX182ChRqn2f/D9Q+66L2uZ+y+T6fCL8exBcYcZaVfT6/HU47
+mSEv/qI3aX51LTk/V+kX+7/m08SMmYTpnHiW0sW+L+Ob3nIPatlZMTGppkwHZ1iJnutpRP7dskS
wtgQIf4ffz7/fj7M/M45eJu558xkvVtDnYOmBEeMVFEHpJ7V2dNymqxlgx/04aNTQV5WZjO0XJsF
GfVGGLXlNO6aQZJC0U0Pg84OFnud8udpkXJ+5sT3IKX5CbUnvrtRysRPgZFQz5recRCnMhq2jxmX
b/2XWUHs5CqRgQ2MFCmvtXftLJvtlruq7+uPro0jm+Z2r+ng4ziWNkHLeo59Mqh+HRz/dJBcXicv
zolt509LrlnsiL9EoeSDHzteBheIcUlxlNxqoHJ608BJkj+v2W0vawFmtyDQGF6rzJhkd4RNtwfL
twfb+NENzQcHzTYtC3tWS78fadskrmfp0umjhp+Vkqr0clkI1ZJXEN6mZS8myNeqBZanTZcsWpm9
d5xmZF7IkFPiOr5Nz9Lh/Futw7lmu2+svi/yaAbXCXqwfE7BoPcUxNccyh2QN0BzrUDDzQmtneLN
iS8TiqkmStLnCwK5/XZ4Qh2bh03S/5Lj6FVMeqz0/Dp/dX247Xx45/Z+3X88n5eHCWQpY4oci75l
l9dHUCE9StXNDU+STEXN+Ho0seak7Dgel/jlV6CKnbZcpH3NI1696ZBPLKujjk1I2sQK6g8wykED
1rST5NvzS0yiiI4YCqSxDW7lZAArO1DdpzJ6Yd8JR5+Y9LSPMgMX85E7ehCxWBufMS9je/3XkNzm
yurKsdb0L5zo7PGhUuy+rW4s3AGUp9VDB8CnGecVytZ+4Fuz5RCLvD/zZkuca7rE9dfnx4m9Mis4
DFf3EXRsc1vWp2vrCaNkio+D4Ou2RiJL3k2DXuWN+Nsfr0zDdfBJSvLgdhVeUn+TYoDsjcTMwqCW
5DQApmBKVhNGzhma/v9ERaeupyDFmG0JEuxUrVTbDj3fD/D88V7rW+XoE+FltxkC7sPfqhViE/sA
9doA97a73CpNsbXj2lRts1WvDRV0hr30u4ufQHrwI/2TjEj6EbeBziLqy7shI6B6tuGLV8RLt6Kl
GaG4v5rNhV54vOXu16m8vqHXXSXu29Pm/Flq7lArKPEZHdt0dTF7oaJfbotNSHxaxbKVFB+s/TYr
soaeXZqV3tzbx5/VsrL6I2XDxOeRhnzWoDa66eFRjs/RZhpjeD3wPp4mly85Nq9v0xer6Jmf3ywA
HbIM9wR1fCpkZRdD31b8UL3iH/yOe/vz4W3/h/SU22l3qj66qrixmLCsHJE1fFlqirXVbuU0Mvk7
25ry3WX3eHh6wAWOxPSE1MAJNXWV016dGbhx1hYX3pC8hjw24FIrodbsIakJmWSYpKz3YEHne1Sx
ACTUMq3fL0WO//CptqdIeW7fS5LrsfmuvpnsfD353q8xgajKfDLAPUnKooBJv8y/np+DMMPeVR1b
yECQHBk7FEfLsE5L/ePnhf42u2xeN8oPgvT8a7/eYVsiZundJa/5ANaduAjlXQo9yDDsuKdE7zra
4hZ4Pf8moJ/GGky5fX8HT+RYxTe8iCjZ+8G7y0V+2sfxXQBJEnF+N/23/ePuMi/nK4ji9VzY2i/l
t8shbMo8bKhu+7K70sZtMsDpie6yodFI3KLYOyW3cVzsOdTq9PlrUse51G76NL+Im/ehukNW6TRF
+v+lGF2E4G+VGj82ksC0SvlAr8NsHuFMROLhGENwr8Ef+bL/tns91zsmaLZyjPTBOof3jGstfOw4
cpkpjx+v1hkjZ6F1A+jrB55z1h3xL+8eyVsAXjVvS0lJldtmrEWCUshsw7VsneM76ya5X7SD7Fow
RY2+QD724oUPfPB923NmTghatOblaC7I6G18JSg7TJYrjIkF+g9v+9sugLh97QGXQSyu8CXtJeyu
SPrE5Lgm6L3GNUDf6oFLQs33JD5DK18PtidYSjGsCKkpb1ZSoAH4/fTx+NPtAnubdpoL57DNleW7
xtUAEUrtr/M6/rw7HGW7b5h0wk1j4MOSVvUsN0VxfDfg3NRUdgg062d/nH4N7oTsVI9Sy21Iqsk1
AJ3mMigank9BTCprzuRXPF6B696x7QBJimFusii7B2w+rECEL7UcMr3bbdtb9IX8LCUlsffCxyn8
L2i+0HHNF+5St5fUZZSL3RvWekpehLznYkFoUfkMnCmhmZVMT8omWbGp7V8Oz++H5YHiOiVP+PDQ
McP2SrStqL1lNzCuWkbp4eJ7f7Eh7aGnjHTmk0Kv6dkePcmWg2Y6GIIWi6rBshcxqBdUfOFBOJ/V
awAJ3qq3I/vOThwiBFNTeou/b0+7d2Bb6JMSNhcBbNb2WRpncGwQMZq78/F8gT5m75z45GToMLlN
N5MPTsEcIvhOWc+Hg+7oR4uC5kpKGwjViygYNMhF+Z94SnpQg1B9Sy6QvAOWMwVrZ4iQbvTwCuRr
UOWz3kspqueIyq6DKwqSARjNX+xCpHqruHewwUZv2KTsNcD2cfKFnD4Y/fHovTiZRbOGK730hKDn
aMIDt0HKZT6weJuCNMJOHmhCRBjPkqAKaZcB+2JrhCE0Z8rKUoVQPb728lsag8gci+UKkTc5Saiv
z0COzPhNM44ULy5ZWNlPx9lX46g4DPjTf/7bX3ezGH6Lj3qgxwrMwLqr2Qt42s2G+nk2BL4jr+wM
OLZJ6P62pqT+fK48bemUYh9Ej9lEa53Q2lgN0ljjZLnKzsPJRyB+uO3ffh+frgoPVJwWjuJ8OfjG
xSJqY9+qKbLJE8oFlewgI73UgrGSsPLcHUmZ9fjEajF4WI8oWzY2xDw0WMnz6AfWzCRjvry70tK9
qrcGdVpY1PanWiuSrI9urZjmwQFCA46t8SvsiGxCFFfLshZYvDVWVxhOu/2/QPglJwRQfpvXDO1C
jA3jaEZQ1VCaTtJAIfZChVmwE+0omVVdSy/sNr+H7V346AX+lN9Gyi3QZP6vl94HTMVazyJJpoZh
kt6NStXP30PLrS+X8+nwz1217kl30luKsfX72/7yCvrPsyuJuiq8FvpxOciIgm+kt3s8nJ7335I5
kWEm658wT0nLcQwlJobM5vEfycxWrKMdnLwFi8oPjo2s8DvOqq0lPOFR4BxzEGu72dzA3Grm+Tng
Xhng6c1CTNnAKD6+UctVGUb2WIRCbZ/u7S32dVY7sitq+XZP2TX67cs+aoZa+2tn+GeXmroJfH0F
rQTsvecirFmDjoAj//7uYjRmVX2+BCY7xj3klOFeShlOD+2iepie69JNX60MhFb1IRXWnSUPfX1c
vCn7A3AZlOFzPZbtmHH5+wz08dvfw7Zd55CUm0/CDRWVS5Nt7+SCmkfSMZC8y77Qe8VTaMI9p90X
cl3V2y42o6bFSuId1+DBFJmX7WWmiZHbpUNsrUNFXyb+Jn2xcDo4Oa7fPmWe29IsrlZ4Mjb0qHuY
PcxLy/Nwo3Zc/9xt0ojHq49v77Ii1FIdRm53Y+R0J8s2dPx+nV2K8AbCh7cMlYVQJJNjvvTOxF4q
R9AgxvLvBeTnIGMF2CU24dm2rZdBFheCZGjBpco/v7HQxhSykZuX2N/64T29mtTY2ckWj+eOwehT
KQ2cdQRNsEq4t06K2B5OX/aXww3TatNguMYSPiSQyaDgUKMek6NioR+XNlktNeKhl9T0uv5UMu24
7zXTtvKRpNo8HXdv7/lJdJHpYZ+gXO3P7K/mrUt93lECwWDZPgnF81nHHcC6o+J7zYfnK3bPOKDG
N2nIPNNsyvwFOqVeGDK5pPjqgZg5QztyyhnmRuy4jPj3sRfy4r+EBDSff3Y6fq/3Ae35Fxq/ePZm
9fxRqZ6zLHdAwCTKgZn6OygZX69bHpQKwD18GnKIy3/Pjhukc0rspufKiHFnxhAAYBrF5FFSG8v4
KMLTc5xTaEPx8HLc/TpfgisP4wK95hJr52k3kusVSF/vlIQoa05ZjHMTqNI4YCIS/YA+NtR3DQMq
OGC3DugvewpwXjz2Tut8vRye0QgpPX8MlUIqvwEQJkUHeoSjTOsoJDZ6N8YOjjGuYwR0mOQqp5+t
InV9uhzeQ+uC4FoJPIFX9cqmEOk43vUV9DhkBgHLKBc8zLAOE+yGIe5AahffNs6Yx0kBriXCNW9Q
+CZEu3z238Pu+P6FVYhpw0w+Oi+qaiDZIevzKmL/jTSIIoOMQUnnQcIsfCaXkBWbhnB5iKiezWaI
40coEX9C87BkHjpYGzIIsYFBzaa+R2A4TeY0pvdiYtjm2yFK0gw9wv92neL8jThOn6dFWhx3nQaf
kBuVlev8SUoVEr9zd9+l0sSXNM+e+1hrEjj14T+S/951Bnyi1k+8PbDLPJX8Scqe9Z+kNwWX/XDg
d8z6ESEku24An7j8iUezehzQvqePuvUjf72mZQss+ETnXTNRfS71JlckG2k38iwJIoFzTD5b+ITK
BjimRPGFTxJeibBhxmuLysDTHO9+c4Er6WPD2sD54ykBNn+EnkFKRP78xSP7e/6Lcf2iWKESP7Dl
B/CGhQ9c/sCSD8xO/GLIq3AZEqxAKzSsOKbNEOLyYRydf7lvWVtHNiMDRbC2ZK3WD2x9bSp/oekX
YBld/oQAuERaIF0TFZWlkIGsyoBPDP8J0LxW8WrUgU+coHnBJ8RO0O2z4BNiqZJXFXusrfwkFScj
HrUgxlb8oOeFyYkfDHeiEc7ZJ9CG6oK6+TMTMaOrsxR2VAZytis/GpPCWYx4g9U17AihB1+ctfea
oOrzcm7y+lO6RRgmBduXzx9i+AlswkCgSU3Pp09GdgGhHXH9grmu/MG06wqIfp8/ISEUfMGG8k4O
Ddc4i0MIhKc6io+3999df872BFhcS8BATu2A+MFmaLMEVeJ2gIk6sraM+jsFjswJWg0pj/tTDr8C
jrZX/K+MYGKCiprAJ4b9RHXgE1vqzqSOFFCEbqMcBgTs0if88hUQU5eVOkkJ7BT4lZ7sGG1RPK+m
gsHdWM4vqcyQDAVB+Iw5p4lFPvymB/1seGPvxF8Q4MQo/oIqbYxDohM+2CCcCWJ1/0HHTknJkMjy
+NCKix4ESCR+0JdrSLp3hssX36H7qQZ6l371Lrz8EF+EJ2/cRvNz/65K1Rpl8SCsPMCCuivNl0p6
DxrOocQmLe5qqcTWeQHt2k8FL7Z6dEBXDF2pkcxii6/XRHp8S7UBLK4YAh+elEfpjMROErGJmpj2
EQdYdJwpnvVIPNBl/34UkhTi14u2N75b6/z/u4I4DoEkOU0kTcDlCYS3RTLDuRLxKQU7vWAAtmNh
7pbVDOWj2utzNEIxXFpU3lPCG7zub75H4Tyd5/gi9ONuvjgC5osr0+s4agpOhU6FWyHxeu3WlfIC
0l0C88pHRUgD35v64eqLzwK15TfNP8ucApP+KS55hmaz97ny1z9OkBuirnoiBJLQiEMWCDUGNtzQ
50pTzV+c8+37EZ+mywehhvDHkvv+bcnfAx/nmRCWquzdXrscKaixkYSVw0O/TgQx93i6E8Tq++7p
5LMkeRRtOxLWjq+JRb8dxH/T8Ux5U7KW8sma10JdgBFEkVlTel4uu/iQcXr53T/XKWddpZ2mdyX8
QYPs58thKQCKT/qE9nRikWE6gnx4MWjx/0v+kt94EMlM6yRb7lZNsmZPRQV5rW54n4fxcYmRagB/
x173J5+EUEv9TGJgCgWQYi8bBXDbvcIrTwSzW88vP+9StRdD+X283tsAjRgtS5Mw3CRSm3ufaN88
HTNw4hiSmbZldrWh+qwwvFlzJBT56aHyJpOkHnrn11CE3F4jyaHlVFCyz2uT9oqVzpvkC/ampWWF
b1Rd1aN9ngDpOeBldzZWD2++GUIFo9iewyibnLhc4pftPlDMjpiZKSSRp/bsh3fSQLYmPMRE9CRz
KsGuB4O2pSMzCAlt5H33pl/vB+7Xr0+HqDSfHk4fb497aL+HrpSzhAgC7Hq/nEMj/5qGMlM5DcFS
7b/tQlE2OOaOQ5JVy1Dpb5POO4+tY9cVlS96SoKKaUtAffZ5peGvUWR2l8tyKavykpW5p6Oc3lSs
fN1dDrvTrbrljhzbPKS1LCyMMlhHhY7TpSV+Dlf9EjhYJE1ZID0odxNRE0+741OC4ehSZL3u1Ubf
p/z8gCOfSRYHEEei7/ITtflOarSvE8GLMXh7p3hDMs6D1+cfyPobDnDFrajvQj4R8hZG9SIc3l4f
rpcndAsyHg6xYTf0dH2hGkVOkEwrU5zWCbA4DbNgHHSVxnxK3stxdlu7VbkBNp/UQpou6vthpbHX
fyIJkt7T59bmSNGOB7nBd1BpXnmg+GJNAhoajNTnkbz1nCdM0whip7F1VE8MiEMlNR+GGlR2YvLn
/mGNmDgIV2fIQDawPg7OaZKHGshGxcSCfjOnpUo5/BvPlYhjJT4tbnpgsBy76Uu7cjCUU9vzM+xQ
Xic+SErRkSfl4kiB8hzgpJZEUzAi2TKa0EG2zP/t8jELlidEpYGWl1ni1GLqnLD3oesgEq2OrLIP
1J4DcxrBnPradkk5fOn7qSYD5ZocWBMZqg9ZBOTm+QdHQrn7+RTKNIiQyiMm7BBHDGkv3XZy9CVG
vOXKbm+zAbcZDGTIOq2u32YLNMxIFhgYzh6Igaxhlreg45xCgqxp2nvc0zmpHHqucfc2k/RPvSz4
XXxgNJ0CWTE19EuD+NzvU5YKomu8lb4/yM2CoW7uTW11oVEHPMZExsXdj7XNmzGClYbzcGRjQmJ6
AnG8KAzgRpPJuKjz4I1GBoIol95x4tmQl+fIa+xkpO0OxcqUpaOjd1Dhdulxq7fupra+7lgZyX5u
v4AcdGPV0mz0FZhXSs+52zJJzQDN3E811RdtqpRlnZAV1TFBQjs4oRGoFL1FMQyyql5d2/FKj70y
qgNXZvzcVg9gZXfKyTYIOriDeqqJZzy75b10367gBqEa1Q+WQwxJ4YExjKnBvfLO9EDMuwb9u5pl
NKeRN8uMTCH3QdVUOXd+yDaojV7vO+TZIHEnB2eizG9GCnUwfomPsVPF8/5l/jfPQLjIPQxxLjMA
ozOBGzRs1bHlLSACQ2oLryeI/JExJULlvdz76bzPjumhwS8lG0Tb7VDsk9quphIp8EROEvhsVIkb
Ly0S4FBH5zZw+5UuMvJM9fYiEyx7L+ltsH0Yt1daN6gsdJy2doeomDogpqbN411ic0hRjJ/z6REE
JRd7sBkTS7NC8kqZhinLa8N5NrkClBEpwrrcot93p9DZDi5+IIuP8YCO1xyIqKE2pAuKTTBH1+9S
mXxCcETSaMF9bYFAUIae93i2pyt3bUqXoN8erWqwTMiPrSrJsrkQ2H+7BT3b/ac0ILpUdnupenip
wFA93fZQCdRBiAJEtHNbeDigWQGk2Q9kgVNonGbgAgFwGrqtXA2YCUR0lK7JlnfxpVY7ya5RmqDP
9I/s/AAsoKhW6EIlP68VkNejq1qBWA0DrIaqeohkIAsG0luIapHTCg5M9zXiCDyvkIZQNSsdaJ3a
Q+/pvIat3nTMYHA6zeI8r8w/OoLohs40QiOkHm3Nx0ljABE0/dZDFWAx8tfuHECNhAZcKj1U6Yn/
p7V3XXLlNhKEX2Uf4KOj7pefsizNOFaytJLGY2/ExkY1Wd3NOWySZpHnnFbEvPsiEyhkoohMFFtf
xIwsHamSCSDv10AkKm5uzt3cZoXw0cRrtkRL5QrNV66TAXrGqIXCqNkq0eEEtt22Kcdmu2SsfyEY
lSPmZYRNXMN62KkOQ01gWNWLcZzdbpNUy/rsxbV360S2gxEnkx3qCR20mLEfdwqslmBheQ+tm3Vl
RoiSAqCj/vkgs0EgcL36dti+jm7YggKs8MDYzEPXjO9nlaTuZ7ZV26A8fIKaTYvR9csJvJnrgNPe
FEAZAaJWC7cA5r4YG1Z6REkCgc1+c7tcEOaQmusQlNth5+Ic6Kb6ucWkjsCAG59xnGpYW6oNMSD4
BXY9FFRhshpIz+iBB4og+R67s+l2xp0q2nSF2Uhsg0pTgAiDifHYOJRleh3HqwanX9JqxwksSVc0
5IGtMvET4+BME26d+RWY5vsBioM1bKoYdfnHxP3R82Mq6X77dHQy3FRas0klbAIpduHdLvtkTZCl
N7r20u5SLfzFe2bUytvsMUnCBPFoCTWc22oFmYYbQcVmgrolqH6CoBvbjHusDMKnQT1tFiMyJlWx
WmMDkK+6SO3vZoGEgEAyrwDTEZjOF/UFd6/UBdqr7xi9s7BYXGCQgNQIjbEino4xo8beuYYmyR0U
3W2Mr3bjZ6O+V3IWqRG2zTV6au2oTM1iCLDoZHVkiXj8CgNY99eUkGyjrG/NgYWodTMWxZouK3Qb
9tAs8kY85sKePsAC+H1VmIGUFZZn5YIiwP08MBsN1jZ8hpSweSANUXqZYOCGJAws1+qH75jsg7xO
HYcJ/zjD1TBkJ69xkjf1y1hDUvuYUTJmGfPsTsHMewnY4DWNUtiF8Top/Sk0FMs4qehqbB7QqfAc
g0tj5qV3xT0W82OIJlOfxW3L3QXW3a/j4oZgwP1V/b0scAN8pw3U5B7G63h4x5V8sEREkw9MQFs7
nMxVN8BxvdXEJTVbbbGwonEksva6Hb0CPEhTL3WPubovDqLdI6LroEbSibFHxT+bcJ7lU8Jp6OKW
LKqgeW+qb45KmhhtHjExAN5/lt/CSGCjffLNr9/hx+jJw7ucNlm9UfoCCtYbhULadY26UYYT9ixs
8ja+tNbCyFnFdsW65U6X3YShlqzaPIufZ30fVp/PbQV2CItPt7YKjDyLdmm51jB0aVUc8ryN9Vnh
JAd7glK7gKKNtUPxCyjVC+hijQ38CQv111kZeOOHDdm5+7M0VhHIM9ak1Hs9yE6v3n2Zx0qt3emx
AitxfVkWVvEWy58vtJ8vmgTylXp5XYx2wzXoytdltOnUkR1Yignk8y6GvFsXDdjnufp5FasvZ2dv
1IfLQuyrO7LNVbJtUlRfqJ+3MaoP5U6RqXIn2rTs21bOuujL+vqueDwmd9QrzNoo8THW7VX6IcZj
c8L8HcwzSXXuzYvYM7KV4wkaqmOdYfxzXXJGGwFn6fMM83qBjjT2jz4jrvtZwf4Za9aA3Jh5kiUT
1OoT9LFfx8H6xibczJtxzBMoWjSrQla4k2DqBRR1rEfU/OfwKU4ezfQX7GNUtFAAtXqJZawP444V
dBisWbFSaFmnpjImU6w4xqU5CVVYxXBwy8vRekuQYn1nBswG1l/z7m9kWg3H7Ss0Ttrxyrih4/LL
bz+4P//uGM0tdTil0s3IrUNLgwE1oP52Oo7uH3/c73bx7FKHpVclgaNuOXtXM6Db009s+dDherEO
cnx2ASI571kLB8O8AMQffvuFARTxclG1pr7b6xO9O4C67rw9nZeMDe2889Te5JkrOjOZkC/zy96e
/iZsX7HnbcN3qEK8LITvYKz/QzgxqCRcF8RCd/crbEuSr45R3kJX6eSsgq2yMsQxj50c32Ul8Tl7
dkF8C4D8hS/XQxooYcl6JcWbVDi47ProPQpPvYrdupD02hDivIX8epGPV6kQImyx5tJyYmJm3gpP
u5qm6fowbLlaMiTIkKiGjWtePDDRdErMNCG0BQ2GQnD1MxfqI90DXX2lxNlLB3K1xPZrnxaSVVRM
CWFTReWhQynkYRkl4gvu3khvmsCoVTXlvVhZe/tFHntWpix1xUGqlo0+UohiFeOWIUFkS12W1t90
9RCpc4G6BVoz669CiUl1mg+wQvvonFplxQp7apVp5leZ14EntDizF+xrDp31Uf29EOwGkkxcdVS7
Bnyk0dc8XX0pF2WyX6Wii9RjPmTTrRHdTPKob1hEVVZau6hAO5HGVjF5ldVR2cOwOp7Qy7qdZRhM
xTvXKNhZZYe9Ddvt7e2G2yU/w86Yyc078P9ZPMAMgf15XB3WMxQ42TaovHBz2HADHaavn94VYK7I
pemX8ySotojWbe32sCBXWNmI8NpZI4PFhY5ugBqGGfJ6Yx5E6ncAKHN5F0CBxGcdVCPMY3mwDEFK
QCCYisCwSYsOzI8nO35mt7OTlIr4ngEEVDNAtnQtxMj1NdrKrvniJgWzkq6JxRLCa2rS15TTNZH0
N6eYa7jo6XLlzSqiAeYEzsh8Gt9/PUOXkHaeWZP1gWwwmLhZfv6Wn96lOTsWlSZ8+H5eajkO17/c
7Ip2IVWM38+SvI8sjBs3di0vMPHTCAt4lfPQlbBhwtPb/sDuFMaU0NQVnOIiTz9E9GbntQ8mecJW
9OONM1qu3hG9OuaagoICu9aLiHorE/W8ORPrym16ckbHziJiCBUKPm0f0nLIGlCGcTWCaBx/HzWG
YEItWDaIrLWOjjuCAYlWVyDkX+hvw9v4zXH3zfzPv72fxx/3kwG8fVUwa0tGUizpHYoRt0OSZs4g
hW2u+zft1HUVI1dz6uH4Amu9SPKOL7A+8iIVDeH5C8aEJS+ftEyIq6cJZKU9KRNPPa+4sISxgKQR
R8dwIt/A3Z1f2u3DjtQ4Il9aQ7yZ23hgv+Byu0wN0onzNluN1Um2M1MkFMVVShTPMzEAChShdjIr
aRTcEgWzEPG8S/HttNs/v5PIwcGfusRpOsbkOHbWyZy5BIfd0ebL656IDhZEWRMiwbmM/ZnG9yc/
ne320odEyuxtOaope0lOakCY9ofaGSqdWTIX5rAMdxkm07irillKlu8vo1MtM9mQ9YRVBIf9mzTh
wr5SFTNUjtw8wS1CRnuusBDbjJgO4+t32tgf/fwVDj5+VXR72zAWJrPaI/aw/drmsXfZHoZp8rL5
1/EKJPitXGlq760I9WktHnQeUozYqrRXd9F3tvwC66j/PhzirOJ2ohcasxA7svimQpMJiV+HqrdR
DdydYuAyJccXaQViMKvTYjCLMS4zJSdrSmo1xFYqM44IihIFEtasubapQsVYS9ap85dUGc18ASzJ
z0VJr2nYjpiAhX4IpXmBraWpXcqwZEZK2S7V7B0hPCmEkDNC4INyVtC/VRU6/RPBsvGi8rOy7azK
87YJ58MD/QH/4MfTbvxPuVrZvnITs1tiMN2zG2Tt32mIZsErlREnkuD+r39tftOcv5JkH1StNWXc
spo+jV/+Kb93U7NgAopRWvC7fOQEz3ZZEd5ZHglLXF6eBhwvCY+wIqBQMwNSCihkbVouFZq/7Z7w
AbTmESsLLTFrGSPowPL3gBPCro+qMT99mmJHK00yZoyiYKjjpIFmfAq3Jlc8aoKFBs/Bmt/2DryZ
Ks9Otz/QKR6Ca3g8rTEs5pGJ3v/zkhnnxq6zwPs8ZuyAHwoVJgvHR3VG+7VCydlgb6oNVsQ0mI2L
YA1bIDuUAAQLZFU1jaoRZND22830K7zoeJlU770MZZEY19BsmT6MQuURRi+TjM5iAGhchrGsea88
DphHi7rUeLwWrMuEZ6MFb7pGcEokU0QDVhex+N8db/pgs0Ya84ynuzjHWtLK+PcVkZYQS1aZkECx
CeYx3jFSGqItSTHWtlksvhR6+X064EqGJLgJTbbS31AfsY8ZBWkqU4VPFXMAU+oO1NZvRm1pgd6i
iynSe07vFeyYnGYp7CiPWtH/clBVcRELe4Vmx0MWRyY8CDuesuDCylkWh+ZDg2JugioustBNCIXi
7bzDIyLtf1XyIIWSB3HE36aJfyFtauXZUHpZn3bNC2ahjed15c+xvuZ12iQXXL7pivtOVwqiMhYH
jRlm41FuDLM2WaeGkefcRDIxkWvRyoX6/na7+VXNQtG9gx/QhHQBPeDYLgm1rc8HaU+MpbBKo7B7
tav5iIUKa3HEHw6bv3/e/LtmwZZ0ZWBGOeNkNz6Pl4ubJHZJWJZd1G0NdfX19EgOt1cCNyStbLTE
hdi0kBqBY4l+TFdN43V7u0DrEnokqQRVGzN5VvH47XrSHjWP5RgVu0cLnrBoVaiG7/OeaoC4VIJV
ZD4ZZHDwhDBDzRpPDeNuNrTFt/Yh2X7eD7bZcHy6vaQi99xiIcfLXVfoiMhAep5g6mhIU2hW92n/
meDgqgdLFzBwEAlU2mljDUNGU3wojhejNlW2xsQsFjK0ziKn6dKnKWOnmcbDs3maM6ytOG7fkyZl
XoQPVOvSU5V5jBTZFJWBpyo1Qd4yuzTzG4juKHnmLUvOnuWm25tC2cySAY84p2RMJLdfa+zWCdUK
d8ZzSt61bRHat60nR5h/qVMj41Q7hiCS8MuKtKNJVI3Z0tCPdiIXs/EaENIrYFgXvabq/vW/Ntff
1jjjBJSVKkYDg/9QAoNcC7O5SJKOSpcasaQys2XliMj2TQuILOI0rVYEoVT2VMxrhWzSvNgpErvQ
DMWSuATmwzRtKq691c7WhKGjOhVyC0JtKU3MouWsBz1mGT8PhwPMZsHc6IrSryoZwMm7tJfBZHPv
0yszFFQV39ncyDcyl9e8aCNIHyWcajVl02q5LXu+tNzomdzoYE1gilKuGqUwb7y4r/i4A5bOUNSx
qKU/45GFdQHYeNlvaSyy9qpM0FHxNax3PfgM8prMNq8zC8IP0RIXtWqpjgUhIplYl4h9SWRiW8Hf
XEiRVhMiteKO3Wvx2euAQRHDxb6ArMZ5fRWbdeJNezcAUh5Ebc34NpThi/Dq6RgEv/TVfhYgyTqs
AWuqmEnXpNkqj3nq9xUU8+WtKqOo1uYAoX3+NzXN0bbRxMLb6ff94TDYmuAgW7s/4iR22Mln3jju
emDBcc/W1pe4IryOJH/f3PDh66vNgaoQG7ZCW6x4M1idbD26MZdVcHwjd3dntUfPWyjgagauonm/
IThM4sswCgajkU44M5gGqGSAMrdOIqhVDtxvzWpjdjZvkHZFJURrc2VAkJ2FC5w2lxvOltZIuovV
n8zIzgdeEQdmgMIBgolIuFpZ0WrBzoU1fPhh8/nvm9d/X2MQM++I2qZDxZ2lJUwdGvxt1Imdhc0q
+UIePtBRHzqQfgvtmprIrI+G1D9QPFazuAPbYbyob4Mohh33HVKhEolg4QwM6y1qs13KfEVlUL1M
YUo5CE39s9AnTmPpIjSRzjayoC7TOnLYM9dUaylkGxen6rRTkTZFF9m6tjZNwNSx5lqz2oFIomwu
RXWZh6C2WvNzJddvcTYtFcLCuCi6ylgsnmc9V4U3eh7wRBXarqge+ndlCJQVZdGKM18dCh1Fj7SL
VLkmGY1Z7lyiwD/SxAW3VsEaoSTX0+l0GIfj2jRL1AGRYgS2WPbJGNTD5TK8z7tVvyrCqI71YQh1
bUp8tuL5uDaYSRgtaVeTq0UilB0hmJ+uaqdSW9dK/R7u6BkulKeliJt84rxZpuNjWb88LeKaMLLR
JfykRBF1E/MvZxMBqtHJv0zEx5nFj6u986V9vnhSLTTZtrHrx6G37rrm1M5OHQBny+DyWPLd6Dcs
IZo2b3PPiXy0MpTB3R06vKJit8Hd3apW75itgZ0FWoNWowVxe62yYMnwejyw0mINEs0rFN8tI7uF
cki1IS4aTnclsK7gZFkcCZP9VnSbsLpftsOdDu0r8uRj9mF6tNGzVkpIoF3mhmhMJgwl55JixImU
eu6w4NlkqAJzkWc81JfLcD5DqE3d1Wmpn8l8ELAFSVihLSoVmylivoptTGO1bql0D5M3fCrm3c1f
Tle0jXCitZ1MpYTZeXcZW+8RiT9nmnHUReuqIQEMVvXFznmeh2Gmz9rFwqf83tdmyZo2X29guYjn
Vy1A2ct2+wIzYFcNsSKWX5WSkhQAlzNLeTzX+ua2GaEfjy72jKThKUQZxrymi4SZDZ3htgWpK0qT
32W0gi3dYVYozUtNzPdc3zCgvVGTrglN9+axUtyw6WZxb5qFwCpcI/5iNBmmZWFqbnFkd4HUJTwd
1MIGt7xvRNHW+unT67A7fYE5mTiW+TLa0y5eRNNZvdK2sMy1KU1GVRdvMooraLVyo1a9d56m0Lyg
JnyDnITmHGTj1aXGn1e7jHItbefqENFuOw8X1T2rWfkmjtZqHmxB0zhKrbYXHQ2ljZyXDPFo8Xx1
p+Nuv0rBMle8xyhoptGZ4vqwIQLh9rx4r6ajvXWNmlHLXC+0UJQ/i4nx7axyqleB1cerbG5Ht/UA
AkChRccDQqJW43WLfEuX1FumUAorVw8WtN1LYi0Ny/qeQPN0whMYQyJ1+4KHLDmQauN2KlW0LG9T
O1BZg2wdlPUD3xv+32/VYsAiFpNZqHhyIGFmwel2RbnyWdqXYIm/UzwPPnZmbfXLopa1EPp1tLvi
jV3BpIKIRtGoig3DADKdw0NcF4AFHbZjKrqAKaiOF1nE2ojU82Wxx1zdvZ/UB7zY3d0fpxYb57Uz
i4yH+/13PwP+P0AEZA45ugG474hJ9JfsYgeaW4dOmGVbA/Pb22U6XWZoAMpOVRFBVQ0DRcVyiN5f
9s/PxuZBBM0lcKjT7fI8uKUt+g/UVRmbMIY/8OcDi7bifsJjkUC3o7lZzFgx0H4xZM5BveuAfFdH
7Xb5tB4tnCH88wWUl6H1X6/DcTdcaNLJND/S18Qjtbl48F/Pp+i726DWN9d/JEAXXTghrZZu4TL+
67a/jLvvjZ16uwi5Cnsf0XmKBuRv49cA5C5BUS0bz8vKU/Dc357ezqejgWRVyxhQ6vBm7PPrbZcg
qIqNO2NjjRz84+fT4fP442Ae6ysHbg2ofyZotehjU9ksM5gH+RWN/8WbGcdWfaya0QELJwCz4sb5
Dz1XVTexKXsqcUHbB6yQ+e6rfYMEjZV5bAqfILdWSJqGTS1kM24R4L8Nt2naD8c/H24BSUzX3V/G
z3sXU4IlfOItd2U4BM9fyI/D9Okx8eo9ojqIcSkU5uBaIkswb11GJ3wumNdBfIB/JZUQI927u9XZ
oulCCk7riIP757ljzOlWRUuwaYFUi5a+cuwdS114ExtebGD/FcbE8ztxiQmVjNmUUJZFM9B+MP7e
h5+PM8eC5L4/nE6BlnyGP9iczsN2f02oOV8nXAeLEtzTTeeDUeIA98fhvOSRb41ZdBwPvxqLDfdE
6XdcdwL+XH040LuE5uwUSSGK4d17SgxnsYGWUTG8TdxqVYdzKem0AUWtNObY3GW2086RvuGeiDLD
ymTdTqIRqLhsIs/Yy/92uzzdjO21XaI6XWEj3W/G9k3wa1PVsVnHBvrPdvgYR9fNI/vWbqj7D9yO
o5sQFenhCqqPq5ZI4HQZ9y/Hn3AN14d0p2/wqIM1jrqB4pX9FYaonBPKs2YbD1hnunD5ABgcxu/h
CBht1yVQ2QryLHo3K6mwK8IHbUQhuf6iGRGGfPwjFvMsiW+8/oTVPb+dvrlBKa6m730M+Y4FQ9hW
R+znAI0MrxAFMPoDgfzFP1lBxz5Ie2el/Wy7az6sLpoytrghLsxSHmBdCuzAFRoaeAnnrOGLKgKP
55dhtx8O/+aK8Bannmvz2ABD1TprW8F+ilKVrRuzj6XDLdj6DmqcvhdpK43IJhfcoH/76Ks33Gdd
qxcDMy+hIauHnm+NpvTjpOpg123cLP+aMsurgEVJRCkPb4vLUi8v2ftJOYUp9ISgKgRWjZOVU5Zr
CJbZXG4cZZk0zNc6rVUrxFl+wKyGwMpGQugo8+0aYUwkkLIOnBW0v4xTKh5S14Jtlw61/O+UG5yF
BFysjxNZ5gZwCbnZVIKaiJmTqbATm+gf+icLT2K+Y3QmaIGcIh464e3uNW7Ae7qA4KtRaHafxHuX
8fmfCRIrF3K3W2/dXaGg4++2gSph39GLsTEIcXfHBs+/2f3XbbqmHJ8qNslflcDPqXBc0wlxnP+Y
lqT1aq43T6CYy8bzry7AFAsY74+p6FAXrldoY4rC0tb0aY0Pwbz+hbK8M+hSkau6iK0yUEJhKQs+
K+/2GswAf3p+NgrmkYBrzR3IAJqqYdaaW3UrCCdVE7znKU3QCkirtuI2ZXWJNkxUwaRkKbPhQqdI
8aGPt7efttfhc9qFLgU37rvDYX+eHotIsCBzeJ0RO8tGuRK2lkihqqLWbaGGxU3AwKizuNvyqGFc
NVJW6Pvvfjxdzq9Gu728LyOH5/EypANbbKnT0pNXsxlclyTyGcQJrEk7FNAPXUfHVyEtZOlSUxuJ
/4+UZyxF1uNx+7UWZleL6bF4iCQd9fKtHXeuoRYZWcEOTZcJyuSXhyMtbdcLmbY7fztP+duLUHTJ
BP/rh2MLzPQPvaGYNfq6wr9q2BbG8PYiwcIVIfi2LkRzP2XiUZJRRblioYzQwFtq6JUx7ZoBDG91
weXWBlPP3/Hdd4tkwV/2k3FE7i2S8TB+XpXqycIgiD836qUPUhR//8BmXNp2ax6fRT/DuIpqOFxS
dkO/In+BUsj8s+v6TqTBO9HGUzNau/3n/ZRUS+VipW6vWZAp47vuOzGbHElBzN4SyOMEF2UsC8H6
sBPJ+vM8qfBwfh1SKftWvAjIYzzkg5R1oD4YLEV9PJB36EWKiLsRv6fciErQ8+HZV2rkpmyk6odV
oY6UF8UqjUIvKpI4TboPbLtc0XBP+S5dcY6NvdQzvBKiP7sRbR8P2/+hwoJ/pmQCy5pRnZyWM0v5
qW37sVKeE4qglN3LtoDSJIGIHbSew5gpjYqmFvItD76alBr6JvpMCZnIjJcwoBgNeNnc1W9JUdsW
fTrMM9sXRcq+WOTfqyQhrSmcaGsxe4HENO2vj4qsmkWjQh867lCmnqYX7JR4ICWVr2C2VEg3Cwd/
xi4Br2IB2IUTolk+z8mQSSOqJSl4jpX9sFLISACbA0nUK0opu++/izkVMZGdcCZb0UuPm+vJCttM
CEtrdsvTfphS5srCvk7XNbyuiKL7vXpSSQPnLQD6qUzgmS8iKu3auiEo4U2UClWCmaEGFB/NEucr
y47Xol2xAkPW+KbEK1ggMGF2dqEQy0RbJmVidX1shbvguj+gVkvRPZBLiUYY1KsHQCuhMHbpcwUZ
lITXVX8krPycEuVtrThIEf7ywcUElxWCt50OZEyHU8omqFmaYWEQKkLM2CDH8QAZljVubl3IqVeR
NtKeo287i96MYimHrmPCXm4/7O88Ev3iCbhFUblk93yqUnbPYlV9vZ5wxlXl3zVTgKF1HreF1txE
y9L0bOChUCT6nsqViipv7eu53Hzi9frVrTapHA2vhQky8yGoddZl1XSKLxkRSckgUNYK4lgLAqUs
9IqppBxHceX1Q1VhawphxMqEpSJ5IGTZrKoWntOSqceqW8mjShao/DNlW4cEqprva3z+ohbdgR9H
49/+7bR7jK5YwfwyfyRVDLj5DthF8OvpdtmOMr68ICEPG9iCepd5kzEreFFqXVqlvUaucphbbIyK
wjB8Kn4n1b5EMsCXVBmn6AJEMsBQQxGUYyeSwbnYWyJ17qSpIhftBqHhwdYoJdodaikiGktbp5xA
FvhhwyDiWb+UBdlJ6QC9jCJZUKdF7hU7CV3VhHkkNUzEMV5TIdzmmZD7lKqsf0l6T7xSMfSotfT0
uHsZcShIIq5QCZ1PkZj112TMWk6kx530PKWxWV9WzZ30f/tgvX4paimVmJJhulL2nf94vL5m8frw
GhJRautCJYLUDHbPK1ZEK6tIPVoTGtYravy2yRq/RqhTkln1PU+xai4Iv3j0MmkCKeHfePyENyMl
REAm5e1kD6tMeVitSFRi2/7vqaBiu1r6pay0ulSq8h6tyl7mEbu7BAfLbiSaSTKxa1jlRe+VJtix
DP3edm3B+87+W2+YJarfGY9mfvGpFv2MtkzqgqAuP1K2+YDZVvPRDmzIGXgxhoV5kRA06NIUk/3x
+QCNaIbxXvfX38ZJnGllPdFCtMDlxE4qSszit3Xv9w/Ha4ZS4rEuBfqWFG9ShveCzSHL8NCf1fFt
lfoesc/HDiabu4ITpfyL4HitOR7J0tNK7F8VJWWq8DarBUkZrWD8Z6qCUZz1Iccow4bMRLCyEMyb
SFzLDbRMxLYaKbYlZYlSmYG2UaJF0Sbjz2tqV5lXA5ZSn5bHsxv++ISASpgQIPPcJcVnxfoJLWvq
cYpGaN+ITPpI6dFaEFlx5bCmpLvuBaZPVTKnu817ORwdK0icazF/37/dUmjXTf4Rx/mR8GFeiTaL
MgIpGeGoFj3gD3aOrcr7sj7g0PKN9RAkI0iZVO1zZ56eZ+TXdEFzmzCop/rtl/F5WZuSyu8Vkgmd
MACDiVUJSdOtacdbY6Wz+sdQNcp+2SN2QiYVhAgFJqv7KXjd18JguosBr67370Uuk0KqH9UVTV48
djHvKd+1FxWFFAD1AaZE7CILTYcy1VS5hi6KTCnbkzI5n1f0PVaskjuHDGGerZsXt3jBhOBcE3Zd
Wy7eFavaAJeNTKmsC/Ot2N6KWL04LRfQBVsvdtfe9z8+MEqF1TQvaSFeB5PK51VhQCxfn3l2VaGJ
vHMhwo/PsdqlRiCJ3dXLOtNkSCzLhGEG//FxWdvljTDIJEqga5qVxB6OiOucmt9Qy+2+0cK6ZJE5
m4yjZWjWFpXW+QOt8w/XFTZLc0Nvg1xYRQkJ0gvFEJF83arqiipbPxIwHDaZ8GoygUAj3i3rjkl4
uO3DbeQfG2OYSyXs3zxmeVZVL1qeqvtEI6MSPlQVxhzrNcVadvxdokKrEeo6fvlQL2TbtQ/XC6fC
PaXcYK/EW6cV02dF+bBUq6kYYtkJsj9VEDut8DjqRimRUFj3nynWlYa6xuJ8672DQpwwIvHu4xb8
yuD43cichDrj9iuMKc8acc5tSjUyhg0FeHywRpEarCHnx6I0cCcHE6Qgj5wQ0m+j23KosG0fGsG5
blu+JfPtVVcLydGVM2ITzpYcPFhT1bPypvNMSofcWTirYjxV/5heT4WCWTR8kdlcWziZioe3qjiP
9ifPscCENO+lzrx7qbDmblsW6gmtA8n9/s8VLmeRC7Mx070TKT1RC16nNCzpH6lhSXrILxWjXGOh
N/KcB9muSQZXmTgLfZxYM2ky/92Et9CrhbmpYFHTC02IWhdxykLi49kDnXsXk1wlUzqpaj+WsVrt
ymZyrEGJDS1T84ngUCYEh2KjXh5oxWCRLUgX12INcUK8djxIEHg2ft9vkGxXHI5OYPaI3b7KQWSP
fu9znT5U0VJWK8Y7rokzlL2Yn4xMxEqFfPp2Zccu+n2J0m05GZ/wVJOxkFxsVnosu9vywj11esW8
TlE3bKWxvUo1WbLws1BC0vrShn+kVEEn5MBiIaA18bNejnkJo/TD2otEOFIuLRdnVcGN3xLDtWrW
+gYhz6aWin0wGej+bIXTVPEk48KcU83m22XdipgmXzjp5VqD6euDQ+pb8SDyaMyVFTW9FMUVZWvK
ii5lj02IhKcGBfKHbNfVSa6ckpb3YrueSNRJa5cV+wHmzQNVVr+tzLq02ccGcqwsH+dxrSqcWByq
x1XOSlkJyKazyWvvI5OFkxKISxc9Mx8Wt7C1CR/2fsBAQoL0YgAtVTG3avRt8dDArZlI/MytRIVL
IZQNabpxZX65kEalCVXcyUx4o0+EiZVaJ0s9CSYU+zRFZObYg9172R/NLqwrFG7E5N0vH5ji0HbZ
A3WfdySckP2N3oWsjUV+T3ea12HWdt2Q2GTHDDOQofyPRvIr85CTE+l7kdviDmR6eloWliqvnfR2
12mfUCa1MOks3pKa4mS+sSfgkVhab93QjS7rhNnbSz/kPeVES+EOOfy/VsXxarQ+nEWjqrhUaDIT
wlx3VQYpVymTHc67hYlvSQ1QsaC3PGVjXRSqy7QcqD5Qwv55SltVoRn5YDgyVY6nuF6RVZSpe82l
QhUlzLdqYETbfWTC5TY5w6SUp1u9fkzPVs0jizN4BD0xzGxdo9Qjl8rEXdiysRzq9+BsuErxjZXM
7f9OJWmKRyZyriPYhk1igH3beZ9SfS7ukFB/RWi+rShy/ZqstHqgOIYWAiTqYwqpqHVt3mtN8Iiv
mWsjs4nveo2q1IygXOhAVeYFrpjJ1hadWOMbNzaTKlDM9CwDULPECmJQiaRKtX7A2Wxe5Sm/ow67
Fpolvg83wuXiKA55b2FqcDS3V4O+l4j+Ts3MyTPNj5Vsn68P9jUWj68OWFUw10qTeBbk9fFGxvoD
Qep5XnPCssmVkeVJH8EZTwn/QK7MTTm9LFKb8HfvhQb8yOnzeHk+nL7gN/M/bE5H8wDH8QI/My9+
/5P5+7vl6TAWqHDzjNrw8jmwk5HFl7fTdOUAQSx9BXw30/ZyOhz+9DW6nx1/wrU1SD/xbohktxuP
4m/JyDsjGyDnoA/zvn4UfUNF+6fDqOLProiEIP+NZ257KnfdpAAlkN2NzwOAVLGtP/gjL0dzCuQn
VL+bXD6I65RtQ0NRpUDCXb4eohNIwjqV+wHMSwXzkjCn3Q0PPMFwu57U66/+ID9ZZlB/gpERmRD+
J77+AX6id83Bbs27/qNvUChvUIQUuuBZK1A+gn3m4TIbMI37CsrsQ6qpVkJ+NXbh76fjdXB0I19J
xi4e/qRbK8jMf3Ddb9M/QCfIgX7ytrc6xNCdp7Rp/7vRUvZvzU/sj+CgRbWSuYTe6dYaa63gvkH1
BUhfxvNg/K4oBEgd5KXLeUM/c+xiAYvL6aQEcB2YzoPJIWeVN1bq2VOAJIJvZQCVK0VCPKh48A4P
DUJGKECuxThoFoXtZX++bo7GCBp32vcFfd97DOCHh2kyb7x5HvYH4xRvzlDWbkjqZdSg1QQNR1Aw
XLTPqvA5rHR8eoeatvECFp32CPQxGwp+/5bT9f2gwunZYzZYNoWQthhv1T5khwYiqPgDGKvd2HSD
SgR5jAjc918uxtXRPi5jN25Ei/Hjn81Pb26TinvDDm19cctMjofcV/j3my/j06e9FQM+FWEowjDr
ReRWl9auy2BX19PtGR52Zx74uBsvUCo+l0vt3yQSQ+YvPLgcrAHj588Ea/5v9AMFLcLb1/1hZ35C
xq7x4FjHbgS76Tpc08jRWZGCCrf/xKEDcOybDEcDCFOFIx+BaKgkIkgRz5ogQ/96nltBA8EQdKzn
cT1UaCZB4hcIPP9/rDSezaatcf5eRmOejl/+fPoqQskISu2hQDsQxmc2t/NuMGQrfd3S1yBzLMd6
WvLyW/jchY39jzfqEZBGjcMjg+vZq8GtyOB+Pl3gqQ4DBI7E05F+Av/JcaR1fC1FJg9Ir80MLQch
9W0T/rq9W6TbzZf99dVSy9n4zyKEjn6dogaiDBCvoYpdg0UE6/DsvYpYEI3MEVH4fpg2h70xRRCO
txjoj6D/yjDsZHjVWBXgTERlHx9jAXWSOZRc5hX9yAldKvxuN45np0c349vTaGzcnT0//IA9xbQ5
njaH4d3YSoYF9y8v42Uypmj0t6HRYTaLyiBLY39082SI1ppEANVGIW3QWwbourQAICtCF9FVABWE
GQ23sQaNuxUvqsnqdm8pQ6Xz5njfXXeP4P7tbdztoWDRtg7b1MG/buPlXYGc0cEpCvl2w8JHI2AP
p2GnfF0SXtZ6stz/kefOlZ+pYq+T+hEFXuPhwcM7b+n/Zxp19cOINNlVj0BXYOfhhdSeyjx85yDA
/+6fL8ObRl0doy5mA32Qb5WHbOmXoImvdgGx3ekN/3MoOUbVPu5sjj8OKWdDK8CICUPcfzeKBiJ4
yrcu8gzfggfkJv2DUN9cT8brS/74TPe5vTFKDdkvfwB5aiQ+RIj/eh3fhKgAgnLqYoHL/RImmLD1
d+MvHixsNHc228swaXhWBDycqDJf83fH2xuULIItFU0PyMDnNXgAnFWRBeX6k3byhn0fhOpn5P56
vI4vgm3siCCPne8zhIG9aZi4o5YRElbN1Mk7usv+KRhmDMNwWKSD/reb4a0LUIx2zjpG7Ggvuhr1
A1hU8iGdm7sAADYZlHAZe+ZinNVNrUHoPQScG214Wbko7SwMlSBt4EtSkH0Mve+3Kv24NmB8uI6n
+n6+H1yg8UgfeyEj6FAeGKcAkiW/ji/fXJNioSeMwlYAhd0i2QyN5xbI2ssLvCAjpb8YKxlMOQhA
gBlknncFJ8zLG6xf6KXakkhKjUhaIhLQKnWfRSTjcD4bxzApGBlfUuPl8+3339H8dugox2lJSIOW
d9P2lseptON07DgVGg7zcSzbKr9ellGyuqI7jEI8eYCO/Xww1JPd5f64v+6Hg1HJ6l2S/GD1EfYa
ocRiBW13JMjQ6eQt5sAeiM32MA7gnu9W4lUSvTDrE/Gy5S+epC3txuKkOVsWisRCaf8X3wg1/fn9
t+Hlb8YMMhbtdjjg3xmWNP6kkOJ0cCt6RcrO2rKUFQ9YxY6nyQNeWKWJgUYwfgTAi5yvBpkdeFlK
6J95HQOXDMnFVFIQdhrvFIFN5F4TA5DT6zgaOjMktocQibE/d6MlDvOce03v9FmITpa4s7B2UlPx
RMTM4Z8VCJjGp2fjlN6Ou4mpEw3TNlQjtFUabsAhZH3r/TQ8GVGPZjn8S59tkfskm1i/rf34YGz6
6Two+0Mqtj9gFgP6NULdhRvAteIquwRdP6ba8yY0Nbo7U0P5uGYyM1iWCcXq2ndEZ6x2wS5lWyn4
2yZG//M8ps2Ah99c7ESmpBCic6CC57I/+W30LEuhnzArSmZWYKDAGq9UJJ3AomU2dChGZ1fPaBvj
De0hMPictnLoTODB5FnMRElbnwXpd5xXapGyOBx0CmlrwScILGCNxLpAKxVkqJ0hwkqRYF1rzpPs
veuTUiNBSZLGxmVomecxslnpH1dFTAOjMARTKnVTRShKfX6xmMdlDmJ2zMriPLwi7638ivklLoxd
xgkiZmgCjZfL6bIZP4P5EX0DiIj0FNpiEs+B2h5Ox9Fc1OV23Ezj4VmGQlFHjMF3HMowvR9tsFH+
Pg+/bwUsZAA8ELgE4EciY7BThkExWPjnMA94Gcev4/aGvqUIgMJ6MIXNxe4dAHMGfI+n29PTAYw+
EQrF7WYvKJAPm/NXlwkArfZVdduZVRpM/FF05SozrcniTuv729Pp4KN138xpMtluZjEc9vAYfdqr
CFRN6FEwO1H/sGTqCH7c3sngLmRzNQ7E6fnZKMrn0ZgiRzWAVK3xVxst9kO6APfB1/REJF7WhCJy
KRTBBN5XqASD+kHDjq+X03H/u30cTfjVMXcfdfc0vqBjo2nvQsAKC541J4COA3lYl8hfXmyhqWxG
HuCblZ2LDp7ezofxKxisoLyxgXD/vN+mgkZNy+jUXg3Cu02jM3wvo3HrthtfNgDCYkwG/zK6IswL
u/Id18bta9o1Zc6M9cxXHwBeai7Z/XwZsl/3AN0UKuFUobdeLCVPwojNmWNOCQYXRwJCmKP+KWur
jZoqvqjEmsUaEfdlzCUYDtd/O7yfX+FiVBHBWCDcSEa23ny/b6edJ0Xd9OuFMF9o3kDgImndLExb
b5+gozB+hUmYoBxsHdnsRaIm0+6sCj3SKFk5ARIcW1YUVSlkEthFGuc2GdSrwte0VzfnNkAL+BxH
0o5vQhLPAy/Zd6dBpMII8l/GCTdjJsHWpWBvhuHp8e18fXeIGnI5HSAcocuwuo3p2qVUzTVpVbOQ
KA6ku8uZ/Pl0OozDURPuZYx67xTw+K+bcamu7yp3laEC7lJhqGXr9Pe34xb+5Yq4VC08S5gwTOVR
Fme3CF9enua5BkmHmIgO/z8d0bsbF6lZdcVj8cJFs5gGuVJjcXbsLmx8UAN6JKzYWIpnYwZv4NM5
9qRJ8zaPJU6fRxwoA8nk/THXPs9CZZsnrz/eqKPdVBZ7g9nGSLn2XZ8IYCXzBnkV81hni3ylPVq1
oeVXRDMHkB4Cgf3nERohVLHdhKneFGGyvkPtqrmR6HvLlwKx1ex3RpEVNqY14UmVXy/yhERJWsmF
EPc9xK7XBc1VU6cWYu/iLbOWRu2eo5HM6W1/2LyN19fTbpL1ftcKFiob2eG+3Dpb4n1z+Sp719ld
oMA36E2q6KirmKENL30yxguGwY0B8u1vPybKvq0oC5PQTh5eh5fNdgCXYjxO2N26cZVbch26fbk+
FK9FmCZcybVlJUScvxXXbzuZ0cXSe3reedkVrRF6K8QrfUBEY7OFPC3vgre+j0N5+z4mlJdmY9Ji
JD6AoLhL5mJxlK1KhRHO5/1md7NJWrH0LWdje31Yu40nRI2/pmYYSxaBqSUwj8jqSqqvCGqT1jgn
RdQJ5F0sVMH4X9PmeBP7CXO2HYJbi9aphLpYHM2P37F/Nq795fQpXuNaYEeMBQkEmsPfz2EBDgOr
ZK4QS9pkWaHAaglWjf0L2R0si4/LTSugcgaqR9zuQD3vDwcHaJIhuRoXC6mNI+WAJC/LZQ3YZdXx
y0rees2QwqhJEweUPJ5zICxKlh2k4ynn6hk6Bfb23gE5Gr9NaA+wiGSLx6+7+JGSgCoJ0GWypTge
YLwPwkKhpwL7zRcoClSdK/gwAsKkbdNFSVG5Xs4XttDXMu7vJ1e2Cbjg38CfbF73X/eGRfZfjTTN
sv5PX+8PWbP23LoPIgoIAkTMsxG/EPBADM/DDpx4EZbLUyIsypgPT8YvB+EEFau7ze60vdk+buxU
fBriRFWzflPLvF4qI3Lbk8FpwiAYiL9Nlm+eZDi1hwOC3pm4CCfZfFyzplE8GY0Mlk5mHKg1hysI
KdotN/dlfOS2KvG2LDVQIxCMYDoYuqjimqJmTY94ZrI3IsTVycTVEgjnh1mqd10PCAxbbTCVQ815
cVMYW8UK6lNjM3E+RmQWYs461ygU41lgmIzRuP30coGon0U0eCSlra2gzkpmMHnI11cD8+V1bkhA
0K+3Fwf2qwy3pH43Ng5OhQsNril0S3a1FKb9MJW7281iXZGIK7tW2/Zy3R/UNs+8VF8qdm6iqfSt
0mux0a1cSthko9BFbTFsRQyhsc1c2DgaMNc37ZTUwonlHq3EeFGp7iiPGmJZBORhse4uphCfMD27
wR6JrpY56TrBcrLbFOrDEVmw7kyrJsI6eBnBJt6AzKWAxU7jn0w9pQEhd166Z6OnZ961ek/QInzZ
75KyqGxD5q7ukPNSLYVlGW31RVBMN6svRueEJo6ufpAeVNisk3qh7B9Ug+5NiLrYoO+oAJs0rpbR
WmvLOEAkpTEtzKhs//YS3Rc43c5YkpRrpFex/u8Wu6oD2fVnOCZMNz5ArBsTl9qlESuwmqbVOhUr
d+buXeVXmLQlJ/tjJpS73IXcZITpKqV2rDnT1v6B5W9wFFAkwYLuRPaQFeVgMH6bBxjZyMt1/ym0
/XGXIeaEoz52x9T8YtYVfPnNcft6upTil0V0/Cp8+fMFsvXXfdxyszWrZTjDtvIf/3SEKIuCcBsb
A0xf/grFsvIPLzd+FRGs5R+vokMN4eu/jNvTxRUBiL+dxQb3wteYOP8JJ98hjH/3005kYJWECiZb
launD9HroKv/GbrM1BNUeWzkHn777V+++e0b+UM2ty3zVgMRqHzMJnbMyTj8h+9PQhVfx3jNL5Po
F4Qtf9jHdinBh989PxtJJ3MEG5aPpof90nAy0qR8N3VssCf8oJ/eKf5iGY4CzheHlF+yiK5IITZS
ThndI0n3o9B/HhKB6023UwAm/GReX/2CBR8xyWz73Hvf5z5rFB9BmVzIElsFUpDmbc1dOKcz+Pob
5evcf8042n0dKYzXQGXUuo9RZ+ARPNV2uFxPfzqOVqh/2R+FEQUWTs4OBNGugqbnWIWnoNCy6QEN
Tly1n+LYRHMTkEVTPqfhAzhG1aVpD/vdqP1oz/D1avvpdr0KtS/2q5IIIAsI/yk+4iPno0i7cMDn
9vT2dFK/m4cAQT6z8wPSMU1hRC2OV7W5Ua0OyEJq2B376jYodbhdzvvtJ/WqKv8thndalyF7AtPp
rJyaSAtFoUvwBe6a5b6fNjtMzr8bh/44KhDp0VhdsPnclaPNUOa2fxFQkceu4x4QoLMwDc+nSXXB
+fYIhE+NDr4s312Bcy2UZJWdT8neDlpKcpfEfzrt3pkJq1xbHZ62CWMqZ6d/fYRhxgsnrKSwy4kl
WOUPtCMdDqcvblAA9GZNYHHv9hcPGsYJyTi3MZxh5IqGSxPi0i+e9fQce2DlGevYM76Z/2h/PoyL
+5q0J8zC03QzYn+U0PIuhuHiIXGGldwAwpeBLe7bYPiMvoGnkRQ5FOyk1Bw6z7yxjw+u5v44XEf1
yoq4VgjxUQ4kaRVDjt4dW1CkDK0sY/d8PLmGQ3w5HHFkH8zP3Jh/SYGcRy8eDRLtnpvwnnNFgimX
FD0Wc4ttnGJzfh2k4WeWDKsQTrWK8T4kWasYxjYHBj1fWSHELfgqkC406yH6r1010zqso4XT0QPP
fX9T/z3XzlkT0hhv++d4RhAiwq6JD0zRHEHOT2+L78DW2n6CCMwzZIKNbr+eXi7DWaistiALD7IA
vVq499veLpM0TAI/dOkZaxb/f//DVfbbBrzJTYPfAGLKb7d0nNKT/9vpeJLbT+2HJfuwdzOn4F2G
ozGMEndY0bcVFvw7uTkY33d6Vz7M/YfwDn0xzwiEshXls4w+g5IT17Fw3G+xZ/l1gKlqkH49qbMZ
LKyGcO+o7XZ7eT9fT5aAbk/Xg01uXaYB2Or6o7EWxXgqjDNwlSIwAqny9TDT67Axxrz4VUNfsWlB
8JVxB+SvCv8VL+O/XIxUsPMCbVuBHV0lgplL72GeA4w5m+/0iyH2/zmCDTgaPripx56rltvALh8u
L5arjTD6bJhIrOWurCs6Q6B5VIMxdrZP282Xy+n4svkE2ByGaZKhEB4suQEXWXaVjH1O108Fea9v
w9Ydfji8nC5GxL6JIEr6YWYwGaqZgHA+bad88zn/v/Vm/4Z26399+bTBGAicSSammk5DpbmI1/gV
4Whfz6VvbRAhgF92SEBDjRExt1G+z4qRGDX43x/rZTxCLdyIT4TK6DAOEGDe/D5eTuYRjVwf3fJ6
+bh0hz1OF3GTTl628hkJP9aONVPNeERmNmab/V+bQ3QJMglkzq6NQmTmyAYoO7GDKR+GaIptcwYx
chrG88ao7j22Orp2HfkFuvAF8uCEeV8sTykfjN0VDWVCaloj2ea5IgtpYxBZQYsFXSqL2sLHn74g
zbwNx/35dlD6PSobX4ijAHdhJdbGXLEMgOQsxioIwJobKNgN5L4iBi+Q0798g3WMIe+ZaQKP4zMo
XkU0EC4s5ujJC2/CXcig8TfJfiiz70PqMiprPXWVMVnlXngtOnNNfBuE40B85/JNdDHdCTfh6PJ8
2X9OPU1FT4NtGI0TPBtZ+5ZES9hCUYQvsJqoK3pJ41lldmEaWQ2FrLbqPnblIODdydcI+FwTL2mG
KkIULOIPWQ5VyFSLa/SMdYTJxF9xai7WpauvSWRkLFosJu6LpEKW75nA8emzS42wlshrujOo3CfM
1gjSaqHUq+h7LW9Lfj9m+fShhcGkkOvMU2VbFzO8ENCKGy6bmGRcCHY39V2WQIwdupW2ivxIdM95
DvFX89fCjQtOHqci0cCKAZmK2Xw5YbWzCKCMUZxg1sgXUmu3uuoa8oVALqL0Ib9rH1JFSK0rbjJv
Y29q5HIp/yaRNDhIzeI33VSbhNWVh0plHlhhfcPNxTjkpzdNtBZeIS6mmscg4DAPGQ5NR2dGTxQO
7qyWAbElFTR4yAESbGz4jOaqQ3lx59xko1VxfLxL1hma3p5uxtVzPezzrgPFzGZcwsgT1h5+mnil
nzZnGgExvyEMULrASQTapIHrmfbA6NI8IuJl/Bv0/Hx/mhvE/vz+1512wj400lxCbQ9x7+E4nm4T
SxlgEZ82tNoi194RpkNt83QZh09huFKGE3cOj9ha9dPzz3L5U8VS7Au23E5T8aecCMIi9GRb9aBP
RNrj07I1PkwNMSB2R0GWlQqMYiUMDQ+2zInq52OHyRUgNdsv46MJDAiUG+0ASKYAaUMgvYiJBqRa
eSWVAqNMXMkMQ7uRLMQjk2AoZ+F7h5zhY1Pb15+dJNK4pmYs7WPdiACUkhrG2w3XYS3vMBts+cCX
Gw6J3eDUeG1OfMUG/1nBFaJl7wWGIg9HjROZ3QV2pQszzBlDAqVyM52HVWQZMQWpOdh7NFkY2gWT
nVDjsNCa0ZpVDJCdQNUwvZoH04DxoBMoicKFCy7j9XYxkvICW2zdo2PVp4ZYFQvtQduQO9vm7TZB
+fvVcNTGPP8echBGIV6/nPD6VE3RsYgKFAzVVBnJahUVCCyEGwxrXXDG8Pm01xQN80WZ+yqp0g3k
u7VjEVJ5nfPmL0IrhVARsxu3bhA6doIO75AOS/MuD/pQfQkx2B68sMtevWYWucG+ycInHV2W0To4
qfdmMWoWPrKrANI4MFOazK/zNN52JxvVhnE0qBnOg24D5KL8CcQG1t1+2e9OX1QJwu4GClTyzB7L
LvlYYcex6DkbOcA4/xFbbhmPyAS9lyTAMvQCHAVfcAXT4TSpQ2vsLbNMTgPjrudh0+N1CzsNbG4l
eaAmi5EvZ6XDl+FdfaA8xksMQvqJyVzDcsp2+UK29+CIfqlq0LIIPfBUz9+HaVINRB1lA688fa2a
BoPxYY6GSbOAgp0i4iDBig3tXcQN7820JKXRgVj3A4PzNlxe9tBtdDgMht1VWM1dgHsmuuFtct8M
OzufGP9QctxQMGRuLhGuUaywLmIuqg+BwD/jYHCpO99Cqzw0XCrZR2HhbitzVgNPqaWzAAsPkGUF
/IK9DVogb3NNNcJ4GnabG1RSHN5xBxoOoJqUtt+Smodx5L3zepHsjfq42U1qEAh5edfAUMcua+Na
nv1q9AjOPFAgVayRPSvsX3sB2qjBofZqFgm8ew2YxXrQDtbxTu/SVsTEQGmosJEBGXrg2bxU7x32
aNiRFo/cNuuwJsflCaIdNqisvji10jN5CYTjfnmvEwz1z7PhGnGO0cBQB/2sgP6bynjNPfjirZOd
0QAh2+dhmjtb8McuWL9s/mQ4QKuKvHMI57u6+t06rMlR4PpeujXAew989gMXJp397HqY/5e20sWA
9j6f1rTBLAz4cq6oFL8s/Jc852O+xKI28bPKf4auceM/W2zclSzS3qeoEOneWzsc6SUwBZ+MYLGm
cY6Pi1fKKaTep0UBDNuPFkVJBJETJlXwFLZKMPl96b/n3jnvDDidh+3+OpcU46pw/LfopuLuB/S7
QF5N15McG2euDthWtZt2O31xLgWgCop28/plXgcoKtzA73VPaQC5DV1uoSgHGPwbOasS+pztDDcC
EHGWY9lhdiZTACVQqu5Qilcu29fBVWcza5t/krH0t4iTVDDs7eQl9m24npCvFuJxAEmDdP37X40S
/yqGe4qSLYGuaAm0W/XoViqDHWBe3L47k0Qi2JLW15c4qsHtf4lhiEspd+NkXJfdIHl2JWVZ6iBX
4y/UIudsSSd3PXe7BeciunwHOZSpuVxhDN2X0zWQ57ZKVMa6i4Xk7Jprao4MFMTRoS8/Go/ioljO
IncxffQyWHy3w1mHJbuMBaZ0MTK20XczHLG4WAw3RW5cBEyByg4esJs7+xiGAVHc/Qv5CtgFQ6lp
7uofzxcjXF8gl+fuFNd1WhmxGAsggmahYixC6Py8lwDBec+m26YrkheL+PodzsxcgO1DLvRir9Zb
OorGRMD5XRhYYIilSJMJgXGZoy7XZLIbT7hilJa4q/RfUsy+rHCAuyxdHmDVggifFcU8QpEFPS6L
W6lsOa3ny3IppPipbWBt9euyZAM1bLuvYc+u4xtjJZyur1DnaxC8vsp+a0lVV9idiX/pXWX059EB
RBa3CxmsXXyaf0C+UpafgR0JRuC5dCp0MdAiluBS5XPTExdQE1Iogh6RvRNTMugmlo0SAZ9uVx1c
GyOl3w0oTZ1XGXtX/EsrouGMGmZ+yI+QhcgsgO72z88M8pQyOvJqIQhcg15cl6/mj2wpWeW3PZym
x7Q4S4oV/gLca6RkdNkzEkZgfHadOyUT2HF9DSUg0w26fz7L79Qtrbn2D/xSygphx2pteCJ0Vc0P
HMcX2ynzu70p27Mk2bcZGbiUQrL+8jRvqbFOo7oWuCZZ1AezbWwgdti+zvLoehllGPP55laRfKlY
XT7CuI0vRzn9VHs3JRzwNh6voTGdOtOs6nufP6idLfl5P+0h2uCcJofX9CqJl5p0cR9EBBcAVBc9
r8kQ7cPiWNc6Z1NqhtUwGEVjRMRHYzgVfvqJ/XBzb31q2+IQXOnBsfCUA/cCIS7bLpoipcqDgUyF
62R1V+RtK+PDnLWbyokG2L7gwzh8Hh+hgYKQmWuEIOQ2GhABYwcPKd84URQW41QuUGNOdbRtj6sR
6zwkzOF0C8pMkTaxGtMvMxletmq5Tk1OFrAG0GS+gACzcYytAS0SMoyWXohVbYlXYVxWECI7ESDB
Y6niuWrrGEBMHK8oY6/Ontt1KiZumWiHzakLuhun25MOoo9RsTMkzmOSlwp6Jxb9mvO6s/b3wRLe
RsKTm0pGsaY4Abab1aQEJTlplJ6CMbEIzp/KOcZrYzd5TTYPBlVxJFwfv7zkHRJdsUJyd6Q77SSD
oVtiMWEnSda/KIlsNlblXkdaqSvL2JiCXLRxpxAhTKBGpm5DMX1+33i/SIZRhuQ5p2fQg5lBqbRX
ZqFCrBJCpBAh1TFUZEClCIhUNJsbvp8Hh8vj72pyaXqXzm40PpIpjZk/rKoff1rml3KhMF2G9nc2
bJuMS8Ur6r3U8dH/4i6jsplPlAhDUnMXGKm4OtPV3+935z02A7hqrvsKHBRmz9AoYKh5ONDANjYP
Q/hNdwAb+W0QiYYGSm3QYbq8jHr02NUDIBDLMIH03jwd7LIhd7X4skfnHKCbqJk4xWwBYBU2TsPu
7c3MczM2c1oCRrVKMBqCURes3MDNB5rK3QxGgtCzWnCc1S5gcTzNB5MgtQyX2Zt0E2huby7gHkTZ
8I/Bd7rut+Z9L/LOhSK2zJkLzSNUJuG8CXmIfxNbz3g5XYfVENgCQZYVuz+TCKCMrfyY80qWYNbi
wlBpMX/QaJey+XLZ+6JE7abZzqnGL0B9CLE8ts763tJOXVUb7iJundS4Xsfpunn06ftwL1ylXpVy
O1W4IqFye+eNBXC9QFPdmYEZJtjiIIJiSzzIsLsdub/26CnZfhyuAfwECzbzYyvuGKE+YxR8fEgt
JPtneYcjlJ2gvow4RUIpjLrvFicdABmB2WaBfO7z8+bp3ZZ8vRr5c1xY/iyAOdkhpLLqcW4AHKSH
Ku3eZWSxUGO8PJ2Gi6hCSPi32MVR1zw2hmOkYWWIJN+pyakOmyBDIw3+1tVZOscYSz/1fCF1lNWL
BioxaepW2C79H1X/kd5m815s7sYFl2weZ3cZvmiFslQ5hsznyjNczAM/mMnoLG+TzagSoA+LSMYv
h/cwREdziGRYpYcVaJR5ss/1lKgvzfz7Nn3QWDjry6fx+gVmcKsFI4gKgWEVRby6YuLe78x1k4xX
T3hR3yqr27h6apORauiuqdSIRxYj/r012JC+magx4kd9WuQNW5FUBFGxyC+4WFQKXO7B4YCDWvCx
Po5vRj8ACNeNaz0j4WRXyGlhisxHypo+bFYiRL3oVkN3mRfZTejjXkYotB/tEGS4xiSLdQSGJkzc
sVjCMcyoDKoPMoMBnyODylQ8VyBhCQDgkrHaYCw7S5+mJc5itVjoR6U/ZlzEJjp4CYtDMnYzN/mr
0YuEMq+kESnKeklSo5Dxi774bKnZm8aDJmgwL9klsSRpEEV29Us3nPIF1eUySdPDs1lPEWDHtBAq
85hkvGPYBCnmJMqY/zn5MGeyjg1RyWKMEQR/3leGtjLvEiNK4IvULrRIRS7IIHA/5m80QF1ITM5O
wzamBA5lGXJo4acKumt1tUsJ6mEs1uI/O6eP3odXWrFXMzIkETvoZjmL44vBpazqLkoCk/Q9TQV2
C6ccdnOH+U6lQZpCUIc1ldZwFSIWYBnPhQsgKG9PZ4PugcYZSj9F5iKOcq2z2DDED5XBNWTJdazZ
Ek3AOUox8/gDGJfkJ+DUvdp5aXgDNmuILWzPB5haLIKpGHq25yEjWTb7G65YCFbg3mD5mVNo+Hxf
7SlkIiUate5M42arcpDLlO7yJ0ToJBnKGr1VV8GIRTr4gS3XcetkpfsEjUnl4djJWVU1K/cJ0BVB
sM1mle04rzkQpNB50oBtURBBNayKH2SeS/BYQK6XYi582V7GQT0aX92XUdWVBeZmmD7vr+L3bHVc
XuLIAGdTWAgwwUIpemedFlDoMI+xcUeBckpX+ztdtnLlvAfSYzHdXKp6PtyMZ34X37J/LDvrbJu2
Xatn3yn/mm8egFKE6x8bmmEP+Tsb5XwAHMXIsGOomrsRZwMSTBttS2640jRzVh8gAWuhEK0HsKFw
C2Yo3ApJuwLFNvOTG21d8tmDU50/suzyAqdr9i6xh1NicQesvJkmm0M33izJ+NcWjQRBAxDmYFHy
NACyKlwDoKJ+qPdl1aNUobXmBixidc66u8wzJlwZGQc/n/SDwrto+V2cd8+JM7TMUfDuLjI12BgI
JXRfdHBFaOm1zLNDWrOUR57eimRC4UO/sPQZh+HX8yQQ9GQIOq47uw5C4LDw8VUERGvZoWLkZtDY
LOGJYAoPhtUzzm4IZA/RFhU/zwiLFjc953OwH999sojgl/uj0Q7YK3dQCcFriRbL7PEvc4QcFhuL
MSav9los6IO4dZHT7aacMq944XNWseISUwhD/LLxXzI/94jGraU47Gp6w93LIpCSjo3ZjrlTAXif
bNQpgUpFd0BDFH+3tHAQy+184qYtgyiEZOPyUK3v/1JtJK86EbUapxG084yMw7N1pf0PTIVoblLM
s658WMeGpMbrnf5dU2vWeXaf1zb0zHizQyow07k/SCk0GlVYh43DS/HtmkTDP7SbXRWuaL26Wmbo
7kANh/Pr4BqmlZxf601WLAwHqp2ropYQLQdIUDrCq8RAQhGHMqsC0UZvvQor/VKwjuYg+Be9g4wJ
grOhGdiCIrXztRRzKRcFLlFUZY+79foSC6PxL5XyFiI6BATLNnMJG2uTwsgPiblaT8ClHzElQJvL
grRnaBksO1Q/AUsl3IZBw1UeAuHqHlxLRga+H3qInfR+jlgkSCV7PywOcDblE4YRwKl+dhE0njAV
GZ8VCPjZHS7WNQcI7/tKRPnWUk6nkIp6HHQ7ONv4qqDWoItBNsxpZhxAhsE+bnuUEFgAARIGF9Yk
i/I2lpACz99FRXheU6tpLlhNM1nX99j8gbhFTkGdGkcT1fMs/IPPb84NIfN1PJ2+an2MpbchaqsP
6pzteNicttvDbcJSPRTSaDDKtfOsWcenhuOQ5FpzgkGZagzMEAQk+uEiNZ0DmCbW9XKHytPhJvej
VDEQt+PjF9zFRoZFcUncbxlrr9sexuEyd9Mp9VmlNzZxQRQc0IVdvaG1W3GY9u4wvJQgrNZC+QgF
W0e2i5XHqmTO7Pzs8qYO3MNZzD0dTttPk7P2oYJBrFjqKLgfttjgbEfHhk6OUl/a6SRaXhXb9kZD
q23ZxDysEaZf7aSZZ523GxYrr2bRQNFsMUDMAGBYqbyrDcGlH2LVX0cJhjqoCsIF2+rDsG13bOdI
5Da57FSz0p0f7t4sGH9AjRTEgiQITR6u76uCFoVlgkDEowt3adbS4eSxCJ0vwVsQ3FJxcd3gk4MY
bIKOFaPWNvNWLtEJKBkd9bR+a66j25S7zWRYz2gumTtqtvcQBcu8wxKfD1vYLnuYt2NwhsJ6m35S
b7EhhmMZzMgtMq8s4ft33l9ZrFe96xcR6ZYIBLtOeG53dxtt3NHmjlwNob06ER1GcHao3qI5NU2z
RRaTcTHB5AIcKy6JuJqate53U0l3tECo4tHuOchi04bi23PRZLfYxKifAlFxPjBKSMSS7dll5CVa
4h1li+ug4wx6Pqns3DUhKi5o5w3x8H502SfyXREjZ5VJRFBZuIS2Zc9m711v8er81Hh8vdwP318j
ssRXqmL7VIOqQ+cV7G4XZxGD7rSaVCPSJnj+eTPM9bBGS2Sxb9dqB7ZhOM9K6szThMhuHM8JScI2
MNuWEaeLI7TgbQQ1Ntj5gedNaC3K76ljWNQhtE5u3HiQSNrYsu25HCTI2R3kd8kZqUHveNHPfaCG
kIbDTFlK+27nlxJYZZrR1i5J+a/gS7ZYmtkBs9P+cjxBkZMzhuc5EMZ8/l3ucuh8XG3Rok0U7Hxs
JcbR+b7ZxRLpV79ke2bNNEfx7ePUGaSeUXzGLGbCOcv6bbj86zYaDtu/KYYHPSEa1nn9Ad0j0mof
xlwr5aS8GC5ZLsLUGQsdTJbbUd+qdjzzR0os+6rS/o1SRdb5DSreVApOOjMnjxCJkZHOB+ec6HAc
btgRPTedSus6vPFyvR2t2g95TDPZwRrj2xMW40o1fh0Vqs6fN48KQx055pZRgZPvNlnNl03UVAlr
87Vmho6qpOqgNy2l7ESiYtzNFuPMXSSeNnWSIInKJ2Yad92hkpDxfcxQWh077aj+LLQk17l2csFf
R6WndVCqp1y2eENFTIqiKLE2rvjcRaCLnckQlW8iiDx2v/PSZkABOStt49VVGCFxPSGsfQNROe/F
GHc0sBtL3IkQWEQXE9jFvG3i6UAB3B3s4oNwz8sY9PcwHSPtp6VtgLaGrKIBKWqlng8YO00/bLe3
N7cUS+/eo71xGERucBVT83+CBLhxgIyevcv6Sc5V49VXHhQyLDaAb6ZPyGMSjJlwXDVOzkWNv0rx
Y8KABY+c2ahY9A3RfL5shjB34G5bG7HUkDLJAwvWRSVO0Ackh4oaMl3DgzsrAhGYW1bFZFpDsbw8
6Nnhx0DmOw/Chp6GtFru20absAFjtmxwlobCOg3Jsjxw0JXF0Q256Hkw4zF2EbK10VBkNA+GJ7pk
i+LbN6TuwqdYVc7UeLM8D0qSKAmvCc6GInl54Jcumcgl58QDZGuoQEQhYwSApYrzRpBVAu+OTjSx
R5msosbsSsPEnu+sdkltSpXtxs/77bhB6ScKOFZuUXeuyQVOcXuah5OdtjD0SBGSFcuQ8iAatbze
Seb9Y1XTJdMtODWmWdCLq8D15ONa96zm0/yoPKc5Inmwscsi6rlI62LIaVRLKNcYRu6ZvoxPL5qQ
zXMaB4LMgf66BM16/Alo1GMbbDNh0FKjznKaVpC7gR8SRtvh+HmYil0KKSpBhfkDTS+jRApNbiMu
qCcW1zCVd61lMFGAgYdFLq4N9XoyrPmq4Jq3sb50x7daEjGnCTxQagvBiEw5p6t/O8mlsgW1g6Pr
e/eQnOxlKFRwy9QNg4IFlbC87JqcP5vTxJScQmdUIPE0XLwBKTI31S0w1pkFJMvTw5QsEszgghjH
UFaRDSmJYPMFJLiO48vGzcxgZ3QjoGmcmjfzVKuoZkrULmxb2AJoTSDixvgcD64phX5GjU42FJ3M
gwQoGbZatrChHEMeBDcXU8LhpXQzpSYsWBDsXpGBANAvrOIXVtGFfWRCWkNuah7UDMwFaS8G5LQC
SslsWyphMJIB6gufn9ERM0xyG1ZcOLMvyaf0NzXcrq5H43q6bV/noRsaxGphNlMf4Ey+QKairUKm
GhPegAYIHONtHwzTn693bY56GqShQHe+mL1Hic/kVTF3qKEFmyMbQ2kHgx7dWGG9eK+hCGseBE4W
IYdgGocIiZ5xnrQwNybgVIDNPQvJ1NVHzEWaokSiAuYoFSKl09kgNdMsWHA2Voi2REBVzP52RVep
N6vpXvhmUWywcUyHK1LYqVwfkUhHjGFoyZ//fH42hRKrLpRxXUzGPch0dRbKFWcZv55uhx3a9ADg
AmnQeeKpIde5idv+FlAtsvv8X4AdssQK/kx9raaKOXvsdsnOSSjshrIs+aKA4S60KD5WFRW3c6rt
aXwdPu9PN1/ZurcOkB8Sjo4+U7oitRd9PFBxL59sZ5rxtIawo08XFHkoKDKZIUUK6WLuM3tfrJun
s/oJchol9yEvBPWm/pGUwG1D1T25/dumDMfzhfOD1RhYQxVMeRgbXGffNVTekvvIYPEHKUbENAst
lDx8jrmD+0HV28bI3c0XSJ49i33Mx3O7CeVJam0W4ZZWtymMV/NyEOmjKmI0tjvZa0cbbE45iTaB
N47F12ByosJW1Z7PZEwaFxV7zZZPHkUNAzv0Vpl1Zcz2WYhgkb+Jj9g44Dn3HL0VI3+uNxmbOhb+
XNrQaf1dMdOETWVdljv8Eaej6FSCW3gNXkfLVjrRXI/ZazdNJWwtprY7qLH9XZ1Gl5Pe78IL9a7R
sPuvYevL2qc0uJLA8VLohfG4S0TZAVRBkJaz4T2k1HiMZs7Rd3m4P/Y8HH9yy3e+RYdLPlHmATCT
cYGHNdfSZ3KhkC4PUpwLYGyASLg5TJ3h4TMjXe5a25qw3pq3TyafkfAs+ooqXNKYJlDM6TaZQCAc
7xo9k5jS+9Yl9ryVwfjJlctZSNB1YZP4234yPt72FbL0bggiaZ8H8HTxTYtnQ8NM3Iyek12R+AjE
kp47z6wH6cro7uY+zJdhNYd8l3koC8r0DfiYW/oCGHXiCCtHUm7XsksYw7YxbX0o2XcAiE2tDgfC
oSPBypJlIUOPziyeaDeRfLKKYJAukVlFBsQokNLZWNEnbxRo5k4Yewb8S6mWIc3zmHRc6oAW4gV9
nP/VJEEz1+Xo4lyUfCLUnsmpwBxIjpbNyd7tQkc82vEV4LY/6pfH3pFS1MuKneO6eyPiAi+2uZNK
H5JGBR28sJHwQuKiD2q6gqlvsSA0aNlwu7N1qmTanMIu/r0pVyzjxSgml96GLRb3s/SGSZFJdQhU
VkGDK244K2K4pKtj+YWFolgveEvGeQ0mCZomHNFMsBKztCgUasW4b+BbKvD12FV0dVWH0r2KX55s
oZXR279DwWU+tHImgMYMlBa7QMqwX9WW+GqreShaiVwLei9PS7s1ZJYXIfnX8WeUH4/pYJpb/Gb+
kz3kHj+N73ZOwAPvV+Ts/fAvLZsYXe7S5NnEtGdEEE3X/fbTu4xIFRM4ERJPKYWCWZSZp/AYM88G
xk6zMErCi/UBxcBpQJiKp8rUZRw0+VY1U3fzGLqAex/gW3bdPf6lXqfRZeJmlETt15ItKyO2UDwd
n6JMyhKFgd1ASgUfbIy+dX8/D4ebWFZSUsVeDVdQuyuwoaM184krNoB/XiVOPfu+yfoEY8jcLAe7
umTlut2eqoxwpBj+s6XnL6/762jc4O1otN0Oa2zm8VUiqJ52BFOogI29WtXX0lPRVLhfF6A8Az48
H380XJFqbur9rIh2odSx6Tl9MNoIzQqx3CvObWiZUgfWU01ge1fMtTzSs5Qw6/3EESyWBOXqdoNF
wEgQaI0zrvPi8zKxh3nFbdBJmBwVHmfF07BN3zjXde4feaPheAmEGAVTCDgkOzkN2VPRZRsUuy0A
rH1numA2l9bv27UW6ApWakKCLaUzobgDB0SExFaQU5fIAlJq+EtPhaFtOLo1GP6YPhcBYXUWb8P0
6YG76WOr4ZlpvwJEHUNDul1JmfRUJtxSNJNtZQlXI1GF96JsmtdLi1WEVD5e4yC/1o+imLWAXUwK
FR6YY2al6VGgtBuuDlcxUce9xXPRUqGs7qHNPQiS9UPYmZ3gjO4lDU/b2Oo+lLPBigTtx+da8nCy
PRsxZ/vGVRzm8bF9kIvzcS3EZTbrSnDVhrezAi330Ng6SHbDww6aezAhKosV2uIFgMBfcOV8bEKs
jZKJeNBLs7Jy/aVFVFqCRX3CNskGM5bUFy7phfkEIobJ/u1F/JreJi8y/KtTF+xF9N/vCHeqSA5f
N/WkWUhkZaj++KgDFRWidRbntjycmHlBS8fgazZg1OjLyVD7/hhMLhdhZCG3tYzb9mrdJW0G5KKD
SlRQFD+927VUs3mu2qGVX+MU6mAu1UOh+YLR6nE3+THfdoqZFX7AUGIjDZuTXGPuzT4hFg7jf25L
iNfNDfWYt+E8PQsjMaw4p+WzLc7DNf9fBp8rw/VpAhN8y6St/dZoM2W0UeWX+cAEOjhEHRbXpyqC
Kp/Kq0MbJZi9umYFC0FhjBCwkZxpr3xwB79vvFfo/VTbOHSbwBrd7beDRIF+GWDdB4YoD33pZ/H7
dutwoi3kq43jfN0YX3Izfkbd7FWSyuUd4zEUNRalOQpjq2ulj7msrKiif245gLjtnKbWokJ+kR9C
svPn+DTR5X4lDNEqvSV++SseC6d23sXjNOPNr35EGd7ieorCWZEwHDR9HKa+MlyQUfiqpxsm8HHl
iJsBgbtWJUikk120xI2f8mGX6+X2dmbDNyxskZIZP1Fdpdp658tAd4nIbOXDVij3KqyirlhVAzIt
BJ/v0hrH+x+XfqJne7QxGN8FVcfUQeP7La3URg63MZykvCj5mHvvYIELMbGNWvDPccnXUpKg9Avb
c+7R69+2/lsW3oZPUio39zNI8ePch/rc+osViGf+8wZnXzvOWax+TB6/8mAYnVns8SDoq8p7cvzM
UkQE8MjvJb+KAd0hcyWdF6gPGaYppPg1q5ZjMTALSQZQ0/PbSbB1GOZGYpI/L0LsW6KA0/Mm2Bwj
w6CXZE31wWbmuT/SPok28NnPU8UT9XwHZhTg6r6w3E+URcicpeOQQX6oD8+urqxpF0IcmhNAx5Nu
B/lxpMhWtZ87HQUqguAiAWeWu7DCOEyrWDNn3zPHxhiAo7FIjWMQ3H+qH6ylXD9SaemolBSC36B0
95TxbfWiNVwUbKgp/kUM6Pkm7GWgzxj6pdgFWsZaNaLhQnGevC/2WtRTxqC87sfLcDGOA0ynSLdq
xwrtY2Dl8/GSWMzEyNFqZRC0T+Q3YXlRDAwa+GIVIBUmu9XJbnksCkY7es/Ok3cWOv8XYm2sB4r7
nC1v+JUC9nPp2/auCdirm+muVFqppKl8lsv26RbYrMsLXh91PUoi/bLCirvSdWlcr+PFbSiY9yfY
PwtsITe+Oc7CftIMTsrGhTxtsCAjBtFZSE7mjcNVhF0QbFsHUK6ELUIsCaLtg0hBFCHN2g0DYBWt
U9auUtVDfiYR3WWXpc/7WdLAfm4LogiT0wrXV6XAg1CdPJ3fb9kCkE2JXc5tCqRsK/q5WvY9KtK8
CjhX3AzBeCP7XuB/RSPOD321P1Cv+gHoyRLBNYwicVh28tE1o8ZvHcMn6jCl2M8rT+egyv0Kzbm/
wYqVVPjF58O6Lqi3pe9WzM3MKYnadUElvRNLK7CYPZIuTGEtv0/bgj49sjiR8zHuPYUVyBUeIAvQ
uKD1ms8r/z0LE7FDsVBTIUPJPRSYqNf3SygYDBGlUk8lbV3gdbhz2Dh8+ixELuDxt4XgfzESlWHR
m6O+F2iGG3Py9eSEGAvwQ2Xo4X1zB1NGqgpxallsn6GEsQfZHPYZ864LjD71bPLRqhhv+KivLdNI
v1xNUJqONqcJOO11diVgWInSaaurNj77JcIjcDhHX7qt5B5SymV3XdDSF+c2+bKKkJpqAaE5BCgC
6uhgtDOUN2etFdMFCViWdIphtH2FfPZJdBd9vUDXLdoSSZSsk/ldyCsSStqUn5xyyP7F6jt0UgD6
kEGyRTh1/S1n7Lmgsm3ew3R/pmNirzcVHizkrfdnZmNlhXIkmQtipQtSTSIzVD7SG0YK5xZu4FVn
PpiToMeglN0WfnFCj0crsB8/GA779K7PRy/8Hoi+D8SrD6TPbfij+H3pv4fyn3Y5nZZOJkJoPQRG
bHyR99zHxaqt1SPlhBN75jI9Ar3w6zX6MAmqTjjDn4xe41y74UzA13H/8nq1dwphchFaTThQTJbj
r0TtC79mBL8v/WzSYt35M/9tXWHff/Aex5M2MMQuTqLnpASgp2i9AxQA9IQ8DVZl0ewZlIxBRRiw
zW1WYujhF/y8DqknHICZatBBCFlIQ2XAU+JnhDarJXX3Phx3yYtfvLqLzfmo3BzXYNWt8ti9yufE
4A3znHJitorcujm40fD9MFsArsJ8EvO7rc/vFhUOXDUg7eLPI9Z6YQPU6Xranuzn9sTsbwNfzRae
yzX2fc9aZXDNa8FG3U0bI5iOu0WKJw206xnQ/A7oYITl+9vppkFgTXB8/L+DQJVJqTbRvqemHbdv
rOOQ1u3CtpB4lT6bzuMgQXL2KI18tQBYH57fdDhXgJzcvkj395u3cZqUwGrHh43wIdVfhgsYidNm
vFxOcvt3x0am5EXm3sh2u7/ZCJqRwNMIMVnXYaFsOQRYDdsuZk3a2eT/183IFV8nCEXJu/EsBPUB
UstXxGFOP3BefcIHYclQsvi2OjqXfBS+6I7R78t4/Wa7NQ/jQro/X05nSIiO0/eny98MNv/3sP88
/jK+SHYRAqc1cy4a6sq6jOI7WOUHIVU3JsWQug6N7Ues7Oa6lagCA47fQWED/ONfd/JPsFWHNbYQ
dv4i3ZNgfYT8FA3b0pdht3C3DkkZIm3X64GVejdiBIcyyl+xRYtW2FWe5g1NPt1eXsaLk9poesPh
djILsUkANlLsjNzL7Qjz5fEbc0Y6lgyKj0GamccGtV8sHEyOfJZziU3Gsol8GOQ0Xr/DOtVx9+O4
2w8KBErwBssUUb3+Cmt5x90Pp0EOniMQlpID8p7rtCwQaG28GSPxb8Pn/cugpjCbjCUxoS0F9zG6
mfbz1f56O4OZO+6+/fXXxDUjATDJkuGgaRi28N///f8AUEsDBAoAAAAAACVu6kYAAAAAAAAAAAAA
AAAEABwAc3ZnL1VUCQADxS+gVfsvoFV1eAsAAQT1AQAABFAAAABQSwMECgAAAAAAJW7qRgAAAAAA
AAAAAAAAAAsAHABzdmcvc3Ryb2tlL1VUCQADxS+gVfsvoFV1eAsAAQT1AQAABFAAAABQSwMEFAAC
AAgAJW7qRr1Ry69/AAAAjQAAACUAHABzdmcvc3Ryb2tlL3plcm8td2lkdGgtaGFuZy1zdGRlcnIu
dHh0VVQJAAPFL6BVxS+gVXV4CwABBPUBAAAEUAAAAA3IuwrCQBAF0N6vuD9gSIwgu4hNIoJYqZ1Y
jOaCC5tZmWx8fb0pz9mPEVWJqvZL50sHvoeqrIuY7hLRjv3zSO1oZyMvK7dw7or11izZxqPZNUkz
P/nEfAjKVoaHR9CXxNChmwQxk6+HZETKkJGUYGRPzejHKW6EJp3/aKmY/QFQSwECHgMUAAIACAA7
bupGTbSeFg7yAACQ0AoADgAYAAAAAAABAAAApIEAAAAAYWNjZXNzX2xvZy50eHRVVAUAA/IvoFV1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAA7bupG6u7AMloQAAAFxwAADQAYAAAAAAABAAAApIFW
8gAAZXJyb3JfbG9nLnR4dFVUBQAD8i+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAAhu6kYA
AAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQfcCAQBmYXN0L1VUBQADjy+gVXV4CwABBPUBAAAEUAAA
AFBLAQIeAwoAAAAAAAZu6kYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQTYDAQBmYXN0L2ltYWdl
cy9VVAUAA4wvoFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAGbupGIY+9ODIAAAAzAAAALAAY
AAAAAAABAAAApIF8AwEAZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3AtYm94LXN0ZGVyci50
eHRVVAUAA4wvoFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAD9bepGAAAAAAAAAAAAAAAADgAY
AAAAAAAAABAA7UEUBAEAZmFzdC9wcm9maWxlci9VVAUAA34voFV1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACAD9bepGC1JwzJcBAACSBAAAOgAYAAAAAAABAAAApIFcBAEAZmFzdC9wcm9maWxlci9i
dWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtYWN0dWFsLnR4dFVUBQADfi+gVXV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIAP1t6kbObASZNAEAAGoDAAA4ABgAAAAAAAEAAACkgWcGAQBm
YXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1kaWZmLnR4dFVU
BQADfi+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP1t6kbZiNxfaQEAAKQDAAA8ABgAAAAA
AAEAAACkgQ0IAQBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91
cy1leHBlY3RlZC50eHRVVAUAA34voFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD9bepGq51V
TTEIAADPHgAAQAAYAAAAAAABAAAApIHsCQEAZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlv
bi1jYWxscy1hbm9ueW1vdXMtcHJldHR5LWRpZmYuaHRtbFVUBQADfi+gVXV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAP1t6kbwThiefwEAACgEAABGABgAAAAAAAEAAACkgZcSAQBmYXN0L3Byb2Zp
bGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1hY3R1YWwu
dHh0VVQFAAN+L6BVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA/W3qRjafjGQoAQAAOAMAAEQA
GAAAAAAAAQAAAKSBlhQBAGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNl
ci1kZWZpbmVkLWZ1bmN0aW9uLWRpZmYudHh0VVQFAAN+L6BVdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgA/W3qRppFwhhUAQAAOgMAAEgAGAAAAAAAAQAAAKSBPBYBAGZhc3QvcHJvZmlsZXIvYnVp
bHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dFVU
BQADfi+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP1t6kb3cVNnIwgAAJEeAABMABgAAAAA
AAEAAACkgRIYAQBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVm
aW5lZC1mdW5jdGlvbi1wcmV0dHktZGlmZi5odG1sVVQFAAN+L6BVdXgLAAEE9QEAAARQAAAAUEsB
Ah4DCgAAAAAACG7qRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BuyABAGZhc3QvdGV4dC9VVAUA
A48voFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAIbupGYF54wT0BAACWAwAAJAAYAAAAAAAB
AAAApIH/IAEAZmFzdC90ZXh0L2ZvbnQtd2VpZ2h0cy16aC1zdGRlcnIudHh0VVQFAAOPL6BVdXgL
AAEE9QEAAARQAAAAUEsBAh4DCgAAAAAABm7qRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BmiIB
AGZhc3QveHNsL1VUBQADjC+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAAZu6kZy/WXyhQAA
AOkAAAAlABgAAAAAAAEAAACkgd0iAQBmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIu
dHh0VVQFAAOLL6BVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgABm7qRokfIf6XAAAAwAMAACcA
GAAAAAAAAQAAAKSBwSMBAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVU
BQADiy+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAAZu6kbPj2YOUAAAAKAAAAAkABgAAAAA
AAEAAACkgbkkAQBmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAUAA4svoFV1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAGbupGgUp3rUsAAACsAAAANAAYAAAAAAABAAAApIFn
JQEAZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVU
BQADjC+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAEFu6kYTKYXKYAEAAHwCAAARABgAAAAA
AAEAAACkgSAmAQBmdWxsX3Jlc3VsdHMuanNvblVUBQAD+S+gVXV4CwABBPUBAAAEUAAAAFBLAQIe
AwoAAAAAABJu6kYAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQcsnAQBodHRwL1VUBQADpC+gVXV4
CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAACFu6kYAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQQoo
AQBodHRwL3Rlc3RzL1VUBQADvS+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAACFu6kYAAAAA
AAAAAAAAAAAQABgAAAAAAAAAEADtQU8oAQBodHRwL3Rlc3RzL21pc2MvVVQFAAO9L6BVdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgAIW7qRhU1NZJ6AAAAvAAAACoAGAAAAAAAAQAAAKSBmSgBAGh0
dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADvS+gVXV4CwABBPUB
AAAEUAAAAFBLAQIeAwoAAAAAABNu6kYAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQXcpAQBodHRw
L3Rlc3RzL3NlY3VyaXR5L1VUBQADpS+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABJu6kYA
AAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQcUpAQBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9VVAUAA6QvoFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAASbupGY6qs
bIIAAACoAAAAQAAYAAAAAAABAAAApIEpKgEAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADpC+gVXV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIABJu6kZjqqxsggAAAKgAAABSABgAAAAAAAEAAACkgSUrAQBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1z
cmMtMi1zdGRlcnIudHh0VVQFAAOkL6BVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAE27qRmBL
ZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSBMywBAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklF
RC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADpS+gVXV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIAOpt6kbqinxCYQUAAAUPAAAKABgAAAAAAAEAAACkgUMtAQBodHRw
ZC5jb25mVVQFAANYL6BVdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAANW7qRgAAAAAAAAAAAAAA
AAYAGAAAAAAAAAAQAO1B6DIBAG1lZGlhL1VUBQAD5i+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoA
AAAAADVu6kYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQSgzAQBtZWRpYS90cmFjay9VVAUAA+Yv
oFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAA1bupGaZTRjfAAAAB3AQAAKgAYAAAAAAABAAAA
pIFuMwEAbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1hY3R1YWwudHh0VVQFAAPmL6BV
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgANW7qRg1/+IScAQAA/gIAACgAGAAAAAAAAQAAAKSB
wjQBAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtZGlmZi50eHRVVAUAA+YvoFV1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACAA1bupGDPrk6jYBAAAzAgAALAAYAAAAAAABAAAApIHANgEA
bWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1leHBlY3RlZC50eHRVVAUAA+YvoFV1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACAA1bupGBnDX5dIIAADXIgAAMAAYAAAAAAABAAAApIFcOAEA
bWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1wcmV0dHktZGlmZi5odG1sVVQFAAPmL6BV
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAIG7qRlqloTxJAgAAgwsAACsAGAAAAAAAAQAAAKSB
mEEBAHB5d2Vic29ja2V0LndzLmxvZy0xMEp1bDIwMTUtMTM0NzIxLWVyci50eHRVVAUAA7svoFV1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAgbupGUYPOEAkBAACPAgAAKwAYAAAAAAABAAAApIFG
RAEAcHl3ZWJzb2NrZXQud3MubG9nLTEwSnVsMjAxNS0xMzQ3MjEtb3V0LnR4dFVUBQADuy+gVXV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAEFu6kZ3TEgSpSYAANykAAAMABgAAAAAAAEAAACkgbRF
AQByZXN1bHRzLmh0bWxVVAUAA/kvoFV1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAA9bupGAAAA
AAAAAAAAAAAACAAYAAAAAAAAABAA7UGfbAEAcmV0cmllcy9VVAUAA/YvoFV1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAAA9bupGAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UHhbAEAcmV0cmllcy9m
YXN0L1VUBQAD9i+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAD1u6kYAAAAAAAAAAAAAAAAW
ABgAAAAAAAAAEADtQShtAQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIvVVQFAAP2L6BVdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAPW7qRgtScMyXAQAAkgQAAEIAGAAAAAAAAQAAAKSBeG0BAHJldHJp
ZXMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtYWN0dWFs
LnR4dFVUBQAD9i+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAD1u6kY+KkE5OAEAAHoDAABA
ABgAAAAAAAEAAACkgYtvAQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24t
Y2FsbHMtYW5vbnltb3VzLWRpZmYudHh0VVQFAAP2L6BVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAPW7qRtmI3F9pAQAApAMAAEQAGAAAAAAAAQAAAKSBPXEBAHJldHJpZXMvZmFzdC9wcm9maWxl
ci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0VVQFAAP2L6BV
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAPW7qRlDRPNE2CAAA1x4AAEgAGAAAAAAAAQAAAKSB
JHMBAHJldHJpZXMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1v
dXMtcHJldHR5LWRpZmYuaHRtbFVUBQAD9i+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAD1u
6kbwThiefwEAACgEAABOABgAAAAAAAEAAACkgdx7AQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIvYnVp
bHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWFjdHVhbC50eHRVVAUA
A/YvoFV1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAA9bupGMWUsti4BAABIAwAATAAYAAAAAAAB
AAAApIHjfQEAcmV0cmllcy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVz
ZXItZGVmaW5lZC1mdW5jdGlvbi1kaWZmLnR4dFVUBQAD9i+gVXV4CwABBPUBAAAEUAAAAFBLAQIe
AxQAAgAIAD1u6kaaRcIYVAEAADoDAABQABgAAAAAAAEAAACkgZd/AQByZXRyaWVzL2Zhc3QvcHJv
ZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVj
dGVkLnR4dFVUBQAD9i+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAD1u6kYwEFr1KAgAAJke
AABUABgAAAAAAAEAAACkgXWBAQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rp
b24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLXByZXR0eS1kaWZmLmh0bWxVVAUAA/YvoFV1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABBbupGNc9YPqTPBgC6WicACgAYAAAAAAABAAAApIEr
igEAc3RhdHMuanNvblVUBQAD+S+gVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAACVu6kYAAAAA
AAAAAAAAAAAEABgAAAAAAAAAEADtQRNaCABzdmcvVVQFAAPFL6BVdXgLAAEE9QEAAARQAAAAUEsB
Ah4DCgAAAAAAJW7qRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BUVoIAHN2Zy9zdHJva2UvVVQF
AAPFL6BVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAJW7qRr1Ry69/AAAAjQAAACUAGAAAAAAA
AQAAAKSBlloIAHN2Zy9zdHJva2UvemVyby13aWR0aC1oYW5nLXN0ZGVyci50eHRVVAUAA8UvoFV1
eAsAAQT1AQAABFAAAABQSwUGAAAAADgAOADuFwAAdFsIAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>256615</attachid>
            <date>2015-07-10 14:42:44 -0700</date>
            <delta_ts>2015-07-10 14:42:44 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews107 for mac-mavericks-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>589390</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">UEsDBBQAAgAIAHpw6kbP8qD60CUBAOqQDgAOABwAYWNjZXNzX2xvZy50eHRVVAkAAzczoFVQMqBV
dXgLAAEE9QEAAAQUAAAA7D1pb9u6lt/frygekGAGGCVcRakDo2jSpO20t1uS3raDQSBLtK1Wlnwl
Ocu/H1KyE9uibFmivKRtmt3R4dkXHh5CxI6AeIPPDPH2vxAc/884OEYA0ueQPAfoOTCfGYAB8H/P
/v367PLZsTMauY474McEEGPohH6PJ+nRIB0Gz95cXn46hkfw388QAOIdgn/B2o/3Ip4YYZQa/M4X
AKaQZoCIBTzDhFaAwUpgxDyJxrHLk+PEH44CfpTepQtYQLz+8/OHZx+NmHt+zN3Uj8JERSUMLbQ+
hJ+JkQpiGI8IyG8HThzyJDn6mSwAMU3KrApQrEU8whsnmXwyUscPU+4ZTi/lseHFzq3hD50+V2LF
CKoDL2O8n/wyFr80kJC2JHXScWK4kacEKrBcH+ZSSsZ8FMVpkZ7IspEOUNOfjGKuAAKZVYNpFZ8O
iW2ZGlj0CC7nk4RYhEYBhHWBLUJwozCNo+BBs15IeehggA7HcdDJXuN0A6F5TuhFQ7Ggu/RoNBgd
5t9f+14HHmavup48qTMadwPf/a8DBIbOnSFEugOBWPQjCuLhz4za+vOIgHjsnXg3An8oLYObHiU3
/YLBYZoopaLCC4H+3x/h5edPGJ6cn35+eXZyvsgrtrucCiNhBKKYHwpGXTdglN2AfASa787Byzf0
9Dt9DV5+rUM++/cl38kb8w1jn5H96ttr/B2B/SJf9oNtko+eY3z67u/TD+/evmYnDP0h31rk+3B5
9hmBi3MbfmDo3Y99kr7hOIsdbpzA95x0q1Rk9iUAJ+YP9Pbb1eWHdy//ULGWKl99+/r16t0HxNj7
d2/+utgjKioipk0Tj1x9+UjIawgvTmxy+V4D8RRpocxxp9+pUtAs1yFaQC3ku/OZaJbqUvCv58/X
oGZrwaddOa+JVMkAqpRT2yvTGn0PX6D9KOwv0h5DDfI8jmMepkYqGHDk9v1F2oM6IDImjwZ+4I+y
zDU5TrgA5Kf3RzJFf5tl6PnLVDkzZDbZHXoVkCnyl5m2refRblLIiU2x7PVVbPLUrBiSHN/zIIhu
F2gin27TpuueQOg67q9+HI1DT0V5UqFmAIESzC3v9oPjKPb7fmi4AXdC6Tp6USwsn6ssuTAksFpC
sUVAQeQ6wYxKOF2uoBREqEr5qASLVcpQWrSCVgParcmiNWg2X5k6Go7InKslVVztWqQaOWnK43Bq
NXp+EFyk9wFXF3ltvCma1QCzR9FQpcWXRUNfz5FlfzuDn76hj1/e/6iTFW6MeDpIU116E7HcX3yJ
/BLcMm8IhfiCfjUvPr6zf1jwvRbebNItVKKzCGr8sK80q7aJ6pJYWWju85DHIneTAecoCpMsmHrh
h24w9rjRjbz7Djgch/4/Y/7W62BsAwyhZdkWPDwV4itDsMv7Ee9IJh2PAscPDy+ynYWOkIbD01k5
78wUhOfQIvVVWgNOBFkWlW/QBlVweu+IePmvyPN7Pvc6YXT7H4bMd/9zh1CC1GKCQ4xCk9ZnkxYm
bUS39ITQ9TQ25oItSlUlwP79vPmGffW5ffmNnl19vMAfXqOziy/a/UEp26NEnQPaAP2OMVz+JzU2
A2HrMvL+8uz19+9X5xfsw7tTCt/ucjxXRsjpZtOGSff5o/Xq5PLt5Ze/8dWXK4R+d9JVsAx5Rrw0
zxO5MWuZcT9efoJX39+fvH/1FX7/cHW2F4zTzaHN2tHSdPLL1dk5Pf9swzffXiFINuWickFckbKJ
UB7uZ8okqM+VrXKQIrq7KOXBuBAPHiayjU3ASHzXEPZCMC1D5+hnEoWL2yKA/kknKlFvUbso2ZV0
YqY/8p+xE3MRCclHvxCArrNS7vUgKuyHQWQToIH1M81/wjavav6jFq7NnJwXftg/dmTtftLhOHUP
KmgEmfVKuPN0vB34KQ98XSR8BPOwdmnQpVcrovr44pFTzAvqJkLrQckqcGZdWck+esZQqPLjJq1q
k4JqLfH5vdgZcknZBTg6ItvmW4RltApdHhjeWHLF6Dl+MI6FvYudZKCUb4b0QHrotBCmz0jGrsu5
xz0VSItpCPASGTQkA85TDIgmFlWxEcLsjsQnNWYm2A9ablJ3q7Gs5u7WSnN73eU9kV7lPqxFF1Y3
erGYZREALbECa1X0IvOW9wIPKRWd40rl60ZVLg3omQQCxABG2GZa0APaPNdsnCakQ2AaRb98EVtl
UVtpsCve1we5GKFBvJ1nzNma4ThI/ZFwc7K9xrgbxOpTK5S1SeJCRLxeKvHp44XC0PDhSORgxRM+
tYQlW/Gs485+YoxTkYvJhFaEXULW4/veOMzO/nRE5nceRafZywoJbW2eTXQnFbpj+P1Q2DRP5S2U
OScAO7RtscQnCLnwjFlMFX6dEP3imPDQK1V4aBMNHjYHWC3d2FQ2IGNDvdnAagovdkphtpc6WVgB
dwfRFFuF1EKsg6ZukhjCKQuveS80M+QTecrNgTz8deNHInGOx0KlyuUZmNtZTOGgGGpjGaV428Rs
SY/1pwTVsFwkqJ6SnxflafZSIbKZ/SdobiNAW82OghoxfWlTMojGgXcti35dfp3JOveuoe6aVRWg
aMcStV3MZPSlBGXFWLaqGMtMU4eU5wY2MW79dGAI6QhT2cAUS7jDrh/yJeEZAObOBLc18So0pyOs
Tb3a1V2n64r/nubq9gZqpaWFo7v7rtsyzdzu3f30rXX2eLz381cw+icWmDmuJ4B33f5gGCU3Tjdb
iSaWLQZKQ9mDeP8YI8Vc2NEkNURSosx76qSoO5P3bKaSWteLwZnICdumCQhkFMHVXoxVDJfYM7JF
nCi2TGoSm2FWH6VdQggTBi2bEIQoqYCRhpWvobzak51WzhSuAaTBQJY1zHD+r11rL0x9/q9dMMKd
5P/bBSNcVu6+dMYUmy+jriF5NffA1lEg3KT3v2bVtibMTYXoc00FjyZvkodKXJRpR6MCSFbHydq4
jLHwBqmR7TQnxqTPIf9NEDnq9ADaVVJ+2BzxGvHRaqgCjjPpiVqW1lWZ9lYL2mLgadk1AC3oQ8Yw
qGYWrINHXl72orFsQ/lnHMlpbMI6jXmeSSZ86AuVC9SGyqoHc5F2o2AsTwdLPRSK/dhAomYXqo/m
Yh1/Yr0yI6M8u21ph6WMAjDENQg59BN3DswwywR+jhZTcRG2QlM/JsqgCWLcpkgs6pSNt5njiAjR
tDBDwKyUEJzdjYTlSzrnsS/PgkAgPoi1io9ytfITfA7wcyp//vqvy13KfBBFmGBIsAW0YSrXu3OY
WgQTajEGWSVEK5yCrIpRFcuPtFv+mVCLp6eTbcVi5UuLRx5Fo/FoyX4hszVDKU6MrMuHgS8Pz9wb
oXPj9/NuuTCajWmWR/QYAqqDR33tPCqY+IA7cSswBmk6MgQCk81rQ0ajwsT/VLLKhDUiT02B/EoJ
S0QSJ6KlyhvCqFLduBHYRXkz0W6KWwEnGXplehTc8NhwB07YFxFozMXLYid078uthdVAo0TeKiXR
Cb1MDDPRjMLgfiKbaitLwOYwLhSttZjGR87eRr2e8Zhcq4JfPRarfa+SjLvluWV5GoE3ArsAluyq
kS6XFRWSmpL2/Slkw98j3tznXRL42yQ/q+3SfejKRuvVdpA2CBQe+rqn7YjKaW6wNYRqdYjA6l0p
pML9APviJeXXhggw3F8VZIK0CHGRaYw2z411tG1sPBieu/Rk2VlDCCzU4PH6J89uXp7rzrZtLFnT
+eILJ0KLfddmHSHLNw1m66uZEjUZylhGOKcbxekElygUH91f+VbkJLATFFPKHrLM5lScVk/kIAF1
tr+T2epGZWGDSqSWBTX7idUW4YxwMh1kseN7t631PPG86DaU26dSl6YWtVSXcJ0sXmH6Ki6h7Hqr
emXWDeSg2rJBCzOTEGazlRkIqTidURJumzkIsyDFFCJsE1AFpwp54rZRIhggi5k2sDCuzyZtTJr6
qLwMmLdHzFY+pIqpz62addzXanuitscmbteElMWFerokHtq3y2vlNtHicLJZZ8tHeEC0m3awRDRG
cdSPecm4RWEbWpCLB5AlQgGx2SJUAx5J2VlUN7zL3mumUTwbgaZ4dp19i+o0Q9potoEYvjpaRLco
JI8bkVG49KB0pdOOpdeBzubck5YqOeplVQoBCQC7bAcfbZTrSv7cZHlsyd4A05Tyq2Apd+pMrCn/
UomIPPiRpHykGPK7bHxXY3Co+X5LRZqWWXvarlVslXp4Mcu0WlCvPKVVz5dsYKqye4QfJhzwbHtB
PaOJ0h1zXKtCwEKfTN31y/BVROy9OBpOvMf06Lz8TWZ5hcWdzFlTF7p2s4sqSY6FS/TkwIOHZu2S
7MCu06HwYBOyJkvjdsDDhy6nsG84t869kcofljl+xshOVu+SZO7YXn6uKIj6fUm9Yt8qqiN7M7aA
p7dR/MsQyjoOHGEVMtMjC7kd2bCjYuGhGw2FqfU6SerE6Wwz2cNa96PDS+FW6goTqSNMerggyF3g
weHISQed/M+QorN6g8QqccqU/SnhPBUJlC1pFaxAnXhdzwIz07ExQ5W0sp+j3uoXX8pBrMrEtlYv
ZSIlMBIE7Ym4ZBKFKLNLxHbfeza7Um8Lm/cbpn4L1aQV9K+5HdwyYVpatDoPmrgPfaXdfaZNuwnI
EyBLGwZS+suVSRlk2NxqNyYyLQapaSOzNESrdj8deNZmZFQg5kbSI43RuDZR1e9NNDBhSXb0cDuI
pgyp1dVOxwdkf4f3YMGyVGZMDv/tGXk1Lbh9H6eBJBVzNwa2sro2E7eZAiL3BO99JyibvcV29Fja
nC/Pph94RjJwRupKMSZ62nHz4eEaN1sqzhyCxK7T1Kl3bNI2y5TufewHge8KMfWVg9Nwky7oyTHN
2Vka6tkZevoA5pApbepm2mEZvSgeKhEDQAswX3gS8cUonVzKg4yDV+DAPj94BQ8sIL8+Ocs+ouwj
nfn5y+zjYvRqma2sq/GyqOZl9ZwgkEFZ44WxPTkKoBbLF36nKQEA+G0O7aM1BGwahqxLXuPTy4uL
xT1L+PQXN39UpYlaZv3blbpbUIlzmp6jm+mX8MPJ8Ao+mQumvvDM1EKLVe6qahaNGliFc0FedHAq
WMAOTmn29cnBKayl/Wjruxh7Uxnaa+EwUDvisRHT3RJdp9ikAz/2jJETp9MBGrJM7NyVVEQRIlAH
6bKrb6ekK6QhJmtivD3e47Ec2clvhFokhscDLhTrduBntxv7MsjPdqzU163aSItsrLpsJl/VhASF
24T0+K7KhDCg+pohPabh8s3bi+vzt+/Prl99PLu4/vDx8vrs29uLy3nG5+c+7XYhlp2rMpe3MK5k
9xI1Wta4hiuNStLKaeUYsmpTjtqh++YlrBGnV1uuRo9vaje2Crxdm60+X1/HXD+AXVteKW0DWlFK
SducbHrXmR4cN8u5J6yYOTtfht7JNCJdtPBMn3Yqc0yM9tX2/DECmozArqa3fxxyHZVPBF3vs2MZ
pdErqeF7a12ysU012EPD/btLsRcNxbs7Hkq7MWlrkObDGPLUUWa6BG9IknVCabCFi55oYbKU83cD
ZbUHUqqTJwp2oGozWxR4zNahQ88YivT94eaUF8OcoMo5pe2Bu9sUNOGHAj+/G1MT0BnPlk4uUCn1
bAShdln23+7AiYXp74zTnmFtloHbgL3AzlaWoFJ79Xle2Ki67PdEMiThyMnTiRHFfn92MpacDqCs
K0PalLTeeDi8V4x7ZnoeXCxm6Xmu6qww3mcRz9FKCzMt6siV6sl3ik2JxvTKrk1D4Kg7LF47r8Hc
TR/f93uFmxu0PbzYkkqRPsooTklpWPuWfakGEMvO3mVTMJX1IFBLGfJZVsddJ/Fdw0lcX93kR2uj
offsWtn6H6HMYlJkB2oCRCRTIjIPjMzIKa0solpwmAekB4u8kpgBmP06uybwUYCVLYqoGbRZ3szC
EoxK6gzURa3NxSfUZLaNiA3LU6ayJKt5KqUNERNQGwOKIbZLR8bPo3Hjezw6nh+iu20sLJMhSJiF
sG1WZYdGPMr0Ze6u0knYo+6LtuAWqYdsBhklJkaWXU0GdlKUhUISE0BoA0SrCoEz9vxdE2ZEbSge
DDExaTV2aMRCbYyn61ZLtIybZvK6XDqyBxlJGnNneIBPDhCYvPwAv7q6PC9E/hjt6GJvfTnGMzEg
onBf1qxKrXZ2sQcIZQIhPu/qko1eFHWdWKxcwwoXrcM6E7bk5NwllTGdritOjCw+VjssTV3LKwo2
yhiTaaB5PottMo5YkWDYrC6MDc1Le6KR1J+Y5k9Ms7tY7FayNFPpieVdhw2uRkAbnyQ07/7yCyNT
JwgyXxwK29jJS39CumXt7zD75ctU0Df76jyKO7BgOavNaURlh5RHUZwmj9cNuveuenAVrHN8aQWY
4saBVUNGZgOemUGt4zjoHB2tt4Sqk3C3geYiEIGf7ITpyx0m9cEItpFopeSUMKNbtFmEIBOaUECy
2DY2/ZfySnU7Ktumu4UWJcSmBJEaxDr8Is1wp3uf8qSDjHmbb27X/4qHAgtTJEKJNREDO+SAMSbM
BjZlFrXWRWOOO9SYvauUwO1yB2Ihd4BZwF6fO/qFbj0nskSf67oQbbkMI0LisW0TGzXU5nrygjdg
CvHKVoiJl5o6J/X1yZWSagU+npM62VnPoZMox75iyjQ8WQ5nF4Kons6OKg2CW02oRHw7LJl7SBpA
UAUQE1hNhtSUI5SNXPVKrnCo8einYujw03RLCuXpCTBGz3G5kcTusimK8tLkLVJuw3EJ3k9Ps6zB
Gy+b+3nLu5kkTOaS5R0ukcflVLVz8YvDnh/wLNuevPJL/sLTaBymiiYqo4lZmrYA3sa+oKuURYMH
PPuR8twrqdRYhdeokkxz0TQypHdRX5RRw10tHEA1Uj4cGZK0GcHbp/ESOS7gvHiHEGrE1NlZLKXs
1enllvM3n7434I7H46T+rdi4/XJYDS1RzlC32BbNnk0saFlChihDe2y9TcAgIMDMtjw2UCFpLQwB
FiQmpYhAusfsgKaQKiYA2QjtNz9kcIOJiTDAe8wPatoMYUqlcG2DHw+2MZvruTSPJZapxZk1nyBa
BqPn+IG8SG08knPB1IEPZFtN0qhNILYgBXBtsd0t/UOCjiaFIi0D1l4jQjGCpim87F7bEVMAES7W
AhizzaOh0PKCLs7HxqTi8K7WoitbSi/G1LSsxvRaI4VUd1DJGYaPPUF5x5RIYAq7sMjeIsmYcLnI
tqANKGh5NkEjoqEi0VqDhbcIq9JxZ7xGR5q8GZTHN+rpcBBDpB1emO31Km+FBKg1M/RiOmA+Kyho
rMK0F38spWN2QfPjHPtEXcZnbKvZExRxArIstt/BgkUpBTayIKQ75DZmeb+jzkPEvIAIz2EyBvZa
AkyATYIhhARa+5x3YtNCVHh0m5FdF+Q2HboaIt4l1TExJASLNMWy0C7FXWrSEW2kW97srW7vJnDT
+NWJwhrhpy124FFPHegxuxmQOVJKKMWDs3X6FtYFYbUPwt5OjIpMVFfo5JCOx5EdGJBl4gYaBeFt
V+Nm7lHIDnwIZKTpVPDJ1qg0+ZTWXFPdIErUTczV5idsF60ZAZ85jaWAwyjeSWQ0tpjISMiENrPg
Xgen0IYYWFSE2tbWOj6GfBjF9xOPNorF2sK+4Y1j+Snmk0s7/Eg5KshCeJuBlo2ZhZgNMN5vMaBE
iLLAhiB7r3MUaGNgWyZZf29MAxqa76XDbd5L15pGWMAmEJnApFvcLZ6dpzkcOUlWqczv/CnORcKW
Cc3WIeEm2xcqC6m0hrhmg+LMWKSBE8szuIX+Z2TCPYpdF2dWTQ6u1TyjturhyFI93EIW3qva8Eie
vzfmYjtlYRjSXY4jy7CLubA4oWy+m8QWk2uvhSWSV2Fra2CYhS+vaONxMreOxB+O1CcZTUjbaS6d
7XFct8kU6uL1A/0VjCaa6DyjmRmVjfwXqlmzsJ6lzI4/zN0+rDTEdiOzsuIC5OIa2rlEnlRh64TQ
c5qsmA9WKSoh+glSfoe3/KO6V3eTbbm5FihU8UrvSn20pH1f1gIFtF4bvrA+aW2dkX/cDaJudsTM
D5dOjTErhXCk1cyDFM1e1P0pPWfPT+V9Q4687MAf9o3kRn3VULWBNCWkmpk6qCBa+SULlW5/Jst8
6AS1Uz92A67oP8LkT0Pxnzb1J9aXqbWx7ffti97XPvVdCWU2ECssd2RLDzVDVOlylaXexc3digC1
6FZwHc+1r+dtyD50Wm2RHZvtyyZPpX2LPIluf/JE2il/M68S817Aswu6jP9n78l23Ma1/JX70nlq
JVwPyRkUGo17bw8GmMFcYBrzGrhsVVndLsuQ5CTVXz+HlHdTXiRqsctAkFRVEh+SZ98vCxAZIVr0
dcvjJIX3OJ3EigIftZMozu12OonbaODo08bptAZX3EINbt883WLc8VbLY9p98DbDnLdaieLR5fl0
tIhXT+imhvg2lBH1MILuoYRH3EuBoLiXgh5xL7V64vpRORagHajsn7SvAwm0k4Euzlndu4UdyfPB
PMiy7gqx/z6L82mMttHbsnBlrzaXhxSZF9ly7B+zATWSbS1tZBbna8t8dzwGKKQJe6sGxZKixYK5
1sQdFYpIJgUx5OohiP/8ffSK3xbj6adf8QdsUILcGEmpYQaEMg1uNqQbMaEZ2rtaSFFjXuHwUKSQ
7rQxwi6muQ8UAROEKcXMjQdCDBABduKrpvQRCB6oDyQ4IomANlKb+5LdnAqmmeD4i96HpFOEE2o0
B0PvQ9LZDRXADeNc0fsiPsaVYYwzhUe47Uw3J9JykVR18gvhMPNxfTK/G9ZnFQdlFISU3FZB3YVk
NcpQkCiJDNybHNJaGckJ4/pOHBiN8ohoScCQO7H3KRA7vww1Br9tex8vwiThUGuF0kNFdGNyMUFB
ayMk53cWq9FMUg2KUyXv62bKoAsjNP7G7yXEYRhhmhI0j+/DN5NoEjElUI7fdsyGCSLRvSREaPYx
ZfjFQ4Jd0zA8IO1Xj9gEyOf9rbeXjiO45jPt3icWqlv4+ygpomIaz6N5WiQv79Eknceel2nWM9hC
dqgDw+PBFx8eknxACgfJxnq+xVmRjEezaDRLXud2lHY8S+brCYvbgroKPqZGDfmGZ2diVCyj4+1c
yjs6UDW7VsBBE+1lrqnWoCkTRnbrM0h/p/U4i+3hN23WbrLoatPnzI8lXgNNZ60GapgWojUG2lim
k3gWF/GAql1BcLANxFxzuAufi9oWXMYUVwzuy+EXnHEhBFDOZKeokl1tTmktOgxGEoTDjDG9ir0K
09zf76t5n2ykhKCAjIR+cycu/7VEVpPEKhWDM61QRLvy15kT2m5G1efPX8pfL6O8OKi8e07+jPPP
z2+LT2/JW+xex9lpP9kfuc/5tUAKcl/9lmZH9eGMKsprPE64agihjNEC+PVF4oGEZYVd8GOaRXmM
2HhJs5VBsJ4aFsX5GP9Jxfriy2oeZSelqAdQZila91/shex9dgs49y9qbQVfQSqnWgS9W4OQg2yv
bo8KJYEKwnqV1AGngjBKtQFK6gSBw3FWyCg96gUjFRG6Y83wr//5X7zJj7eZXcG0alnYucfbclYk
C9tSbEk7isfT1OeAkT4FLjGoU0FJStVdUING2qa2YstIGIQGuchwaLxOKzRNsiHYko2CUqeH1xDZ
A6dz8wEMwj5eKghMKYOah/bBC3zwaI4/Qmr9q7JMjhHdSaSPkh4QKfuQmEzqkBHhInt3LWdJXoFB
xXt4WmFaFqG8wf6krnWDnxtKpK1Q6J3Byx4SuRVqCwJTtxFZB6oUq2ugrqdOxFmWZpduZKHCkPYD
Tk6FseHCeVnOZvk4i+P5zpfxLH6zBvokeXmJXYN0miWviV9NUsHbVia10yGVVLhIk7mVq7N0/Ofe
N2XMYzrK5nGee8IexvQZ9+itAVPeW4dIIw0c1om5lbYoW4rVa0SptU7xmjf74FmB8O0hfVNY+I79
mjfaMcxns+fR+E9vHxfjoQyYFRBUtskL6r9j5yIInNVCGc/qll51amv9W72Tc9iemlMbfy4ztJL5
3GrSysUItQjtouFza2qM1rS+HTZXBmaaG5dD75AMgL5yr0VV4lEz1a7h5ScZYjqjGTfI1SfZ5mlh
V3+U+/SO5RuE8ZAmaWzX9qFj/iPZE9Llyg94WDADb56sQ4UlCZ6NcAxYnnXd3nS5wYPnnyTZcVie
E9Xri/XW4SZPj8s7S4XVO49onSxbxzIwABeWGuItycfHG1ft8O9PSHnpd0ce+H+faM0Vr72R+O1h
ZBNDRJyEFY398cVQSNYSEecf7/xX+tC8adHpbb7SydRCbj2JU1kF+uCLx/mHeP7qUEJIFTO4CMpN
oK31cEWHgYO6r3H7PV8PqdI1zdzLEQdMBVdlmMPnlx8YfvD5rcZ7H4TxUAAPKng88eOJB2DGDH8A
Q+NqrgfxDJ14Op8W+6CVhyx/sOPQ25VvgGZeZ+nzaDZNcjzT+5fVn5FtcHh1E65GeTKOOGHbvK2v
8rNO4eewq00ePlK42K/t4EosmuLJam9jdcLA0EZ8tltd8Msymz3tDkE9AIdU3ZAyqj/bBcbq9D+t
OdHVSqwoPZ276EiRJa+vsV2s8fweVRVhUwK8eQFBhryUvpXImqyxdbyP0tCWBA6Si3+XJwNZ/013
IkfHr2sVAaqFOPOj0tzlsIqarklVD3RejIpljoeYlF/HuReHogljnETiWzKZ+AkH9DUFxxfIrV9Q
+yzjJ0EYgBDGUKNDiLIz7LFY5lP3st7l2qBDtUTvYDJ3snTnBx7bqN/hS8E3CgRgi4ufcr/xWPRa
59nePo1GrSed6KVayJN7gGUd5O0p/CItx5t5pnJwpTq6FNsDXctGqgGXk30XkgaE6/q8IveXqJey
ePTmnfLAa8wuqELfLzQIAge8aarvbrKhzJWtReusuR/SJa2fMop8lgg3MiQvsb6EISd8D1EcEXW1
GblTDnZkUFqrtcLl4Fx1TxS1mvJOTh2lwmgYnmCtRQyqecNC51xb46JizygVLVaLdxydgr6PeBl7
lQyws9InS1ApFvHbwk0TdmdbjxVeRUiPJYvzEj/ZGXNPboLvND3qo1f60VM25CUVpYV1imbgWn1j
R2iVpOHxMZi+nofOxCuyGO+NR6kMWVwku6FztQp+J22cpXm+ahNZ3y1aXzp9/iMeF9F4msy8hZJo
gn+sLn44F8HzPWfufc8TGQNZB6GBjRe4LD5qV8WMiiJLnpcV7CCgVeL0TqXU9CqYobXTFvaRdmqf
uKrJSkgzcNG7R2W219VytCccX2ZN190n2Sif+iUxu/4I27lAaRbbEvJT84GoAPGhg5tw2WheNwUz
8mLUodLrcNchIF/b6CEeK0YwXeTfQwNP5MAJiS5yQRoBlHu+fgcABSVNAV6AwZMsyc0HmsMBN7er
u6ZguX0f7XoyPxj7cEjsbvaDamD5r+2G+ehb8upqjvIoj+1+mhcUyn5fA4Suizw373hdzBK9xr6U
kCYNTdN5Oo9CGA41juH6dND4XsSvpXU4mlWO1ALCb4pkjkxBi8uyma5Io29xlry8H1S4fT3Cd81B
LHBjwY0eZVtf3cTnHZdp7ObknBAsRIc2NytlQaXJya6UbqXfeJl4uzQldrnsRJd0nuTTpyJbxkdi
WoV6TStRvqJE+eqfPWTqk8ciXTjfEX1sBBd9T4pptIjnk7IS1uEwr4h30SbhEbc346R3fyy7vrqT
1qjBPVQS83HmprPY/XNOCb2kY9RLz7EV5ZX6QtSXlO4q7m1XJSb58nnzFj4VfNFWLvgoHm1tzVf1
5GG04FbErmgUP8vKVwQzjQiacfg6E0TvsYSDEPJ8A7YYZVYa+aqeQTaTpVfQLCgaINCzsgrfRv55
SVRS1oXYqbp3KBF0xKvbL/cHqs3j73ZKAiI6msZVyQepwlqyq+hlRYxGhWYVFphVVvSbxWUB9iwe
2eL2cvgEOgW51W3j0Xwcz8qa9z8qNJxs5VVrTzO6FtIu4XrWp0JzOTxeZm5rSpF4yyUpCXKrU+PU
r4ik18ZMSBhncRL0QgEZeANsHbBw+418L2ZYEKyfgwNEdm8ilZI4t9UYL8tiiUIZv0KjZj/8KCUR
oOWJYcv/LD/n6bcs+fknPC/B3/Do+Ls9vP2DlsfHL//jv39vtsr3HBOXibNNhYq99ja7e2DnzW2q
CYnsZ/zC/cefF1nyDZ/t57els9ZXqgu/X1uER5uFwpNHBZ0L2fLrsJt4nbDM049avUG03CCfrY9c
9jyNXH57pas8K/nqR6F37fFjWGvtdQwy6hpgfVJF7C0WyAfntvMBpQFIq2yfj9bEYvvoa8zlPQPF
dyX7hsuZV8ZwJYZ6s22yZdcASKubX/lHtzUaBW7y4n2Gfl6Mnnc+Hdm+Sn8Zh4AQRLqBZWGUeXH7
7ZMFHY+e0ZMY58czUgNAPvH5jKkGej2ZxG+L1CH3xOJaMGHc1WNoVeuyZO383GK+n56z/D2aLaYj
v4gk3V2spkTZ4gq5OStpL1rPAHfBpDWsiHmL5aTpQMLsiQiHCouJlenx97PFEIHjXDtaZFQU+CP7
WP58t7xpwVAJ2SbHTkIfZozmuD/h9DUYk21ylLcmmrEeEyiUacKBM61Z5fraARUaMSqNwdMqJWpU
TG3+xz8ShJW74tSnLUP/O5oVmwj7T4y92EAe/jmg++MlNKKLmBqrZAd0DbDLJBSXhDN+04VvwLhd
lizRQD0xZuvWqU5KhZ9rBNNMX51lvZnbX2VykPD+fh/Kd0jPo7wO2TYJEdl19Om3OLOZ9FW7ot87
u6gTUlUq8SLOsuWiiCenfBh1UcxAnTf1j8FVODHsomTIeYij5/gzYu6XY8iRPsopMcHaBgqNge7W
Auzw0xnSObYwldYPwumJcPw4dB1D6wizB2Ni+MRZA6jpAyjtAyjvA6joA6i8HQ65U+tY3YdPpj60
ka9uKw7SSGSwPuSUCgPUY71no1cXEUsm+HvykvgLBBm7KIOlagVvUU5axPunxpoaVtIVE5zPvMVm
fnNejLJim/BddyfM0tfmPlULx8VzHR22nA/z/PoV/0QCmx+kQodz+Nf4opemtSkybHC7/QdxpTIt
Ed9GDrlhPE6JVGRRKK/z4h45tw+pKjl40fSMji9zLD8Rs0ViR2QlcxQR87F/sjDVnHTzdJemH9VF
aVV/NlU065jJ7XqGZfGiI6vEj0u2qSZAuzY6yM5ESmkkF0DRcmxcE6HKmohQcbcAtwNJhLL9OVKw
hnZxn9fgRoOQCvAasnGuos+LKMaIkaCp1OpCEzcKoPeuqSWsrBDUfXKpogIIIKPJGsmqG2ZgCYYw
xQ1oSa5vrrvda9sqNcG1pM2EMv83GfhyobnK9ClWpeSGos+tqGmHuMK/fwghTI2QklCq9aV7mdbB
vQHdgnGEbQyAqDUVpXP07RqFi9EydwWq+ThLFsW6UOfYOhQSakekfkRlD1W6KOekoLHsb24QPWJR
KA1GUS41vTpwafE2QMIEYRgTxHCta4x4bONS25sc0ISvl142I+2tvzPOc/9wRdX2PWq6hRsPdL/d
YTvCK80OdqBVTuO5sG3Hz7fTrDpCKJUJ4lpfecWKsIUMgEp31XrNK+evmS/H+EfuVpqf2ROmdIBM
WMVlOGspsrYZi30dPjexNhR39Xf1VVLvcm4/P52f6MGnVJGBvYkLGO8Po6oz3fwMucdvi+Ld050d
faDXCKFkmbJTo4By0shuuGEf0UhOlUD/xSgeKnTXmtn/kWlVM2MzmARpVTczCLun1pvFm9VD30bZ
+ykdpPjH0EEfmfkYo0IaVBSEweXBDgfziHtOTRs557Dsk6NNhlZOUeEADxxfpQkZ1xSo1Izw9o2B
kEGh/rEWkKY3uPIM1qePt6l8G1In4pIv0GnD6yyytEjH6ezLqPR0V38TT07smmBCwwMf90Wr/Ulf
qjSRXBkujAqVrXr4ISd5fWe25+pH5eyi4xFpl3XK3zKnn3yecqcQKvqKZeQfh9H/irM0msXz12Ia
oTD0B621ePhDjyN3L7e8xGhkA5hfxnn+5dmOrkre4qhAbeTNRQWyvbb3+s/1X/7ulcdS6z6zrZQZ
o2yLBWGqi0jUIMsfNAMumAEjuKjpLfrDA43qULP0FU+fJ9/ihrWolRyxpVu/rQDoRfdZCcCU4PiL
n9qM2DicHQhz4UqQiNBSasqZql8sEOhSFfnvaVWOWygRRHpaerfTMFczfyfpeOl6A+bpxL8TkEje
azEuoVqB1lqRZii7rXD+MVVsWzZC5ZADn69yR/Txv40qw7EaZJ/UBigQiVEgpWyirbqntWuevXpm
XihP0NUlnXQHBWODYaiQdRkN8VCzmCpccJ9qzQWxBhu0F14aml3AiGCgJeeEq/bZfigpjS5UzMra
+IJu7WoaN77xei536ndGhWJ9NgNQYAbZEAhUOyyVM+975V1ukIIN8q+oVaM9xDsB3oUryoTknZh/
gXizrFdcE//BcqgidUyw2ox0WEzLm7DZFpKDYAGpKkAqFCDlODlKl8ViWfihlTEmFsxLWq/q8Rc7
SujTs0YLkto+Kgk0mGcdkjfPWiibx62wEznhfSqq9fEu9Tc2a51Kh9c74pgBqc8LNvCZx9m3M4Um
zNBBPFsvVu8+EmpuvjwA+oYX8E9T3A9FH4siI5pgO0/G0WhZTO3t4vkk+p6ldrsIXtFOVxjN/G36
TJte08YUZQoIogDa7uwMKq1aZIDAtfhBrB2miVFCnGg8v9b5ComMY+1vn5+5/FJZBlOxk0UQ2vPD
ciKVnSEteZhVzr0b+wBgpGJUGNF2N22zF9CVFt1q6YA9H57WBaWLPJ69eJOHvRp1FF1CYFTZBtj2
JwK08967qrny5ataz/ocmiI1MFAKKLQ3jqEzYl8tI/O3G0oSFr9rYFUB34v21Z6H16TLSjdasdmj
myekktyO87mm0n2VzR+iQkHqQ24BpiSYZmXdrfLPdkmv3/fvlSiU4oQaxq6fcHFU8BHwEcMJYq5B
U+CoBmnLPXADfQDNNf5igpku2yA7swd2mKtetLBHWOF8BTTzlNCacC26bSB84PkB6wHrAesB6wHr
vnUsMwBaM2U0ly13MXXkj1R4I7QdhA4MnUoKRTUxTHHZZUvwQL0EkEIb0EZf7AZuixSGeCFqJEeX
jxDg0Kw8ql37dhUpqlqKBD0+oZGUARV2CiR02wsyTJIyXHEmNRDNTdO6nlblu9vm6gKckV1o4k1N
EBNWyh/CrCJoOdjorcVVnvzl34dGQPVJeZoLpsBQcmKhbJjOl2GyHtpegiAcpkWnNe4DVdYSiACQ
WjDdbX9J0PeYJlY5vH/ZWPyc0PrTbnRr/VdoGSmqqKS85ery9mNpP5yAq9zAGATKam1TzQ1NbaFR
SKmNIsIY1W1N7jBFiJDAhFSEA2P1ikvmaXAxsL7KRiBM49kizj4vZr+gaNjzHenfDA8KalUC7BE/
BprYLG4hzqbB3ltjSXggj3sfVGUCfXAmmEcRsGCKIHh2vh75soPa0WGT75UVjHuEF6BWsTU7WgjB
gRh5+V6DID1TbSv2yskcgoi/cQG9Wu6CGGa71DQ/3ZoUTKGECxEaaYChqywA6jYntaAmN0KShxeS
89G35HVU2Oq60ffRe/R9is78akWlXZOIQt9upVgPo/C2wple6U0xaZPhaG/qsK0sXRs8/KDFqo7G
CDcShSs7E4YAZ92U4nfx2m3ZfDva80p2qupe6hP1XFNtl01xyWlXdcRtSk0VbKLu7laTgzkCm/0m
x+sc0d4nrQkNdZBhG7aZGa7+SUkqiLZ7HLtpLGiPQP/It/Nt7HpTtxKaRHmMJ594FS4XtE+bmkij
UecD6arOfXiGomSKUEOVZkDDNkF1TGfsNJ2JPhO6QCUjhoCR9YrXh0c2lGiD3gV6GLJ59frwrgdE
C6vtGBM6RGl5sBv6t5FZij9W10ww0qvhDcYAFVIK6KR8fYBcotD2VJxIRmkndVcDfALNNKDws3NF
+ijvHqBsASY4F5wqCt23NQzvPQyzU1uF0hpM99Vsw3sPoSg+CdKIkqSP2qX6L1I5S8A2srs1hTnq
rZkLw89Hb/HT589fyl8vo7xYT4zdiQ0nY5eP/WSHS7gXcP/kJ/ab/aH7rF+LJ8EJ0eV3v6XZEz2a
SgxUN1S0i1lifdUfkZ04USSxxzdm2thFr73WeBE8gALOqa5VBzlAUcm0MrbOVVPdvBJygFF6Yq+H
lrS+2oz2luUNEIMoxogEzSVTfdT7DNDhliDxgzk3JyZJhCyIG94TaCEk43groqCTuqRgT7CeyGJr
keyc/9hpNqeVXAFmHrEf/vhDnTj4H3k51HUnQJuN83gTNj2aco5eeZ9xDoUWCxA7z1dD96WOAxTv
oFx4DS062Ufl1gBtW2nX2qJLKJXuvopheO/BDKoBtNvI9TNEyaf/G2XvT7+Ox/GiiP5rNH9d4o8H
5ecKMEoYSU5EPQd+B2RDqpXgUok6ZRRX387NtlvmcWbdI+9NTaARYW4pBmkH+M7MPvsDOxLHunzr
j34ap5mN46+//7QY5fn3NJus/2L9/cFEs4v2+lUc0R7GOm+rZEE5EXmTUHDecn48WbDmf/MO2u81
FGskGGq32EktgxmdQ5c/hGtGNCDvktYLPwb+FlIIINSNVVOtZ5mHThfcbqSR0uCLdFAUMvDXMHYz
EVKH1CLcgsuB31kxDhJ9FGC8iwl3gV7DtOaNo0nOBEOrXDeKvw/8ngIYUBBCKKPbzkcO/Ck4R6tc
SMqYbDo5rR1WPyhJy8dZsihsmdgkno3e7SGav+b/s3e1zW3czv2r5E38KmdjsQAWmxlPJg9N++90
2k47fZ2hyJPEhCJZHmVL/fRd8CjJIo8SyQPucIo8HouiJeKwWOzz7u95LOdpxU00R+/0gdXV6BRv
FbGRyzpwhGGpn/TuYlanWwy7XAy6XIy6XMx2uZjvcjHT5WLc5WIu5WIPAeEag3IpvK/2lsM+VaBR
nkInqeNT69Ay12jgvTfWKQ8nJ83bFVVkTheLGsTYVUCm6+mKaSiTOAPDr2Vgtu88z70cCyPHLfI7
Z64Rz1Ekp73yyoLn1LVsuZvPjA49izTVqtOKpczpIqpFWysOlj+n3eYtUyYUQXpj2HaQ9M/dDQ8d
jgqdfMFTy5Tylws2YF1b7bHT/HfmdHFKa4dolZx8yzx47hKQKcz0D5XvphUH5H6iXjlAw14r7Lis
K3PKsHFeW4Xq9NBauwqH3MW+d+RsSDUwp675yl1NKDEexU8VqWiPgLzNfjuWURtxDLTqusopDWW6
CD7H0zgoH+vEsNTOtIBay53JtNhW4m+B1bYd2HInYYn+kgm6y5C77jJzobvMXOguo+C6y2SCTh8F
312MulzMd7lYR5kLqC+1irFaxCnlYD0RgD69N6fF7NbsA+7gyANpBq8S4JHnX2ThlRJ7kCz6TpE7
+0o3NOYaxLbvkwXF+3TMrIEoAa5x9jEYQGJxrRRp0yl+afaEMeCt16w9ug4xjBOR5Wnu32JeD8C4
a7qKykGfbotBcmxYgVORUD6zD4CBMT5Muzm652mAmwSrtEaPtv1Qi+EcLJMVo8+QyJCe4DizT/NZ
dg4cBjDL7hBbs6eK3BUvrKOZuTv0sexFCAZoBnEWkGxvEEXZ55m0IbFZvPiYvjdw2Ow5idkoF+ac
Gt0THNx7JF7EHBvvtHj+XmMk2Lbsgx2kCJVyZK2LBivWcYS+03L1AfcWxCwkFIGuQjdOC7zGnrkE
32w1vn0z1fi99ob4N9tBEScPcXwLBWTVQiH2epg3x9oY7g7PMP8KPw/eipvnrO8J5DB7LzjglVlL
aNpDsOZGpG8R9KrF7FZocruaiVch9noAjpDLvByNy/2BVedIjqoc366m62+H/FfXi6//VV6Wq3L1
jyCo9vC69Tm7aljoalWWc23VnVUNQIFMtk9jPIgkBcaTU92hPeYfqXXgQ0KIDPaEm5V9YNeHGWXK
We2wN4DJ7AvQnCMvnq5oOjoKDCz7sk3wYEmHykFuBaOZvW0SOpIQMbQltYRCy17YgfNkwBnn0iCI
5R8KdQRioDM76hjwKf8sDHIYNOyUtkmAXvJvPMMwel+IQNAp0lL+mShjxTwipnNKyN/wldEayYhj
C2ehwHTAMz/+eJAoWkUdhPhEwt3/K+Dp19eLzdTHV92vnQGQpzx/B7MmN6Mxj5ij3B2J9XaD8rHP
iH05nU+rXXKHUZn95mxJO9YG2LYBu4okHHYP6TR46IfaMmGb9fXnRpjMh+qzA/iXRtHpDzmI2jaD
Dg1r8IZ8NAywgZz66KJsiP+A1qbPzJr1iD7UpTnEiKhlAzkT+e3lrPy4vtu9goDny/JavXwjposq
EFXEcaCNiPjZ7L6pBFzzMZwQiSQPqPXCQmcD17+ub6vbi2/TNK/Ml97XQtfr9fJ/ztD4PavTjRD3
fQpaEStE1iG8BB+ZAEgv+7il+PmOlVGnV9DFA1LL3uu1Fh0QvjQEOwEC4YD8FywWt+vl7fqZlN/I
hoPyAJTrXLhHk+yPqnNxeTmbzstiJKdUNTYyAcIZflA8e8aRVciovcPekAGzsH6eH1V8nogXZSTv
lMgabW0bDLociX7Q8Hz+c8XlSgycRpx5pD5PBsQVJQL2gD3CSg74ZA+6+OlN/TMfeK/ewhn3t7g1
aR45qocZEdvFkGHxERTGBJFMdFEjyjMm9KDCLM5o2KC5b9ppCy6AJ7LFHtG0hyzEM5CJKeI1fSlA
VPQd4vvzvj9vu+eN2KYsSsGj0vqFgr8E+LpvzLB9vyfvz5vVvbbkrHyuYWTsDVz4/ZL/vZlQaw1s
2FjuZtbpOxu+P+/7874/7/vz9ir2AShgGNiQhu+ktWoo4SjjiTUyaVTdN1cNhEhIJnR9isVw8tys
KO1Vf6c85uDSQBGB3rwn5zw6f7iIPw0LPBUUzDdkuhzNZhej8V/FbHRfrkJFdlPxqnxgn9kDCx48
e+PU6YDouUtlVlr0lbEAZ3Sap2aSb67VIXY5cMEAbZR1HxYMhYibvvSnR3gsZmzI8SmTaPX5Yl7e
TTe9C48PsDvzglSfDCVsoRQQg+mgqS7z22WVNi7oc0/xBnxnvmcio4mZvGVI3iHWmfxpuIm10fD0
xt69bKySO0fxn/c8x4gKT8OnTsTBNC5M5ZM/BqJ5bpnfVmDnHcm2HZvkja7ZF0yILWTZGe2ggxbO
3F1RFVS5Ju2Va1VQm/k+2VnlRD9rD23HxuaumdFbcTwD3IjtB9I92dYC2hfIGRrSGUBppjtBYKu9
Z62IsgBHTelzkyNLFpO3MeXuQxCEcmzvwapOO5eyvwsqTFtgsgqGgTGfUPqROJmktT85tN620jP3
y2NZebFuAVsaMW/MuBM3B7RhdM52DSiQu1ix3qG2JvBNP5Dz6SxdzUxOW400RMj5dD6w0tY5RdYC
pK4CzZ0UiCAesFLODRKqfZcw19MgpMJU1m3T759VMVmMb2/CxmaLbWPwRXkpkqwIbcON8xk8x1lZ
VrkpqtuLm+m6UEVVCg0njb20RkOvEVwiBQEr2vthwK+nC4IAWgixMX9yeiwHtPLDTPlAjqeRFqPV
VbneMONPu111zvZpqmijyTnSrHiQkPEpu3SNtxrAvQAiE31q7qmCTr8s6EyvoT9jybE8iPY5AMWn
2yjKPlH8IH96PXzSbf7nf/y37PPuZhYG/qxKedpq/c0ub25n6+lytFoXy0W1LsrxdRi8Mys3aaWG
WRt90lgbh8prUKhsvmDO6TSlMcYqpwzQ8BC+E0ZmxJO0RMYxDxHiOmHnnfCKF2YBdvniTid0xRGd
MQHfA4YHr5yOLCJCAkyc1+e0zGRFmFc026M+C/TYrYKw6hyMpPFoVkMfjquqCKNqGz7anlEadiOG
3ejTeFaOVn+V9/WLQl4V17OqGJUVaN/oNZ/lxG4WK57o9GU6KRdbgKdqr8pOae5TuDtrwDGip7zw
utPtWLS889Yz2/4BuxPWASlDxgv/ajs4ZOZ0shkse2QHzunccMwTmilWe8cAStOwcczTGf5sUJMY
umBg6LDL6USK1cTKaA/Iw4ZdTllvZhyFzifCwSG/p9O4Im7FS9JkzxySOIz5XOxFgKA1pPTQ8e01
ZFW8DU3GfG1lPybCVjUcYmNFNuFzE/tyuqrWx6zUdij4Jjx89g4f3ZXqdrlcrJq8B6A+0xpMWoun
G9okXF4I8OlkGRsOiPfurF6zxJuG9H4o7AQHdqIBo/mk+FKuppfiWd9frKaTmpjr8qb6PBmtRz/+
DBqNdfQ9/brra3e7+g+bN37ZvHHewySrXxALi1CzRg+DQ1xO2IamwNiQ5/Ju2IjLfw8uFkfbaEfe
Wxo8/POuYI1YqhRQxJ0YjWAHB2GcjS6IXbXPzA4d48mxgMywgZORCA2RVQYBLA8dQDmhNP4hPpfv
jp7YYM3PxMdq9HsYfRRfb2+xAwML8Kgiq+gE/3X7hmcFeckSsVic92j9S52pKYbWnHGmYVzM5ocm
GRGQLSBraw2DygG0+1zC3s7zI61XoZyKUCzrIaLgJiOMRVRKOQvK+Dzw07vUUYlEavcX5dQV7+7u
MrqdKNanR2RjIk71HtIt9EqcIlDyhd0wke17v7U/9GifdnTpBkLYnD4lK/M4pN1JLGSv4hZQZnaT
68NQP29OTb5mdAYWjRg7HsicXN2rMjubyLXwymlFmp09Gu47KZr0wUjAano1nReTclaumwdSWeYe
6UjaE3iybLirctjMbv/oYjwpv1e/XV5dT/+Urxndfue1NZpJXEGXHaZ9sk2DBvkj/3gcIL70MTbX
tzKhmB7EGvQKuzC3fvn1t38SvhfF9/s//8s//rV+mcbYbNr4gWilc1GWHF2UH5fzq12hq7XRnVkW
9pd//7fv7W+1ebH95oPwovzq+o95+TVY4NVnyEjwiLXhtUdw7DhGJe5ARA+xEpfWe0anhg7hHkkv
btm1Vo4peXfXYvrf28V6tCHzdH5bTorJ4us8FHwVdcfmrCweBEdj26+oj341N4NcdzD0BnAxk103
sW2AGY0GO3hA9ThqeHvDakU8CFXBqEVqqtDmbjspqu7cXKsl0VYsHSWQCmgSSc6bPs/JcOgf5zBt
5A0Arqe7bj+8Yrn90Md1jcWWB4ztc0IQCY3tiFvWTTdxt+K8Y7WnGFGTJtD+rIaLIUhAfYjVtLH5
8VrE9lXnNKD3cHbHbmcHHbFLWbNmIkK0Maruh2K+Iikv5quyjgYPAdtCn36o1qPV+jN+mJXzq/X1
Z9AZmafaALF3AX3IvwGI1DOd5sbEg0PoNfEQzsRo+1LtXb646I0tYdez6tNmZMUGmW16MZuu74tJ
WY1X04uyKjYdPo1HodC8uQainUx3CilxuqnSaA0SvsWqhi3B4ZHiRvVC8UPwafyW7UDxMJSzyuoX
AoAZI7QmKylx3iJ4b7Ryg0dofZcIkd1iy2EqNJhzcP3euSMSd9gH5kCdKKnTnK7R6g0TlR6IyulV
cJ1Wbw5BW8VvWbD5R+OSOqTzIQPHZBhUrf2U9Wo0/qv+t/haXnxZr4vNWL/tQI3moCl7m5uPcso5
Ne7J2pQLHoqAKj28aPt2U9hIxXOGqBy94CEqAmZMxe0mbisxHhr1nTJ9piDENTGkDThrTkazyykC
q7Vi6zzYw9H2nJpmLFs0DhgpVsgrp7Zza5FBoSNIXqqeUz/iBt8eWTzb5I2aOV09YGOtAnHm6cT6
+5Q1tRuB+6IJbDwnXHAYxayx4VM4PELA8/HdVrtldB9EsocmHVBMqavWc4rnkVcWidEwJS7+yinf
Td4xAVoP0KZuMaemC02iujGgWEKXlc85kcBwkGKM3recENp+LlvEUfvnabJGb9kwJlxwQKpzezzr
+1lZXZflupiUy3I+EYbZj2rYPv08rcNUPrnWSrsTS81y8pu0Q6PZsUHTJmuUk+IMQKkUPlpTt9W4
OdlMYYamE+ddK+yy/j8nU0KTQfmLTDpxGUxOoQJlvBXrKVTBtkv1nbEp/WLIriq+TtfXxcO7zYVT
yp2+zm4kvP4+QM01RMLJw+kr7I/DfnUCtjht59CsziI8rRPqnka3k+lir9jpBm/9XrTYxFnxYrq8
WCzDJq/+mIr2vWtaDRzFWe1x3PfL62l8bk/UyJSJjq82ylrw/K5NtsP9L/QmG4+97rPNeov1dbk6
Y1Q8R+akGxFz6uN69/YTW4c68lrj1f1yrT7Ky70L0qcicKL4FJM7HnsiSgl1TkYQeI9GBfPWJS4V
y8nuMZYshnzIKY7JLrRKTiYNK/DkvPekuq0zj2gCHakOInrqEaM3BpBAG4uq2+qxrIYiGR0qLFEh
dVlemYQF20VsDhgBF6NqOm4ew+SiWqWHdDsCxNDtdR3NFlWnEMKN/3rE2AkT/LavP78Aw/MhQAF9
3pTi3CzNh3Vgk83HfpJv94q1tY9ltpfzq9m0uv5UuwrL9XQxbzTcSUc/ENg/EGc1unQbG43GzxZ0
32nicwzJBwauZ+dMiutQiTedP9qrm9qtzWSdqyAuxlv8p0ZWB3IxvMtqvvhaVNeL4OxVxXLaeF2N
uPppVhMRtrxPsGRvFI44NNA7Dw6JHXSHLtpeCcSLrlorSt1pso4j4ea2393pFwiV6ZWM1mMY/ikK
l3tCJs2IpxwQk/FeoTe9gZB2woVNgrVvViRCJUaIJuBoyMAZMZd4/+I6imng0XaHTNqeAL2ape47
3cLRCGFcefBKCHQr9G6GpvRgBkeUc231B8lQ3izX90V1e3Ew9gveR/Hw9o7gIHBNlOU2G/u4vlsn
cVer6c1yVjZ8/FF16nmxkOg6auFkX4qYKsrVarEqyi/hOWqWEru8qD2jxoQCmVbncKi72x9VJfP6
+dYrvJARsW1I9rROoNIm6lYTLWiKndIfc54ufnVPB26fOds9fhyHsEkNbtqNquJ6tH2jsRVfQ6aX
cS9zu9Wr1X72FrXiiJenvjJFiM1tDYNwdxs5EKAbtujbGmQLOvQJiyJyvYF55+TvEshzOqPIuW7A
onYp0LurCk6zPIRT7hUot9ye3BlUlogCOv15GGqRdnS4qKOW3E1BWqd9n06hNQResSbsYX5sIhcq
bWVLxEF3TBBan2zEGGNMdj7KstrTqlEsrfpIn9vizWFi1c6zuVl8KYuDdWpIzDnntB5OaGNs/Dn6
MtpaOqNL8QXDKMn74u56VTX3basYHPF/5WpR1CMD9s24IvYKqTzPZ3ywX7YUzf95WqU46AQdOcfj
ICeMRyFtFpyE62Jrho7vx7Nmc9dSrvTrLA/5QLm5GOjl5I+L0eSPxcWf5XhdNewEUfVppHrtnbhG
oU6jx6H4OZntDqwQRDm2rg2GVU5bUp6tWGRW2WiARRltzztmcTytNa5LaKKMKCDGNikyJJ4394bZ
kBE9xAMRkmiDZFWPY/Xj2S7NmuSn+vVglrkpq2p0FRYarxZVJWZ40LtF/Xa5jazJ8S8D8Rptc01+
WOXedY6gzg3cVsLCV8HtCETtoNArZke5RUJlNUCXcCI5iVjnxCIgDYZNN5if2cXElDfiSKDWxkeE
H8upmsSJykCDQOB6QxrLiB7WGKcANOPps/RP5vlIEz7T8YZxTEbs6BfcgjR7eEVtVuX8wARtm8QT
/2m8uLkZzSef65rMvf39+OMZO3tarnGPq3JcTr80B9RYpQ44tIo4NuZbN7MKwtHNxLAKJclNxg5C
i37TRQ0C86UqpjebB9kw+qXs9/rjci/Nr9CYLIydduVD6U8z8mZjlvAnSQulrdjpNs1yimyTHylj
bHB6U27+2SQyimo+vbxsjNAaGF6jS0veP7Oe6agoePOoHIB8g9MRyzAcQxj+Zb2NFg5Lg2DwtMWN
rgojrKv1aDZ74qSPHz/Vf78dkTwebdp4qu2U5KfvN4hnAd2vmF1+lP/5EG7e49a/17+H9zYr/Lz+
jLp++ftitYcFCOdo3oh1xxgArMTfMyeP/crejFbotfLOkkk+mDN3WniDDrTRXnvfyt3MfJ/AFtmF
3h907eH3ohbWvDJzvXnieox6PqHcRHh5vD6gqdQ5zlvEQQDKEylzPNB8Yl5s1MH7lDxUqs4ZJ4uP
3NpzKwMVJSTj+1rva72vFcmfvVyV8/H1a/6sgXcqHkHFIHr32vc3qC4Wfd67up4GBXn/6fFz/6yK
y8XqJjR13UzXxUUp39X97I1hTseZn1oIdXzTRja/qus6g8nwUjlni/khb/UCRKzu8t5YpzycDoPQ
KqGVuUdinTWenRdbns8Ce4/khAySqYzTDpwxhtinrrfq1ZvIi+yIbJWxIipt2277NFRtUnCPtcOq
qGdDNhaO4zkx6YjFYkwbhJyXQCIOCINECd+gSgPuVjkpxtejVVWuG6LMGjlmIOJAGAJj5j2b14Cz
3fPl5FL4avVF6DSqCvmuOeoPOjI365e52aYRSQfDG5RovbwEoEUN6KwCMl3PeklzzR9S9cttT4Wc
SRlSIOPRvOm6E3J+bdhNc4Pr3dRwksu9QWBI6kyJWK1H88loNSluFsIekzAbZ75Y1xPAvoF9ePI6
NiyxSSsFvA55p5xXB4otxB7MOAvf8aDt557chrS7VA0M+ulysfgolN3rtM85lf14IeprUE9EF+1x
P2+eQCkf1Sm7NjOnSneKEU7voJB5Rt1D2qvPZDkyOvRsjAj+ThsnMneQmUROKa8seE5d8N2Zj3c5
+qt8QEDYq7H/f/autrltHEn/lf1y+XS0ge7G21y5Upm3rau73ZnZ7MzXLVliZE5kSUdKTrK//gBK
tmUJpCkSEMnMuGoytuIQRAPoN3Q/D/R5429QIQgtmUbTFSd5iKXjSjEQgkhp5Bfux4kYob1U8E6v
FyeKfR++NXVCgur5g9CxylT32VRi422HBuq69zoRSEWrur4UavGZe8m7c3rNoEgGIG3Yy4ziHdVX
ZGPwwi2p9Pk4YKRz2Ob88WgshGe6caG9uEuY6MaHawc/8iqYFzXZGViXD3vEV/S2bAhx/uN3G+Kg
gaIsyz2Y32PUkc5aEiFG0xuaSY5kWlDNdaTnGHxpIGipiYyos41hGOgGH4qQ1CAYsvPvPTrRZ8T0
HL1mwqOBTvV6I4uBtdbPz57XvgtlZxw2d/lqs1mks10Fg1vRsoL7eaplQnA9+/Dm8VdvjPvaNQnY
d1xku+y6y+qfdGPrPj1V0lJJq/rtgTSR2aBC7TpsmgausOcgQw4SJtccLusjDAJpJuBsQJSOtESR
lrexl7MrxrFuo4tHs+XDZJHNqp2dRhdL6A+bdjcaJWiY/WCxmvuBqRqBsuJZmU3v9Fr63vh6TOjU
WvKwmnnT79gnGqDhRNpBGXHRns0t5o7drtdpPp0UafLUIue9UGUs3FKdhu32jErZxaxuVut91xn3
XyE06hhooEz36O+FHadCbXPR+Tj5FuX09HDVQjeETNsLR1MsQOMlGSojHYZwYYMwUnKJjg/lchxD
Q5eKw4GShqwelCwQ8dAF3bT9oa/QLUr2KFgJpLTQGrjWvbHvDP5MMgAtuAFjzOVYZKKZ7WJ6TYwn
k4X17JY2XntIH0NWD4t5GyPhMatQwXeCgc1qdQMZH7aoPOrCKzNsVAnXWWRNrxsxWsOpISZJakHQ
EwR5bAPxfDjQG1hhG4+23LLf/vS3ZPWQ5nlmJVvNDIOCAm8lDOnU1h0Nr8Q08kvMp+XRKFfmeZAX
awSneD6NeqHOGALDDHE5cTVITF5dXR/lJkvEksfcpHVQ3izXd0fQEM3giV4/tFRxaFmfWlNYTwW1
jaxUMDa/mG7I4Q493Z9KBt6fFNI5CJfj0UhgoxvOavA0Al0UdSotwngkjcTsOKBJXDQVEFIaddaK
glmrcOkXJkgrrrjgGPs+ZJCbzhhlIzpOSmjoiYQ3pmb9/qe/7Sf1v2XZwA6Z2Z9/YKrXBIQCaYC4
EV2g+i+fzakwJ+HVR6SBtuvZjm69guUGuAjjtL8Y6DQNrXWXcpw9jN1uayzSPJmnm/ebSb753o7p
3+5EfaodZEYaa+lRid7wiYeeb+PoTJNU+nwhhaMhjKWdL3epdXAEl+Unk9tF+sS36bsR6vNkcACl
hEReR9oSgQNk6IeBhEDJFaqu0cF5uP1DF4sEwSUJQCOwR9ajoYtJCMlISqEJ9IXrMyNHV8duxRPu
b7FJQ/gYl/Fk2inrmL5fl3zdCZnzh2yRnlYsc9UGgLFXqFkyXaFmfVHaZLu5swdyXzX5DFzCj/+m
KOtJV8+/sYPYX+XZ3N9v6uL6Whj/817nWfbudxL3ay8wBt4+/nCDjB9diz3SCTgv59cizXt8HSxf
J2jNWFKepE3mCL091WPto5vQJWqdJJxO71YejSdNv2sLL9YWhumPh5L0EKZWqZLLZqb9VeN68XaW
LiZfnAfBKrhFetow+GLDYOv02tgPjmoBCjOUbX2MueKKhctt7Uc/6jOmJZRIBrgmpYPRdg4+5NCI
2l1DSsSAJGMjiNO1cYDbRl24IWGQ9ytacM210SSZ6osBIV5xktRSkZbyAkSCcWRxCvp0m83/df9/
HoQBCGwb4NXgpnCXpnWxDZjg79QtwunxnHFiSiluNMceeXLP36bBPB+4dDi4nDxk812f45ED/Jyu
eXSBQRx7wFJfSAwVLpc2Q1iG+sitb6E0Vyjvf/vrjytHeexW+7FAzVftIfkQxF4f//xB92KoYOh5
TN+uSPOr4uEYSlEAjG/jf7XJ+FqJ4jluy66X9Qlsdmp/x/3LycKPnys1G/jVwU4002wGyTr7nC68
0yBmxMBuJepXtE5L7JZwmy9erN6APUGBWispNUpNsemNI0aNSiqhBMqR4NJjNLw9AmWM0sLwsbDs
RdvZdkswNAha4uWbgfqPcAIrqra3YO1fcdBqkwFJ5SCsFOuPbPVRONv4++W8rRH3xSq8UtNnRbIh
IpTWlbHm9KJoVSHzuMQosUJPirvVdjEr8ePSz1mxuT5iUcejJrBXl5suq7fa3PBStKMCLfQWVXi7
O4hEX1smHXWGXHBNzhN/3BcLqBsCAm5S9LKnV0bYt0SW1AwnIzB2lBof2nkOdQF/UNVgzatTxEs7
gANl9tBudDilR3Kv7m/mvSomrFVMPSqQ+vUeggIZ2glpk42Mt36qu8V7Th35k0ZgBmPu6mU/GnMX
7qKbgZCSKSE4HwmGbbTyDqZskKgANLJxUlfFayWWzu9QoJnslJ0ZekYOtSACq6702a2qgab2imu4
hybaFXmu5g8nTorSaPpMtSjuyhX0WLlsg3rm3Vf4FF6fG9CN2lvjRzHRsjNSMKkVA831MDhUKUzm
pbtnR2fdUFo31M+cwcK/V2MfrNbbrM2nx38hvOALVTiD0EqHPPrf6MfgI2iVlnDdU+tJvrl+BGnO
7u35ce0wEy8vBrSNkA9E4yZxXYLs++oUte4yjQPt9/hZuRMyq2JyO0OrhLL7Ob+Bz5DM8zRdXq2X
c/cR3ExuU/fDCWgw8Raph3D+itASQZBhmnoiRaZoXa1uUlpy7Ohy9lSMG23J7RezQlFM65GwHEQT
BWfW2QSjBOMjoT9srvxOlQ1I1quwjbDq14ANkofBHtZclh5ii0YMUc1H8PYlYUsvPWw/X6wN4aCS
lQQBqEaJ7t5kcT/YF7/abD6cmn3d51m0frPgNj4iBUOgZKRo9FoONFEqMMyMkwAmmmQk2D1oUEoh
xsnUStFILhkpsgEPBzE+boVoCgPJ4WxrY8QASGaostdmsrRBcZ7cTops6oezVp2e/xJKeLqaeZJf
SnDd51JJQVwaxNaVSRdatqf780932SZdZIW7+1zMppPc2x0jtQy0dMXWTqUo7EP94H9KBykG8Eyr
Cwvbq5t+DwQ5v/3omxYZCiS+HV5teU29H7liSC6QumyLfLWr2qilauVMYo+nDTkK7np8NR8lbWU0
uRhCUMQEJz56zphoqtoYDRqttpZmgCgIDVTc6RHtQu4QzacToAxzOWw0IycKoWhwqsiFsc6vlOOk
aG5oHr1OIaoulwIlwMxiUjgG7mXinr8byweeamWgY5lhr3W0XmCfKR67pzQaaS0kDI5sot7vKLL5
crLZ5lW0VJxYoBxRsV2vV/kmmRylbN0FMGCb66HTzT9f3U6mH/0RkQloCg6lVmUJdGC53fru1SQb
6igB2QkEaGm4VSpq5OwEsUTkuEO5MooDhCPKPHS1hjRXQ8wAIsMastSw7+61S6vNXZqv7T7w26PW
dxol6XOR5g/pLJkUJQd0RW1KnxYPHSGddTaFVjg+GshogY6QQEIxlADnNyoP87w53DImUJBiMHoC
goa+kP/AoY7hQVT6D90yuM4PckVvM7vKH9I8T3M/sQkEUoen4yV36WJthz0ND6yzfIlR3x5nVnmX
NN3nPdfdag+Zvc5LGqGi/Dhbzn3zbKOiPTvm1aGr8q19JiOQiASTjLiKjtkwHgshteFKO66tr4Co
IZ6QQBAYxSTKwUHFvn5cq2ppevWamQSmwEjRGH33klI8NlwbO7brUN4lmHzXPOIyqrUSTRlNn8pV
uU5BY5CAixGhwHQ09C92hT9fBVL2qbg4cPtl/9A4Rt6mSt/nLk8+2EGtz/qMpeal/FUU5lj6Bqzw
coSONmS1/uGMh5lpkd2vF6mv8hJHM61wqT4F1kqhA/qS3W6ZR+MQGgTDGLP2TIoxcpq13IEwyAtU
jco+1vpKCJeJWYKle5pQxB/xw1uV88wPb9zXm83LuR77XMT6LEFR9pxoprVByUZPF9pZcb8dluYm
JsgIpUiaFiUewwv4O+mxpjhl/vy/Y2pLsmVy61jd7hZFcp9uJlWthIJjnw6vIQMk0bjisFEh7p9B
GlWvVK+ujoplXSv6s151m3u5vjviyZN/MZqLNqnX1Sb7sG+ZLa7LUDVxpZdu0ZJpPinuvJukTX3i
86x+33EKudjY0wJPpk3B6vPTX0ypZiAAFaZN6PE4Xa/z1fxf2XKWfvbT1WEQoa3sH5Piy3LqkV2b
HELtlBxMwfvUns3lNIXTXiiOSvI+9QVxKYkrUOKc+vqx+fTCaAKptBbK9EY0O/iaBWs3mAbOkImw
NQvjiPsMk0zbs8CNDBb3jagOEzRXNvQF1NHRtKJLpbFKRo9KZqIVTI3HEyic1zjLSuhHO08v9Qrr
tZKLhH2uQg1MxAoSLnka7jLnun65fsIusUb/iediUrgr/oQlRWonM6uoyNVxRoXaUYmH2W++h5te
awU5ci1AoiAuYoM+jMjWAKIkQsJY/AmjtEECkTEmBWek26ij+GmhV4AU3nJCKSRwIkMyBKxCwJYf
MmA0SM47u8DjcWpISK1R6DouzEvcoL7Q1Yc/2XnYV3VhaZrbzVW4j0pBLxZVhfMK++zyFYxZqRr7
IlpeFDwj+q7zpwo8eY9GF4Giww7wrnobFq42FOhnT+2UrbW4t9u3PV9rNKurmUTSCu0evuht0uDL
u5RwyKdAZ+eMWacs8ZCKqoUxRqI0eHbbcChelVC7RNQz0mf386TIvSAVRLqrZtsrM38LBqPzH38A
L3uXTj/+vJvFqVamNjFUwNpapQQj5FyY3gjWh++NudZ8ZR0yzcJm2EaiZ43gaEAIMpx16kaJFd08
tRY/fVe2FXsq6VGINsCsAbluatVQcbf65MdYaYQxXvvsRTqfTL9cz1Zbx2RaNZLUcP5AvgUokWu9
qUNjuqjTsNd8Iv61m4h278GV0ZIE7wDa3SGmCXymY4lJgVZcK2HIXCpVPBLJoPUZNWJJzRel2TeS
AF6qtU/ZcuZiRKvPEscKvcj86QdtWCANWp2ztjtG9rigmglyUPPs/KrX1rVTI9nrhFICR615V/7J
EU1aINkNqbmis2vpBqn5/HgTD/Orz6dXU1oEen5HuOHmQ3z2eH060AifS3cYTlwkEfT5GMIFq4YF
tit90rwVdgL8ZAIQyGa8ljsvyTL2DUter1mqADmOp87xpjaTB5r+89Bt5g6c+nQgmTLMaCM0EyFu
oNonEc+TdPnXX5LVuqzpnK2W/n2lexStQYZCK4nIdasqvmCyDBhuuICMQNTd3AUsR4prcdeL7Tyz
m2uap04CD3p/F5Osbn9PpxVOMFCfx5VLLex20gRMXj4jPhZ3WIIBo5RCDKnTBp8LYAYRFCgOnfRN
5NN2cHdQce6SrLLzEjULZkp2pvqVe33DedgBvYMICjRIZYpVSNPn1kTFtLEGUUh1+fqEsWSsGGrD
BWNQxzXQ+GKpaXtVrOlI0M61BHU+7WJMv/LZ6K+K4hHWotQ7yaQEgvf66KJPR9LdYkrGjJJ9VPcM
0AtFw6RgAmrggUJWr56lP775ppNFPGdTMtGrTrfDO4BoTpz6uF2/ZBp+b12bZhYM0DjSGY87cJ5u
HLtrcpu61t3tsqxJmVlvJV99KZLdb3nr34wMeJ+apJ/XdsunXsIPbOH4Fel0m2ebL9e7ee0qbXan
y4rR7dcnBlcvR4buMrmDJFwF2ScQ9Jk/F9L1mSCaywbz3c/m07IeKM6D5dwVfdvtfHO32ay/ud7V
N9ytis03mjHm++flPXhlEqnPWy9FXAtt41mNckBNCX07l4JL61cqMLxr1VKrYua+p08CUXINujlO
Xfg0UBfX59wzyFmfqlKSjV+F1ChA9ViMEiMHs8+jV8ld9elhaiIBaGXElLykox/QQp06HiVmeV7v
eOhOJbkvWOnDmEFkMMDzfeS9+n04DOPDVTG8X/Edx3vJ757YrfrZ/nfC8+5+wMMfqIIBHhVvs/hP
4napTIfHabdYsS0S+2luD40X7URCCP1Rbm27rbkHm69NeOrZONlyuZq6o//gmrbvvS5ar4GwVNYu
ME6Kix4D4SGV5rj2dcasXIS8WFtjS5/s4OjYfeZCCLuhp0WRbxdpUaumObRJ2x8oLauz9ub3Q766
T5br9VPMvbGvce+HJsA+LbIhLUG5llW8EPJk75EGEBl7uLWSbDi98n1LxR5vxaQRBiS1a5qIOc0Q
vpBVAe83XxbpUbvk2Z7Q6+/yNL1279JjMYLhQivlkJz1gMgLuhqCV+VeOpasoztc/+ywZszvceuh
TiHaCGVxZNnukjjUyJkjQ3nsv/a5yFp2W4iHiXXBV3mx42XcfFolTuUUfg+Wh5HYwajF9rYKl1/a
KKPb4tv4JbHBhruZ2Ex89DVN89uNOLrdOE9ootzB9lytT6mH+mxYcrez2vFHyMZQHiO0+yCl0tax
l6ym02BMRRdGu8iNSQeHNNge4b5XnQvJNSoDinCgffgBjX5zDdpjIOa484RQDqxqsNiZuzUZiJmJ
Fglph4+ljQsThwPR2PI4NCWVQa9HKam7u5Sn96tS9K4AYbKZlGUJu+qAulyM45Jpn4sp07n5dr1J
Z0lNMtm1XYWJ/NzMvilndb1ezv/rdlKkkv4z++3bn/7xif3PX+erd/br7+9/vfvh17n79gf3x7ff
vftv+7/vfpnxn1P3wfc/LH745bd/ENz/TP8BPwr97bt3/7TfvPtgfp///Yf8XflPFz/+8+P77S/3
333XPXRsvlp+3ptek1fWZ3Gwh6Cl0AMFyerb0CPXXChweR0zCCyMaPaTG4WaM4MS/zAds5xLrciq
aSn1mFriw5VNKNcoTcYIxb+GluGAMNv2LGhrFIDwK2jsqjNTT3jA1qPZf15psAzT/SSfTy+HQ9zA
B61DrJfxs1x33rt1rMoc2NTKxO6tbLKowFxGCBYwHI41vLiBIwkbTyuj2tygfMVKWhoGSjLXaNoG
02bomlaQIgOg2B+qNxEAuCFDwjDxJ5xTTeGEFPa5ZNDgn31yVb670pIpYtCSHKdP3+PULlZQD5iB
5s1OK8A8yZOk2FZ2LWndayGvVgbQKED2Z/t8ZWxMpAXYaLGmyCc6Qm5AtmnrZDOuTJs2tbMV6dDd
D+kodB1QPLQmcxhJrsP6kABCKSGH1yQaz6rc2uDyo9XE7uVcM+kqzyp695DA9JqNla6W0H4RD7ZA
oTt0ezCsZXIg2VWH7upCd+vrvYNsBA0uO26lEsGqxlvhitdXEslQQr3IIGcL9HHlluvJOnva/Mmd
FWia+9MczViI2y7cbDXd3rvjNLM6yX/4gQlsP9PT8n/wlP836puUl81aBQT3snYUrQbT50dqY3Ke
rIpVwnoNIPkFAIaHjtCiyJVcGCY0fAWQBxWnu2zUKq1PtvBjnAt+/tMPWaJtvLjKk8ntKvdf5jNS
EdVjXR0Bom6hF/tK+cdWni0l7BdsGzTTNlRJfQqsAdJFnlo1MU2tg74saRxKTeF69Px0Di0OQgW3
TJFukiL7t78a3BqzLvvB1cqVauPpds26OH6O9RbHyyfGT5Nss4crsWp6u5xVULlKeZ6L/PNP76sP
9HQ1S2/szN6c10lyKh3rf1oP/2jJ7YM7b9+mY5W3m6qFZE5dwNn2fr0jZTupyFah9xSE2FNNlhhi
LTG0scwnDszzt8nDZJHNypI9f5eH4sPdUi/cjs1dls8Sd7i/WJ24+pilJfbV2rGULLKp93Rbt7SF
NMuHFy92gFWO3+0+PiVCkYq3XbIDKe46sZNNdp96yHU4C31UMJj6PZXXfnm2m2xhxy/PjXWQ8y8f
tsuSVvvGmud0k+4lesIr08153Nzlq81mkc6SknPM+evLyX16c3V18IZl1fb9mt48/vYNCPlmub67
eYmCLv9yVlbhVPu9tmtrsEx5M4adMSuuoaxbd7V2xmBt9Eunx1/8ONZrHlWleUYzySYHTcU6aOo8
J7CFpOxm/HG12knqWFC64dg7EfV8rga28fWlvFMdU8kP21t8GpIYt4ZkvtpuDr71DEKcB3C4z8oY
8oOMoVAkQBquZIu6p+Op9DgRYQRDkloJOhvBe0DTMJIbw5TgoroHZECvqyWRRiJS8RAWQO5SzAOa
tuKE9sxIpoHHq9kY4MQFcQAJwIE6d2iEm97rOvftNpvdbIs0dx79wYBUprQ6mNn/Z+9KexzJketf
2S/uBQzkDBm8IhZoGLMer2FgdnvgAXx8MlRSVkndklJWSlPV/95kSqpLzCwpk0xSxu7OdE8fEMVg
MC6+ePEC4S4WbrTUfbktt/4GQAry2uhf8dD2+M67uM3BW+f+LIKoUj00W6qxVv50+P03GZjbO3/3
iG3/mjWe0cXeFBaNzG33YRXOs2fAv683+Cwn9a7elZvPvA/PabuVemHtP9D1Fz9/+eu/rTbL0sEw
WouzFMxmvV//vMigeJ8q5vNi//UX9+lfNgdy+qfTiILDrw+oGvuDn8zUDE0pXm3vSKJ6X23PRVy0
UTUABD7dactehUIZTMgvAmgV93kdWVAcYTtgd5t4VZ88LlzIJIiBtuG8oIH8C/Z75hcRck6Gu8lA
UmCsUDjLjaMmxoGUpr4To+pdtS0z2pEWJIwDjNHFLOIZ7gJBgUKbmZEUcVLSPO+hAlSomRow7CbQ
UV7olJv9+gG7guvwDrGhiSmfNsvFdHGCnhY//fLLl//0EstDDwDS17pxQsXLIZ5+p8EfnAU9wEXw
AOs0P+bqHXPECLHBejM/nnTxdF+dQzCKkQ7653/52397wz+Gox9B63cRLGVRS9hQxRi8njr5nQW5
4fqWllxy5qqZhoeqb+XvMpVSQlnfLzjjYxx9lg7UWNdpEzHqIl+6cnfRTr7TAs4Xy9l7k+NPizCp
tQE3StTeN8Ih8fMIGucj6X0H/D1w9h7hv+dZL6S064RKaCaZJAnxJR2lrt8dSM7K9ffi8JJ+csDr
BsNTlL+3DRdh0QKvhkbmvcevS3/hR/TBmr2QRB/HUjts++8toTRHNkLFxx2Br9qDgW3b3mriys/t
KHQgOsmAXM5XbO2gv/4xHpLi3p1VuZsUu8mDuzfOenjzIYxUuTte3LbiHZdMBFw4bPk5YNGCHN8S
QRdt9UWNWzlhGZSRBphgzIgriVByigvthwq7EUVmEOVNNHfYbZVfLne9v3v2jm23HPrgvF9Z0el8
sn5w870OK80XVtDb6fy7W7NqpvZ6816dtEDPjdQ29nfDZsfgNMoy7dU24bWaLonipb253Wywqb61
usgUinE4vyKExr5Q4rm9vrWN1AgVK/5tfPrbb9Du3EmPFNlsJk13S938jYZy5PBK6TVHCiKFOh6x
dAwN7NVcGcpJXCMwjpDSeBnDgciNfqP49jvL2lXDSCmUYqhxDEuWpxCk81+KUHbUOQZX8ELHch77
fb/Y1sdGPH/HZNJoiRhxwk6A8gW8IjnpDWjNiAmFHU+nWX5zqZT9h6MWnA8iS4usz+4X5QEI5fW3
MhbM7M3SB7KqjnZHQemCkaaA5h2nqjKH4M0Xrjr8/bkPqPhaF67lp0G8Tep68bA+8SC05X+AOhcF
6BP3hY+02rSBEwt8QB+eTMqXC0kCUQIZpaJDeca1hl6OE6NM0mcizbTWhCxcCSBPr2nVSXJDZEjG
b97JUwYoOaLhGpEHA6XmuVMw3JXVgSmA+PjUOFbkitjC/3TDk9bPAQWTSsDVAwXSXrZOvznflvcF
c2+D1Xrm59AU6ao3/oe0S2RgLndkR/kUm221q3b2QP2Fxu45vuaqoO5sya5ojrHr9/vxmUPnmUs2
QMaXXPOGX2xpr8pyYe+RnyrtokalPge9b+le+WBQt+lbL321cEcJ+aLWKJMPwCFc4ROUIJf+m6vT
/3fAniwdtwZj/xVIgENBiTnuT5BWDuiO9sOv7LbIc0PaunhUzCAJExk7m6nGAnGtiCSjcQHUw8Rx
hSd4doUf+PyUVpEMM1wS5xzYmHDHOIfwcUzgPQENAT3y+al3hl08c3fcS99bQh9hVJzQ5/XK7bEP
Urx4c7FumDv796lcIWfX++5aeHd+7gxN4vr1wnXWCeWGsqJWQ2ePftgZENSGhBMAKoOKgFPvB/Ze
UP08pQGaM2Gsk7dSGbdZJlN5CBSobKBuUPcadxfXZbb7kJOB85IUpJMnCak4CS6vn0TpGb85QlBY
3X11lRJrvn89xQdf7v29CAwSClaj1oJJQDMcJNMu2ijRgFfEHWFBDzGfj7+YVaX1zNWuKJ8W/oUI
MVr48VzpOo4pcmdyv1z44YxKYhSd7kxzgPQYlad2QZwbLglR9e8l/m9VPdMHy9FnikZCh8dRCG69
HR9qoPNPMM+Uz6EUPoKDKkjpP8Euz0hqkhzHRXUHPaDTkJQXMZzGpTR37+vm4Z/4GX7FsISCRzSC
KyndaPQxcbh5hsUGDHAFzGFyI7dUBK2GRmTE54ige5zJu0BktSkf3nAdyj8IkTKwVOhUnylreExk
4PHYQX39cVAvL+qENdEgYg6JLLVSSo+LfI9i7c9HYvkbVHiKwPPF93tCT43Dco5m2/W+3pTrWduj
QszYto6YW50byzek9rJPONt1eY+I0gs4QHREwEJX7Nj2cEFqSErVddZeuAb006l8blC412hhNZtI
MW2obyvBcfpnXMe0qbYXaTZeBL+KJk4SCKJBL7DunpJgQgv33QE042RcX3RYJHB+eyUm7eeCBkY9
u5nCK/3I7DLx0kFm1YhLx0o5Du4zP/UybigJ2fCUGI4FNQ+vkN1u/ppGYWsOw3sDbwnqIgLRkHFE
/Hi8VdDnoYQJ/D7fAn/gwGUk6GcX7AGkoJQ5p2kaZYwBUON0JeVn2ABs4s3sjxp02P6RDMxXK6oK
U1aZiBNp1MxwocdqZMnRo2oENMrmK7IXaja/LSlmo22lpP2fGg7jzm9/KLUj2gEAIUMAudt2GDOT
j+x7zwphu8fF1Btq4KAn98ldtd/9eTlZf3v+vUbm9hzsfhYTf1uq1nmUvAK+4HIXlRuhUY2CVM/v
UnIGxggSQhs+Pko6vJPv0uyH7WQ9a2iR7SVu13OudFI34DrdCQ0nwVK0D+Sno1LZKNOGPByZHgV4
G1UtX6TwupTT/IXizv2N4qSiLfy2KaFzQHYZQ8BxfABwhhENoNBSAActUkCAg0mk00sfhtiH/0xO
gDLGl9Xc5uSj+JBl+bSYTrwj1sBo1pPT+2WDDe6tgV08NDMCjzi4T6v64bP4NKvW5dmAQJ0yN0Um
mRCSC6ZFLwx4hlmZDXu1dgTGfDgKO8sCjlGGSFEfWoxb2CFJLdxcamum5SgArByLJWRvJgFxg+Mj
VTNUCY1WGxjjAikFNDRl2vNo/6zsclyCoxrE/T3GBIXYy13xJlKXy3LaNjnXRiImaXbfVEg5yAED
nQag4jIM2Zki5WiINMNRMJohq5Qvm3ZkfY5Q8fjw/+rB7FkdW5/NJKQ8AK2bKWNcM0bjo8Mz9M1I
iBo5N7JdIf9jsv3++Sdrbza74pfJ+mFvxZHOeyzXH/iPHo/7rwz6Mzv6c+/7dLmYfmuIkCv/A7TV
qUFLvsq43i/uo0fVgz3I6e1gs2m05/CI4J/cpDklBYEho+bZxvRBrsRR3HC74xxBSskMXE8sGmdv
V16Es+YfdxVCIDGOGvrKs1yirApVQLzNiN/hY7F77yaE2e5qsl7cuyEQ3j2e/vQM1hdk7cld+cNm
/XAG6QEJ0cR4rrUQ+sxW1b4uq99biEQ4Sws21XbDhqMMR5CVuaXlUtoQh2zsh2OQ7WYuDWRMg5UH
oMHomNjMZaFJCGPA5mM8XNdcAt/81uCcWzjOxojQ/cScSYsQNt9G10PArob9DHvNzlzvpbA+1lhf
QMbEftVOcB3ap/zZoDveWmf3LvxqR1oKX2XlomdH7LfW2c56rXaRRXlcrGfVY1FtWjAI9AHbHeYT
8IZz2UI7qLMBhcPoJC+6i8OkGzSkDzhcUipiWnMNGB0vn7nxByUZM0qjUCw28jBzURgulJBMureK
kfFuuUtGGxsauzuDeC2aItDWOnzV9/VktZieijOnX1p7viruJtNvhf2yW//wIq5U2pqfFDbbUKSH
ITqCi/jXL7+1laXX1W5x/71wiB//xCo5IBTwlqT93At6kM40fHL2qlsFqRdT/5wpNWAjl9cPvXVD
myUN87t9Vw2x4y6fnzKa6BkLDooBR96T98aedP0tAsGRFGGPSxTOpwhr/dDGYOxq1tphwJc4Ding
szRHxSVwqeVApETmO7Xn75iskXGOsfFwuR86oWJcMGazklGxCLmrCDdagFYGkGKDZHIXBbO2koNS
Akdoto0etT9HYO3TJ93U+1hlpd3chX5l24A6YBcRmo3vfv2h8tT+J/c2Zw6MIp5P6aFyqZQ/UDax
TslBfPynw3qs+Sim7zo25pPtuqzrbdmQdpzBa0BdRIB16TLnCyATrIcOvHz6aShc05Kx3y4/z3e7
zZ9+/NFVbZfzqt79Ca1L8YWdTwfNsYpzpjeCwR+KgZF6x8cfoCH/v2NbLY2yxppIoBm1PS1zH0Za
2kiHG2mEGrlNLXPJALPJkFSccQMj46MzlwxqzUBJYa+SupZfI/OtSZTM9TspTWMTg2cuGWE4CMfO
zAczdMTZ6eUBzNKPhLDZXsjoD7zRn1GpowvwRxdDvP/9ZLls6vqT9XRebYsDQbH/fZ8Fi2PAP+Vj
xJ1E0VH/qzr1WO01Y4y9n81I5Ieti3t9mqnEMMlV28fJdlbsKpc/PjRQhXtnADvQHpwjpjRpNioV
RisymvXls21aRrIP8gxDjmQUyQ+YZm9jO8QMITAtru5cG+HU2j2C8NcDePp80/4Q1CG8aUbrNAt+
N8kBeMB89+32+rqJkLQBgDYRtYEgjMN6exPXGkhoF16C5nIczszbsHYStBKSKxaaRjPm9oNwu10Q
Pb2CI7r21vvXZEn+YQZBTbr0QiFIB3mIfjFhoneoa8aYohYtQOOSKW2kDdSgF5HnTVxwzZQgBooL
5GORtt6GYBQwNy+MtISwQwZibt83pqd9FCJXIc2R8kaYkPxFQwaqOYQrYRpS9nNJk5ajsHvexIUT
YC8cCM1gONz2ZjZtNUHYRJIzEmY4tfIVWw6V33hjEGGG3Pl1uXustt+KerHaLyd2d83ld1bs89G8
Fe/N26dptVpN1rPP9lPK3QvVzrTar3fDY4rzUZflarP7/vYF9zDm7wJKBP7u00/IwjbCILf94XsI
I1975tvSASXeivjTZrKbf75gJGi/gaDRMDT21jEOaCThKPytaUo/2uuYWcrqp7XxUjMh9fWzAgIw
Cd9GAMolIAdQNjhPQbc8ToIe5lHJV0IM99KTWQUPtKMK08CE0eOTHd/E3VEMOXFjxPVFziD8xzGF
dPawVu8my2VxVzrqtWJV7ibFbLKbeIdXJrX50hh0k4it1+W9OHhjSvVj3sY3hao+kzHjwUaYUpIL
yXkIotzbuOBaa6lIAEoab3h5/gAirpBrQUzA+HS6t/HOw5kBEM4GpRvHnX1vAZJmIBkZgBQ0xLeh
Sdb2AIJ2EzRHIWxNkzwa7yOTUpFGCEAzQgDe1wlY4DctFQq+9SK4gwb8dvz1r9VyMf3+492yuits
WlMXzek1r4TeyAwo6SsvSpdNgAQ2PvVtGr1Gb1FEm5QZPzAiG9eAPYhBs56zx3BzQs6l1TmmBs5y
j643bdd6+q1YLZ6s/Tr+jWJuM7K6eJxs14u1v4kMeUqfrq16aQOSJI8yND37pxZhTRwylArFRRPv
828SFsYY+y8pNur88jR37hUvw5t71zRvTuuN98ppE9Jn2J+eVssfns7jIRC3UHLoDIl0qJe8cDdW
KUAEw4w2o86xzt5/orapvlbWmtHIk5bjl98eqgNN064qmnbOYmNX8CchLLiRac5ldpyj0mJUOIeU
zaTE0QCRMhLCTWMePfzebBerxW7xu/dkSciQhEdv1jvSH3nhmUQRvdZ6My+O6uUU62z+T5G2hMyl
Y8NlIMacN5x/zGhVkdl0TAlKNoQ4e28kwRAYqbShhMNGx3wYci7JOaiTr7rfVis/xJIFXXFb2lOZ
FZO62K/tf0/nk7tl2cKsHcpaP5S7vzr5lrN//u23f98vS3/vo2FBbfb5qkWr3ZZiGDnLfOG07/vh
KCfHSWqOLrLe360Wdd3MrHppIfKWDpkKH4tUq7vFuixW++VusVmWxcb9/qKFHMckjUkM2asJgnOT
cDJ4/q2DSoKUSkkyQ4bQps6/Z/vVxtmgpmH4fAoVJGWHAIX2/8QlCzYVd9Tg+NzweSNknfK9AISW
khR3mXmycev5J+lgU3TBUEgxCrj0RuTCpc1gUWgzmM8yxq7pShe9XpfTXVFvp0X5u/3zIyi6awiY
GPQ13hD5rmflUzmb3XWux0RnXEa9yYOfl/ezB9OAbY6y+EXlWBcB7t5Ef5vzyBdGU6zm4WmIYsXr
3hHo5pkrJUYdZp49UA0YcRsaay1MsgnnkYzjMW96xnAXX+uXATHzbXl/AqW2UbD0IlUPdzQoCJhA
JDnqxOX8e/4lKqOVtaI84RD6FEq7Le3urJllbkR7tZ55Y++LmrzilSTRZtk2j7SxpUw2pjp9tPVY
3tXOFe66Yx+TlKwayQihmE454j7lNYLOayRhJA3pCpou0hC6ZBJKtFAxYAOGAkWkgKSKPdGdomXV
ginQnLPrXz/TW62n1dL1t21Lu5m623SplJqCWhnFhbD6atINV6donZVgBEnNpZG3MuSWokH9pZbC
SI2cchtyS+0vNvYSNXCs5lmsdYSRuNK6D7zOXX4m7XU2Lg3VqCRXuc31vk76s/J+sl8epL9YL93z
WIcRFWKYmr3I26NwBfcQMyBCoBWPT8v+oWoqZRRhc0NB1gkrAbcyLZOivXtqNGhA6z6NUtldOW9x
2c8kbf5eVB5X04TS1k3b4F2a25n3Q/H44K1t5yCQRph5fAMuJODrHGOAAo1gmAfTfl/Zgke2epAB
uTgk6QgEBaS8N9ImPowpRQrpRqY7X+SsGraYZl13/h0RoQ1egivAK2BMNd03JNPNpAf7Pcrtrrif
LJYelAyL5EDfiML76MLD1932dbn96cH9/nwyqx5//vLXH5tDKCb72aLyk2yLoSFEQyz24XblRRDM
vkbGy41rXXV4K9NUWR1+fTPZ1o6jjXlHaSngCe2LAqERuZTQ0WMXAy+dfZ5gABydsGaYaGhRDzv6
+M2rYlKrAMWb0/4cyPZgvT4u54C8xmS8HNadNUZ2j/fFzgrYbtXV5ieL+x6k4JfbiR77M8RS6iiz
ATXa9EILGhnEm3u2YWNhoxCUZhAbyTdi0PysoQdg/Xm0zFO6EiLOHKJcSCZucWZitMcL1EhkV5IG
b3Nm4vWeyO+F5E1F0K+u4GLl3MCBYPfgExx3RDGfrGc2Y/B6BqMCXfpZuSytqm0cR8X5jbdhW6B1
uvfYMniH6YjJWTmdV8eZEy5Xd7319bzaL2f/s92vrQH+9L8n7tHn7/COe/SjFY4DLb7Wn6b15nOT
ANmb84//IP5sf3pZ2f7ij+tqXf7x8Afun+Y/3ksDdcpIXgo0YB2fxuh4zhF9Xj2xGdSvfuUPFf/Z
LU2/Pd+wA7H2sOsPkPLBh1uHw6zbkeZq2s4xPcZmuXc/dRV/DI/6fHD4Bt4DFLFA+N1rhvNSz1nM
/jA5rctZAURxIi1foZiXy43/myieNOl3wGKhmBQgBgIAM49JrbMga/IZgaLYSOrcRcEdiZ4UCnqn
LUknOA+uSvoH4zIK5cBPRqChfXpnCRp3um1p0QZhUtYQlDKCK0Klh/WB5F4rsaZLkeEMDR8Vnj5+
qOH3fSlLeMY6HEUEXCnKcYD8TYRA6VYO54SE9UKoteZcjNx6kMQNtT4/OuYnh6J72Fb79az/SIR4
qB6j7Adr0poyGCZ9K6WV1lrKZDLJs5xCjFuHKIXUHa0X0Q804LRkTsSteTGMshhePzhs9Q+5HQaV
eO01jip7mhi8PlAbnrqn/PUKZGpcU2n/Zl1t/WayR+kkxJQnjxB/2D3trpr2dKWD965yQI+Nexz3
i+XOZjWVjTlWLU8RHDAlKlUiKEPGDdCTNzhM/mPFmNyVP2zWZ2MLAeQoIKqXL3K/rKrZv27Lcv2X
Rit+qH8/+1YmZSiDQMAaSiCR8bjkPiMpRDOSgvcZSdHfNXiTS63HNUCP5d23xe5gfYq69JZVSOmk
ZRXOOWkQio/QfxFyyG5Kp9So/aT+vp6ePteLRkp5sMgRAZU0XURu6ceNRAuw0RhNRtsPF+NQnycM
x1ttULm6s9a4vcpCuocR/lo304iLV9yq/0fetfY2bmTZvzJf0gEGw3S9HwGMIK8BstuYHkzPIB8D
WqJsdsuilqTc9v76vUVKMi0VKYosVtHZIIndtttkVd26z3PPrR9whtEWKKRvhZHQiDKlOGa+SN79
CMErvZbU/Kp9sPuS/L/IYXyDpOM0xhUpzZPzsMYcmkyUye35cH/65wk87Y0Bg7VaSbhqQUG7AkuN
EJe4dzPuhBPJR2dhmDULMy7u7tI25X2aL83jy+eupi1JQrpCxhHgDIH6k2T8wIcw7qvPSx7uFRyO
+JZcUES40KOx+G/G59WMUXD5NZVKeRlC8SZ2hep6zpeUnPofQeHfITS0Xf+z7u7hZA6BbZfxbFgS
Nqk6qpdsLyPrsAA2ysD0aEFwCFr/4KbK8cEMAuTjSbCUJ8CpFjh+UGIqxjk4tcREwV7o06dUdW8E
i35ZFxJCg8Xgz0kxYRBOfzzG4bNCDkhh3CLJORIBZi3MAl5yPLOzMlxYx4xJrQyPAQsx9Wpi43jp
TGpui20MdhO0RbTJynT1HC3h+ljyqHKUNvscP8a1CKzTzZfoNi7ShZ12ISjmThClBcVCXd8m83ai
EaY0EUQIxLQOwQ0+xypF+0BJjJy5ia8vgRUtxLmPFB23hmRDUCjNTvQX7WHbxqDkmVobtmFNNL56
2JF1YE2okNqa2ByHYrjynlS+ZrwymKYjIMxOb0nfRkD3J4jxBVNguIjh/tBe5rZ4CrNOnIbqIOw0
9HggqcwrTOMiWyY3FMl3BtzYD0gGPz0at+gUnuZQpqTkUoFUcD+DVVzKFEUOtZ19fHhQc8YoxQRL
RQZANscPpXgTTq5kWlENrjxXcvwQyTfi1xtaSK6lwCjEsJJZ3uCazLO99t9r7vD4t2kG3efvdc4s
OYFPFzBF970FKDOrBJ0QmiozIV4I6n/C25wvTvm8bmlaYGjM2zRd7KdiHf304ePP//3rL/YOHuR8
3edB8XFC930SL5O8sL8JH/EmLQEGrP67JwtPogyK3GUCa8ol6xjwOsGEqimkt7hP7Kh31cfBPn0j
a2KnjkwSMyzqh+rz//zrw83lbA9BA2yPu2Sn1gppAf69JMP6Vud59tntZzPbpQtxTANuu6HV1UhL
1UVEeaHt0tfGnyrp46C4Tm2tA+4uVVpo2FmkBPfTzDbtWbgsQWohCZJSC7e9XZ6Esd16viQiLWZU
iuuf6aLndZXlt+lymWyaRghe9qzp1bNetJc4VCePe/v+uEj6d1jYkwTgXdY2TYlyHvBuCQWXCkEE
g3z1r3m6c8u4jCMQ+70/9d2isLrFSiB/Ylw83kWrpK5DJOvkoYUpChOsnL/USQh9FjK095u0KYyr
4mh805hTYgLpIlmvvjXfIS9MpWdxdcibIbnQWDLCJCVuOwDn6XtWwpm1SSRTflNNP/7089/Ny5y3
mROi6Ui98O883hSrxADxy6hSFKsUrgJoC+viFQ4Z62hNBBKIa6WQn1bMt+IWcgHG30wMQL76E4Pe
3OVuCx/N9hwzQNYgpg/PoEulAd/stGZIh4xZFeaMaVDiQqHx3UtzU92nufnT83itPhlif6FaBT0N
KSgGw444G9QvOO0BNPz34zD5uCjSO/iwXBbRfup8lJbJgzUrxoS/u1fmrfNZh/iPV6/9B+xi9e4i
GY6IIBRLqqSLnrWgVz15jI89SAYZnyfbLC+jbLN+jh6y5fBp04OjhlraHsvyrCt+jDOWlOZAllER
b5a32RN8VkOWYthve8AmEXEj2/d5sqocwH43m4+JE5dZYiYylVHyBM85/f2VWmYhfUyBBaam+5Ei
7L/Jz79Ov3D255qNe8wSPKbLpGVmIaGTahr7DHMRtNDDTeM5BECUeenJfSOxjxk8LMGjVWTsvvTs
Tpt2XxpmJgH9+LBl18/G63PvwYyu40XS15kL6SnDvYPIiQkF//nvu/KvkruPxuJrhjwcsNhCIg76
GPMQzVfhfdM9W4nxTePbbFfCF+LNl45eFIZGZe0Ok43BUlnT+NiRV9jfIRySZnHXnawZpabli1Ma
ojXev364xlsLejREcDgZzcg1GY4GXnc2d9s+Anf0PYPffDzCVm0Brk3IcAgpLakiWHEHAOw34lIq
ZcbMYiaQ5i76zN7Isg3FEZeUc0S99B+9mQBDEtBhsDVXM+w7QBV7My8PSRkfkWEdnd14Gk1bl8gL
Y9x+gx/KL8TicCSOUJ/NdVu9NRzUhBKMKCcKC4FDdHmHN8E2wegwywKH1BVMY0oo1Z0s/C777cKo
h44eTklCWjDFBK7mcY8c7fZnBgsYuLhmmGIqgzSYzUql/Dt9SEzM3mFqBKFBa3lKYcWYYkTNkFc/
ZD6ccqa1AFd9Xp2h0/kCXCqpKDcMlH8yiOp1l7XD/HMdsnjIqOSCIaIx4QGBkleAwC2Y93SzyRbm
xR/TRZk+1ONdO5h1hrTe9u+/uuSeY62dy11deC/yxauE7gGDcPsc7QG8zjqRHXbAEqmFAieIiBmC
ihyuUylwYrjmlL8hhMsyj++iZZ5to2W6WiVmPvK+A6YFLqh91NordVoxT5oOWvMDZqM2h2lDqzx7
iDbZpvmd/e+2c/RKMlIDHbfJHmEgd4FMVy8K9bH3jVaAQ8vjsV2jwyflk7ZFLHcP2yg2w1mebKwG
xMkNqHopKrS5tbuTKP9qvQB9YTdyg9rkm0J36DEx4mZYqL7G+TKCV8xTexytqZ7wgL/GaRntNmW6
buGJxBI7afIbf5OtA7MuzYnD1Zy4f/746dM7s76ziXGCTylc7dd20LZWK76Nl9HiPs6r2t86jQv7
r6dT4h5fiEatpznGMCbFIt5W9GwPhy6UZL2MNq1pJk0GbuTLcs63tKIPq79yoxTXf5xPGtQTP3aV
gUXKvT/2t08f7QseQpVx7ZP/gJCH/K2yB8nN5/hvj0luZoLcnA1cGmKSrz70yP+h78rVH+rsqdLD
Yv/qf7Hmsd+HeayJtoM8GLs4XLfO5T6HQpx5l9dKPByGf5k32sZ6ID70XBTyyZFNs+GphX8N7u/G
8tzr3KB/fvxkdy873YbFXXrq9rEpc0UdWclx7vSlB79U7dvfgIxq7q+fdcgQPKZxdEQhfoUfsIdM
gsnAcHnKhJKcXV0KnFGiSwusNZIc83YC1xDdlj1MC7WaliH2djiTS7+QZhWnZ1DasbQuJ2ntrstz
nmFRQRtNGCZEEGKYDlzhwFz2RZwzLVddYxQNtGWLfd9dXWeyqm+BiRNRKHatzXxhcStKMKYoY0xi
NTXh1pzKCNSMOBRKayKvLJfMVOladS4ZHze/viRRsbttLwjqoJJMOOGmG0yzyce1Ty4Dq91mUUH+
4dtFme8WIHld+cVeM+pa38HYT3jSwzbOYXPiIolS2O1NkbbyazAvYl91gR5Oq+js0ITAYlzpqWal
q012e82bEjXY2Gwe4yLaxqWZZ13X1kCU84qjIl63c9UrsG/jlnb0kfYt5UVmn7GJJ0giWwW5M1wZ
8w7pw11UHeSeXdD4XqCzzJm2V1sHsYE0lp19SY1zUtNEHD28FiIlSt3fnP2IE7izcF+iRbG1R6J8
wgrBC3eBge5YhiniPuO7Kb6wybdGNzVqePY2ODTiSUaCKtyLCQ1gOYssL6J6gqP5ShGVWSVV9glM
3fVvfPGmQpQDv+gJI2QbKYLC0tYIjTDRXGg5phf3KszSJXloCKDJQkX11+0EZiGbqbTiVCCIVjQj
PrklZuRxY04UhLeI45GjGucURTDMMDKhU8e8QTfMDHPinKOcaimVIp7bbue0ByDHhGgtppyuNPTg
8XXeQz0SrsO3RmrEQx0NyurnGpTxnZ0vaYzzUeOVfv70qXbawWPPWhLfuFeZYcjxdLUjS0fbZ+/7
E0KP3rv/ih/jT/UImQtbiAXhjkDFheEROvzRIItrhBDh6KzPeqJDW+3W66iKu76m6+XCAL+6rlmv
ZA2eykPhkkmCKEKSXtmy71RD1dJYf4zK+2RV1u74C5W4CbGswLleHOJT7R/nnHJNJcUI+2VDGb/9
Dj0DgjlC4BVp5ZOvZ05bAL+UwlXiWo6aRDV+SQ2l+PJplJpO2ny3LWvg6yqP79pIa4WkozV/+vd6
+uoFrc9oSN0nTLUYw8l1DdR2w38wI0nlWDIBXixHEvlkNxi/BXvqlGNNOPpcRGccWrfJCjRJa66G
KDmR1e9v8LF0sHbT1QCLXsEJ3EcoglfMNks7dJYIR8kWa6PY/sfsXt14H7LRktKhSCjiExzr3ZHq
C4T+bhEt8ri4bxk2z12fKbl0pq7crSL6mmebO/CvHuKKbtfUGWHN8Bam5e08p0t6UYJ0H2td4tnC
nUnyi/EVQyigwlREY8q4JmgEufLcrABh4LBSphBX1C/NyIw2QSMihaE/UkL5JUaY0SYIKTHRWmmm
tE8KjTnJATM+INeKMTIxictkQXOLFj9R331BblPtNNXgelIMfjdCg9qVq67dqYKkoyE2fYHL3Tpp
t/h8ZPbN6nBs9pb31ZTpTviHIG/MDWhs/DZ9AmfgLvvuLl2dYfuE891turGf60O2D/HGErnY1Dyp
xtXscQF2TvMhXmtTdDPjLUJcDz5UXhEp2J+ifYlqF8CDiVFrbQ4vPFl1dJ+st0luQx8goh2c5RHc
kW0TK5REOREZ11Vtx5upZVA3hXCqOVZCYjx+lpEjM+KQOJdIM8FFaaJc0Fu4N5N2kWkVFqE8KB0z
obWTNIEqR2tuKSrB3rstKtWK4Olhbdoc8gSEo2gZLMZFyMvIKVEcSaWp9DKaYm73VUskMdMYg3X1
PzRmbrthuKIV1wTrwSHkiIEAjnbjavfRaB+b9+jOp6sArF/TzTL7aq18ypBpMUI0FlxrdjVJshMW
fvenfuaEpQ9bOOHz4eSETGBJG2fdblUZF56sahfwRIx5CdO/8p9/fXj/VBTRL7/+47dff6nTv42Z
1aa9N6lB1VUo2tV7IpkcVNw4vMarye/Nh76QMlXY+SzvZMQjzN2l71itEsKrE4cngMj0zW3QIc6b
Q4ccIypBuV0/BsHJlBvX6u3itQOx23fBkGidPCb2cdBShCzYY8qFIEwJzqiXyV8TZBsb966M87uk
o6MBBEmG9HGJEEgjylUHdNu6TWZqWVgwjpnmyCBIuZosErnxRkLvANdIgzfeySLQvgOzPFMtFFGS
U4pHTU+eHldty4hGd1m2erZX8tnbMelXWJEys3zVDofR2gnOvNnJuZ+he0600I+YpQ92oX7sJewC
69eh236+2cZAmaImlG9vpu1TUpQngW4Ac1taHonmjiS7tpDlU/nDySMGlDIb9yUpv2b5lwjivN06
BkVRcYyYIZw3B+6ObZ5Uu2+gQOYb7xbZw0O8Wd4Yu334TaBvdpvy3TYu72/e7/9m4zGH31FN9/y8
PeuD8HId7VHLKCxc9Xv/8XJclfA8lSZ4i06GqFtRpnyAJ3nY3cOe7gWwyK3IcMaJn8tgD1+CwtIR
wppzBv/w8dUSZ6bTHSaLCQNgIqRrBvD1dOBzqghhTDVnkgrFfU5/dugfnWqIxgiudLlcJ3tb3VQY
VpumQ14kxQw4SmJNUcBho2O6p50MmB5sghp+oJ11nfNp/KOynh1iTZxrMolY7wP6SwJNcMjanVYC
CSG0Qu6aHmYZMQqi4TFSE6yCDRH3Fm02S+HR1/vUYNfW2cY4sTVxlBVGzgTFU7uA9xCU2h1A4lbv
NCPOVzrIjqDBUzu/1kUz6UUEhvPdDNzw9qrNiyQs7uONnesIbmnIvDLFWBFwlZEk11OIjR7QNL5E
tS8bdgme0kFtDmJCEC6xYu7wIo5G90yWsFRaKaEwlh2smtOs4SqFUZZ5ersru1UHn0pZ7kW3DVgp
qHaVrssXF/uMhAwKqoJYXYNrhgVRUxMZzv3yKCqY5qCPuRqHr5r4gg22ilb5Q1R5ATMkXVSHWnFf
GqcrfcaUS41TlQb25IBG1yS5nZIXTycLvQrsRI96hat23/jm8AZ2Alk5SYBsOYeO48BqrPKv3M5t
npVZCbrDHgEFDVGZ5NgQvlMlvcaoc/edMOWUIYaR5J6zbjPfGUYxIRL8aS3l1BCY8M5pl4EYohwe
kmUa7+mFYaue4THg9bbQpgonVelzNRRlj0neOkWjH5n2aBu0226T3FA+26lUQ6bctWBCKwibJOWe
oXczv/yEMwQaUSjK0dQ1oWm2okfi3u6Tuq/kvgYwdHfZjvFDYEchxk2ekuXyto5A96TJVg+UUA+3
31plk+OgxVtD01KJ96EAAwrvMTVz/SAGb6PjwZK6QjQ3XqBGP0WmaatlUNEYpugiW8ONXf6e5evl
exCbQw4D1gtPLVu4cJSQYTOcjAqkuBZ4FMnDzDUkrNKAhBXCWE1M6TX3rRACK44ZwRDijCQ3mdgR
7LpRtcvUcqNwUM5DkDV4BYG49EmjNvVhwHs1LOOL9wreollhPYDPHV+wu8BIMaS5Jlxo5ZfQyO/1
MOu+YGoGQYovPK49g9JvssV14mZPjZGQhsW0vhDBJVF6YoqgMHH3y8acIHu36x+K+2y3Xv6R7zY3
z0nxblFsbyp3GZbx12/oT2dpO+lO/J7N9PGoSmJ/NV8xY06qwtHTvTVnaEKkkEZXK44wRQgJ4ZNM
y69VOFAUnhoFCwGLDGmjCQITzThGWBK//G4TncfnooKRR43Luv/KNrf0ohMslXL6lKwobY+hg8pW
7XWCfYCXdBQHVEjACKGKKg7BulTiStb0Lqyc2000mtPeI9Jj58iYXEoXDZRGQcNghriQjDJEhtPP
ubrc5CplW2xjWLBNx4oxD3ttbxdwnF+i5LGFsYz3Oj1iS7o3ya3yx6RGZVQdN2Z49813370//lv/
hb2kvV8bUroDcvmd8UJvqr/73vyxyt9/XK3M6HFQ2fBP/aVfdnl1HW4Eere4322+fEr/1yh1wl6t
SPxlzF04vXrpJl6YyYnRcfgdeC3bbLvbRkeFtrhP1/ZMGOs1rKTnMe4RNkvYtjx7tmuBCUS0hI1Y
9IkVSVi8HyFIESoQGV9e9KYVOhR9JWJ5EkOoVmZ9ZE3SoJ28nFKEMeoij7qOyW32hRvJmTDT6TEV
geiiAhmtWiPsbZer2oo7mBnIIvxeLXRHjtQ5j1k4TbGvzFS8/elmU1GvV0NST3FqVqhML2arfgZq
mS5/Xidx/nuV6P1YdSjYyUux7nSLidcBv2SKlMomO8uowIeX1lb4w7ebbJN8OyjPQqbS4kJSKg1g
ValrQ6Bp5N9drg8ME8JEya5xRs5pZkIqaLtmFg510CYru5B+WAmHugXMDWzor21RDGbafQhcBS0V
yrwj+u0HML9er1e+n50ezbXEuApAHTJ1Ia65IIhKEYh8cnwP0PVH/nKhDmQvVgYE6u5aXSLB7tck
QiZjPFBYYykpQSQYYdvcLZumjIN1AwWI+LjyxJiG3w59U4eyTZQURLRbezfjBKJ9oa6Kg54d+HtE
m3mdxB2lx9wFVoB3KTQDBU+5Q54P3xFYRxlDY8eGwakv4IEM/SptYNcEfBJN0AF5IBMl8hxWbBwC
axAGP0JxRKhPIhrfd9SAZn/88OHj77/+Em3j3KyygU1u713vNy51sjAc7CBDgsAJaf+ZRU9H9fqO
VtWpoqVpMKiFlhp2iVCMZUCqoBDByIFy5z4uTfVnleUPxfklst4eNEZ519Qm0Tot4ZjW9hmk+AJD
OBmKTnhRC8uuxOKoNMrLQ0+WWvPF152U9vlk0tmFizfPq3SdnM7oYiH1HqGCMc2xRCGi/rfiPSsh
ICgjSo6fbzkMtXK9XDdbhK2CrVTAHVWMSE0k40LqEFmGGfhGNckZ6LwjwU8vNwkzJKexOuGrWXfr
7NYQjcR5Gt+uW5IHaIxCriOhA7/X7fMxO5IWh0/h63uRswd/PGQMITnhWnOiO+hIJ5bpl1S2aZF7
9acoeYKfqgX4wE3zmrrK7CjIklWwORMhNZKiiBOBMbo+LeTXb68nude8vVX1MzI5bCvC21qPGlSQ
cggV4ARpoTjDfG4UVqRPV+Y22VSc1o1j2H8jzsu0zT/H/QjjSRvl6GXksN8bbQp0YL5+PLKgPMbr
nd1gCcKn1th2ulscNIaVhBiQrEDqWoTszL1hxqWgGpQlp+St8GtNBnFgCBFFlaRo7LzRQGb7G4S/
/4aQv//42wf4iMr7tDComcqwVK9Xwv/v48cEPtwmyQY+GJ0Hdw7+1mko22sCBRnShD58avdQ+EGZ
x4svNQjBWnDg2rFFv1A0QyHjNQjXKEKca670G2HMGGjM7a4pwc4lrarLmM/stRg9hc38ep9sOgf9
ipBCphHDRBFmzMvbZKuaDJRBqFAKMwa2xmt1IkBg010xxO7hpfvMmdH5sE8XOGwYH9C5c94IuF3v
TF7uzJEXSIf0ZoQyOFTBJP6TQVEpmE/JFeGiA9U0L7q3CZPZShtGfybV26QF66dNmoRxrsFIL5bW
KKtFtoatejB1ushQwUUpnMGmSE0Pm50VlHlQYh3wWcb+j71ra27bWNJ/Zfdh/bSI535JlcqVZHM2
yXEuFTu1+5aCSFBCDBJcArStf789ACnxMgBBYAYDOicpWxIlC5yZnu6vb1+HrDDUSjPDvMbo1Szx
ngh1vGkdziXFXCsu5BTYogaI1KqV15zTkLEWzsABJ6DhhWI3QlbVnM+bw7uEXf/27a/f/bPmnavY
18Fpt2fFkReF6atmq2+osTVv0Mc5O6zzq7e86qEGxXlncvRfv379ulyuX7+Nn/Jt+R7AW/H6sSzX
1einwpZ/Nf8qej6+Orl3+nYpIp2GRN1cDMdhTytTHNAJ5lzfJvuURyWn4Z0jTfitECd52wpMmKGk
4QTRW6SMa1b+u6nDdVwIDO6n+KlwjyCP1f5qu7w3z/Tndh/q2uMVFqAnay35pl7s6XMH9Xn1NTbF
QV7LbnFOhgBlOTjzjrYEfpdt3HTQIjEKupVricGHxl8AG9dJBX4tFEf196jHfGSfUvjLO3tmlYbM
5APoJ0wJITCmt8kK1k1B7vygCwpSOFT882QRb7Oy/0QR0nXcMwhZlD6s8k2DXzeoqvhSN38ye8x3
UxUrcm1zBevA6J358ut4vYZ/sauciz4l9x/Ssg6krpKy4sT5T6N5FzWWfQWf3/32zbt3/17RAJhR
4y1N/wRp3xZtd4ouTJo7fE0kYGuCOGohXHPkKrvsbazFojgcfZzPPkT1y8ZmPiSb82g6w/oLz5gf
pDKbiDwRHR+sBO1jx4pSLJXAQ3tzxxze649eREsOkmYu/sRIorpZ35eq3ObeEElDFuVqxihRXFOp
1JdDftQtJtySZOCUOoREJvhWtHnEgzzUY5E7COrFqb0KHAcl6pBcUGQY2vXUWfccDjPCUoMXKjEN
zzhKVJNDWcFr0Fi7gVhmRce0nMecnM90nMt0mby3UHJ+U8ImVJ/9I9/csam5pfk8aRgKHjTtpgUo
Y/Mfp18WS+AR8tsUz0Yxmj+BmKUz06+zjO5N4SKsefNkb+SkcgJy0xDSUA4jm+YQLxdWXssX+9uv
75qqVgH6pwtw38EyWhdHw5Yqc44NY6vQ6ObZ2BzqCia1woRK9i+2o8ZxeUQjzYRmeOyRMC59qkPl
uSv7fU551/2WUVwUycYadyOKjKY006tbbDRltxWnM8GTKkz34lA0R+rc5J4O+Uvr8d3nASOOgyJ7
rpTpJOFw36TvHO8koxXKTAfCWHHEWS+UP1Jf90Xn+EIVcS/Oh+HapK2KRlHsA3i1TAwfMbebXpHc
1YPmB3SSjLZxzIwEvX+cMUBEVCj0t+HGw5pRygVRnNLJ8w25u6IbA4DcJzUdluwLbFCngj83z0yD
Tka5pMXskICjanypxuyuz+ezCxxcUTY465q5V5X7FHieFBWvQbxYGNXZMoOjh8Ks9h8w/yZKVrO8
7gBcRY/pfJ5UvsDG5MUXaZLN23Lxqg831EnxyWHI4DyTJmVQRgxTvM6YQIyPWvXjCJrWgZqTq9bp
0C0nQTtlM6jXS9gQbSW4U8yMNnvDZitmef4hbWAcEmzA2pu8y4e0KJPNjrfEvIMCZMWe38NShixK
ZogJiTghFPMvgKyK9taFFUPUt+kDtzIQdqL5oB2a/+dJlsDZGLG03EQySBqPUVCZry+23V/3NLdK
p1OxF518/crJO6xVTXE0yq78rn7RXMQeWS7viteOgEi3kP61qnGdb8oqi5isFrnhhra6z2jAk0cu
yXZJEQC/lwiCrp5Ojo6U6aRSENQM0SNUtSVmhr33gTr/+z++i376za71dcfqMjpqddnNKcXO0fiH
3DQFVjH5WlNY6MB6Ga3O76CAbdg/+/x8oh6PttPjm8f8ZgcBkSOoAffWlJHaH0Kpz3M8PMHzZ3Om
Q+KOkHBbYAFmlRJFEb55KnZ6VX1bS7CBcezAyTsgBa7nQVTPtZeJEHc4e1skm/9OinK7Sb5vZJ3H
WgtPUA9Wu0o+tVSQYibZLW2v9waEgYDhx3e/RnC/SBNq8KJZK9i8y61UieoIvm/vYSfjuKoKjwyO
uOjjjzkrFCFMcqk114S44El3hnddTrwWCGvJsXRHNTHRtSqFYK2YKa6EH55PH3vgOOobFEi30bxf
D6HfmJKcuyFGaxTUTRgNh7q59G8b3z2mi/LPn358Z7eM3BkGOpw2UB3s8fhkM3hgVw9Foiz5mGT2
ydGDbHVTZ8UZIozgn+Qrs0VmkrW9BE86B9wrWPamP0XWFXjQmkBk3DcGrBY4EAE6VqkjYa8+8VF3
lXxSwH+SSYKHzwedHjTQTFC4IZgSzEZpI3a2Bdc5ERWpU4MTITgPAO7dQoIgUTWN/NvYuA7c7L5j
PT6NbyVG6sbGl3nj9+wREUKd2f3aqF9k4kTBgJ+QJKBJZA5iTxfm2ClMAtoLqbVCTBONr+acddA/
4t54NIBJI2C7b1RM6yDzq4dNbC/bYUqMVC+hvYPMxoW7iD067CFWAFgQwlTpEH1M7uWwpy2w+yJ4
ook7dwEtZOafI8bbZvK4bK+ZHnAXgFo55VggpMev6QxWv/AAXy6T8jG3lhCLk+lZEw3T94DaWPj2
kOBbF8McFPUAdo+pSeJWz8tiWGlpZNxMPzNA1pwnsdKA8NtC9X0R5Js/dy/9effH+39EqhdfZwui
NPtMEX5RKlYAw3vs9cu5vlyZgxNe5JtP8WZecRjYCuKVGs1c1g7TywsNwxSpK7O5J482FYnP+27O
2uzMtrgz5RA1r/Td/kfhAlZHtUlAvcPHnfwW1T/bfXG3iLMiOaqkx4Mc0Ivg116uiP2recNIVF8R
m5bvIzrumsyQ5JSarP/VRS1DyTLdmt5W0e0lj9U94nJEJ8WFVzJUj0nXwRW4C+/TZZJv4UpsV7Om
QaTiStPguLAs5B3UEimstOSaXSi07VQCdt6RNFHg2NP+7eQqXyf2iFKfBMs5xiBOMUYn6Gjvu5bj
2XHiyI6TXsW2FzQXyMoGHmdTWjpkDFFrJLUiSPQoCx10q2/NLNpRU9XgYsFMjaQyQtKQgQpOkOk/
1YIRt4VWPqXgAkZudpGZ4M4hSNtFxiGrBDUVimBKBGbe50dfe+Td8qtNRjy+B02/ejgroSGMhC1G
IEpTBVtExinkG+mOdUD99ZWbVAGMIC5wE3WPm1wV0Z0k+EdAxX2AyfPTMtOIDvepAsQ/vXtfQTPT
8xnlcKHS2Ycons+rIrW3u5+0F/QzPh6CpI4QJPVUinBebLD3MNrjaRhArYujPLymaTb/H0A6327L
0u4SY4S+NMBnoJ2JBBwrI1vAXHO3+13L5Xdm1/tfJjao8b1r4sKeqxDOYd92VcSLpEnkOSMeQ0E1
z5O9czckJmFSKkN3iDW9etb0xCDGy/FOq84Wu4AZ8gLMCJnM5ppyprWgSA0vsh3NRzjkIW1uSLw2
UnoD5YlXFiBKNT6zgBoPwcleCK7cbI/lUQ46rKFAH7verz6bMLx29LIHUDzCFsy2ZQPy1wNAm1Hi
xSpdgISCnp/XnzfYbEyEA61+HxfpzKp0VMjyPKy0QIQhLYd3j042aNEHMbcJHxvkL50r6//6/pcf
G/JBpj0w3yTpg6nvXMJhGP3drL51yFQfF0IwwAdEMT3enLuxo8rp6mOcpXM7XYQ3D+qoYdTswo65
y+ZjIOrIs64G3ZWPcVnZB/sgD0p6QbPjS3Aw/OlY2E9uQ00hn2/aSCWwCNukpRgCH8QMyw7E3zkJ
/2x3SyZVii4pnIxCinFFO3F++eajOYkjmL9hJVu72wda9bYKH44A3v/+/PaHslz/voOYnYK7hHVt
vfv1t/c//vrLu4Ashwdm/Nzlus6IE6Swp3Ds8SnYNx1do8+v3u+xbUXS5u+bCese2uybHygGhVgv
wNgeV4xql4HX5r5+HrT9giCtAZkSMMqD6Cu7mYNrmoUnEDoajdAg7N0Z2Kkq1E2Z3mX6OZnvRP11
fG9yEvdZvPqwJ9sFbVmpzGZHkoV0JCXnRCkikRRynGIVv4DPXTOdIFzB/xoz5IziYmzWxes6dvkg
MNTqU+er7GlHvpTA0zeWa4iFcnUNPyX3hcmClq/TVfUTSfT8krmQzZqPMeQq5FuNKq1Bw/nUE41k
UJY3qgzDCed0VHoT/+Ifspl7MjjDLUfYCHkpQYcH/asrXUQPuelIwdF2VYmfNXaoSdCsLmBkTDCB
VctgXBEBDVH/WXneAolUcvjFAjwX7bHy3iujU2Vgd5+bnuVlWg2dsXqifWqxHWbBmGBUMqGwdkZS
MHEsqSmHy840J0xen/mbyG746kb80kmDpaIYc0aw4CwYJUVw3WSNvmofYPvF9J+hbiVcjXB6yOvO
V2uJL79N2Hh6mVq6eWTI/hqNsJKYUbAj3EGbqy/R74i2KZ9Ei8gYTQzYNcq3gnvMgvZ+Ya2xwFgi
3cfSTwNMHnDt1U2ULSUQXITUBYpogjjstqQBuihD40qmCJdaKoCWbEKNb66dx33xZJSlK6vJlb3q
ULznr93F6zjGWAsCH325D4EOusmEXDxyLSY+Aqx9LHKdPAeE+maeZPGTOSc0JSZBrBRRHHBeG5OI
t7KpnnJ1Xm5dlVVvN9mdaVT6+vXr51/5tYIN7yKIBnUA4ijgDZ4IwvX0FF2Fv/mZlcHtkzows/zS
1cPrVb6Kks8poEM4UHw614/yUZIfKmwACgmNKFOKX92e3ycYcztogigphZYCfjmdEG+BLzThrC/T
YVE3UVpQLMC99dcz6N9o2/tO6TQU+rlz2lOROyT+AX8RVeThwsVUscBS4N37t1fXBS17YwquLkEM
kwl1Y7hXnFm0ylvTeFw4EqlLT+KS/72SCEwrqsE0cCVH6gUOH9zQRBAhENN6su1y4fnOzXB1xqkQ
dPxigiBq6AJto0Q8qCWQkksFu8XHoeDveQQu9eUld1X8DSrqGKWYYAlXUbOJ9qJ1vYesHYO1pF5Y
J9Jf1iBgn5eZAfW7zvgT0r+nrz4fPa4KV3RCG02PO8xxxOt1tft78hw7kRAd8LTDyOLLc3cl4iDX
3d6C4kHZSLRC4KoAAiEj9HaEDH4ygTXlkgkWsnfRIZJCiHOupcAoBDe7T/XUqQWynd2CIheP7dQo
1vZGqKKO1Nk8n22X5oz3HZBlvjHt5XGW5Z/sqkWSkKqFEXBukJZKINI3a+74LrKOPEfnmhz0d5zt
99xa9tRpVF0nOU9X8axMP8K2ZHmx3TR06csedtKd5yqYFpIgKbXwMlF+NMXysgO2rY+qzl+r2aa4
tVPRyYPt44IwCnn0YHCUBLQgBCEj5K09y8FRh9GBU1Jd/KpK5rzZyK5q8VXvwq9D1H+1h72OLVNW
+fVv4q8iKpOKJGv/2P0r4B189Vdxpk+7TU3yJeYg5FogDMZrrOIMv5rPYW+p0FgywiQlbqsIxlb9
Ru/u407XcCZ344/0tf9UaWEox5ASfJzysHAmece7YY7IWi7E/WH8HoJBBwUTjnTzfZbf75lPmvta
pRCuQj9WoEE5Dgk0NBFIIK6VQjfZxB76pDtpvFYvulfsz6WlQcpEXyUaq6QnnKpr0T2t8QWhXEni
PC7jWhK7clz0ibG4K2wSnAIUYaRzA5bX7vX+kPt535sJrfAQw1IHM36oGBp2X+z4GqrIhnm8XfkH
hd9IaUkVwYrLyRF1+Fq0UhSZJiiBNHdRM3Qjy4ZbrLmknCN6i7wV1ynXHcFaO18JRz2CCfYLf0BG
uklhY3f9f+etEBiF9WokAV0OcjDGiPdAHs4VtmDXSmCbYKn82YJkuS6f7OM+eEhTTzCinCgsBA5R
NORNPFqigMY3g6+2mSUI2I0muZMUVideSdw621Y5jxbAd61eulb6T9+M1SdROqAkMo0poVS39ua5
rATyLHpDbQYJGSDgigmMMJNKyJvnYPCGKZEGJwlTTCUKOMJ9+tuEBMFYEiWV96iqZ5hxwcg3zJIm
7oKJdat5w+QwRtWg5xybyLMnntcqdps+wrw1phEpqaZUSNxTSZmqg2HIxZdwNRuKN72mFXZGRl2O
XYfMkoMuoZozSYXi/pzanWSMcNLnaqSaEmhXJGi4InluFTfcP5vEdLraOAY5CWkzhECEMwq+K+8e
gqzPzL8r0XEbu05T9YaoOWFaKIEVEv4QtY+LcosiC5CZaK0k1rQ/GpyCPXKXZeRUcSwZomxU8zxK
Xf+zSDYOTyM6ZIZPEUUFo4Y3lY4hjg3OyfCqbsv408YJeRaSbIT7ZHjqYXz5+qmqqco+JoWBQlab
jAXp+4CDVeXLdVwUX/21fjgfwYdDoi1hCKOw1AQr/5fYnRD5i1JRZRS95HxMzoceI7K8pRMkJtTQ
3WDKBiqWqQcuQIFqjiThCg2S/YmvUwgiK5yIiLgWbN9SIEpgRhQmhBOOQyC06WQ6jGeCWcjYjZIm
H2kCqIKN4sTfiIQSSTUDQZXsRkOlDpshNLxjMDVYBnSnpr5LYI0pZbBNSn/RNkprQPIgDJQhOioO
9bMvLR0boLJtLRs0aCBJCqoR2E1KvIPeMQtFnhuQ4u08zaOP6TzJOxRnYuwwzfJsn98U2/tlWpp0
/WGA4e5d9TLsjvkOfDD2Hj4s8ro7FT69f4K/Yviz/zevzLks0iSb47tfkk/VT2+W8MG8br7a5Oar
bZFsXn6U3L3axLAND5t8u8Z3i2QZZ8krONTZh/v8M7nLV6+KJIPfvv+BNK4fFG+SGN/9DLfLXLT2
x/0H+c6s5DGdmaUUj/k2q1aQVO++uqLz6geSlflQv1xuN+arMjd/PaYFfDDjn796tV/vD/F6DRI9
vys326QXxxJzMSbrgtgIMU433YEwW+NSMmhlAXhUTJr2A8rGzN6MHBW8zLuOMVNhe52QFAopQtmY
yYGpAw3MOMeUEEN6Osq+3EZnomCMEsk5EmL8MOCNbBHsjZCSED5qS5VDbGQ02M81MdVBVXWymhfR
aptlLQNOQI+4L3w4ToxXicAyr5Lj9jh8yJYZwRER4J9Iqga7q6HqYp+NF+zyfl7PSdiI9EloWx9W
5uuoZSgQEUFqLoPWPCDwbcGXp6hzxs5a0OoU1Hg7sKsKYiqn2PrQkClWSgVGmgkFf4LlxqZuFpnm
mHMmOOciGJfW8PSZ3UYmWfox2ZjJX3N737pS5EZKx9sdGXu1KXK0j4cmaPbxPPpFg/ZKKyUp5owJ
xHggqsoz+e1Dj2Tf8QpW7dhIo6yNgoEOYeH6XBTfbOcpqLvX8Wr2CDrdYMt5vow+wfeTigTMCJ+d
LIHo/hM81nW9WFSNkdm9aKtppQr12taDlZ3MsHtZ3XaVFLN4ncyf11lPmjsLCfS4uNZJJaTXpBJ/
wXvOCAPHmmk5wYbyF0nJH2A9RbRIV2nxCKc1i7OsGfCIEe5DlK6ydJVEiWFIqb0wUwHVNIvDmQC3
v6mKPME+6NKVTUhXH+Msne/5AsvHTf6pAAE3Z7+/P2eDRJW6ZgfairzerGNQhU5KvVzSksIVwuAi
4NHGXlxtbnwXtu0v6zNAqWLfsLIX4dzExaP1xioeNPBNQf9pQZEaaSDBOdSFm5av5tdt81l0oGHD
+82IYU0DbEwy9Kvlmh2dofg3EjQ0rLFSVEjBpk8hcXEnsSaKuf7FRuSiARZg2GxgIeUQhbLMP+7J
QUuwOg/JpojWptrYbm4RcRRZqV2sipLyTfX5H7+/vSu2IBFFAU+ymro+teW1vTOXNVpuszJdZ0m0
iJdp9hQtYN8X8czemq7YEFQKC3lcpBlcraKYFCrFynD9MaRlH7bVkYaBDA1XtI4thpcik5vfCX0L
SRJywgB9yrN9FQk0GQAWinRphL3Y3jcTr/YhYNjdqARk7vssMUv7xVzlNdwkfDKAoYoGDSKyvqQb
n6V/VqwPdOQbo6bvHEsElS45wWsxiCuFdx794ThowQJTmCts6p+uL366cSXxvGG5SQmd2F4vckXk
oLTPlVOKvSwhcuQA/xV/jHeMVqbYCXRjmu2zsc2JWKnJePDLy/4pzhyNddiPcWiZECPJgIhbFVE0
ABG+aLUtog/ObrEt5KvPNsreQTn40eY0cJcRMXscLCzjnhAMfH1wriY02vJyGIdflTU4VE6HCQSj
nhrSB0gPEI5ummUnGS9vzs60RYKSVyBwNyg2oyknO1qoK57gnTUWbYjXXicTw6x9DzvNO1gZUwH8
f1nrGDJKPIh+t5CIZKLvQYIRiGsRiVdPUQkyaiWKH7S4Il7N7/PPcHMfE3jBwMx0lZZpnL0MZWoY
1KKQd33Srki6hZN5a3i8KJ+ypHhMEsMjMI+WKchVtdPnJ6kn1BXYxVjsrsd2FS8WyaxM5tH9kyFL
gAXGD/YawiGS9LK8HWQx1TWbmZ3nMGShoKZSSvijObrJGRN99VS6+stkD9KlQY9nTj4W5KZMwbOK
3CTVsvYqMqr8jk0KLy3zud3B6TTLwpM56CT7/MpUgsBSksnpwsGOxgHI/eP3t/YSqB6g1l1ZBUgS
k5xpQW6/n30AQrDCEsIDngzVtZqXktPxmQl9nou77As2UwgoR+PwTnuunu2LM624ktOA5yIBBUqF
FOOKjjrMl/+LU2E4vj7JsFnhh0S3h7TmSZbAgdfIfg5PXj3AQ+L5U1GCIMweYat3XbAPsyhe/D97
V97jNo7lv8r+49R0Y5QSSZ09MBo5pxub6Q46PYsBFouGbMtldWTJkeQ6ZrHffflIyZdIWaYoy04K
CCpVdpUpku/4vbsIs7KYm0X1A2G3XA8Nh8NsQjrjpVZnslMf3P5kHN/vrrEpQZaWGHON5GV8j1vW
qyCTKG7HU1j7ubj+oovrj9vsbCqq0G2MOvMJn7yR3t0r5CnZvY3d8CzsYcfvPJin5bCDPv2+R2Ri
heDZNPVy+gpMZWaVnFWVV/nU6qMx7HblLA0F+dj3e9QH5SmwsGn5/XjvREDK8J+3zuVafYCnUy5v
wMI0TT9HQl+FjRxNcIUP4WuIXGPk+FpkybF9MiVpzMIkErvrLfcc3gWhsLOcQbhPeAoWUooXtimH
aS6CwWhAwew5tmsjQlwTK9Rx94T/W0NgcTjcGVKs6RBhzymfZ3UrWpZnu45tu/7XMBKsN0nhUY1l
E9MjFrnGBjr2SQ3SINTRPFjRwwNehu0RH5vE83zLu8bhYfaQNbstVDmL2y6ycF4dh7QKkbQaoKfL
syF8gk6ZATX0CNa2UaQrcWGydUnmaRsw3LQd3Mm+OAV/NmVLYntIiHDJ+XuKwDHJjRVl3ZCu02Rn
E83mZVnBKxYSSMEHfeZklhPoWVyw0t11Jbw6gNr0ZNfhOD10EPheb0tqWEkjQvUsk7gOtrA5UEeO
SwfxX3OeaZ7HtyvABCyssU7yYB5uRkQJE77cIdM0LjzjS6+TBxxKxgYtQuDly3hE3sAr9AnhtfEN
eJ5+uL3d3MgPnmma8OEjEzV8/uZTb29G5F3tit0hrxibvk9xA6Yi6fQrHu7KGOeUGa71rktEjTV3
dLOMSeXgHWFTt8UilwsWHjLTAjmUbBwXW76FtCHNa/KgfFVQuyVs5HPYG80fy9WJwpfpLJrTFcN4
Lq7BcFBXNt9wNeP3qkWrWj+Qg4X4J/LQ0SwNcyNJC97lqtZKoKfg0ZHzI7any9fW3NR9mufqBbPP
6RLXnC7BmG0eZmFmEBOJXV5uvxJLvStEa0FV5rMFs5kYF2DUl1P7yNgGYj7bcZdt7F52YyYFpbPl
BSMvwpU4XQX1x/MnJOdgd5DoMnSj3qqx3nJnDnDORghzS6aGcVBfXvsDgsCSVLk+bfnKjmImvdSE
b2W/67Dd968m4aDTKK9I0BTZ8Xr3xs7n53PHlmvO0/RwTedMUkHcE83VY72LqKbRWYH0h7w3YYyG
qLdt2j1gIN6KTgyDPOsC5K3WvMTjYq9szSdVhch1dDuNGjvtKsW4VYw+uZPAt/U/wSSFSLsQA5s9
ChXe51cuVJBNzkVdQr2qIlGfLeyrLEhQlo+fmFrSBzkroEn0W/vHlF0P1nBzMr4YzNqdSpB41Tbr
ZFVyOTTtyimCymDlWOjQsPvwovAn4atz4b68kzWmIL5abGe33XaWVxhJMOMA6TOBiMQEIm1MIHzo
5o3X9I7yXU4D0FH9uJ/ZwdA8cshl2gzH+AzaXxzJpPTxedAFb8UhbJDiXlZY2DxrWPi4GNlxM4gb
PukJRnRvnn/M47b91rgPsqeGSiBkIqRlU6yN4CeJGdfJySsE8mA1YnH7JtIfdzcrUcdXzpXeIY51
BjW0RhEtQ9EQKFMfC29ZrM25+l4fK1PUGcdPhv6MhQZmT5Mwy9KMXiggXGnZluv2QrVEP9W2Klov
DwIwCpgpDLT/ka2T8VOYvzjq+jsKoau7ezHNV+NyLYqJqBq4SeiB39R0kWLI7D7MWOA2j40wCSZx
OBOlMRK9gOvHeRDFIrvExv2zo4Rg9MfNOFw74hmzrMtP8ZXyXs8n2YzL+PGKH0G7f7U/gdpoEFHp
0kw/jm12F+YQ1xPIcy7TjAndeAC9pP4taQ6N0Pmkg24ipmBhCeHTmHKT2JdMLBWUyts/31aT0XIj
gEA6/Qn8akllYLNQRfgozLpzPe8cFiK2hgxJuyZykeWavmUqFFFeUJKeSzyEIa8VIXnJLIuUv2G2
Q5+bOmRvJjaBp2BUH7Aac1+yV3LIQwNjTezo0Q/9KyTTaNkTW53jdqRKO94z5lGWN6Ta+iq9VdSf
plhEWVPbf++sZ8MnoTXkIXtKMSXl50nXxWrdcFmYuB11URCHWcF4QxA9tc+DbBqaKSPzOcryjURZ
8kWwqnwlILYlsyR87TL6cZEdd87Yrt+3hV1qiDaZNO3M6U1AgRnVLCJF7/P7EXkNBLH5FamNrYIE
d57hy5qSK9XwL1fJXS1hgSKgFh+OZR/OZjcHCeQ90X0xqJLQwxu/fHnL/8EBssbE+e3jMoafspBC
l7y4Bc8YlasHLxvly+CCYJ/5Ps3GhH/7qhibL6Dx8AHAqXUxPEEUn3JO3SQ856iyzd5urhCM3ysP
TPI0LxjNiFi97QUqh1T3Cbimhu3BD2UexLnuU5HoTLmkooo0maUP4pFPQxTxKSf/CaM0SF9QmY97
F8eU7T7dGSBZjw8n6lQvIjL1xTvVVRXS4lixaz/bp/ye7u/4xmYlusmjf0syqhzznOaFID7kX1SI
V11y9Jnuw7jYWFD0QW0nQTAEwFaZziGDVt3KVro8YJLuRlh0P+KZ05TPGR34qntwgIjaa7QUPDGB
OPsA0l2tZtMZIGveaaEhoe30tmo0DoPPjd03EcHDy+Supy2bF276jeLeOY6jkySdgrS5j6bUghKn
NShc3B493mVhmHxiGPwlfadWGW2pLaBVJzstvRpG+LhiffmF99Fu3pHTBYsKnRsqzLWZdwrd14x0
wgYeVc9CtwkFclKesn1Fmp5RtuKMS5evbk98lpapDe3CYiJtwg7PVj875uQtr40PimKe0UmUQNoV
fTNMcukZ+qb6wjtAiq31NiiCl3lUPNZKd3xHYZmhxd8Z9Jmm7BmKxzQnz5zu5/Oc/iW0ipqRWxUR
PZAMBgbSwzyYNn2Kqn/BU4CMOZT1sN+mNiSzT/ipUcuCxUf+8qlgNTDgXX+zCLI36Sz8i/loe3+l
Xwj78t13f6N/drv5OyVfqlSJZNNZOqVck1QuK/mkDNyqc4eyCknvwyyLZvRIZ+E8oAJRmrVuOf0B
NpacnYkLg3xbAQ+cSe4f3iiMBSwrnujlwvaO3697Emar+2xEI9pPOe4X6yyuJBbL2l1QU6uNyV7j
XAH3jbCjyn8y9lOU77uOxHW+4ChnvZrR//JG+sOuf4UKs7UAaOqo52JTE+vxlI2mYyYm7lFpLynL
R6t4UwHFRlwKAuStihCPCgE2w3BLVdCNl3XkFcZAHWRrs3carZF2HqCm2+SUQm8KPICRRE145zUP
4xS6QKhZu5sLWjF6oWDijknTwxsivjYNtDnCQzcWpoKGaFomXzOtI/MSuK7XA5WLO2c7fV9WLSHQ
7xGb6sSXjfDS9rSxKhN4QslDnK9PszXaaSAdswiGBAUxD/i+OOJK3wAiuGb8fvPp7Pst/hqR9xRF
jchbwFEj8oq+Tf9t/pi+AniKvlQ9Pf1W+PwHa+TSAipLDxgvdYg8QY5YnWAxJxbOK6Cf4jTNId2I
2W2xUb4vxB5KfgrpnHhQwbWn4TMGWjxMN5+hULYkqwWPic6qINq0kgYhFyK3//r06RbM0OlGToQK
gzZFyIHPVohm3D21CpMZH75QPpzwPmzUVbHTn4x1HoKlCWqDsk5dvROMeqE3ebWFa+shNFaCUHWb
2KG6sowmyJ+SqXrBSRte5nPPogQ8txIvY7sxUYJbLKDcIJilq+IXqsyMaRbkC6G1bno6yASWE1AH
0maQcK0YsuxR9v0/f/swlsIztrbvPGvLZm25ebyvSVvKZcpDOMm/xGKZogDl6XK3QZ5Hd4mxCqhY
ZrI5DpmD38hjCcNhnzwbJ4p6v+ECEVa7wJ1M/J2rjAOmYYUSuRNxHnXvQEdjvnG6X0lb2c4UtDU2
eK8XcbKaqYcl0nVxnCsgCXCIEIVQB7/gRRn8vcpiXIYF1B2w3iThl3V0TyUm/hQWBk9goz/Qd8vr
hbe2i/xOV+e/NH7/6ucP/Ddv60YkMdHFSga5dIU0n+SuWLS0Eoh7DWJpl0IAORkPiygOjTJ6a1Cy
KpF4QPGxuDBIkXug+THP1Ku5SlyVwMrQgGZfxm52R7+pOe26HZgxf5gJPhY7vRF7g4mCu24GC7ZC
8EVEyWUxJ6UWE2VYHLSelrA4O0QKVp+MSRbQVY0wnwYriSq3bVObIgX10BSaISph4X3mYVdEX2Iu
7y/j//0/DfQBK7AjovRMLy8S95RHpLN/U6Ca9s+spqdIJ4fSiUALawNacKIMe0D+1e0qo99vSf/H
EUxEIci1vRF5rUECthRVDcCZmH3frFA9OurcEN+HlFanaekDk7dSQMTztTC4MX2axh3GwlygTl4X
c49hdOHBWZ6th/JHb9HIs0ZvzdFrk3312dfXjBfeu6N39uidPx69ezN6945+d1h97mqmTX6RBqpL
G0uB+ShXBdl0Qalv35mYF09xmC/CsJD73YjbzW+6WYHBhSZesy2rn1PEwlPsnhvTIr9lD1F+gsM4
wEuXmVTo9QyXuuWSS46Sp6Ge8tk7fHHQYBCucoc9BCuhs3B8+yIl+dbAqQAlFKwUujEUg5CKz6hK
FV4n8yiJ8gUzr1kx1/QztFEpQ4Erltle6Q+xLdxZjpZnydZPUj6tmvcwkNZtOCqBSCHlSA6a0s6P
SKUz1oVp41P3jDXs+dQ1yQBrOudfUwc1KRogRNZ5WkOJARMRzF/FunNVXqx8Pdk06tJlsZ56ydYA
hGXrvGYIfvKMPnbApVCG4QVFQytnD+u2p+VdtSxXT3xmu8m93dWDvhbWE5+A68vD7P5Ivq/l2Lpz
PQ78uwBK02RKGfjzmKd6oO8EdTpKlDunYuJ2XiocA37a9zVLmj5jLXiCNbKotq0ELLSTMV1/kzjI
kpDrRoavzyqUUxXSVT4xC4rAoCZNbjyk2WexD8HRwy9wdkEyS5ewnnEfZvk6N5aUWaGFOFyquKUT
0uYBYotXj3P4s+ayr90jpjt+oC+Gxj9/+yBOcsY9bRGJ5znoDWXW9/djL0msyPu2EmZEFnu+b7Jb
FunTZHeviPNaLWyrzjepa8a7mH6E+RJDj/nZx+gxjPPXwexVdifURZ6NdQuTKEnC7Kff//FBPA7E
7LqrbTti3sg+me6y0Z+5UWHY/QwpNlfbRVdEOeJt01c/R4XB3uRbpUIrCWGwRl535Ju9ydT9a+aS
lXe+p6w7vgkm6br4YRIHyecb+lrZrJq+3lrm3mgSta3uz+uFAXfu7C7+Ay7rD2jUtk+7FGeEt/N1
whJp8nZsa3keOd/DrZNI6HN0zv4QdRL3ke19DTx9bPeFqNMtIU6nct5WzhZtHpZWh25pYsRmHVWV
0x/vcIetXr0cjZWMrs4iL0pLizRjJo7gHJiVziU5leOQsRfNRuTtCGP+dx+i5DPPwIPAGX9nhAl/
qTTyy98HAT/CnjnCPrxN3r3hb765DeoS3XLNrw3L+T2oEor8fwZywW9lwMqzrsocHdj8abVx3Csm
OBd87Y5IjhMfQj4xn22yfneplCFQtgDGnqhLs4c9cl4HzxU6zC51ypjuFNBWJ+1c+7We1Rj8NnZ5
gjVRBBkfYVVOdBKbFqZGxA1t0tmCdOuBZAyZaeOv7W4d3Xd77FwFFQTE0x1Ara0qCKKa5HnVK4xA
bQzRP4P7oBQZkqiURQa1iscSmxhe3z78DyfElvoxkk8jL2MaZVNhDiPu3Gv36Kqiqh3L74m2zX7M
80/ryTELXUXNfKOhjwtILuxuNB8nCYQdBz1bYB0WJt/ELp3zQPXTjdqewv7f64j4n/4gNe60ntnl
W/bAfxu7PGa/8yzHOAJkEWQ5pECLG2zYiqULOeRyF+XUu8XTJCqne1Ltvj8SRtSH6Rp7+w1GVxVC
bIEZOTUpZao2rJLmwr5F5JrclbxwtjQc5Q1ibb8vG1mcqtk8AcvtkOmzt24/KZStLsVtITkmwYyJ
i3wRfG5o3+a0sqhbHFq4nFBJAYnvU+gXFxT0JCbrAqo8hU2Quix7xAfXPKLFa1Um77al+4YGSI7O
u8zXEyqb0iKdpnE1bwn6Wonn7HroonrHVVPV9rDtXjO4zcOWzeAorG79PA2d4JBSbce5taISDYTL
lbjZhqWy5j6Bp3yxsqOarFdsuw7uSptLUmigOY0iIdTxsB6ZpdTx64ig482+2C+xfl6zcFwrQ59H
zDcSxC/zhznMI4eJL5yE+fiIcRA/BE851Q+gLPiHCXQF7njP+3MyNjfO9g+jNtlPGgj6lGMUawvU
z06r0U38xh+L8fsgihUGhsr2y8ZDFRnURTEFxfs7CHnJs7sc7Fm6fTI/x2VI7FZChQ/hAkoWShGi
IkUGVg062FcFHe/ul02Fyzn02h/AzYbFhhSRQMHjNF0nxfhw/C62tSnELP0cJgb0oREioCMjxjXu
lHP1GOnYqpLU+hjUo0bn3vzfptTahA5gVJL0cBT7BxA1YBKiib6g2pJu8nYap3lYKqkEcpaDXGx5
eqRvfRwJOdrXxVDr+Tykl/hqCZxrBPMCSmjZ7qk8m6zzJ7HiIp5mg7sbDpOhMKij/YEND4dfGJEJ
TKB2rL9+/OmXP6fL+GH21l5M/v5fT7M3d4//+fvD/RT/8hT867X58W48PgbE7A6q+z6ahSlzCIVV
TlDZBooZ7ULz2Ub+KWcOQwPz9XRxkPrIoqHY1swvOzJEyDn12g3s+dcJ7wZGXd8PCbmOseTWQSHu
ueBdi6xsy6hCjIlOko0HQ5+n6XIVQDnjqjY0w3OQMyS46Lb0KobWqmwgHwhhI6Kg+S4Qt5c0kebF
pEtB25GhFdkB1+yrsYRez/iGdw2GUlJG5zfBakU5ne/20SiLYlmQIQkL1pn1pipFPZJ9LdzIbL1c
PjE/hWnfHNGDnnPFwpS+S/8NKVIl7HlIwEwmCMf9Yd1ifCcHcZ3FEvinjz9bTefs5Pw7IbIrBl6O
2fVe6QmHvAEe3zQjSXH8gPSO7CUz/CxtxCveriEMmyPH0hUxmcYRxMule0QId8OcOahKSJblOINN
U2awQIIELMcfWLkIeHlfvTAVUUvcnaXTNUjYlzy29t0xHWCiXuxvirLShJ5zzppKyU7ZtXWJXdav
4WXxWCgMYDtJxCYwWlIOk7vth95kGsec8TjXb8ePgJSl+11AfOcObtiImP9mHtFfw2KmsS/KWhJE
FU3/cqKKXYxmAbnXnsK1PW3SEtachHOQ1ekqFLu3VNBdw3ItPGoE23Zf0oS/oD58o+PtlsvXSct0
h7ZC9iXSuUyQkWm2sUKuywQ5Pe+BWyHwz/QHNkcaqUSorWwFaL4MZ1FQ+Va4L0LcslK7Y38zIj5f
T6rEA3EyDUG9CQTxQ9Qv0DPt6yXs7wem5AYtJO13gyjaGVYQX5wH6Kjs1SRk5sH6saRGJE4H8TXz
Y5LuwC0YwPGUTCkQ0pY20ECAaWKUgD2k1/XQmNuKMNKFwQ4hCX2MdcIcwfLYqmNdvnLlbSAg5rfI
0iV0laKL5lDCWq3EJJQ5Iq+vwBiQ0eWfghpzHeqRlxf8sQxWAtMX+UQ35ZckB1YAtT2moXE3FdO9
a6s3x2Y964NFuNy0xK7n4iBseQqeverGWJ5XNVJK7LV00XnclkScEuoMostqkpyrsxHGZQI8q/jm
jqYRdqMkSad0n2XInr7SmCzvdcmY421Dyw500GpyvxsdS8mEwWcswXyb2iI0Uwl21Glnp6qWvcLp
KJzxJCpI8A6L8ec08oyshkuJjmUfFxkIx1Wa8Fb1tSbt/eytNtHA75iyFEzKa9u7L8GGMLawdqSC
9SGVYW7ocJFm2lPJyB1wY1/WYfbEcwXZ8Ev4cQyT5Pz3bMIcny3nsa+YfbXZ64ezcmzzWo+a2pdH
eZCY1td54L1tftd7UW5ZHCdFyLV711Zi5YT6gm0sTEsPlEFTCkBklrRldlCP5b1VYaiqxKs6GaED
17O0qRLo1KVPh4gQPpSrUQQHh1fvVWKdy95re5mu3f0uo+UqzYpPTG2Km3q7OjHH/nI108l2e8go
6Mm1ptFkPYFB2p2sMYtYlkFS/MqrXGrLqpioJ4/41PGwx9uMXtAJtdUR1aS4JD1ai0R8d2hzEe+Z
i25lLrrdzMUL1QotlK0YU6hYwByy7M5VpZTCEAzjLOZihud4uVxZL5iDmb15S3/cW9/5D9yXkDb4
m0gUB0HaLTexx0TFpNd3tMjHnmX1fL5Y4EdUqVnXt20HuW4XZfwQJTPKniyokxvTOAyyhn6nHtGb
QMETGYwiTY04lUzeQ3oMGqjoANQYJEUNMnY5wGX0GM7ecGCxnQvHkoaKtMzdKwEjhYkMiUvDBb5p
dhS4iwDqz3auVJz2al9L1vGgEYeWkuGJbuvxHYwoEixs6yOt6ik4MZVjQYX0Jq/1s/Uq23VCjSBj
8wti01K3eILDlwmngTEY2WAwcNO/+e+HRVDQZ8/+56DpzelQzO8SSDyHfGiyWH9NOHuILs3sW/iW
coXKXXmc1kaWJpAEadvBVBaOtvxB5EEpFkXaVUmhtxOMoUQkqvRP6suoLRZZ+iAyZfugyby6kdaA
4MSSfPVNcwCvTVDLCm5cH1068tj82xY+nb3KyTunHPf0SJstcTegD3L68xzqleQ+iKOZLGjgeQpb
Pi5cdrO/PPPoGU3STJDV0FawePKAyeb5hLmkdufTbfp80qqlrddBKrbR1JbXYZc1ubjZr8Btgnuh
pLZqajthPMjuwkJNRTmNxdLcyQm5PvsD37fl0oOg6QMExR2a8Cq0/WKvS2Yi0feXYbFIZ+NHnnYZ
Jat1UeV85uvJMir232B+lkf6DZUp63B885HaF3lY/gX974k+Pv3v48+/vIRMzhdJWkTzp7dpEo4R
6JGHV/x5UC0w2p0V+X9cZf+SFr8vwkxcl2e2GnrjtcOu/IDBiTpZF4UMxJrquysWEbVPozg0ZmlI
kSlTxgY9WB7TEwT0VMQao/RZFtwZ6T0ojQpucd1RZoHJa+KIM4Te7IrS+9ZqIkyjqNPEoQLRnLmO
mUdDQUbI5x8SMsp9NpLu2wprPC5j2HAWflnTNW7/9Y8PP9Eff+M/vnuchitpVrZnup3XK+gdpevi
4GWjfNkIKAiTzcZtFRLxmi0d0B0z3n5THPW3Ou9wR1Un8yjh/ZTTlWI/70MKIbtYAKhEOgveM4np
9HxfglVtB6mi5brsAynL+utBym/Zqo1SxzK93ztKS+UoJRvdPdP9IUVcr6HLJhA1dhN0aDc1EmcW
Mu9vfRXb8freIhX/iagA1fHxVd3kV7PWIa/3xd8MTfIiM24zsXAtJYk4uqcY9m7KYB2QCIOUkTSQ
2cWAPqGgwRLrePOZcr72tcQghVm3v87F1iNGz8enYa0mV4nXo6tEaLDv+EyYv4O/RQ2U7V9sClvD
x2C5gumN6fJW7OR4v/2jmqNDBcT8P3vX3t6m0eU/jey3TbBhuLePn93EiRu3aZON0ybNPvsHkkYS
NRcVkC1/+50L6AIHhGCQUOs2iSUsMczMOb9z5lzXcHpN4bKkaJWqPdPlUYQqM52EOCZ0wEwyeb1V
7bkcKT/6jqXHGQ4kTJmLCso5KxXjjGawYc1WjdPSfw5x1tmNQ8y4Cpvu7cZgMU+eyJTCexd2LCkN
HEtgEas1SUgz7M1LsMlor/Cz81K5CdIyjFZrxSysdF9oDWdwM2SjvXpByIr6+CWcGXuqfTe2oQhX
gDurdknteYkzCo9kxfv44Q4obzvDo3uJHEOZWsf22A1G3mLMGyis9hvoXKbpjVSU9djZXpdvr9Jk
e2G0Dn3CKDFF7KzAa3mIRJOD/wanLCI4RZnGE7fnkHkUEhJMXLw7tlZXbVHLt1FpGVb6NaMHCuta
UOT11cw/J15dlZvSCqV9ov5se0qpPmQZLRmLZpcs4iT0M2J5gl1AmiBhzYpvYupm/wuXB6rJjeXP
knbvSSPQUryUPCeYLlja5ZRQf5zweopQTrtmCWKCMZ54tEJMVqLbn0tDNyF0F07gkzCy7T5Jp9Kk
trV4GsjWMX1MoEaTOnRHtK+5J5Xl4VjI7gBbywKDddUU4qLskFNrsI7veBQPwUxsRVY0sRs4Jlei
8GmVdP+ZdmSCKhzJajezTau8AZM1TVUo8ZQFK+pNTro1sCgLQ5g79G0CnzEUZFnCIgVrUa3ZxT5C
27ejrnNnygcs+M7c4B12xkR54EpI+imuiLB3WSW47XY4L4utbOXtCP6s+NvGLRv1rj3qgeic5k2d
9yL6leyl9Obtb7dv30iEY91psKr8Js3KevXqomKjaIVXlg/MOwrMIgxqEYYhULNeJK7nUogCVtJG
Wku9c8dy0vZQzqis4G/TmKyJ8+COWKdS7kqD7URNjcob0VZ8nAvyT7N8wj7cXnoIxpIfix2FFniT
Jg6vWrGupYpZQXNqVaC9JeC+10pHzEs7u4N0YHYifyvlLlKQ0SFjkalWMpaimY33NfJZqyWJiqi5
V2JlMDWlvR0KGgsoD9RKT+vsQEXLRLM/5TF8u2pN8ztshfz1XkKS3QrKYuptvVuSpwNXk72ui5HT
OfqgbTc3BDalkcAZUtP4Sp5nit+QR37Tz62MTblg/eoBV8Mwu1Qh6c1ow9c8CWAdx+y5AbyTsnh9
hw48icjxodzyazaxFtVAaqqtDyduAHcfU5AsAMviBe/Uyu2I0jiEV9bWOuJLmkC9biEDe7fkw8QN
6XDYktzUbcc3Me2EO14wn2uZRchQUEsMYsz6sUSnNNsrZSmhwC29BJE/Ay2WIxCE60LMcKmIdrtC
GM0hyh+t7rcuslThnVBbWUcrGICcL2lRjrETjT9W2CdMRTlAgCCv0dOZLATmWikW7fahFjR3bLsw
NQ/i2Evi59W/AgWVSoZGYTwwa3BPM012ZaW6nnh3NNBwZ7aPBc717+ZFrChcxqyUFaMiXuk49H0H
9rJZDaTiXzHvQ7Be7fQKEPOMVLP/LotcV4ubAxXkE2BFpKOnXyMv118kb3aoR2elWua2xXCArLuE
pQrTO1zPnOialQKx5KVuDdA1+aGuftj0Dy3tdlNWI0TRrW4weu4ks6rDgyhBxFoEVsigRlK8iQxQ
FU3WOzwUZQu6wxYgwJK0H1TXm/CHj59vP/x2VxHsVo6eLAeRHstwFF+9fCJL4r1cSnPCBMlLghYv
X5Jr7N0Zj1+Ac30LJY+3rSZkM8JgXCclOu1vsN2Ak+vGycxJpClNUh2SLZIeZzTcJk5cz1t1RQDr
GeoHolHFQral7kOjfdkuDVnCT6np0Xh3+13Dtg9F5jwbnazby4+/f35JZrHXIlmiwoFW5wi4VZdZ
l+3JJI61Fo0PO1Mc4MhJ0kAy1rKTLMWYcDcV0CWtKToSommvMmFCdIfGyvpE8oDgmDzMUzCCC0dr
HR54sjlXyzlDZP7cKgh6FEbxjuobdYl56MTuaLOQ7XY7HNFR/Yeawhk3YYOcu82d24NWfW+jkchV
Ei1wR/H8WQdewthDN3CiJ67XwGWQTM0+nd05nY2pA3rl7SkNQ+kOd/iw1S5ss++hF/mTMz009MXN
1C4Sp47aVn6GdjejcnZ2XweOyVpHPrYYO9EIriiDjHaFvxYxUWOmpe1CFE08ru6OvNfN7jiYr2U1
B3d2iggoJc8IuyZg/Jommnd2BfoIodYULb5kVQNhp5ouzJW3QUrlsllRrLZxTFkhXenBHSWuD5/5
ThHrB+oNa5A0UN/EzErYtxiDMZ64Aa7y2iCkqeLIiXCmh4NpMotLslpkcXi0PbdKHEIyUnolTTfg
a51dk4tVvfx6d3e5Ha9K3szJj9sJr3xHBSxmxfBmbsxq67GmqlS/DFhn5ZD88zMRv3dppxGZ3/k7
9hUc8B/0X/LotIreq7u7t28u6JBzyHatCkfzDa3Cc4N7EBks/SShAalOQG4e9Q0SUgIsKwArt7U1
8PtPwihtuFU6VK1WIPbuCU1xcvfHT2+yXmoVrZ5lu1MQkEZkN++ZWYeHqpRFM2HPd8dXnDzeE7Ln
7O+8cMdEkKwvv6CRJ+TKmkkIfWVeKZn5mt4yziX86hT5VTXRSbkeefTeobyP9k5C5smn8QPkRKiV
A2fvBYUU/6QwYDQEx8fsNaH+Wd9O6eGbmncOP2l67KQI+wPNkXoMo/F//7uWYRKGZPjhUZ53t/up
+MyrK+TTE8+dzhJm60uf/GjU/P1xl4BLi2OvQdVnMg/rkvbSuXeTHDpLnegy4fCvklLvhmp3xFT/
tN3ZG4AOoAo0g/pcMfXSmxQDCuu6D+o+ZnEEthIteODg57RU2zy4xd5u7CGGDRu1zjQ1kQd7POs2
jZYLaI2OBxbuxVOy4XYeyv4PsHcThoZeuvYscDpP2oW1qnAmKXf5OIS/0k9enXMzExA4+R8aNvmS
Rkuyf777jibiXNMvlRxiFUPbB7v3q6gvcLv+dc/YZ7LfoGCuQUmU6MHWdooQLar2JHmJIzGITedD
ENtjmiILdE+Ny6UV73WkngQRtFPW3I0+HmR9/BKXrK6Jltabim3uV1yHTdVUiZapKAt+VOo13+uj
HtWlN6xbLq3cLoCFa3lCarBwSqpkVclzuE4Mm8mR0pYjBPlfO+EGuPiU1bMdb8WUAjWynDwr18f4
B7MOWudzb0Hmd5612jp35nPCf7y2anZo5mlNAU7ikTPHaW0cVophdRs/fHDx+bodV5Ms7PHC958u
4scJvc9lWoEnfdyC/oeMbmG6LOjWQmYHTFcIhRogdPPq9v0P1K4xn+NgfD1zvTFz0L4gfyNMFhyv
rqHvflzFTg3D8dOFS9tdvPv86/u0m/GceoSTJ4/sDCsi8oip/eaHYeiNfxyFXhj9QCQ53dgbx/UW
Ueb6JVBd6wFSvzAZ68fLy1y+oq4bwpU3Vr9iZ2K7dWIqHCWCfLInMk5V5h/Fzd2Y31c2zbSCdFro
jQe0DZ8qRJJi2no78wEtlZBgf86qAjNNmr5guLp6rGv6VLcbD/X66R1/pKK5TZyJHlywqqU64NPv
ldJykCdHguIWsiKDPApWGs2coKQygq0+b/VRnly1xJxFa2+1otrHhD+eAgbDn1b3FMJruOyn/DZK
kxaPtb/y+UMkLITlN8LdmHkinpeVctP1U7QC0DhEN3YG6muqG9ApOjH2Xap6Br2J68kp5lkxFxaw
BblYLF24YpuuI4sZY5XgyzPqLUs+BfCv4Jyeg3/pkyPtX7HwX399+/ndhzc9e3rVEoO4XKLVM48r
imEcUvpmfVXBhNsdTQtyD5E/TyrqgeTn53QOQkTmRr8fgpCh57H6QZIzIXoCL17NmhJI5AnII86k
LH9Fclne5MQlH0OljR0PyszZ3h5q6Xoh+slv2D/UF8yNAzJlPGqUYorOkVUAgWbYKgFet7RQLf/4
VvqHCC1ZAI/BCY6GfThJ34q7RJ3ffTKCRK3pEl6SX9NFjJlTFlTjVK2l2hpjWmo6GzMt2ZFcbRjy
Ccv8FYdBoXBFl+orP8awRwRNF6p8iGk7SegP0Osl0CBi/8mDuW3kxD6OZ849pod3j+a4YSki10I/
KKk4qch6R3OnFZ3JpLcblrOtVjodEI/89PRaDIHsctz1qflY45IR84SlHGxodNihWcfsktXem5fy
ZbN4qnzaJG+VME8fgEE4q6Loz7Uz5qRkH74kb/cq/9l2/qxWen7qare7Da+3fhCJUcZcui5cCwVL
GhslUTC2cORm9UnBIq62IXywieN61KS6Lu1V4VwydbMf4QUVkn2nWpv24GkSEkAuEjU/68ZTqu82
CTWuPWHY+GZ2Rhi+s+Sp8nDhdA316RBY2uoO7MMguIhsZzvgxr6TjGbrGmgV7t9GtqHDd8Yt3Y9j
Jzp0i1YncPCuS5RhxAvyk4lVkKMsa2L2oEbvCN1Agqb7GEb3OGJtGuPFsKrcomUr3S5xLbksTjHI
Zr7VqnJzDYpcpqKOl6AO7MmqfPKwd9wqPc02iFDHThAwDVk4dY4wzfhyosh5Gi5ozwk4ONLo2gBb
UdkdLOe+1WP6AHXcze6AAdqEYmcB0xAUb7kKUUlbbnJnFR7DnhStSdpEfZonzBikj1GByrp1+pjU
h7jJPfalRClW7I4QiKhvQxB6lG6tPwLc0HuyOZtpYT9VGRlHVLJ3gAJQ5fPcGYaL5Ieh5wT32UE+
/UABPS2lS1pdzKcRgY5KAEEdY6cKZ/LIp3umF1+dqSsSmEeYJjKQXQjIQRC2ruiixTdDlZ1qk9zZ
pB+jMJjWURn1zgCtsATFXVeQ3UdQU0tBbReSmad7OupJAQyYvslDh4H3RPTB8N7FQIBwrbE0uTmE
gwBuWPsPuhdsPLj4sSwhUszIxaX9r5GHnehKKZQWETzXcqRgsy6SE6qDFrUegeEDmeUDr3TMAlrg
VitqpXO1lKD2dLpFcQyHK6BuRs8iBljwjO8E7oSsTXHsfwCUHdXWU5MWeS4IfRY3WPCAWUhJrXMA
2B9sSg9WsiEGUIWK5lLBDFdK2SWubbT/HJuE1u5FCDgYheOsbjacFCSr3WIxfAa1VbsbGQsWHm4i
W3uIPx3YdboUCZuBRmox0Egs1fGf0v6xdKZlCWY634nvV20PuDk5JopIycHNVNsxQhYyGtC2GTNn
HD4yR+U8CucJK15fr3yPuZd60BlwFUGk3sYC50HFbETdosVND8RMJbVuOArp0kbOiMwSjjrV65RV
7zeOHiiLUAhHp/VYKupMGZohVIpuN2JKndlUhaDOLbAtvNENjFc0DrM7h5q0fVhF0IJqH+YZisRl
oX/r7FUiZ6TTnHz/IPCA2VRHI5UjCv+dOMr1gdubT69+fZvpA/kCTgNkEI1/iXQirJClsHKmBeXx
GQ2eBcFpYuGGohPh6cJzor3PLHYDM3InWSOKjaxWuvFOCEke3RFmr7hJBw6gUdG/nBx7fYQVuXad
kLGhmCb6R6pYYHaQCTcGlp/l2WlMHhIlsROMh+ESV83SVLVnzeF59hdtLN8VJFfZLVRR9efVf579
M8Kf9IGFVnaeRWEQLmLajRSsem4q8jOdnY7lp1BXk3aZrbPPqqyc2tGnY3MXfFYFXGADhDaMXrRi
++UA6fKrPTIpaWnySn+Zgp7h/hQV+v1IDI6JV5VnbeM0PBWn5m84uJLBmICPHOSYoSS3VnnW8/Z6
hlzVOPJIkjOfx5eyrMArbNjd+L5j1597sOFCERRZwFsuElIa46XkxLE7hePmmhBRxTqyJjBAy4vO
zTHpkhbxQtNQjxUntZ7i1InWdEIRk6sHPaYUKSd7VMHRVishvTdBgVoSsruYreQA5TGVTkYaihmp
AigDZtaj/AVWcTdMofOCeyQ04cj8ICk+gnVQWekDmvHHAklLKRY18Y9UTBbaPFXoCCNgBF08eaTF
b+EqcMg0hO1eQbqNIuwkgHTT7Q7GrEs7XNYXDyWKUF5R4dIBTfzgwmYOCBTZNrvbfvKJ4pCaflpx
an0R4xVcHs5x/ui1q9MKjc/tr3pZ2yzXgXopFgXKDhaKts/y71c3HOL8Zt38mut3672Ec4qVni1z
wwYIu5dap8ymq13zO8jjqlCFSIONDZY4WT7ywhhW7WQkdCal5GKI36e5E5XkSGiydZhZnW5ujFgD
bDvvW+X+VoZW2EKpV4drNlod6HGMIUv0ZUUTYYyAh2yonatWLhTRjUebOaEpyXnhowIV1xC6SaXM
aPZI78pLaUDlWn+DsaOpEJWL/k9+mgP1dVZmcNWhmbeEYaUEC7qV3MXhh/e6ioGlbmDuZxQz9alE
d+KYTE0icr0s4asRfkPigsyRVWaNAofuR0J+fbEEDWJywymtlwuanAT6K1jssS7UBAfGtdqa1aEm
CnoPLKXhOvIhNFgXsiy14W1ZjX5613l+AyzjFGR3vCW8B+pNVvexn3Zvk4Mz0eDj9v6eDbqQhngS
RngRMKYau44XTiVWbJ1GdTsBmWRCY3fSBQgjdwq3v9R1ofO1StyEQtVPS/iiFgKfmE1jc43hXHBB
h61l7EmZWJMiPHYjPEouloABXOQxS5FLKp8rrVeRVwsmcwpKfLj90Ux2ayM8E/E/Ob3jOzFlCSp2
p1SvUwVFbxOtjCWBAKQXF3BC6wCwCJk0Ai1DVoXK8ZA/1U+vf2HVH2ANrIF43CxGm64szUYiVHe1
o4vL+puJE01xHgxUGe0X4nlolCsnazCQxDBNoWMw1iE3FiQjjq3mZDaKXuo4Cuo0TGdLNmYf+MCh
YQmllrRTuNNGoxx7QXOyUAOhggST6uZUJp6TEBKh4Kp6+AF7UkDGom8549MOLvRdRjMgZ+pCVQ7Y
V6naenuVg4y0Tj+iYMaFSpjMcFQRJ4c07ZjKCCR6zuirGCdX5GpOM+Efvxpcmx/qKCiV/ifZ6EKI
Et6JH6ZlDb+0VpW+DgK/57GHJ+d9879uwiCEe4bSkVII6YK1nBdKvUnlrFHVxx9z/3E71sGarwO0
6OWLUdyEWoJO6atC2hGO5tAn7VTzMOVYuOo2A0Aqx1C5gJpbfcrYG3a3ApiafcK10tYDsF45kO3v
WYgD/XNQ5GsGEiAAWu2Gy9ETWTKCgKwaCyvGwpQlOMJArXXubwEDEPcjtcWYe9SHsGCjodlyb/GD
A+dsGLYiaDH5IAiO6a9OFax/exV2MzS6ezkSrkiScv7fNDaJk+cVizLKd1+Uq3sryg34kvAbrSGP
o8vxwp+/ij8TCr0ckTWIkycPxzOMIXmtNtETwKE2nLbbgxZ7tKMucAAkIlM8C4qG/LGTONxukL4q
6009UF8PnRgb2gBdj/2bp9t3P3sj9Y94fP3Kvv3p08Of6h/Jty+6/N4fe+O3f8TfvijeMPh0jX/3
7n+5Hj99+/qbMnz3P8Evn5Ps9eKb7z2N1E9vnJ+8+Nu1vhiiT94f/k08/vL79OPd69Xn/vz6SR75
njv++skbPenBt6+fPvxJ7v/trSd/+yKHP6ufPEzvfaejP78slW+fiRR7U6A1VRCt4aXLD8lJhHFW
eFQaRU48A2hcE8VNvFJyWW8KsXiyl2a1wQFFMzkDoQICXd68un1/uQ1DVLnYdSBFwuEirT89wx7h
HWD7bEMQWvhTooIy5+oOM7LcJ9CAz7/YY+ffZ8ioS2++k8x8D5KAhiZoCHLqgO5vmceBhjJyB0xX
/nQVUi0r7LzFvlfbhgWghLApK/kgFE0Tjwc0nDegtskyUFBrZdEq/fRJUDPBM1jswcks3IpZKJZA
HLV+mGOd3bz9Vq05em5wD+FVdWPjg+BVkR0LQHWtDl5pG1DFsYmGIaa/MQFgMgVqaXycAjiJ0jVX
F6UUrqXRXEG6AtlVFEs8ItIUhld317e3bHwkjfHEWXhJdZl9vf/Hra3g8u+3AfJoNrWaFLBIJha4
/4boISHcsyytI2DYJi6cWlAYu79IE71k8vfFSi1B6HJgyZdZxHFRJWGZXQLOEWmyLBGV9JQUel6c
OAmWnElCW70QUpLw3wv3QYrwhMxttmqsJ7ljahecuCXVFTXDFreWslAN6chseOgiO+1gEbY1m50T
WvMGUUqzljug1cM2TFHAE3vVdkpkiJqcR5sEZ3l75bV3ZfF2UTJJ8HxonCa3fn9MPi3f2ox4KxpA
W/rRNVwIR856IvRgDl1AxIss1Fc5Vmvh66m1miyIQH0ylEuLThBuCXjbNRhY7SYn2dijfxMpiZwg
pmVAeQzZRiz12I1p0z3QRaojs9mYWwBXa3SAjjTlYIMXHLXIPlF96fvDJcR2p9yfE1A730A5swzd
zDyTKAIP82/RwEKDV9cFCDK6hiA4Je0woQNwegktNtdEaDTPzOyXNAaEcU+I9Gbwmvx5I5RID4Nf
gDm6t2e8JHJH90/w0U5tE9DHwt+cgBysyMJ5lBN415uLi0v+h3JQqi/k+Ckhyx0uktxlKb1MFuaM
3fOGUKd8YfA3r5Ir+Yx2Pf5Mm+nQZseXc4+QaYPE6KM6NrZoR9NUQjsVvg7yAUow6RORl+Azkuu1
6KsHzrsNcsxbwamv7nzbAl6r8BHgsbNPxGNHNQqm241C33fA450hH0R4jjFhw5GTlNQ0apKrncuX
UKOxxJNCtpLBCjkh89k8r9I2scQXE0Qn4SLIVU5mG6raDe++ajqdGpj4svLAHbBngdZuoAjzgix0
uch4o9AjW5g1uy6UFWri2YOz9srGJcQzhVNclOMBDcBSZyNvkZDvX71kkDNaQ85yMzwAof/9v7O/
UQo9CjdBjPL8aPdROyHyMXyk8El0P3x+oFMU2mcXl41gFFUXvcFE+3BoxXZpOYNdE7Xy12tMxA08
N8ASga8gkd59/vU9j5R24QA6TZUbTs71CUtlsd+UBqgOH8Bcphim3mJ2G3VTIowDpBNxKl/Mg2le
6W81SmckH86ZwYkSfbo5/C69pP59MKya0iClaY1gtHexbfKfimxlL5T0haJlLwz+QpPTn3b6U9k/
/gl1r03VGGLDOEZDQbZXbuUhKTNR6KbSRxqfsztJ5K55oxleOrwgY+iTd/xzBz2F1gOvIKzCL6Qo
rUZijVdZjygWYzNP4L6TlvCthRRo3/GoqZZM3McJqMobRJXvBlGkEXmse3YY54VQGIl5vju+cgLy
weg9YQmOHM4LdzxQ36wvv5hFeEKupI3PZfaf4aRvjRQ6lqZRuKJmV7IXJsqu2NkVOXuRIs9SLdzZ
GGUv9Px9Vt9CVvb17Fty9mFWjY3CKY30dorwpdXK4axWNMrIrXhUUS2jVvxKa0SjphbY82GorZiK
iRKQkTT7IIxEMCPGvktOGfDJRrPaa45E9LDZ5naQSaRmO5gbgILehl8MopRWu+QG80Ui0b7SUvj/
7D1pb9tIln+lZwDFm+mhzari2YAROImDzHZ2E8Rp9GK/LCiJsplQpIakHKt//dZBXWTxriIpW5iM
W6JlvapX76p3rhPfe8QkcT+jFx/8nt1BCwKAAOhWJ9jU8dcYqmqiMarYbTznsBSBmFaHLrsDZTt6
41KcKgCqkTEogZV9kAph284amFvxDADMmJy61d5MRQTOLFxtDt5urdYyFWC0VQFezKY1Ec1OEs75
/FRrfHt3ib/2BRuwR1ukPhMse2m8maTOK4Qa+JNXYHeN2hgqqFdHWneLfBDtdWcRiDffHrz4V/zP
+ZVQqBCIPUe7dkIxnH7H6iwnKkmmW/rwH4PfQTJdgOMkXFGF5Ub83BQNnG3yEptcVdsY51Js8vIc
pKrsToDVRQ9Smm+Rw54M5wAvzPO4RrMOBGGcmOd7XPNNvdpM1XI0Bf7cwvfuH7DJ6eBb2S5wTFrL
LDzfpXHo3Yfekc98Sz+Sn0ql1Fzrlz++DbrONn6MghOkq+GKwzZXgwxOuJigAYosPrjEY6nj14j7
ED38QCqn7A9ejIX8XRi97S+J7ewuEqqRJNnw+OaITQ+M6vajgmBxSy1SR5W4y5VCpEmZWOHKvZ6U
Er/No2qLEmfbe5EzSwpmlLSJYDVKWVLCRzeKvDnfADBNo1d9KJ8Q2iKHMzGvBd/9RIdXSUIK+PQD
jBZOdx6gmVpvCr4h4uFoV6YhmWZAnPCdGJYuSiasQr4XkoyxaKBTm6H8YHPckXTjVeZHg3C2Y2+u
sOr8n7u7q0mV7qzXTLcttfAJRVLU+DBODPmZHdqYrFNuOx3ROUBiWDJyZ6736CpOFDmb6Xqx4Otq
qDXjlBYs2nZgZAsKnruB585r3XtU3RCM6akfTguGSdty7RG27d7xzLW9bEMeOQndZ79SIvOPCY3M
wxdykd1eHwHTBhPVzmpCrAYnqk41IS1LLbtIisyWynWr2q7kdTZobZjChAcN7xYmMQMVQDk8zJs3
y7vMWUDYVvcX6f2mSzr3tzJ0mpodwvwEBTVsaeUay5st0MBytYPIwcLjOefvMR2soRxwb/okNyoe
YY5V5DDRHqXpdaTwmG0ojqZydZFpVjZ/uqppQXEn60aP2MCaeklckP+ty94lb4OmNf6o7lbjFw4o
FlzZKFWmELoncqXIwFfkUUHjGuBOfp2qjQoI4IieQytAjHEFmKqdnEvlwJCU7lKRfIx17JrSlCUN
oJNhky+f78bOJ/guumHuhYKheiYQrXXDFemBwVe8qGEYdwgMD9n1JKtohyveexbcdULGBQ/f8gi9
X2i1BdcqjHOXQCWldprWzs/PbOhX6775MrpCXekqLWGkU2nj9WoVRgnXm1jnDPaLeX/76fbbbS/8
NALDaqKqzLZSaxhVoBEiaxPzzwcvcWnWwzbyzdr18YdrALv/42y87TrWHdZWyspfx0pBiocG1Jr8
w1UAFcxTjPQ8AkxjjCgfQZQw/6LXuGFHXotXWHq6ZcwGtFr59ft1fLy9ed83r3GNbNbbgDbMnflh
TOYNKiUjs+s1aBG6z3qs3SKqVnLELSNtqHMa28pJHmJF5c4St0xj9DRWzlr7+DTz2zJ0l0RVIag1
Vmi/iD9///D589ubr+Ojuf3e02D9UxwtaLoU7dHQBFOvaJvra5qWmWvHI8uUFL9+9izXRvF83gX4
moXk9pK4uSE7QlVBedoM0CsmTKLxeUPrWOyDSBnJ0pWBLpOuVQU0g5D+0bLLRV270j2fzHlWvsdk
Bu595Cw5RfMAWpat60jOhSZ2Fvx4sGY1Anh3e/P13cdxeh7E0wB7llcXwqRR4TG9+Xfaq+2CFNni
Kwz94ZCaVPyRXRX/5cXr3CRV8zT4S4xqEUKPcnQZac3P722mIdly+NjtxpXDUJKkIaXJrIM4vy5I
wq1GYhvbf7AWtT1FLgZhTuql3tJKV+X3EjTFEcI6KYfhDrgXw55kaSthsMSLI811wsi79wK+jwdK
FImzyKVDvhy/OGUM2M0uGbMw/OG5h2ScPHjRnDhVko3CfqtEru880c6yhfl4AAGzG1zKqu/Y47zE
MczugYFMeiVXnSC12y5SjK0Tz8cilZI2Bh5tFuuAdpm6nruEXNN95g5PMnCM4Q9hyIDnirpFcwyf
TDQoTBim9SLr5CHLM+QZ81RSJKzxPXgRhn/EOZdJXclcHoDvuBBNBb8IkBvFOZD8HE+jIol4RO6I
CTTBBOrkf4BMXE0nUjWpgNPaZJk+h0kKLYkmTy86gPYJmrz9dXt4JuKit+h0t4C0JAU8crQWq1x3
uUo2/HIgpPdilJbapP3i9WRISHJenWyT8YTFYTEnpT30kjCmo21YU2FuVLnhNbO3wx4lwgec4cTG
PFNnYgp0oBya0bO7SNH2x7exBvnSXJUSN4pqgHOstkpO1vGIGbVqGFGr/ln1zpdc2ZJ13Im6BqBl
HkmlOZ0pBZW1LUMGEuZnIRMi1nESLrcjrk/2EES4tOVhQzuBpOOmErZIwFoQihRFyUPEr0AEQDVP
AK2iBJ4oVhs4o30oC3E/xFNHU2IuchfSuztJuoguI5sRyExRIpMuMnAevXuHGLtX+GRC36eBxDSP
myxfwcv3HhW8CrwBboMV07JON2OdH7c0gTxdcFz8ofjhTzeaOTG/dQxC40yS7xCbL9x/PnlOcjpt
g5WI5iw/nNFfKazBCz9JX9adq3ycX4lVnd7D6AA/+vvri3T06AQa4PUFvmO9I48LLlym/WyqDuoV
HQDLHlXiSNMCgFPIZK4k4apWVahN4VeBPoket9VP/M5++thSn84lFWLQJSbxanAe6nsYAQtL4/sF
6bWvk/74Omm2r5vkFemSr5NO+zppk6+bttjYtVzdUFkyAaxmqWm9kLbQiomRpnOT9nYlo2AQMEYp
pJsUMow0oXdYOj7lyoRGoqeySgBYEI3uyBrkqw9+K8qZlNyL0UTVyd1Irb4XWaOUOBUJ8YLkMWuk
EycRmYbBHYOmWSdBrAJz7ysJsGx4m4aAwPSihRsV1O/awnP7I3flYkzOaZul4yb0xc2d27jqBrZ3
9371OvbszhLWd3by4thERoe/LbZ5LfFZKhO8AAwZw8VrwisibxF7clW4DqhJSH9LKbUgudsyJcLM
g7MBlNdspFsL/6Z7ZE/yHaHZKCR7mG2eJG5zwi7tFEMH8E7D+aY4OqzC4W2eI5Wzt3dICg42dqbh
Ovlt6jvBj4u8d/iOJg5eLqJw+Q5bTO/Cufsf6pNu/RP/QPTH69dXpHTBWa4m6C0dl43eVllNQIMS
NGtpA1hkwBfuXBlUGRXy8grTFwnnMHGc515Dmt+VtazfsTA3ciRBWtUBK11ecQOWAJ1RLbOfF+QP
wYVyjxvLobC8b51lS7EFSpfRkQLk6MljBVLgGFBrOwaEaziuXrOE3+VIzHgaPuFbHKuSLu6Kr6tA
oCqotYySym3DtvpVTD1vnbOIWn1L1PJ7gztVnNUqvlIBYlewYzCaDI2U22DqyCGiggxx/en585kT
zfnDfOEpuw0mENFChQl6z6pyRhQX294hMwW+JL+NuqYX4ZqfdgVNq0duKCCWUtGgDr++tvzb9N6f
Oa58ubxhSIBaTjO5RSBNxiKWXkwtLgI9O7VOtwa3MMozserctStv1gD0JKu5/mu7Toq6VtfqWbmk
X71LTPhgzrdATKsFxK6MXSZn+l9OW7FSvgpSQBlG3l8s1TFNduaZgLZ10toYfehFG98cofMjy9Dq
QhsHpa/7l7taVy647MF1ppE94IPi+Vhx45mz8vgz0RGqdd8VgwXQptZXqx355Ae1Mr3RQU/7Yz2f
ekMtLEct7Ak0aw/e265RftdlJoUm1aTgacdXrBD3fRi414AZGtvq2tv6RgaxLXZ/lhtyeUzfqCd0
93zSmjTRkYQrhRYPxGuswr1AcaMojJQHrNz9gnC9pR1vXOtp4z3jXBeAcx67LB1/EUZLbDd9/PZf
n/gzeI+NGL2nXbZFcMXk4RWpZKfT+ZTdJwt62PV2uIbIwx2kA9dh040e/ThGT4fSM7Ob5fRg9gSa
cr8q0hKeuwtn7fP5zUSWFARvgV7NvQhktlyOZyI/+l0EcxdKRwMcAxpgIzRIW8TMSWaSjuEAZBCu
4wIfgWUMYidzFP/W+Ybeecv7Kyzor7CpTAywtLk/INks6F2bkW6jVlYS3RwNTrYO5TIyWjlxwdNq
ZhZgKOKHtNTEnR24vxTuQC5715/m738fCAfieXkbu//j6yd+LxK9BUd8Z/17lYNhG0UdfSFEpt2b
LUI72ZTTFPtIf0sQfqRcuVwvn1fMDqtxfAJiVXLTPclExqMxo1cCqHAbso/0twSJtmgReFSNAdTj
EtpiQIKNVqZzj/2a+79hHxLl6sRvVvg//1pgzt+EazLTySWTnRI28CntEUimPgVz/DMI8Y//dB6d
O/YF+DmF+5r+iRuw/5CfpJEhVL/c3N3dvr8kIFd5xyrU+5XFWjUhaj0uYQBW1KsxoPe4BJGsWMVV
sP1oWXGbN6rxb/S4hAEo0KzGgNnjEnrGwPM1uxuBhzVQAPtcBEWC1S8SUA0koD4X0RYJJ1WfKi6v
VOApaDVIQetzEUPwg14DCXqfixgCCUYNJBh9LmIIJJgCnCbFKf8aN4sxYwg6sg0Rh2uJWEI3Sj2N
mqpdYvBxJjdYG/EFGNa5AMPzBZj5O73AiTbKk0I85SQI5gVuQYdOXSR16fxcQKGmJNSNy2lucBrU
jX6ujIiPRgFnFoU/3EDBT9mU4oLMUd1WhZ4Yr9aJ2Tsi5Tvb225fT5zkrlO2MbkLwM+5huWIDNID
QrAKmu13T4VhGVi7cQm0eXBxz2AAbYGafU8DeIeM1PO0B+0WudgieiN3AXrYi52oRGWOdaKw7Lbe
1Dqqo9bRS1Xrh0Tmhz+XbuJE7tyLyDQzNtWLl8Wp6/2oQq7RbFngVKOZTQX5wM4FrjDIkgl/JKdI
3c4KxJmQ35ZopXVS7RpHNqMNfKTzcIalnxvjZUw3JC/kkEJ4VbqWdhJKjZ84v56Wd39VVfGmVJxs
/LT63p23bys0lJLR6igZ7aUqmdrCd+qv3ctZnOuhpvajbnR+0xZRdQNJGGK7jbap2RTxMemKJ4e3
pj5ZUAFvmcKBpj3x8C8DYktgQVnG3YaA1PD+FAb3dNdB6gWpEJ5S76Ep1pfOD1d5euB0XYSqIUgz
hY9uFHlzt6DDlUgDIHJX/oZzrTKsPsi2hHEMoEveJlK1TiaNbMWn11F8+ktVfAWCwpuF84KbtGqM
k6B64c1+BUADKjfkZ/HwtqgBONqzqidH3UfHLxWg8DngcMw81dR0ICfGcR8AU/r+jF9sYRJ26cQ/
SI900r2F3zEfWPqpSUFMZlhZCzQOSll3O999/6KMj5F91lsjAtJS6hVw08rxIsxN8TqKwnsH/4p0
U6AT3JTIdeIw4I/lNF4wJns18muK9hxHc+S8qT0PHjN+sUZ8azLq3JqMc6qJSHrSZWtZvY2WLY8j
ILPFzpoI8fT0uQ3/jBbye49G4uBUMEmRIdy+T/xub+jk7svLK/aPYD9dYeYsEm/phusk2+gyfUzy
G+h3fgija/XSYG9ukmv11RJ/4ttm5V4n7lNytfKdXBJPl3NswN8m975YC6HlZDp7WAc/mIvxngyD
wuY6Ji3S8xsvwJ1/coN7fgUqgKZIJtmuI4mcIF6w6ey50RPSeMbdEUO5TYqEryCnUw/Wwgu6QlHs
G/mKk2DRP10nLj9pC3UnLmrRFbcA1TRbJAkdQFMK+3wCWxeIwiAkFOv5pHNt7BeMy7J0KJxuMqIs
lRiYgbb4oOFl2sa3ZIyXBSUS9L0buBFJMJrFKzJlLIyS/aS3PvZXL2mggoSZ356IYtbtrXBckA7E
qAIp9qFZxz40X4x9WFekeMHCCzxMwn4YrjIqCamwjfZ/rrAKRWQ6SoXfVcu2xEvG2N8FhjmzSkyt
H4vN4nv40ZliGisSmm5wic81e6FA1hmbZ1g9yDA6B2nfKLsgD8M8aX4jcnN7+eHITRue6eQM61lq
GkL53vK+hPoBsEZs3Ft1jHvrpRr35ULdXa6SjUI7LPKlugBX8CwMfxSMDQeaDSRaTsybhulASUJC
4hwjSkNmPwax3b4KcQ/9y+e7Mtlx7ybUgcYwTn3EM991oty8BTlCZB04iwVzU0w3CsuSJQl/QIBC
bbzz7jsu5xxxPNN1a0Dt9TShgGulKDpus3X+scZuhAV3kJAgDhlQgdUCGWwQPzg/+Bm56phVol1H
JdpnfxfTT1GIkRhG3j0++6PpUfxJYUAXpDHcxFHwUStkMWReJyaFB+U7Rk0axMSyhr+C8qm3tQMG
h/vGvyccdzw8qzCKgNqE3riMt3uYRt4SJ7rnz3zA/4fi9x2EmSNv2aS52V6xgCFV9YqDufYRkwU3
AoW2HaoL26vL2DE9XigF8ssCO3twZz+UrfHLuVRZ5932sVsxvPuXG4WKT9MBFJINwc8JQEYTCVXD
HCCqmpgCVFMThfErVRYYKd7jBL2fQJjqDfzq19SWY8/VCXr7K9Yg+N1epUzQDdW2E2jNw9malGBf
zsOl42G1a+M/4kzNQvbJHFx9JfvEVBu29Ah47tVUM4BYy4LxBjakw6ggQwiplikF2XtbmrJmgTEN
gXj1moFcBFGyLHrDXl//+Tsp4sucRM7MOB/B+QhkAz+BU0CnI4uEKNKMTsgp1LkbbPgqEgjWFDkL
nTuZSBfkuMTQDhwI6dWTeCB4UDV7qCvY87oKNYE8EKpf3Akr/d2GdhrufLayz3Y4J22pYH0192Jn
6rsHHykYBnJFPKBXpaONTeNMwuPzAfJpIi37zPh5i12tUNfPiG6O6HD6nfQbcZdTUlWB7//bvjWz
B4c76jE7qlqEFbdPmSJsvlxxvUaGIQbTFdOxgY6AnCNuBVgoqvHThe/dPyRKQezArn2f+Pzl278+
//ddg7DJAWSOAtKkhGqqYArF7q5/ZcVsRWioIpPPd/0QKSVF/jX52G9XVzsIv1mqqhb/vTObkYKu
Ld+npEkyozMxdNJHHelqD0snTWb9hzBOfjOvBl4AhLwViL1z1zOTqiX1q8j1nU0aGlS8eawswojF
C6+nLn5Nuzgy44l92wSqWPRcsDcXJOpMSiUvVv4aEzR5n5CqxgtntfI91vf36olMnP/hJWzSZ+Am
8cxZuRdpgNvB6nn3Ncvw0XPJtzw6/hq/5xNmOYLm6+Vycxn/XExUnXzVFQNEsZCunr7utnioxtFM
6ALT48rboLpqSyBgTAxR3FYCEPGYPCUSkzXzEGjooAYEo4UJE6z9EvulVjWAUUPsxyT7FNstHis3
oyKf1n3xh68BWDFK2eijGr0cSHkF9K71Xuw+rTDZceNBZq0u/vWWQbgUH2OA9VOmOycTxKD3DedK
bQ3VaHKo8rTBMdGfrCqYqGodYTucKmi+wI6qoIUE5Mo9CGXLPX7msiFT3nJB6kYNzQIyIB88Et7Z
ZBqOK96SBKFblRfADITl2k88zBaHsnz3TPnpYFpkrKlMw3Uwd6IN59JiIB01x2c70G/mNCMye21C
oxB4z9/iHbe5W0/AmV1odUWTrBXvPiCUyer3ORlTKkKmUDlKsre94HvBjIGOm8JSZlXci8Cyukvp
uZs4sweSNskCtVxr1LaMzoCyoWN8X+Y5wCsz2oRCESWV9rRA5FJdOdOJpVolDzeiBa47ykYCKYEB
3LbA5PtxdTHcWo5BdkOAQgUDsbOr8851s/u9ZB7OPoWk+uBDYYMaDakiz+0IoDJ3EoebeocMEXuj
GZUKy6gkmS783PlmaKyolVlhuaEQzuZUBul6503RAXCkLSW7QJJQFd8LYBtgSPupgIQFGFKEZK4v
9t/9GwvLZvJnX19U2Az1xh024tmiaFLXoVUKwYlH52rcu6zajT5OZyFxTBXdFsmzbNwEK7AjtV//
O/nwLvJmD1mbYmB6e1GWeiFdIwMJouuVG+x7suEL25xbFoOgffqktorwbqNkk2YkQogRHQaEUq7r
V+FdXeUrTwUeBavHIkWQeEWKV1wL1ob3n0Nfy+chzkqPmskt9kAQiepDYFYcVzBc0Ku0CvizHE0J
Rhc/8KKqwmkmXjnBLk96d/DErZKzgMDrCXp7dcVJiLbrRMDMFhiH7adntqWpyXt1Yn+YvAcTSyWv
397Sn5D+1A+e39CfajYWWM7WZi9HlDsfJOl8EL9euQU5nPD51Ba7ecy9yp8pNg74xzpxIdmaYykK
ZsFXM3+dYMjXT09PrEqBGG3pN+FfH7YCyLUhVEd9PuJIdd8cvEh412pHU44Kpkx9L05IA1jlflYw
4tkWjvR0tinHEYBq9Syos6+S+vx6HbErgDzN3OKaTIiAJlecxtumFIT12tyd8ENseL7h3P8REHjg
B+XInAQURRLPwPb2f9WxJ5Gj0JusmxAS5rGMZTYj4g6OM7PzjhaO57tzlgrLdZdl0o0dEmg2O9FE
eR6uH957QUUi7igWociGD8vhT505uYAOvIohsHASkjUnVtV+8YYGPreh4WsC4NdSNoivbOAQzKo9
A6RnFRS9e1Dv28wJZq5P1dWUTCngNl/SdIFbPgCehCl8btIlMgVtdB0wRyPZYMlIiHrjnOtuM+OY
9IJ0Gdytat0hkxDE3AnusXG4jnfXAd4+DdOWK+53sQ4aPhNsSUORdqCQ1pFtBJwm6waKd3Tj+1/T
VMKPxWQASY8xceQOoA4KZiWJ2NPxhrj7AZZ1ImQt4XZI+H1XrFXQNgIi3RZDzvT6RJz/JaGhWgmr
B8A+3t68r1EU8n/4kvgQzvd1IaXMnX6afPgVcatfIxUcJb2ChhxescpjkJ1kSV/4gC1KZJ4zPtAR
PlAbDdAOHWiU6DCP0GGOljx4iPeCRfg5+JKO97slPsxCw69EcwBTdlZ95T5o2slDoe6zbbWm6mP2
ULNQRi5kYAjYEf522gCVdKBy+GP4gIkExRK3KReKS5NnsLm3pMl6BYEAAwo2JA5TPraxGv1p89fU
dx5eZXJA8JttoCcXvLOABMznjV5o2UCtlRRpdcA936Gsac3BZrZI0Ii3Fm3bCpORGvw4TK2k1gyw
7zHLxDqYNHBQ0ZevpTP0WqGRJlDSgYI5WPjcYCNQFbejtAVarlOH9guq6AVmicyK2nEEfJ1lCBMK
oJZ7kjDEDzoYnb/+MNmJANo9oBqZOnja+He6MB7fuZYpaSNN8aVvlxKtKR+uh5FC+ssnJKnSnY99
BewLelwDh+zGsIY2/Jbau4pTVLxpWpYhCkpLh1H775Ync7dmyQTN5qQrpruzSzgZqoh0JPuborQx
T/pBLFezCT21OiKX0Dl+xzcztVo1dz1tSe6X/3H+7ux3v7/9dPvtdmTMX3ofqTUcBhoTiJ7ggr3Q
zFbD5DphSSojFyTBGGPaFNfncv7yP3//8Pnz25uv4wIwDE/XZ2gFM/K/12GS4+MWnpnnUPfRIz01
Fk4FSRN6I6h3tzdf332UtqnT/vqyCweZuh4pM4ffvwWaUD3xm0Fn44DIklbt88dm1vthwK+/bXh/
/X/2nrXJTRzbv7L7wd07nRAjiWeqXFOTSXLv7J1XbWeq5tsWtmWbBIMHsN09v/5KArttECCwwHQ3
O1k/cNtHnPc5OjrnY/BT3JvQsjdkuBpWeJvYuoaeqdgWbisAMII6gsPDZQ/f5TrgWv1KK4loMj+g
zh2OlNiZKpHnRCvWbo8vC5b2OhTQkGjp+2+3ozWP0pCoT9YJYaTa49pB0w37avIDuTPQ5rNMgBxR
w6306tU9DekVWT/eiZiBJmmJnFTBPsTudncAhAWXobqk0KU20HrNhiN3vfG4EbGpWx0Bz9VJIE2V
BlpGO+cO+aaVBEmff75Mh9mtFnIdqrgUcjW7UXo5/z217VKiVbD1Ss7vWEJdk5rrFv6miFBrKFuw
lODkbsuGxNuXoxXvPdfHCht9cujA4nKrg1QhV86WdYofqh1Du7bkQCo5ZguSQ5vKH47Z5QY/G7V+
v6KAjt15AShgtiqU/M0A83KDH/jJOTpcVE5tapbkZt5J5RAtXN053kS9cddLMIEPUFmGGPvvNv6S
XoKZS7QD+ARldYRmS8PAJi0sT6pMj93rChoYWLo0wMcG9UQRFnVMgJamX12EERNh9oHJsYKoFQng
t3htU59dsinSqEdaHaSUNP02oWSkuD7tepM2QPprcmlYZxtycJHUS59M4VQW1AawWYzc4xQmqA84
00eVxgfhcZIRO9vN719mXATq/AzKGVC+V6bKQmmDxleVdLjBPpuL+nRZSb5TMB5VqCTpdHYqbZlK
nn5aEGl9DLa0IwWmzbbilRuRpzXR5s4Sv6UdVQPy8G9n59wfelckIL+jHzo+HVzg0KOg2/WGSv6C
/Qj9qWTB5MUUE4q8Ta77x48pdsgTnev66eM7urgN55RzIzfkiPK0bv8+ff87GzlwyirODqeIZab1
AopJTGJUrXoZ0H4BjN0KD0AIDSFsuoBT0LyRDU089JdQE9NIA9OBX86s5PSXrRq9UlX5Bd+wr+f+
MtVkT8xClFeq147v0x+7p7/1ynSbdlE2or6SqKvgKhkTGmZflXPl2pXu1KPchQOxyuEmqogbwxpW
n5SPiEp5TToEiaQYdPVaOqSg3UqtJXenNRrqicbolYxYoIo4fYWrPQF3oo8+uEudVcLwc9tm6bgT
EViN9ELxAm9Y1Q6OJ/Q6VxWM/7wfWeD+fnwu8Fm9Z7aHSiXeu0TF0ykyaY9zYEzdWNn6Ln3HPw1u
tIRoZY45S6CJLRFEblUV6lCvxqfIiThp+ORi0LJ7w6r8BYuxrgiyTbs9ZPPVgHFxwEdtH5tVeRbw
1cn7sjw3De1AJpwrSgp3suTzvgV0sHPhOvNDnzXrKov8GgV+4Sp5wbFIwJ9luBxpcRgehgbxyyRq
CXDhHToz8hgp1DiHgZckJNPBs7z9P13CnTFC1NskMcDFcKsHtPdFH1aoP6iOLHt51IJekAyEkm5v
uHTD/jztnuIsyP0VFxcA27Skq11nPmfFyDgijDr7xl7z/QPU0v0yqeTfLzAl8qjrL2h7GnqmJNg0
ax41wBpgDbAGWK8EVkvx4JPJyXatR592TvhmGiy30Qh9HI/0H8cj9IEZ5RG01BG06UCeMqM8GIwX
D0vcoZkHW5q3ZWVa3fo0Rd3HgWFYLYGkTZgOhZT8MiXD0gcuGmANsF6yyYRwMJkDrMYmk1VsF2Zh
JdjLgX4DrHLH5qSfMPeIjQSFFfiHc2tC9d0VXaq7Ueyq2oZiB+V4YrPimWcZ7HBY6NWaIh2ss7DE
lVLk+svL/XjQXruEF/rbQeguXV/BD84sVtZOPFu5/G48sGLzGAiqGC7AksEnSNXVOoDzrb4PV+iY
FU6RK0CSfj7EvF83LetiIhXuOzkeHZVAB+QmIykS5E7uctvWoPM1jKB6x9rdqn1YjGrzcFKD7i15
8mb3Cr8u7uh3R+iHEfxM/tFtM29FBIlcoROa+sFoz32JiZzQf6rdG4FpHakVzsFhhYWRish0hjZl
Yb/fw3e95La+ikGPRXTRbw1yYLxnsERJi1NlFHqVhoDH4iSyDIFiL6H2Lu3gtC8ILavwyiOxcY2X
XBz2WlR4zgD63BP6PpTKSLNCw04xCT/3ntjweawS9X+J+jNYJH3qPyZ/pLF7D5ZJV3Bc5s+//fjD
z//72/2XYjXeTjgvXImaC1gaHyIbj1cjFZTlAYBIc6Y2ydFDq6r0YA13d91ExrvA28Z4XnRGpft0
QU5h6Kbe+TJu7257EX/Du3x7nqtwY08U+d2ZwenfinqozO7aSGsKN7SbB/vkvMnejVfKHHvOY9I1
jE67pccmJvCGXZ2A/FKgfg1s/fgc8sBqrSVeQ4XS4pBngMmz9eEHh3Wm9XHcg6VRDPZgGf0PMz6f
/zy5cARAXtfeJ35uN/gaCXT9CO3Ucc7EZ/NgtqUjnd/tyU/gfxEXjn5Ens7PCLKzhFE4o37eA5tR
TtsVsmYfxeEaUKVHAWxOmcs/+qmpqqzKkKSrrTILA8JP6bUljosnAuuWKqVQhHvENmHkzEdnK+VU
yZitI6MIF5oOnyMu1BfXVa05eWnVUBmzX12pnemBC1JOI2gQN2qEPsyCzWNFGQoApuBtV7R0vq6Q
V2H2YUPP2tM26YuArilqy/Go4r9i/YJeAh1KsRERBSNmeCSUiLaBEc2+uorgM/JN+if5jwsaoN3+
eX9/m20rLCHdWE7wQuYHel/pLVsTuX7kzrES7Zb0LeRbIrNFOlRYQU2rBftlKKNyzQyM3qLkytqI
x8w3hw74ROnM3V0STrnk6YG6IW4aXiWfpKppt0yunnZb/Kei3PwFJ4pC30JjBNGD6ozQNK2wZReg
RS40aeU4TkBmXSEdyeKx/YrEnTRIp4E09a955zB0aLasXrizLnQop/y/SRehmkcLztDobmg5NjVv
rEqfe9oItEPBk8wI/0QNbAcu/ZzfEEpXtX4JP8oJf8bjAOdSWCT6VOiTL6iiYquarSD/id9wlOye
RNvpPFiTqJVLE9PUWhZnrjQDu/W7596tUF4K1oYb4nWwc/gK01RBv5j+NFDPGzG4YP+6sV0izcMb
kKOc5YGBGoCtQLGPnVBhx0r5Mbp1+Y3ucBgSMtJ8VPy4wYd5X4T5Ztjd4XnSbpuEUCFtvb1yF/FX
t0APm5cv58ykKmmX4KQD8CFZNoKfKXSa0km64o3Qxz++fFasm/TPJyMLjQydPuoWe50dEGZcvE7m
JU+9YHpYo8KQVxhLQE0z2wLKEpP5Q3oACqVwYENnPbP5knV9hJpDtgQbqAPsVwa7zBTC9k1hRk/X
SEGxXbazt8qxofH9OD/5a2CvzmHruny7XtqsRIeDHHdqqTqAelqc8H48PuL4Paf0qK7xrOErFPkn
wDbRFZ0F7XqwVXuA/cpgX9tZOFP+uS2pkapyUj7ZlAMcOKdzP0CT7gewNkVlszg1ZDwXUXmCcrwh
ave2oXcwesdaPGb0WpGtPELlzLxq0DHs2kSRbaF75yRpcpykM//oWC3JHS+nX912VCsMQ7qSOmKp
rG+JAc3LZWJDpPKcIJytXliPFdugghBGQJOMnwjg0uDRgLAjOiBVvvxxOdo2+kHwUrwDTW+F2lwa
a6grWZMUiLItw2mw9edO+Mgf0KfpvaAyf7NNvlIt1eGggWj1wv16Fp6XEOcbhoS9LMUL6C5i8a6Q
apkSt8wOAI+XGAewS+AEsqaCf2SKNLYRDkEXsJMBc53AnuOFs/XicuCtIRxWIxx2AbsA4W3A9vG+
RZwnEAt23q2eSxG6ohShdqToyoHQxTEQuqKMoyvKOLqWUkW1/KPIWWD+XGVQfvgM1eE9LsDv/0qr
7sZfVm70hvxz3tBP3yR//S6/Kyvkr1Uh3pk/slIbEmH4S8zOoxUOVNSB0B5hBuQezTLN0IgH5uOI
UzxiqUg1JEJIR3nnO0nrRju8g/i8o0vUDKzyNljuzrSAVjmP+hIGRYIMOkIfckYSSFwVAXaYuO4H
rLs9h4cQki4VXPNPfq4VFtL485z11qirKU/HzJMG2+56+XQsm5sVHS+CIBmdky/hb6CVyK9l2RnI
sKaJsVZm5BU92el40bF76R//+Zm/I23r/Vn/gWLpEZUt6x/DTOGY3Bo4uZ7JnnP8Aqo3ul0E07Rm
F4uAtRYhS1L5/KPJhxXOjo5nIWCkqTIF5uTQLORXlgodVUQXZotK/MSN9/juvG1q/UTNMzmRL03z
s6An5SzCVclEBb6CFzbFnBJgZLbLGsTwNCB7PaFjuWNgTN1Y2fruLJgXxAXIkkye4+SLOaZQz9eQ
n4FxLNscbVUV6lAnTzoal49ihy2pitJTnNAG9VyzJI3aD51xKfPwzwHWFJT6CDElCIow5fmxj9lX
oncvtkw40Sx5NlHybKTPJkzf2+l7NX3W0u/h9HOQPqe/Y+jn3z/8PbTS50XyrKfvdXT6DA2onv8d
tM/Xebhef73Z4jGrAznT+Jk52L2c9cAq3I4SuifUPj4Sim9VfZ48AvZosUeTPWpPf4M1dgWyR5td
SV7r7LWjjLbWHJMvmw79WF+oC3IFAGe0NUw4I486mpLrYDG9LbVIAIKWFBMbxpcMtuYaJWijDthS
56p/FXXgQpd8oRNT2UtzVeijQN14rmHNc8B7TGRk7fr8CBY28UtPbzPCRP7weqMsXC/ZOKAvWAiX
icvKV/dfmvvbRi3HYbU3n4rUys3r0v2l1pliZYJU86aR8JWybHaCr9lJ4KBE2zAMlvQw9MZxLxje
Jr4DV4UFguT12vHnkwIx6bUMy9KjfWe0gb5yNAnqgMBIAoHLE5DM4Ql82kaC20rE0p83hxUg43Sz
eRZF2T0aHXSI9lya1LZelabsSpB656TxLPhNYRL3o4WI4/XxI/hUnsNtkk0ZbELR4rQLvTR+lze7
FmQRawQ7ECLYBGNXZS3tGbHWQN8XS9+Pn37+9OXT84kYBhLXXpyIjgYdEBhUODraa9m/6mLfSh9k
6aqeljOLt46nMLxwDyYKtR+tZYe7kuGBsa5mhwcSv3A7/BodrXZ8gnrJj5y6ziQ7xnd3Y/WtOr57
ezdWuI2ms+Vq2quKAXvLtyLEJ6v1ps7sG3+SmtDZjEEdtqIO+7ORMRC4DbUx0PeFC3BXucE++BDn
ZkR6S4+k98szj+uF8EhhKirgbvra5pBbH3LrQ259yK0PufVOcus1beCp7j6OdXp7Zgyh+jC5BTfp
1CZwW8M6kgcEKkwksAZWv2rqO+UByC/aMoa098BUQ9r7lekNkYMWBUf25e2TdXYSs2NrC8usbZVx
pTb4zL7CKvuqtmM2Fo4/eyyrTUNGg0ys7+zcpRO7gT+OtlPWNEbZOEu8ovP4VkT+PJyOI4oU2koB
FnSsbZkLGx1mKr7VJ9CZOz65U4UeKUtRwj/ahKSuYR4wsPzmnmYv5CnPgtkRVKwWRGD7xwTtCInr
7xzPnSszL4jooMWC8Z5ik9GrdDT249Ch/V8JWrBX3GINqHo/6FeEnaf5slBNx0qTp+nTPNlLsnQ5
/dgy6Yn+ULBPOJSukasmTem051PdsHtF9RxiuMQFI1AuuSJaT6/A3gKHmN/7XIVa/d8XwUKCyMpW
+1oT+IXuUdIf+nC/+dbQWjmH6B1xSBFuMmkJ2jzutrCz0EiFJat7YK0hbw/DdguPjdqtUn/uxA6V
A64XowltHkgk/eXA1ng9Jf7ZlHgrGyeK9kFY4D9ooE+Mdk6G0+nm1Obc3d1RHsmZn2P3Qvr1928P
88/HY+qis+GXpbxlGxKpy0X9eBZsCc0XjuttyZ+eRbEs5mwQJ8peUHk/Qdrz8PqraEvqEV/q7d6R
YVjDIBIDNV73Gsrzn70050iGOSd/8E+F/E/MqItNsa6iDRuFVhYzsplCXZgofsAq00Itcaxs44Vi
cXxSYPSRrYpCkTzrwOwoA7PdYDJpQaawruX8YBJIptze9efBPlIA1AGHgJYEcMm+x0EaChqkwn5x
SpYOfG5p0hQ3iVsFFBG0WmU12uo8dnFBCXY9Nr9oiFuPyH6Gk1q5ikqCfz+ChrPejNCHWbB5JE+V
mQvUbubCD0rUDNA7on+/DMQZTjj0v0Deq4Td6AjhCLTLVWVzKOtarwsm5PUqDVoyVL06B6peJwda
r4NRvHdnmF9+JOJOG7U8CB4cS0iAjM76QRmXYzPXCkoTOuJmNJbdEHtO7O5oy/4V5m9Ri53NMkQn
brNO8Ey+nKgshpDFQXSDUdkEm+2GH5NZ5eO7jG7VBo8ep8rjDVEdI/TxRG2M0A/yLBJoldkiWqGw
Os7fJfThD9/VVBnkT6b5KOmE94DE5mEY8PcLrSZSVsjhrr9wfTem8+qCTcODANeBJSq6vJ2oAYED
rAHWAKs2rB5Z30IDxfPf0xh/7TxO8Zs5nQYYBtvoDfvSm4hVN1V66ULFAgMLSYfVhCf40xcHu1fp
gU29YKpE7t+YH8SZ9SGVzjxNBItQRqITideb+FFxwpAI+3ax4JedQWQYEin0N9Eniof9ZbzK1MaL
ln0YwruJvPp7rae6uVAhn4+eq9K9clz+lD3KshS2iqTTKn7IVcSarWrBLSXd2vWdGM8LTo2LzX2s
dZ+Qc6OWbCCoCyBaN0AeOL2G5RMlD8WA8qnSBRSdQxZTlQiFJbjoHgNNBUeY60Roep/0LE/SZe+E
fl9Ql3Gs+ph6ziq3N4Y61HD82l4byLMZX6PAZyNln2aKF+SmZPIj85co6Fxxr7w7izZ45jrJ7ocz
I1jl7jcDQwUSb2xFsEgh5Wc8y/TQ/SBWnGjmukpSUMUBd3lEF2HCFczXVIqdTQOY/dUasKX6CdSB
3qizfcFYgbfhanWoqvgFyZYkPmT1UzsX78nNFozGA7qt9x3F16Jq/0eIy+USrqpCan9VFZKsqqo0
VOoANdquf05Kir+vZ8lhN+o5FZ2TteDlBn8RBJnAgFUBIEk6devP8cL1caIPaKUI70ZsG3a1eaf0
ExAfgSHxLd2/ab3mbLvGfsFhacvokc5pobbwVkopqRSiItiOIolXIcbMykVPx46J0FTOV0K2KYHP
Yna4Iokrdo635YdnuioH1nEDSTlEMtxGLUBmhjkpqzvA49UNilgls/ze3PXGw+eNb+bYdwkd8Y5I
b6Qw1iryLZHaE+dBnBmz3SygTv8T7WkhFO2bDYQpdFyPtmugJ4II3vkJDqGuBjIIXjDmufxE0hPg
337/8tNvv97X3NOo7oRvdsVNXGqcHnoqbp+RHlVWHUndboHWDcfx41Rk9JIgqF5LE/q56iSnzmpT
ZzxWlEpr3hGRNL7fjjpQC0UmAEJdax8839zaoJfcqfGnZ4zH5P+ytALshuF0fsbA6iXe9Rpq+mEC
7p7Jf5ItChTKPUrgHeUPqEKLf5gJtqIyNmGwDGk5cbHSQAbRln1k3hNs5TyKEYYjSx05lizt0ZEX
W3TiqI/4r+dRjO+oTMpT54ZsghQF3tdF/Tl7O46TIJj+wenrzelriZMjoC0Jzbul4vjuumBT2LoW
i2eWlSJ6t6TtxteeH71/IBz/7ZjX2u/37/boXRAux8C27TH7NM1cpRSYueHMw+T74QSoKnkepx8n
YMgFJyZUmW5j/CvrrEt/4j0JxhfkI5aWicgaPnx1ds6BKj88HeVXp5io7YkakZfYn08IWejLhet5
kwUJ6P/GTxDHzsEJJ/dD5NEPYnfx+DHw8QTczLfrzScPUzn+8HiPPTwj+Jiki8wWkEAR+2eJcUG5
wGmqKCNU5PcSKxfRgtCsjaM7VY7nBfssEyLLMtRyR81qkRF5Qj9jtMP0xSHP+ufPrv9/jGEmt6zT
A9sLo994exgxd5t85SjWyRv2S436TgrcddKCQWE9Q6i1oEcAaVopIq+8uZLUGUS4oBUotCUtg7yk
3atj2knmkfaRUabuUud7VPZVKF2yQm7nydvRVBvpi9vvMttvSfnVhH75TLLzTYjbwqwXEF8gORfA
DTZ13dIFUZwIc+U2QfEClCQ9xu8SLJRraISC6KsbFfXLrHPnDdXYRQqsOuVYCzhsEKC8hGICqzzm
Wjvs2PzW/xYpx4IyCpC7Q1rRkLI7nXRk7AKdZC1KdFK0chfxf8kvdKaYCHvGxINxAxLRkjVQhVAw
CUwFElVSFsWNTkNdcIvcPQ8bSILamJWKl3rugyYNmJPtugmUM/qOvNmQp5+oN/0YbOm+NKY+cbxy
qaO8JjrMWTIv3J+TRz8gD/8mvvb9wb1K4H7HvoL95Ik+kjsmT7//cH//6eM7CnLDSRTpWrsE5245
2MioD7XuhAP+gIMmMlxz4ADftVB7yOKoisXRwOLVWORu2FhaH3WaVkVw7RUSPGM30x5H9+n73wPP
nT2eFaD7ONrOVrkGo9o/hE4farZgbQimKi2KyOecGncRRy8DaO1Gs7HnEE9zHczdBd14SxmDx8C6
UOWJXegen8JhfVBJ5I8nvwSEmD8SEkJAHn4NdvSlqlrkSaV9VFREHhAib//nly/ZFVltLkhFymc8
VfqxGAh6tBik/OKE113LFyIac+exp6xDqEWW0xvWOWLHNttaTqJKghlzikrGmgETXvrjNE3izNJN
wHmwdviQdFS+5ceDceLMJQ2bufGXfukdUKOlPEQe8REfPeIprjCOOWVRYp0ny++jAmaUHzMNLr27
pMZ2Q0jUsIVB+R051HfYsgZSXDerKfOuneib4q6JF8LaU21ifibucpIkMGYrPPsWKYsgPIDLm3Rk
GUJ7hEK3o+CHDfH+cEEYVMnU6D11MvJwcOzQYSjk/lY0kek8KtSBKGuebFQn7AuAPSEx5QAlcVyV
OXHB+NmoprflRsxBPpUW7ulTuz4A4ld7mPi5UxyvwmD2jdfcsPqAXNHCt17s0hoJEhKvXe6i9ep6
1rMfT9zhDAFOjrP48zMy5POqpt3wZvxAObduPBJoDWhcaT1rm8TCO/BpQ0UrDacUmhHmSDpUmzJq
MP1Kx4nSyQPzOePY3VIhDOY8Em+eNnhRfLwk1El0M0th5VqkCNU32y8s753HZ73moPsg/EYIys48
8TnTAkjaIi7uhVqpUV2fxvSRO1NCyitK5AX7fD7YsEQMBbyUUd898BwvkZ7JKAN75UZxEJ6G6/TG
EsvYzD9pG0Ief2eJTmb3CDqUqUOIxa340WxZMFhOM0liRkXTUk10EbT/b+9Ye+O2kX/lvjgfDpAj
Uu8CQS+NXfRwbhskF6CfUsgr7VqJVlIlrWPn1x9JyfvSSOJSI1Xec5AAtrPmPDgk5z1HDlTejyOL
fxRff/pw82aHDKi39FcV/d3ADXk+w+zVBwGZC4Wr9NZnqg5EodTlJQWkU077u+7IgsnDNq++YWHt
Vs/GOI6LBIi/LKJO6qDPddVqbAiE0s/5XJPb2E++ipwa9li2VRnZ+mlyVmmkMDktYOsBK5CVZZnY
hML+CAtrxwASW6mjxjCJ5ApIvp1a3/7mDDxde9TtA1Qc5HoCRV03rzHmzdtLJ9Uxd67r/jUH54js
3Vt72SJQE3miQNRxQgrvy6T5S57rkYQlV8Q7+ojrKgdgL7hTAygiZln7TNETNqIItB0ZBq1ovXoa
+BYwPThNErYdCsbKqBhmfnn35vXB/e/8wzBe0HpBaz5o7d1tmyLMmXmVQF5TYlLrZSte0HpBS/48
7ae++0FQaLVTQ4vKcA2m6FFHf9mfOe3Pj+Rlh17QOgd5hit43f9PPjSO9Qw48WTPoBkzgIG3KWrQ
rU3liEvIcFCbLBMBHI39x8E0Q7j7hEedUWHy6Fm5DWw9AI03pgEvohe83u7z5/c3nz5+/gygMhEn
/CyLo0XthE39rB0jQ8YxZA7HaJmmr2/9vIM11jSIEGq8/unth4GI0O5MC17WCcYCiaPA7/1YYJWe
Iu6UKmsoTdoc66aUfxGCxTOMLyuAl0HKuJek5WX4wO7Zy1W0PA6kmu68wTQ5B0/7JJOdhD/ZSWCn
4XuHEHoYxIo0g3RTxtF9WGirxbZEd5H7xV1LzjIhljcZJ7RROKGIzBMSI+6OOKxaHq7T+1CLqvIX
sRkahevWdEVIu8voVJiGa4wCEw7wPA/ytnUNO7irPAwTaukPln6ZJSuFOCBEVxayxZlwFtEq0aKE
5zqutWUU8lr6tiCtPt0TfuFcYx8OOFMOYoNozr3Hi2akxLIGWX7PNysLFCVRc8PThcIVt0oWDCTb
4NZx14Y3/K6pj18NGizFtfvLe04EA/vaiK7MN27IiUxQ7XZTlimYKm8Y071LF5RMc+pOyU8lyrtY
R1fLlNupmzooD8chiTlYVtrgqWWZdVJUD9tM2Q0BxVgcC4+YogwzCiVmOLgwDIgQ4k4o+uZ42lgL
zSZEs+4OBtKWl6R7AwUPVZYbLGE/2sRQ0NA01W/yJU+zyFumsCDgXq3fgTuZ8Pq2rseU4aqMpGNu
1IhrU88cuLaohREXZxJ+i6OkRTVRlbS6uZYFHz2lR/zY17ODcMgfiyukU6rmP+FImdXORjE6qfIq
hA/MJGJaZcQrF4OWo0yktASru3ZNwNyOQ21MXzsdgDKDr0ZhsDI672aFDrWmQEeuwCS9Z9d/FMDx
CFcquQ2LK04vV6TCYUjo2Pq8ZMaYFzr2nDbrn7PhzbbTZCNPehr4VWDt0Mk2KfxEtHdpeBgGv22i
6OnggQMa7MncVnbPmw3HgqWqQK3z85bZnZvCVg7zxI/bdY4prySkC9tGsmR+mhc6V7NCh7rzQseb
FTrGu1Nf1yJkywVgPekRTvwuipLV0dU6pJwUi+hrHJUCB51/zUs+381LPud1txlvR0FnLA3EaddA
Au6NqzPTBDzRIKS1P4hrKsBTfkGQZNCR8REF4e1mpd2mwaPGC8tWebpJgqZ+IeXscvq3dY/NwExE
C2FTwfYxuj4Y/UpiBvl8JPhzAAVf7JNU43mpcD8sZ7hQ5Uz3Ttc7MEDQguqTQCHTnVdKcd5TcN+q
Hky8nbW/4JdVFu2foQflYDYEzFfJOgSx5qJc6z912hcf8OTz6TwJ3GLFnWy/Xo9yuyo/qT/PC52r
KdDZZFUWYCKSwrcd/UVDf207k6aAPQTuaRfIgOHLBI/QKj5x3zJWy6OT0WQi03Ta3hHnme4dHy1f
k9hTzcDnKz7PvTymsbXXum2YZ0KiMDLqT8KFInLhwr+B1h5AK6YdlA/luOwUvfE7rjXTmrGcnIPX
WHKvDkfmtLTXeH5nWmJiKDEc+9nR9SRFVUVNdV+1JzRQ4g0R/i9F1VOYIQGYtabn2iir845RjeUp
6ejtfLDs5BOi+vcqj3gqVxpvqlbZWZj7VQGoDg+OOFUx6O7P0wm+o7rBth1ELMTeHqICvDrOqMy2
4N64xkTMtjqY7VB7VNJteIenIt3ukjMpaXeVSXdAoFLZny4C6U7Xrksl86iT7sLeO30i0t2u2imH
jkq6BwKVymjEIN3r2nWpi1WZdAImi5ruRAJP9E7SvcFYPNzlTFHdtBYO2zLd7Qy318M+JP7aQ8E6
1sJkkQatNawuRdysA3APQEbhSbBk1V7NL3gfdM2FZn56GDzcN6NuPr6vVblroQQfflfP81375eIO
1owRbqMjjCqHZR76weNH0VejQuIqKjKOxnWbfUXlGm5j4PJbWvaiw0TRQUcnCAS8m6goRS/TNHna
L/g4GOgoiGEcGm+qKrhSdT7hozlMphM/1ZnzWCc8rNJFPJ5175MG4OZsMW0cLvACCYANcPTlNN3h
l+u3Vw0kkrS8Fm0SjgCMQ2IVweBhCy1cZ+Uj7NMwMRUDAecgdgIWn+DEgbNkVflfs3jri/IXUWDs
xr+wj7ziH+G+psZIW4OYIxyvPF7y0/U2jj/U84N/EWU4MPfd4dzn9uV7/mADQmWYBJtAdkZuoyBg
Cs86ZGc2KBi3+cydCK63JXLjdk5CoYqW8hn1wl8d8PEKl+xf4wK3FUA3g7N8vBB4JVgE8egIr1bE
jg5AiekqXLsn9T4Ql7sz+k7B/d0RTiHExwew0bX9PDnJfeHiKl9HD0ziF34Bmhmu5+Dqz304QKXM
9pBTl1UTB9jqySKMQYPOtvG5W43AWkZx2HOfURPTicDbJ7HjIZonNQbd6Ip8PH4nDzgKd3dQMpIb
1btHeXMcOjnspVURZqDv39MkMG6Jw9XJKnZOJZVVSwmuMUdiwBWxb1t8WuhymaRbZSoOk5VoG9Zt
MLjO4H2sdGOGQP7IZ+T6a9E28a83F9f0wjUv3tKLa+vCvbpwjxUqV8c03pP0XUX6jaD8yJi2hL/D
GJHhQntVzh2TlKR4NEkCGMljqZd+ERUKUdQZi8zRFu5OSOWXq10g38M8rQ8RHARVUZXhbTUofEEQ
E8HZcmIlLTOForyloJbiYYMxs21OIta2sfF4G7sj9TZacR+zMB4BBctl5oDlPWOGCk9pz1t6Igyw
LxJIIRoxfd4IYTZ2OiAsgsnIGIWRgySTmDZxTow0TbtzPU8Hfy8qH1bl3ABDaUPf/71da38pdHMU
4iqyND9mIts2HlnX57SBu1ms7z91uh555GVrD1S7BxinM4fYn8MzBtRuEY2HiKinKqLcu8BQKMKk
iMroHsaBSjnGdjj88em3f7/7/cNvE/N3cRe9+8/11FAnO5gyO1vro1sX0r6VVTeqAgNOUpUMoCTf
P5XVtA7eBf0gzuik120pRMipdZSbKaXhDUOk25XomS42BuJaET1+QVVFygLzZOPxhFqkJeSNTdeT
SvTf8KHscR+a+Fx9gv7pww0cVjeGH+dmf8E/6/CPsBo2efwmD7P48SjLQjZrRB54E0Y1qnsKCnkc
Yylqfw/zN7GpbIMjb0rLQjopIZgMZ7JsjV0jRDTWmfnj15veA2tjAy/Csv6yevi417GtS7hNJwHP
XqRNS94a5tHK8ojt91NfSqi6Hf3VE+VLjEKJQghq2c7wFwiCf1/UzRr8oghzkTm49KN4A1eZ2+wh
7Er5nzsCe00gxWBvcdDzNK5GKlfGJ9zaYDygQvXgJDNZSPhEqCwOVdsrKMmfGFEM+2F1BWfeOVRm
edJB0m9VIa3oNyvUefEms2crF5r8G+uV+OkbSz921uij7OfpxwkZC1FUstgUZbreXqegrqsbmOrC
IcCm5aiNQmfBS1KXsQ+nDJsuurW6SQp/GWo9E8sVRKupZG6VSw7/h9fsNC/8+I5dVj+4uqu3b8U2
DQtHF50tYkdw9qJ4Wx1Oa+uUaFiuNQpEeGojVXVVoA0gI0TJEbLLl4ToIoYi4P200Nsw4OlfQJKe
FF362T1+PVs14gQwEDInRat7u8PDivTBUnAAoyHgyphzvYo/yHW6JqhhOY7i6ptk4S/Ye3cbh3XH
KUZBFvoth8WxiSKg22M7n3iDGd5EHrLqVeEs0DC+Q1spQltphbbSF7SVArSVvqKtFKOtlKCtlKKt
tEZbKUNb6S+8mwJtpRJtpQJtpQ3aSvdoK31DW+kBbaVHtJW+o61E0FYy0FYy0Vay0FZy0FaiaCvZ
aCu5aCt5aCvpaCst0VYKR9Ad7/xkpdVD73loBJhPpaxSc019XykFK+Nksqzg9fO4J7mQeJ6CNaOU
h1s7msG51R4aDgjZt30WPM9PUcgVtSyEXYwRd3E+dLXl/hlSOS9zpis+I7ruoyBMRfSIneZhvhkJ
NzWhkNIYxXHlA99Fr8tNnhRasmH/kyadjmpLJ4pw4Vms/P7R2G6r9QdpITAJeF/vlM/xTDO4f42j
unjOsxuWebrWeEPs9ifH0u3+7ikmHa97yrirN+X7HLyoVKZ/P1CHWB1JCQBmq0h9u+PFot/8qGw5
8lQmYYac31Rzcm6jp+gPxJYkiT9HhyQtfYa9OLX7FbJxmCT+5ZdstcNPfOaC/vwlC1db/IlpGM6O
NPs4vk0dqbkNxBz7nEDjSkQBPjjEl/xtLOcFOQ2W8x8+cdyyqNfFcUI8XSasSGwM8+ExYTZY9Y3y
TABJTDCMiEE0HxDb6INq9LeNYULjIAtNEC3CfpkxLd3qkhnLtVU2qjpE67hMv4ZJ9J3JQ5CKZhpV
CnXjoJoy2S7S5+oZPTjnlxtFnLEvbE8WAIUAqEJ4KOJSu+UdWtZZy3QAQ2Y8aA/6R2B4+10ga5zI
dKJSgVQ0VEGTDoaUpMVmccc7lPhc1hqdniS4Rs8vj4JieOnKb/yaB99XioYCwvtKz8+Co+dn/9Dz
s3+MYzs7DCJ//7kI8/tQE74yQLVif6tfqAs+GB+SlUjtvFxn5itR9CF+9zX/VqD++3JZhMz80fmf
6kdXmzrZ19ZfLe42ydePTCVin6DmAT0272moe/aZEWVQWya90JzSgYS8+hDn1/8AUEsDBAoAAAAA
AAVw6kYAAAAAAAAAAAAAAAAMABwAY29tcG9zaXRpbmcvVVQJAANZMqBVqjOgVXV4CwABBPUBAAAE
FAAAAFBLAwQKAAAAAAAFcOpGAAAAAAAAAAAAAAAAFQAcAGNvbXBvc2l0aW5nL2dlb21ldHJ5L1VU
CQADWTKgVaozoFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgABXDqRlFPlXPhAAAATgMAAC4AHABj
b21wb3NpdGluZy9nZW9tZXRyeS9vdXRsaW5lLWNoYW5nZS1zdGRlcnIudHh0VVQJAANZMqBVWTKg
VXV4CwABBPUBAAAEFAAAAO2RMU/DMBCFZ/orbgSpcZyU1KrXlqECBAikDojBdq7pqc45cmwQ/56A
2GAEiYHpLU/f6d5Xy6oppCoqCdW5llLLlVgsFbjQCzMMHsUO7SUlcetzRywWtdjgM/ow9MjpUTWr
SmqF0j7BRYwhgg+mJe6gvCIbTXwtt5wwMiZ4JxRbHsu7TO74QD3CJ3T4iHIdpiqnsbw27ub+S00D
tNNd5NOfZ8+hXjZnGjjAmCkZ6xGoNx3CPmRuBcCGWtgTt3p28huv9cYdijAHmxO8xDANaKI7UEKX
csRZ/Z0mJf81/S1Nb1BLAwQUAAIACACzcOpGtFZuFGEjAACJHQoADQAcAGVycm9yX2xvZy50eHRV
VAkAA6IzoFVQMqBVdXgLAAEE9QEAAAQUAAAA7d17UxtHusfx/8+rmEodx3YlrRtXa9dny2vjNbuO
TQWyTlWccrVmWlKb0fS4ewTSnjrv/XSPBAjMRYCEQHxrNwEUaTTPbz5Pz136463V0T/7aVSvRfXV
Zq3m/x81avW1P6M/DqXN/oy2M100o13lnDZZ9FrGXRVpF2WmiGKTtXWnb1US/dHVWXja7vvxM8sn
/vlff1wyfT8JHas/o1d5eG61UfH/W4+e/ZbpwfNo591Oda2yWlmpRT2TfHEuPXrCx1xl/n2qtcqL
yuZ/5ORcCBFZ5fo9nXX8DNqeTCOTKysLP0Puu3lpNGvrR/OirDXW/4xTrbIiqjc2KjX/v/qf0Vud
qigxalSyGmjn66z+26T9nnLVN7KQ1a1Pu9VPqvUvXVTfy6HpF3vKFa7aLYq8WpS/yjyPyyLDhISf
kCgnVOnJTLf9M86btxd3PW8+OtO3sX/lmbksBgudwTNzk2edn/1ibiurbDMKz2tWq8fv2dys1Won
Na3WVsVRXeJQF13hUnMoelJnx49X8m5OffOrL5bZgXTVvKtTnVd1T3b8a1sy3u9Y08+SqQo+PY3R
dJ2K+1YXw0pi5eF2mGxl9LRKt+il51Rcry1fxeXEl7/gXBaFstnRAm7rNN0thunjq9wV1uyrW9f+
m1ORaUf9TPvVu5ap/o9ffR7ItO9X7lnk3ySsQtW3SBY3SKRc0Wm3L86uVzoqC2tjFYam3K+SfcN2
dJTqTEX1lcoUOZ2Z8smvouEHQlfIou9EbJI5ZjNeHlFPFnE3etarVp/fXUqNxgNJCUEIQhCC5pvS
g1yDFzrsny687AXtdSzhYrXKN8ojYmyNc4+n3NEO1iPc4RgVPqP9jYdRuh+7VMEmDZs0D3yT5h6v
25euQ1ZqDXaIFp3Ngx49SOmOU3rlY+jlRVSYyCl74MdbbVVcGDu8/lBLTfOriXUh4z0j2WPrerqC
rqArWBc++K7foOvvT0oIQhCCEDTflB70WrpOh1y47Ot0yF2khCAEIQhB802JtTQdQocgCEEIQhCC
EMR23sxvj17kDMqWscU4T5Ml5jBLjUx8v4ijG86F3wS97O7zR9mgq1Nexvm4G/TOUkIQghCEIAQh
CEF3KMj/Klspcm6WTuO+7JiIz4Ok9nnwou1/1j8PNmujv1tq/LMx/rl25r/L8c/a9Ae046HVaapj
0bf6NsE8ulZq0Er3s5X23m3vfnm7/X7ry5uPW7tfPnzc+7L1+/bu3qU7zfdxfr+66dt4YiQJr7Aq
EerAF+BEolLlCRx2/ewLK7ULBxMK3VNW1Fl8D3nxNe7P4nsYC20mi2qaBfQAFswjLPlhWFz6jmEr
k63M+5IOYhCz9GJ6KtESL4vIBi1oQQta0IIWtKAFLWhBC1rQgha0oAUtaEELWtCCljlosTLrcKZo
IdmghUToH7SQCIlMncgKiZAIidx1Iku8HkYLiYQpfuuHj47oKpko6+ikxaaEIAQhCEEIQhCCEIQg
BCEIQQhCEIIQhCAEIQhBCEIQghCEIAQhCEEIQhCCEIQgBCEIQQh6vIJ23u1En6T1IXWakQ/Lz9/+
s+qBtNW2ScPEq7mttjY2h41abW1lPamlBxtfh6717etK79DPZ62TVfeOP6PzS1vqVJhM9PMklN74
Er5hQT1vRh9M5Po+6Xb4XFFjo0RbFRfGDsPCmMHHJ5994/DlqZHJxnlvTv8po99NiPakPRngEYQg
BCEIQQhCEIIQhCB2dB/Fju4q4S40XBdbnRfR02u3rHOnvhAqlUOVvNY2TlWo62n5zS5t08+SEGU/
C194EBU+YR/21V3rJ25aX336oq0LMZ660L2OcAed25T7aIf6VYb6u0gJQQhCEIIQhCAEIQhBCEIQ
+/V3vl8/k69YPb2TH4/27v0e+C134IUa5P4/qYTxh/GHNRiCEIQgBCEIQQhCEIIQxJ48e/K0J+3J
AI8gBCEIQQhCEIIQhCAEsaPLji7tSXsiCEEIQhCCEMRGJhuZj7k9e3Ig/JJNFQ266JxQhCIUoQhF
KEIRilCEIhSxA8wOMC3KQI8iFKEIRShCEYpQhCIUoYgdYHaAaVEGehShCEUoQhGKUIQiFKGIHWB2
gNkBpkUZ6FGEIhShCEUoQhGKUIQidoDZAZ4Id40WvYTeGi16NzmhCEUoQhGKUIQiFKEIRShCEYpQ
hCIUoQhFKEIRilCEIhQ9REVzPUm5oFOUMzpBSXPSnAzxKFpuReRETuRETuTE1gBbAyhCEYquzult
2JFPjHJRZopIDbQrmrPYkQ+TFH6Sopzkdfbc07Ql4306g85gfEURilCEomVcS7PlQbfT7eREt6EI
RShizCYnciIncmIth6IFKFpH0TzTQRE50W0oIie6jW5DEYpQRE63y2le5xDbxirdycTxOcGezHTb
P/vM2cVy3q9xivHsZCmdMZaxg5yWfoxVB36qo8rPXKrxxU/1y3SXapw/kaNiM5ONRib/JDHxVFGW
hhS2fW+Qjp97nchCe1uZOvS+cm2V6CqZKEgR2oMP7V435cnkXDFMlesqVYgQRfhcgL+Vf750XWmV
bPmBK3buMbu6H2E9wEF+ovH8kvYP9XzFDFP3ISs0oQlNaEITmtCEJjQ9kr26cCyPnRWa7sGRYpRi
lKIHbxXYBsP6FZ23wSh1d1mhCU1oQhOa0ISm+6spM6JlkiGUFh4UjnCEIxzhCEc4whGOcIQjHOEI
RzjCEY5whCMc4QhHOMIRjnBEPLQZQdFwOMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhH
OMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5wtABHmziaazw4whGOcIQjHOEIRzjCEY5whCMc4QhH
OMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIRjnCEIxzNOKi3OlVRYpSLMlNEaqBd
0bx2EDLPzwYQJunnrxDlJK8s+HgKvX5aaNGWadqS8T4dQocw0uIIRzjCEY5whCMc4QhHOMIRjnCE
IxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc
4QhHOMIRjnD0wB29wNFc48ERjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5wNFVQM/kk3tTIxHurOh+z
O0nhyjJPvy63KjwgdE92lCgfE40BxVEcxVEcxVEcxVHcchXHZjyb8ewO4ghHOMIRjnCEIxzhCEc4
whGOcIQjHOEIRzjC0ZI7Ih7ajKBoOBzhCEc4whGOcIQjHOEIRzjidhSuZKU4iqM4iqM4iqM4iuN2
FDbj2R3EEY5whCMc4QhHOMIRjnCEI+KhzQiKhsMRjlivEQ9tRlA0HI5whCMc4QhHOMIRjnCEIxzh
CEc4ejgXe1IZlVEZlVEZlVEZlVHZfamM/Q/2P9iPxRGOcIQjHOEIRzjCEY5whCMc4Yh4aDOCouFw
hCMc4QhHOMIRjnCEIxzhaPkcNWo4mms8OMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhH
OMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMczTiomXzypczzswG0ZZq2ZLyfST+dXMbKz2xW
Tt7DFEfPuzKI4ymbLIQnjiYrUjlUwTg9RA8xFuMIRzjC0Z2v01VxaCwreZqKwRlHOMIRjnCEIxzh
CEc4whGOcIQjHOEIRzjCEY5wRDy02cNuM4Ki4XCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhH
OMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIRjnCEIxzhCEc4whGOcIQjHOEIRzia
VVB1Pkz8WmE85qYinvnGw5hDUDQcjnCEIxyxfUQ8tBlB0XA4whGOcIQjHOEIRzgiHtqM/TXGIxoO
RzjCEY5whCMc4QhHOMIRjnCEIxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIRjnCEIxzhCEc4
whGOcIQjHOEIRzjCEY6IhzYjKBoORzjCEY5whCMc4QhHOMIRjnCEIxzhCEc4whGOcIQjHBEPbUZQ
jEc0HI5whCMcEQ9tRlALDqpBw801HhzhCEc4whGOcIQjHOEIRzjCEY5whCMc4Yh4aDOCouFwhCMc
4QhHOMIRjgiKoAiKoAiKdR2OcIQjHOEIRzjCEY5whCMc4QhHOMIRjgiKhsMRjnCEIxzhCEc4whGO
cIQjHOEIRwRFw+EIRzhi4CYoGg5HOMIRjnCEIxzhCEc4whGO2LGl4Wg4HOEIRzjC0V0EtYKjucaD
IxzhCEc4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIRjnCEIxzhCEcERVAExRDOEI4jHOEIRzjCEY5w
hCMc4QhHBEXD4QhHOMIRjnBEUDQcjnCEIxzhCEc4Ih7ajKAYj2g4HOEIRzjCEUEtIqjVq4N6q1MV
JUa5KDNFpAbaFc1rB7FaWxWJtsJ1TT9N/GwVopzSlXX2tIurMtZJQ+R6oNLbVPKYhw7imW88DBgE
RcPhCEc4whGOcIQjHC3Hnie9QC8wpnLsgjbj2AVB0XA4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIR
jnCEIxzhCEc4whGOcIQjHOEIR4/Z0QfVMT6gMLlm5N8lNgd+xpKorVP1zD0fRRQsWfWtr25ywWd5
3eZJMuEKzpWq6+e5sYWQldxP+9kH44OJwwWhUUtF2XieVPK8Mv1loSu0E+1EUATFip6RCUcERcPh
CEc4whGOcIQjHOEIRzjCEY5whCMc4QhHOOKALQ1Hw+EIRzjCEY5whCMc4QhHOMIRjnCEIxzhCEc4
whGOcIQjHOEIRzjCEY5whCMc3TNHaziaazw4IigaDkc4whGOcIQjHOEIRzjCEY5whCMc4QhHOMIR
jnDEgX+CIihGJhzhCEc4whGOcIQjHOGIoAiKoAiKIRxHOMIRQREUQREUQREUQREUQREUQREUQREU
QREUQREUQREUQREUQREUQREUQREUQXEiHUcERVAERVAERVBsFOAIRzjCEY5wRFA0HI5mGNQ6juYa
D45whCOCouFm2nD4WVhAuMENbnCDG9zgBje4wQ1ucIMb3BAL7URANBaNhRvc4AY3uMENbnCDG9yw
H047sR9OQDQWbnCDG9zgBje4wQ1ucIMbYqGdCIjGwg1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCD
G2KhnQiI8YbGwg1ulszNBm7mEgtucIMb3OAGN7jBDW5wgxvc4AY3uCEW2omAGG9oLNzgBje4wQ1u
cIMb3OAGN7jBDW7GAb3VqYoSo1yUmSJSA+2K5rUDCK8X/vWifH2ll6vOlaX1VKJl9UAnyohy9sSZ
qdAMNAODKG5wgxvc4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zg
Bje4wQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN7jBDW5wgxvc4AY3
uMHNw3eziZu5xIIb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN8RCOy1jOxEQ
jYUb3OAGN7jBDdvFtBPtREA0Fm5wgxvcEAvtxPYN4w2NhRvc4AY3uMENbnDD/hTtRDsR0DigtzpV
UWKUizJTRGqgXdG8dgCpkYlvwIm6VS8vhpWv7soKj16aWxV+FbrXEWGiDBb0AisZ3OAGN7jBDW5w
gxvc4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN7jBDW5wQyy0E9eiMd7QWLjBDW5wgxvc4AY37E/R
TuxPMd7QWLjBDW5wgxvc4AY3uMENbnCDG9xMFdAL3MwlFtzgBje4wQ1ucIMb3OAGN7jBDW5wgxvc
4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBjcPws3Ou53ok7Q+
n04z8jn5Wdt/Vj2Qtto2aaKsq+a22trYHDZqtbWV9aSWHmx8HbrWt68rvUM/i7VOVt2rikwe6E45
M0L3ZEeJ0RcOZyL3f3R1okRXZkmqbDmvldy/XaUYFM+b0QcTub5Pvx2+LNnYKNFWxYWxw7CArrsk
TmZjYhkkKlV+CZTvmXfzyGSjBbB6ZfwTk5uiKjqXzmXExw1ucIMb3OAGN7jBDW5wgxvc4AY3uMEN
bnCDG9zgBje4wQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4wQ1u7vQONj/F8NtS3b92
Tk10LV3LaI8b3OAGN7ghFtqJgGgs3OAGNwt1s1LDzVxiwQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMEN
sdBOy9dOBERj4QY3uMENbnCDG9zgBje4wc0NA3obbv9JjHJRZopIDbQrmtcOwKm4b3UxrMYmK/wb
7I7/3jGpjofVvlP2VSc83pWJOXzz8ZeJhGSamkPhDjrCP02oVPX8Eyv+7yvDuf67nv9edB1d96C7
LkxI+AmJckLlfE3fPIkqQmGJcDJLWmbgf2tb2VNCxj5KR3fQHWzL4AY3uMENbnCDG9zgBje4wQ1u
uEaLdqKdCIjGwg1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN7iZ011i
E3datlQlzzogBjGDH25wg5uH5qaOm7nEghvcEAvtREA0Fm5wgxvc4AY3uMENboiFdsINbtgPp7Fo
LNzgBje4wQ1ucIMb3OAGN7jBDW5wg5s7DmgmF8ln8kB3ylmp5npwZVUTTz/51SeUaKviQrjwfSr9
VInYStelKWgKBlPc4AY3uMENbnCDG9zgBje4wQ1uuPqKgAiIgBiacYMb3OAGN7jBDW5wgxsCorFw
gxvc4AY3uMENbnCDG9zgBjd84A/txPEbAqKxcIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4
wQ0BTRdQg8aaSyy4wQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMHNg3ZDQDQWbnCDG9zgBje4wQ1ucOMD
2nm3E32S1ufTaUZR2yqZPHvejN6rrFN0fUBW9pTPKOr1XRG1VNTxzwh/F12ZRbUQ4nXT6qlEy4mI
nLIHvhqdKFPJu3lksjGgtbUr8xlNq3ytyFM5FK6QaXqbPGbyFXZOxX2ri2FVO5P6uJJPxqZJVWbD
tp/8lVVd8HJ14OfVMUgwSBAQa18aCze4wQ1ucIMb3OAGN7jBDW5w82jdzPbo3Vd5IF1sdV789uv7
ib8+D2r15g9vX22/b0ZFV7vIdU0/Tcr37MoDFbWUyqLUyEQllR+mP9x30fv5v4Qa+GeFeERsskIN
CtEOh2aFs7HoqOJV4Xui1S/KIPuK3qP3GLNxgxvc4AY3uMENbnCDG9zgBje4wQ1ucIMb3OAGN5yr
uatzNSGwxPRoOBqOgRo3uMENd42wBfSItoDcxNUqH3YBxsjNwIQb3OAGN7jBDW5wgxvc4AY3uOFI
GAERECMPbnCDG9zgBje4YQNwqQJaobHmEgtuzny+bz/zs7b/rHogbbVt0kRZV81ttbWxOWzUamsr
60ktPdj4OnStb19Xeod+FmudrLpXFZk80J1yZkTuJyViY/b16GMmKuGBSjEonjejDyZyfR91+Jjb
yNgo0VbFhbHDm3xQ8Ml7TgSeqFT5uMv3nPy04NUrs56Y3NkSbpjtY7p+Q19wAYdJFP3LALe4gGjC
sgkvuZKKrQua74FtXVjjnDBWd3Qm2tb0RCjQ3ePNDXc6/dXVle+3Ny4pCp80MAE90hHuYe9FnS0E
iHQqAT2iocyFXZIlGMnO1gFD+pSACIiACIiACIiACIiACIiACIiACOgRB9RsXh7Nf299+Pf//vBu
b2/ny+7W3pfXHz/+a3vrh/8LkcUmi309WfnG0bPK83BYaHyC+SbRlRfxuFNfJ168Hj04cTa5Xpn+
lHx5sj0rdsd/75hUx0P/BrmxxemTeJkZX0TESTx6kIAIiIC4/JoLpHCDG2KhnQiIgBiQGXlwgxvc
4AY3uMENbnCDG9xw++1JAOG+We+rmplMlJOQWSHqV1Z39LLcqvCrcKk5FOMHw8XgtAKtwBCKG9zg
Bje4wQ1ucIMb3OAGN7jBDW5wgxvc4OaigFbv+hMoB700PGzVt77/D9PftpL6tw1JTSQXd3WafNJF
9/df3r/zr/51NM3b1PoYe2SVHplzQLghFtqJgGgs3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4
wQ1ucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zcOKCJLzH5+Ov2P7Y/zOULTI7v3xh9p8g7JZNT
93DkfsLF0dfSHoe3eY3vMzk14fE3l3TLv0TbWNFR3BBC4zFg4wY3uMENbnCDG9zgBje4wQ13BNNY
NBZucIMb3OAGN7jBDW5wgxvc4AY3uMENbnCDG9zgBje4wQ1ucEMstBMBERADMiMPbgiIxsINARHQ
A/+mrtTIxI9Q1cxkopyEzArRuLK6o5flVoVfhUvNoRg/WMm7OcucpiAgAmJYdf242/aTrMTOTT2s
WtUzB0qUX3ko/CZkp6OsE7m0TlkWPt0xp4DWCIiACOheB7ScRxRwgxvcEBABMfIw8uCGgGgs3BAQ
ATHyMPLQWAREQAREQAREQAREQPc+oJlcRZD7jWxRSNtRhQjTEn5ao6u0WGy4Zr9wNvuFdihiY/a1
As7iEkIOcpCDnGsktH5HW2GHqtVJq3U/xcZE8bHJ2sb2ZBarKys9PQWZ7OiBSt3fZfLKdtyS1Veo
wXZPdlTjzbu9X94vX3G7/dY09W1cUF+zOavKMpOpcHFxJc86039/1oFOlBG5cX5sELE1zo2/jsv/
IV23ce2CZr7AjN1X1k0srONbU/zbVb5efRH10RRGP/2OU+zfPwt7UD3p6zyK4n5WenQPztRVnrx6
XK/u5cYWu7HVeeF8XueVuHnHJRZd7US4Cn60G+u6pp8mJ3uzN1iqox+jKj+YYq/rX3vhEr2rcge9
NPxl1be+/7ta6J7yTyv/Y1da365uqrsALpjM6YfF+GEhW35xq2Thxfe0i6thIn4a5SSurLN8heq1
VPI6jD2X3NqwoAUYvk2wGBTXXWDlEjlCnvhHrBkebyPtqcHFX1H4Yu5rjeMVwcm4obPMxGGAPNCx
R1XO3Fd5IF3ZXE2ZKls8++Htq+33zUjmucqS1+G+lGfPo5+i0Y0q479/eP6Xo8G20jLJsOKnrGxY
Tb784a+531Afpurl07bxb3WodKdbNFsmTf4Sm9TYplXJ0/95K3XatyoK81p+BeVlb/fX6dd6A7+a
e7P1YXvrjdBtK3tKOBsLv8Us3bWXxazNHc9kyHwxJZW8XvndhV5eRIWJnLIHvjBtVVwYO7x+TTcq
o6eKrknEoS66RyXl1hTmonJWa1cvoYUV9aqfaP82E22m4q4ROvPbXYXsVPL0b2GqL8990bh6nX31
86r95o9MU3M4HuN//Pbyycrr0VOeNGp+qb98ev78PH2ysuWfOp6c/+M6Id4PE2Hbz3VlYg5lKy09
5CHA4QyU3I8Crer0U2lnX9mOHytlEQZTP4KGwwSj4TwafVmu80N57FU6v5Od+fVTKlrS6Th8f65o
+0F4FLzflEzLnfrrrgGPNtamfo9btPh0X3r8+5e9rd29L++2Xr3Z+rU+ly8/PpuBagm//nLVWm1V
hGecHB1ZrVw70ImJ3Sas2W3pTRwG6oWFKZ1voEL4RVp+IEDpt5zT6TYDz5vIhYXW724z6dyhvP59
TamJZdr1u9WzXhX0Oj6Osk7xj7//S8R+R2K0Ggi/OVW89I+OVwm9znh94H/U/T/j17188nrj43cb
dMdbaqPd4ucXrB4WHfXnQbzyeSBXF5N4GL/8i5KJ2M9G/XrlyavVibBH6T5pbBz9l437Gm1tlpn6
/Zy27Kd+hz6LTaJCxEdJ/TQi2aj5f346NtloVJ9s1qpPVv5+gcdG4zHkNr3FsLZ8tft6e7vE2Dit
cdky/jxQjc+DTf+PjO+S6VOf19OJADcuCm7jnqbW/jxohX+S+4D0HKMPO+AFrfj9Jmm8Pzx3/RPW
809Pr3t2yy3YStua3mu/EF57589qg7XNn/2/Vsp/Pb/uKmnOW5B+Sm3Tz5JpjgOfeemKTUSqDlR6
tMtU7j61/FLZDxdPHT3xgs+kWm0sGNTgbkGFEbAMKDa9nhxvR6b9cKL45c8lrfiE1mByE7LR+OPP
H781xsTqo1VHfB8jvcsezcLunPD8skKE45x+tVL4nVDlLuzVk0DXnzRWXmyMftZrm0e/1Me/1FeP
flkf/bJaG/98Mf5Zv6CJF70AvtvVmOkK3BcT7wuZlaePdHsYlpBKezp5KTP/RPteZ/uj4OVPOnmy
8ubk4Z+6fj78I8FuGeGgPprXJ7UXYXafrLwqZ/hJY7P6++7uk9pa9UnjxWgjKRQejqXJm4S+0GMx
tz4Gs7KYky/fn+D0Q78Lg3o4kXjTI1ITQ+/p02nl2clwRvJoTXReFFNclDNetE9vWf3JfFo1OiYZ
VmFPy3zLOQzHqvpZOCpaHrws5LVPU506+3/0LsfnqX779cKLG4iBGCZiWF/ms+vmwFelE+XUIPeR
uIWncPm6Mun3esOKO2zPYp1rWuH8UzivGFayVqVyeHQ3gk6cHyjtaNPnZUv538sPgvVr3pucGzue
7fOS3VxAm4W1ZdgdnXWXhYz862wx3mgM5ywuJPVimRvr8o2OtSn2RHfe7USf/Pz5TYJmFL0rt6Wi
nhyWUYQFKHUWffjtfdQa+lLCCZ+Z8TizTVWenhWpD98FMZHJRud51q/swgvfYTwQq4H0HVhewhu2
fPTJaRVCm1FoC9q8PZnr8tyg6Rxct8HClcTDMAj5wVpmHVXuFJXXHi281rYxt1wBjUb08oCFk221
OnFC8W/fne1qnJ+Xn4vyEPi5e2xkMUUW5d7rJ7/5E4XDub6r/GARbi2wfnf8JqfIr3ekPhyhF/X1
li5EP9Pj4/WjQWJjvXKjy3EmoiyPg52a+sp9GyPuaE08zPyYHA67X1j/Um/iF4c6VvetdN+vN7n0
1Cm/DggXjF26Gpiiptfh4tWyHr+5H/mJ2+GN5sVvNau279hkdMiun6YPbK7muPdxPECN9zZ2x3/v
mFTHwzP3BYxu9bjt7sjMDn2HS9jC1WnjCxTDR9OHba3x1Uk/jo7NvvHz/bL+Y3nnsRgd7Hy5Ojo4
O8rMr46uc87qdfX4Zf6P3P/YbvsVnw83rP5UuBwy3Gngf/il4GQnPOAXsP935td+tX/KAzm6YyA8
Xr7v8/IlKhv9CP8Ox3kbtZ1Xu7tbbyrhLfPz1pkrzdpdXW3lU0uVr6Kliq418f5UI2B5luzoeGl5
4bVwXaUuGBLusJqFjPDje0YuvVPCZ7B6l2c/A9TK6AhLJUyw4idYGd0N09Ht6Rbw+ACNDvejidGp
4nKrxmQXXz73iOpc0F0jfkpbZX1TXf145sVnBMddFe+XQ6c42d0rj7ytXnQh6OIKDw/u+EU0k8Jt
2g5nqV6l6a/jY9CjgxX3reiJg5jXuffp8uonz3QJNYhVfvHndtxh6WeuvTj+7boXbZTfFnb01WFx
uAs3FfXbVPesvvJ8R9kyNpNFicq0Spq+TBWH062zOy6cmdejbbX3KusU3XA+9mkUTqSq5JaLPDNi
vBko0nLafnTbsaZjwyrxFtFcee75nJLuaSkPfgNkupNJPowXix7LTk6E32An9EwIV55DXGnW7/TC
s9Z041U/Kz+LorzxaHzcyKpcyUs2Ie+2jnhJ6uguSR16SeroLEkdX5ekjmRJ6kiXpI79JakjW5I6
zJLU0VuSOvIlqePbktRhl6SOYknqcEtSR39J6jhYkjoOl6SOwZLUMVySOv6zJHXUl6SOlSWpY3VJ
6mgsSR1rS1LHxpLUsb4kdWwuSR0vlqSO2pLU0V6SOtTDr2ORZ1Uvu5PIR7D+GCIoL+Ee/XFhEC8W
9eEe4dLVcCWLf3maXvdakYFLC9GSyfhzrUXf6srg3AIbjwH7JRerr018TnK4/jZWf0ax7He6RbS7
/Y+9rV9/+Tly3X5RfrJuYg6z//p/UEsDBAoAAAAAAENw6kYAAAAAAAAAAAAAAAAFABwAZmFzdC9V
VAkAA84yoFWqM6BVdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACVw6kYAAAAAAAAAAAAAAAAJABwA
ZmFzdC9jc3MvVVQJAAOVMqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAlcOpG2wjTQjsA
AAA/AAAAKQAcAGZhc3QvY3NzL2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQJAAOV
MqBVlTKgVXV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOak
KkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAACpw6kYAAAAAAAAAAAAAAAAJABwAZmFz
dC9kb20vVVQJAAOfMqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAqcOpG5NLLHeEAAABO
AwAAMgAcAGZhc3QvZG9tL29iamVjdC1wbHVnaW4taGlkZXMtcHJvcGVydGllcy1zdGRlcnIudHh0
VVQJAAOfMqBVnzKgVXV4CwABBPUBAAAEFAAAAO2RMU/DMBCFZ/orbgSpcezQNKrXlqECBAikDojB
dq7pqc45cmwQ/56A2GAEiYHpLU/f6d5XSVUXsimUBLXQUmm1Egu5BBd6YYbBo9ihvaQkbn3uiMV5
JTb4jD4MPXJ6bOqVkrpBaZ/gIsYQwQfTEndQXpGNJr6WW04YGRO8E4otj+VdJnd8oB7hEzp8RLkO
U5XTWF4bd3P/paYB2uku8unPs+dQLeszDRxgzJSM9QjUmw5hHzK3AmBDLeyJWz07+Y3XeuMORZiD
zQleYpgGNNEdKKFLOeKs+lZT86/pb2l6A1BLAwQKAAAAAAAwcOpGAAAAAAAAAAAAAAAADAAcAGZh
c3QvZXZlbnRzL1VUCQADqzKgVaozoFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAK3DqRlgqZ3U5
AAAAQwAAADIAHABmYXN0L2V2ZW50cy9kaXNwbGF5LW5vbmUtb24tZm9jdXMtY3Jhc2gtc3RkZXJy
LnR4dFVUCQADojKgVaIyoFV1eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNS
FBIVShKL0lNLFMoyU8sVEksUDA0MDPQMwEDHFM7kAgBQSwMEFAACAAgAL3DqRjC1beM5AAAAQwAA
ACsAHABmYXN0L2V2ZW50cy9tb3VzZS1mb2N1cy1pbWFnZW1hcC1zdGRlcnIudHh0VVQJAAOqMqBV
qjKgVXV4CwABBPUBAAAEFAAAAMvNLy1O9c0vSw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJT
yxUSSxTMDQz0DMBAR9cQzuYCAFBLAwQUAAIACAAwcOpG5669XzsAAABDAAAALwAcAGZhc3QvZXZl
bnRzL21vdXNldXAtb3V0c2lkZS1kb2N1bWVudC1zdGRlcnIudHh0VVQJAAOrMqBVqzKgVXV4CwAB
BPUBAAAEFAAAAMvNLy1O9c0vSw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxRMDAwM
9AzAQMfYwhTK5AIAUEsDBAoAAAAAAC5w6kYAAAAAAAAAAAAAAAAMABwAZmFzdC9mcmFtZXMvVVQJ
AAOnMqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAucOpG2wjTQjsAAAA/AAAALwAcAGZh
c3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIudHh0VVQJAAOnMqBVpzKg
VXV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sV
klIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAADVw6kYAAAAAAAAAAAAAAAAMABwAZmFzdC9pbWFn
ZXMvVVQJAAO1MqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAA1cOpGIY+9ODIAAAAzAAAA
LAAcAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQJAAO1MqBV
tTKgVXV4CwABBPUBAAAEFAAAAHPLSSxJdUlNzk9JtVJIAdGZeekKqUVF+UVWCpl5yflFRanJJQop
iSWJCskZqcnZelwAUEsDBAoAAAAAADVw6kYAAAAAAAAAAAAAAAAMABwAZmFzdC9sb2FkZXIvVVQJ
AAO2MqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAvcOpG2wjTQjsAAAA/AAAAUgAcAGZh
c3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVs
b2FkLWluLXBsYWNlLXN0ZGVyci50eHRVVAkAA6oyoFWqMqBVdXgLAAEE9QEAAAQUAAAAcywpSc0t
KFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwME
FAACAAgAMHDqRtsI00I7AAAAPwAAAFMAHABmYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNl
dC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQAD
rDKgVawyoFV1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2Tm
pCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQUAAIACAA1cOpG2wjTQjsAAAA/AAAALQAcAGZh
c3QvbG9hZGVyL3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUCQADtjKgVbYyoFV1
eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJS
M/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAAA0cOpGAAAAAAAAAAAAAAAADgAcAGZhc3QvcHJvZmls
ZXIvVVQJAAO0MqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAA0cOpGC1JwzJcBAACSBAAA
OgAcAGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWFjdHVh
bC50eHRVVAkAA7QyoFW0MqBVdXgLAAEE9QEAAAQUAAAAnVPBatwwEL37K+a4C7WJw6YH35pCYEtp
ArvQQylFtmctJbJkNCOC/z4jZx1asok3HXyw/d7MG70Z7bUhGFSHEAkJFNTRWM6Ng0N0DRvvgD00
ylpQTh7vxt5HekELyLK9hxCFl0oxEkOvXJSM8RNYr1owDCbBCHXwj4QhvbtnLP39ifXW0YAN+yAS
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
kowFoStGzBsI6sHWmq1UmMBKf//nGu1sDq42XlVQi3cEYa3o1i1awTq3Q3/MEWGwspaqSqLocUgn
SQozuP41bxjWHZs2ymuLonpNYaYNBKE5zBRTYJEt5hEAOBKW8mDCaGU8Jse9dByE40H4gCU1NWqQ
StMs7bU4rsJMR4txsA1/wRzrYs/OTpDI3KPeUT1B65krTbhjcyapHA++KU6kzoQ2umuMdwe75xOJ
/cY3fHEkuhteDOF0pX+U4ZDuJBs5dkjwvOmawqjEfbX2Mp01uedx2p/3e3wPNg4vL77bxBad8bZE
l+zdoLO8yM4vRyXUVX8/T0lMsyV3EEWfUEsDBBQAAgAIADRw6kY2n4xkKAEAADgDAABEABwAZmFz
dC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24t
ZGlmZi50eHRVVAkAA7QyoFW0MqBVdXgLAAEE9QEAAAQUAAAAxVLLTsMwELz3K3xsFVw3FfTQU3hK
gEQlguCAOGySTeXKsSvvWmr+HqcvQEJqxIU52Ied2Z19SCmFenUmNEjqBhjU7Vuu3rB41Lz/roI2
lXpGg0CoDLQusGQklh4pGCZVA7Fae1drg14Vkc9SW1kHW7J2VpZgDMlA6GWFtbZYfcVws8aSsRrz
hgdJkvyvGyg5gNl6yTIh0+nZTCTxTVORZQPxHezuLeMSvRhaJ7piIzE0MZ2YzCejn9yIp9AUfblD
sM62jQskDs5GvyuTowa8hzaPs9RI1x6B8ZTij4UiNC2KVdxaD+oSWbznbVM4M6adu48essuum1PD
2ra8WKMHdv5u718cNr87ioe8uwsXfIk0XtE+0fRifj47pkJbvURuL2U6n3YeBp9QSwMEFAACAAgA
NHDqRppFwhhUAQAAOgMAAEgAHABmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxz
LXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHRVVAkAA7QyoFW0MqBVdXgLAAEE9QEA
AAQUAAAAjZLLTsMwEEX3/opZJhKOmgpYZAcLpCJEkYjEEjnxtHFx7MgPUP+ecUgqJB7prBLfO8ee
a9ed8jCIPUL06EFAE5UOXBnYRdMGZQ0EC63QmjSyOJC4UwblSS+AsdqCi+RMsIA+QC9MpJ7jBWgr
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
ABwAZmFzdC94c2wvVVQJAAPOMqBVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABDcOpGcv1l
8oUAAADpAAAAJQAcAGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0ZGVyci50eHRVVAkAA80y
oFXNMqBVdXgLAAEE9QEAAAQUAAAArU4xDsJADNv7inygZGC7GSbYQHRO21SclLtUuZzU/p6DfoHF
smzL9qRpjUIeNQObqQVYovAPAiK+VGrighdywuvwwIHHW3S8067Vn1y84ELFcSuCxkWrTS2+va2f
dTo1FSRmhjOwcOLsENOq5l1zwkEhQM00tlFXEKX5T+P9Uc/z90X3AVBLAwQUAAIACABDcOpGBY9V
jpMAAADQAgAAJwAcAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUCQAD
zTKgVc0yoFV1eAsAAQT1AQAABBQAAADtTzsOwjAM3XsKX6B4YMsME2wgOjupKyI5cZU4EtyeQI/A
hlgs2++j94KmNQpZ1AxcihYHSxT+DIeIN5WWuOKBjPA4XXBif4qGZ3pqsytXq7hQNXxUwcJVWwmd
3i8bPc1jTKsWG1uJu/4DiZlhDyycOBts6NARt63goGXyPYApiNL8bZCstYX726TrRIbw7/vTfV9Q
SwMEFAACAAgAQ3DqRs+PZg5QAAAAoAAAACQAHABmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0
ZGVyci50eHRVVAkAA80yoFXNMqBVdXgLAAEE9QEAAAQUAAAArcyxDcAgDAXRnin+BlHabIPACEs2
RpaJMn7IDmmuu1dMJ0sOtgFyN7/QWAgQHoQTJKQ0ArZirkg87ixcsbsIzRxK0a3uyyyVv7Cnh8rx
kS9QSwMEFAACAAgAQ3DqRoFKd61LAAAArAAAADQAHABmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10
by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQJAAPOMqBVzjKgVXV4CwABBPUBAAAEFAAAALXM
sQ2AMAxE0T5T3Aq0bOPABVlybGQs5keiYAPqr/e3mKealIaDmZErhhoBUycW0DjphVtSpRtbcudQ
11fEwGHRxb6O4lVt++X6AFBLAwQUAAIACAC3cOpGgcj9FWABAAB8AgAAEQAcAGZ1bGxfcmVzdWx0
cy5qc29uVVQJAAOpM6BVqjOgVXV4CwABBPUBAAAEFAAAAKVRTUvDQBD9KzInhcS0igXjqdAoYv3A
pH6cwjSZ2KWbzbI7Kw2l/93dVEQQ8eBtePPmvZk309msfMzyxbzID7fAZNlCuoWWaoGhYIPV+quI
hYqXqOrYci/peMWtDD1DujMMKVzOpzevEAFtNFVMtYcepnnuEazYoSdDcX2b3S+KgwHf7XYRNGg5
qGjTNUKSCfXSCcnBrXGqYtGpuEIpbYyqU33bOfvT+zG78ofk1/d3fyyQvRTgbX+zcJZMXFMjFNVf
vf/aDYfatdA6kE7Ho0kEyrWloTdD1noHH/tJBEIxGeP0oNWgtLTntcKT1Bukowgk9p3jcvhVWQuf
FyRPnXQt2WSGjEn2nCfPtLwRnMwHbjG8NYJ3MsHKL7BX1WgteePTycmZF9ZiQ/JTlxQu5bclVmhL
bYi591NcrSBl4zzeiE0gDjed71Ubiese0nEEPkqvNGSDIUVbhgfvR3dHFx9QSwMECgAAAAAATnDq
RgAAAAAAAAAAAAAAAAUAHABodHRwL1VUCQAD5DKgVaozoFV1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAanDqRgAAAAAAAAAAAAAAAAsAHABodHRwL3Rlc3RzL1VUCQADFzOgVaozoFV1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAanDqRgAAAAAAAAAAAAAAABAAHABodHRwL3Rlc3RzL21pc2MvVVQJAAMX
M6BVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABqcOpGFTU1knoAAAC8AAAAKgAcAGh0dHAv
dGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADFzOgVRczoFV1eAsAAQT1
AQAABBQAAACNjkEOwyAMBO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7E
CKdZi95vj9caZrb4DiH4Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8a
E2BJx3+6Kn3k87qXLDEvP1BLAwQKAAAAAABOcOpGAAAAAAAAAAAAAAAAFgAcAGh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9VVAkAA+QyoFWqM6BVdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAE5w6kbbCNNC
OwAAAD8AAAA3ABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxiYWNrLWFuY2hvci1yZWxvYWQt
c3RkZXJyLnR4dFVUCQAD5DKgVeQyoFV1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1V
SFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAABXcOpGAAAA
AAAAAAAAAAAAFAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQJAAP1MqBVqjOgVXV4CwABBPUBAAAE
FAAAAFBLAwQKAAAAAABXcOpGAAAAAAAAAAAAAAAAKgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L1VUCQAD9TKgVaozoFV1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA
V3DqRmOqrGyCAAAAqAAAAEAAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAP1MqBV9TKgVXV4CwABBPUBAAAEFAAAAC2N
QQrDMAwE73mFXhA7vaT4FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3j
yJLuMcZgyJcW7yFLdVR//vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnS
js2vMUSbguxqTdTxmr5QSwMEFAACAAgAV3DqRmOqrGyCAAAAqAAAAFIAHABodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMt
Mi1zdGRlcnIudHh0VVQJAAP1MqBV9TKgVXV4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4
FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR/
/vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5Q
SwMEFAACAAgAVHDqRmBLZhCRAAAA+wEAAEUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5J
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
BKE5zBRTYJEt5hEAOBKW8mDCaGU8Jse9dByE40H4gCU1NWqQStMs7bU4rsJMR4txsA1/wRzrYs/O
TpDI3KPeUT1B65krTbhjcyapHA++KU6kzoQ2umuMdwe75xOJ/cY3fHEkuhteDOF0pX+U4ZDuJBs5
dkjwvOmawqjEfbX2Mp01uedx2p/3e3wPNg4vL77bxBad8bZEl+zdoLO8yM4vRyXUVX8/T0lMsyV3
EEWfUEsDBBQAAgAIALVw6kYxZSy2LgEAAEgDAABMABwAcmV0cmllcy9mYXN0L3Byb2ZpbGVyL2J1
aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1kaWZmLnR4dFVUCQAD
pTOgVaYzoFV1eAsAAQT1AQAABBQAAADNkk1PwzAMhu/7FTluKlnWCXbYqXxKgMQkiuCAOKStO2VK
k8l2pPXfk+4LkJBWccKH5JD3sV/bkVIK9eptaIDUjWatbt9y9QbFo+H9dRWMrdQzWNAEyurWB5YM
xBKBgmVSCIwm8rUmVmv0tbGAqogcS+NkHVzJxjtZamtJBgKUFdTGQfX1Bps1lAzVmDc8SJLkf7jS
JQdtt56yTMh0ejYTSTzTVGTZQHwP9veOYQkohs6LrthIDG1MJybzyeinNsZTaIq+2qF23rWNDyQO
zka/k8mR0Yi6zeNM4wiuETTDKeKPhWIYWhSruL0e0iWweM/bpvB2TDt3Hz2wy66bU8PatrxYA2r2
eLf3Lw6b332Oh7z7Hz5gCTRe0T7R9GJ+PjumAle9RG0vMp1POw+DT1BLAwQUAAIACAC1cOpGmkXC
GFQBAAA6AwAAUAAcAHJldHJpZXMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxs
cy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0VVQJAAOlM6BVpTOgVXV4CwABBPUB
AAAEFAAAAI2Sy07DMBBF9/6KWSYSjpoKWGQHC6QiRJGIxBI58bRxcezID1D/nnFIKiQe6awS3zvH
nmvXnfIwiD1C9OhBQBOVDlwZ2EXTBmUNBAut0Jo0sjiQuFMG5UkvgLHagovkTLCAPkAvTKSe4wVo
KySoACrJCI2zH4lC3+ZLS6sv2GyMH7AN1oEwkhT7BiKM4uDsTmksYGO+/9MeQ5aD72zUEjrxjiCc
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
AAAAAAAUABwAc3B1dG5pay9Db25mb3JtYW5jZS9VVAkAA0AzoFWqM6BVdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAAAAAIBw6kYAAAAAAAAAAAAAAAArABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhp
Y2FsX0NvbnZlbnRpb25zL1VUCQADQDOgVaozoFV1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAgHDq
RgAAAAAAAAAAAAAAAEAAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlv
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvVVQJAANAM6BVqjOgVXV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACACAcOpGkOWGWlsAAADgAgAAVwAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9D
b252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0ExLjFfVDEtc3RkZXJyLnR4dFVU
CQADQDOgVUAzoFV1eAsAAQT1AQAABBQAAADLzS8tTg1OLsrPyXGqDM8syQjPSE3NccxL8c3PTc0r
Kc0NyEgsTi1WSEvMzElNUSjJV0jLzAPSGakKJYlF6aklCmWZqeUKiSUKBnoGYKADY3Dljpo9avYA
mw0AUEsDBBQAAgAIALdw6kYn00mLL/AGAAMOJwAKABwAc3RhdHMuanNvblVUCQADqTOgVakzoFV1
eAsAAQT1AQAABBQAAACk/WmTK0uSHQj+FQq/DvHEbXefb2T1LpwmpVgz0y0jLU8QACIC+RBAFIC4
S7bwv48t7m5q7qbHPLJIyZv3vUo32KKmy9Gjav/3v/95etl/Hc+3f////Hf/97//3F+vp/vu9K9f
+8vn7af/6+N5up9uf7w/Py7xf3E/Pb4uz4f/+/+v/w//Ture/Id/50zf2//w74z/F7b7v/77f/h3
//7l7Ec47i63n4/30+WV/9zI+fNe+f+Y+Hmc0MvX6+vp/rh93Q+n3fX0tn+ef5x2n5f975f94a/7
/nnana9+dp+3i/97+LHbJ/9Dos/z7Px/ZPyhj/Ov8/WN/8rp+SthVPjD5gke3sNuXT5O97cNGyVd
XqkftacD3fw6fj39EH4h/AiKTEbJ8IfKY3zu7/uP3ePr48Mv6G9f18PzfLvyY+k8lhX+P2mk2+Nw
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
tsE4z+Lyt09/cX//0zGZAupYfQQ2GRpiEeGIGlJ/PR1n968/73e7dBaoY8kTJNdQF9irm8OKhO5P
v7BxO4fbxXq76RL/jgGIkWoRVOcLUPzLp78xgiIFX+c7WGHq/Hjx7IDqqv36UuvBdb1tsvv1rWiz
e25pzx0NoPc3e3/6qzCrpGNVE+EeqnhdlsJP0KD+Q2sa4nsYUsxCZ/cbzAeSWYU4D99G/UDseMJn
fj/Lx9+qx08HtZbThjLeYZ0iyK/zcjvkibJHQVObxWPTnmsb85vnY+FeV72tkTpuUnv+QNGP2b5d
5O21EYUVb37NofV9zP+FdrVrGXgoouutV4sBnZV5p7aRXlt8wSSPczKU7ZzmwYSdxxJv9XEyHmwf
L+mR6GqZUEWrrZlMWC+eu/iy6zajhTKSpY2FfRUtKX7D8pLGeEm1fqeZFQ1JLSuLldUMXUWiJfQs
D0evawnSq1D35YosFaZYJVDqWNq1S8WVV9ZjdH/1qL/StZfAWhLzVxrv1kuUVW+qjJXs6nXmjIo6
Yr20vlhn3rVdklS856AvVm16IUL7pL4wlGSeja05PolxnXHTDZEsq7KvaZXmr2PNX+lKOifDiTXA
zum6jEBT77COdH5frFVaKtExEttNmRDb+iV0sUhz3UnD9CXbDm3abu9vdxyn+AVmoVxd+4DwP0uG
jiFqXJeueAGSe2XbUadtP77cBlJwXhtmoJ/eZWKVgyIAMXheZREyeQQHoslRuz3MhBUmHCLBxsFU
kGAXogt+bRhcKNuNOU2h8MAuy8FvcI8AMikXdFxXG0QSCLkFS8iZIEiI+lhe5vM83f54t8Ou04lE
/L52YX8EfPbBtPfLcPWDFoLlz+uqLMfZMEAO2LcrE6fT5U+HznhoaIyCuTSPt6IrK2U6NTsctIOi
xPrm8/z+2xkqdLQN1X3EP11gH9fqbtrtbIOnp3ehRY1bCm3JKspoKXaCLDg+TzPMilXWQ/yMeXO3
nrf9gZ0JtOug1iPYyUTs7WeX55KPyAYDbxozH+/8gZTqHgviRQjBli694XZp50qFA6u24nKqjnEl
IhiakFu1rXjYkiplRSPRYYOV/akDFOJmZMg8/z5rPD3GZxMSbvg6VnFiUxAbAdjRYR3DHf11ept/
OO5+8P/+6f08/7y/GsLbV2VlTFJGoH23wZ9PNNaMt19BHtvc9m/arnviCPTuQhZ1Or7AnCmSmfML
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
L2RvbS9VVAUAA58yoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAqcOpG5NLLHeEAAABOAwAA
MgAYAAAAAAABAAAApIEBTQEAZmFzdC9kb20vb2JqZWN0LXBsdWdpbi1oaWRlcy1wcm9wZXJ0aWVz
LXN0ZGVyci50eHRVVAUAA58yoFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAwcOpGAAAAAAAA
AAAAAAAADAAYAAAAAAAAABAA7UFOTgEAZmFzdC9ldmVudHMvVVQFAAOrMqBVdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAK3DqRlgqZ3U5AAAAQwAAADIAGAAAAAAAAQAAAKSBlE4BAGZhc3QvZXZl
bnRzL2Rpc3BsYXktbm9uZS1vbi1mb2N1cy1jcmFzaC1zdGRlcnIudHh0VVQFAAOiMqBVdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAL3DqRjC1beM5AAAAQwAAACsAGAAAAAAAAQAAAKSBOU8BAGZh
c3QvZXZlbnRzL21vdXNlLWZvY3VzLWltYWdlbWFwLXN0ZGVyci50eHRVVAUAA6oyoFV1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAwcOpG5669XzsAAABDAAAALwAYAAAAAAABAAAApIHXTwEAZmFz
dC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50LXN0ZGVyci50eHRVVAUAA6syoFV1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAAucOpGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UF7UAEA
ZmFzdC9mcmFtZXMvVVQFAAOnMqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALnDqRtsI00I7
AAAAPwAAAC8AGAAAAAAAAQAAAKSBwVABAGZhc3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1m
b2N1cy1zdGRlcnIudHh0VVQFAAOnMqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAANXDqRgAA
AAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BZVEBAGZhc3QvaW1hZ2VzL1VUBQADtTKgVXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIADVw6kYhj704MgAAADMAAAAsABgAAAAAAAEAAACkgatRAQBmYXN0
L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUBQADtTKgVXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAADVw6kYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQUNSAQBmYXN0
L2xvYWRlci9VVAUAA7YyoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAvcOpG2wjTQjsAAAA/
AAAAUgAYAAAAAAABAAAApIGJUgEAZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1jYW4t
YmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUBQADqjKgVXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADBw6kbbCNNCOwAAAD8AAABTABgAAAAAAAEAAACkgVBT
AQBmYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNh
bi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUBQADrDKgVXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIADVw6kbbCNNCOwAAAD8AAAAtABgAAAAAAAEAAACkgRhUAQBmYXN0L2xvYWRlci9yZWxv
YWQtcG9saWN5LWRlbGVnYXRlLXN0ZGVyci50eHRVVAUAA7YyoFV1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAA0cOpGAAAAAAAAAAAAAAAADgAYAAAAAAAAABAA7UG6VAEAZmFzdC9wcm9maWxlci9V
VAUAA7QyoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA0cOpGC1JwzJcBAACSBAAAOgAYAAAA
AAABAAAApIECVQEAZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1v
dXMtYWN0dWFsLnR4dFVUBQADtDKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADRw6kbObASZ
NAEAAGoDAAA4ABgAAAAAAAEAAACkgQ1XAQBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9u
LWNhbGxzLWFub255bW91cy1kaWZmLnR4dFVUBQADtDKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADRw6kbZiNxfaQEAAKQDAAA8ABgAAAAAAAEAAACkgbNYAQBmYXN0L3Byb2ZpbGVyL2J1aWx0
LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBlY3RlZC50eHRVVAUAA7QyoFV1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAA0cOpGq51VTTEIAADPHgAAQAAYAAAAAAABAAAApIGSWgEAZmFz
dC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtcHJldHR5LWRpZmYu
aHRtbFVUBQADtDKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADRw6kbwThiefwEAACgEAABG
ABgAAAAAAAEAAACkgT1jAQBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVz
ZXItZGVmaW5lZC1mdW5jdGlvbi1hY3R1YWwudHh0VVQFAAO0MqBVdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgANHDqRjafjGQoAQAAOAMAAEQAGAAAAAAAAQAAAKSBPGUBAGZhc3QvcHJvZmlsZXIv
YnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWRpZmYudHh0VVQF
AAO0MqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANHDqRppFwhhUAQAAOgMAAEgAGAAAAAAA
AQAAAKSB4mYBAGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZp
bmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dFVUBQADtDKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADRw6kb3cVNnIwgAAJEeAABMABgAAAAAAAEAAACkgbhoAQBmYXN0L3Byb2ZpbGVyL2J1aWx0
LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1wcmV0dHktZGlmZi5odG1s
VVQFAAO0MqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAO3DqRgAAAAAAAAAAAAAAAA0AGAAA
AAAAAAAQAO1BYXEBAGZhc3QvcmVnaW9ucy9VVAUAA8IyoFV1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAA8cOpGAAAAAAAAAAAAAAAAFwAYAAAAAAAAABAA7UGocQEAZmFzdC9yZWdpb25zL3Njcm9s
bGluZy9VVAUAA8MyoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA7cOpGOQHL3UAAAAB6AAAA
NQAYAAAAAAABAAAApIH5cQEAZmFzdC9yZWdpb25zL3Njcm9sbGluZy93aGVlbC1zY3JvbGwtYWJz
cG9zLXN0ZGVyci50eHRVVAUAA8IyoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA8cOpGOQHL
3UAAAAB6AAAALgAYAAAAAAABAAAApIGocgEAZmFzdC9yZWdpb25zL3Njcm9sbGluZy93aGVlbC1z
Y3JvbGwtc3RkZXJyLnR4dFVUBQADwzKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADxw6kbk
isdDPAAAAD0AAABAABgAAAAAAAEAAACkgVBzAQBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVs
LXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lvbi1zdGRlcnIudHh0VVQFAAPDMqBVdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAQ3DqRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BBnQBAGZhc3QvdGV4
dC9VVAUAA84yoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABDcOpG4nyxK00BAADKAwAAJAAY
AAAAAAABAAAApIFKdAEAZmFzdC90ZXh0L2ZvbnQtd2VpZ2h0cy16aC1zdGRlcnIudHh0VVQFAAPO
MqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAQ3DqRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQ
AO1B9XUBAGZhc3QveHNsL1VUBQADzjKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAENw6kZy
/WXyhQAAAOkAAAAlABgAAAAAAAEAAACkgTh2AQBmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1z
dGRlcnIudHh0VVQFAAPNMqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAQ3DqRgWPVY6TAAAA
0AIAACcAGAAAAAAAAQAAAKSBHHcBAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJy
LnR4dFVUBQADzTKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAENw6kbPj2YOUAAAAKAAAAAk
ABgAAAAAAAEAAACkgRB4AQBmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAUA
A80yoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABDcOpGgUp3rUsAAACsAAAANAAYAAAAAAAB
AAAApIG+eAEAZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJy
LnR4dFVUBQADzjKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALdw6kaByP0VYAEAAHwCAAAR
ABgAAAAAAAEAAACkgXd5AQBmdWxsX3Jlc3VsdHMuanNvblVUBQADqTOgVXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAE5w6kYAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQSJ7AQBodHRwL1VUBQAD
5DKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGpw6kYAAAAAAAAAAAAAAAALABgAAAAAAAAA
EADtQWF7AQBodHRwL3Rlc3RzL1VUBQADFzOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGpw
6kYAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQaZ7AQBodHRwL3Rlc3RzL21pc2MvVVQFAAMXM6BV
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAanDqRhU1NZJ6AAAAvAAAACoAGAAAAAAAAQAAAKSB
8HsBAGh0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADFzOgVXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAE5w6kYAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQc58
AQBodHRwL3Rlc3RzL25hdmlnYXRpb24vVVQFAAPkMqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgATnDqRtsI00I7AAAAPwAAADcAGAAAAAAAAQAAAKSBHn0BAGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9mYWxsYmFjay1hbmNob3ItcmVsb2FkLXN0ZGVyci50eHRVVAUAA+QyoFV1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAABXcOpGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UHKfQEAaHR0cC90ZXN0
cy9zZWN1cml0eS9VVAUAA/UyoFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABXcOpGAAAAAAAA
AAAAAAAAKgAYAAAAAAAAABAA7UEYfgEAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvVVQFAAP1MqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAV3DqRmOqrGyCAAAA
qAAAAEAAGAAAAAAAAQAAAKSBfH4BAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA/UyoFV1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABXcOpGY6qsbIIAAACoAAAAUgAYAAAAAAABAAAApIF4fwEAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTIt
c3RkZXJyLnR4dFVUBQAD9TKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFRw6kZgS2YQkQAA
APsBAABFABgAAAAAAAEAAACkgYaAAQBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNs
LWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAUAA/AyoFV1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAAcOpG6op8QmEFAAAFDwAACgAYAAAAAAABAAAApIGWgQEAaHR0cGQuY29u
ZlVUBQADUDKgVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJFw6kYAAAAAAAAAAAAAAAAGABgA
AAAAAAAAEADtQTuHAQBtZWRpYS9VVAUAA2EzoFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACR
cOpGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UF7hwEAbWVkaWEvdHJhY2svVVQFAANhM6BVdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAkXDqRv4nOOA1AAAANQAAACoAGAAAAAAAAQAAAKSBwYcB
AG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUBQADYTOgVXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAJFw6kb9avM2xQEAAG4DAAAoABgAAAAAAAEAAACkgVqIAQBt
ZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLWRpZmYudHh0VVQFAANhM6BVdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAkXDqRgz65Oo2AQAAMwIAACwAGAAAAAAAAQAAAKSBgYoBAG1lZGlh
L3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtZXhwZWN0ZWQudHh0VVQFAANhM6BVdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAkXDqRteck3ftCAAApSQAADAAGAAAAAAAAQAAAKSBHYwBAG1lZGlh
L3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtcHJldHR5LWRpZmYuaHRtbFVUBQADYTOgVXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAIBw6kYAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQXSVAQBw
bHVnaW5zL1VUBQADPzOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIBw6kbuXXJFhgAAAPYA
AAA7ABgAAAAAAAEAAACkgbaVAQBwbHVnaW5zL25wcC1zZXQtd2luZG93LWNhbGxlZC1kdXJpbmct
ZGVzdHJ1Y3Rpb24tc3RkZXJyLnR4dFVUBQADPzOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AFpw6kZT3E5DrAIAAN0kAAArABgAAAAAAAEAAACkgbGWAQBweXdlYnNvY2tldC53cy5sb2ctMTBK
dWwyMDE1LTE0MDAwMS1lcnIudHh0VVQFAAP7MqBVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
WnDqRrBw8aUIAQAAjwIAACsAGAAAAAAAAQAAAKSBwpkBAHB5d2Vic29ja2V0LndzLmxvZy0xMEp1
bDIwMTUtMTQwMDAxLW91dC50eHRVVAUAA/syoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC3
cOpGd0xIEqUmAADcpAAADAAYAAAAAAABAAAApIEvmwEAcmVzdWx0cy5odG1sVVQFAAOpM6BVdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtXDqRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BGsIB
AHJldHJpZXMvVVQFAAOlM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtXDqRgAAAAAAAAAA
AAAAAA0AGAAAAAAAAAAQAO1BXMIBAHJldHJpZXMvZmFzdC9VVAUAA6UzoFV1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAC1cOpGAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UGjwgEAcmV0cmllcy9m
YXN0L3Byb2ZpbGVyL1VUBQADpjOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALVw6kYLUnDM
lwEAAJIEAABCABgAAAAAAAEAAACkgfPCAQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4t
ZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWFjdHVhbC50eHRVVAUAA6YzoFV1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC1cOpGPipBOTgBAAB6AwAAQAAYAAAAAAABAAAApIEGxQEAcmV0cmllcy9m
YXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1kaWZmLnR4dFVU
BQADpjOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALVw6kbZiNxfaQEAAKQDAABEABgAAAAA
AAEAAACkgbjGAQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMt
YW5vbnltb3VzLWV4cGVjdGVkLnR4dFVUBQADpjOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ALVw6kZQ0TzRNggAANceAABIABgAAAAAAAEAAACkgZ/IAQByZXRyaWVzL2Zhc3QvcHJvZmlsZXIv
YnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLXByZXR0eS1kaWZmLmh0bWxVVAUAA6Yz
oFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1cOpG8E4Ynn8BAAAoBAAATgAYAAAAAAABAAAA
pIFX0QEAcmV0cmllcy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXIt
ZGVmaW5lZC1mdW5jdGlvbi1hY3R1YWwudHh0VVQFAAOlM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAtXDqRjFlLLYuAQAASAMAAEwAGAAAAAAAAQAAAKSBXtMBAHJldHJpZXMvZmFzdC9wcm9m
aWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZGlmZi50
eHRVVAUAA6UzoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1cOpGmkXCGFQBAAA6AwAAUAAY
AAAAAAABAAAApIES1QEAcmV0cmllcy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNh
bGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHRVVAUAA6UzoFV1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC1cOpGMBBa9SgIAACZHgAAVAAYAAAAAAABAAAApIHw1gEAcmV0cmll
cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5j
dGlvbi1wcmV0dHktZGlmZi5odG1sVVQFAAOmM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
gXDqRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1Bpt8BAHNjcm9sbGJhcnMvVVQFAANCM6BVdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgXDqRm69I2E5AAAAQgAAADsAGAAAAAAAAQAAAKSB698B
AHNjcm9sbGJhcnMvc2Nyb2xsZXZlbnQtaWZyYW1lLW5vLXNjcm9sbGluZy13aGVlbC1zdGRlcnIu
dHh0VVQFAANCM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAgHDqRgAAAAAAAAAAAAAAAAgA
GAAAAAAAAAAQAO1BmeABAHNwdXRuaWsvVVQFAANAM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAgHDqRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B2+ABAHNwdXRuaWsvQ29uZm9ybWFuY2Uv
VVQFAANAM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAgHDqRgAAAAAAAAAAAAAAACsAGAAA
AAAAAAAQAO1BKeEBAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy9V
VAUAA0AzoFV1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACAcOpGAAAAAAAAAAAAAAAAQAAYAAAA
AAAAABAA7UGO4QEAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
M19MaW5lX1Rlcm1pbmF0b3JzL1VUBQADQDOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIBw
6kaQ5YZaWwAAAOACAABXABgAAAAAAAEAAACkgQjiAQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xl
eGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMS4xX1QxLXN0ZGVy
ci50eHRVVAUAA0AzoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC3cOpGJ9NJiy/wBgADDicA
CgAYAAAAAAABAAAApIH04gEAc3RhdHMuanNvblVUBQADqTOgVXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAKlw6kYAAAAAAAAAAAAAAAAEABgAAAAAAAAAEADtQWfTCABzdmcvVVQFAAONM6BVdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlHDqRgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BpdMI
AHN2Zy9hcy1pbWFnZS9VVAUAA2gzoFV1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACUcOpG2wjT
QjsAAAA/AAAAPwAYAAAAAAABAAAApIHs0wgAc3ZnL2FzLWltYWdlL3N2Zy1pbWFnZS13aXRoLWRh
dGEtdXJpLWltYWdlcy1kaXNhYmxlZC1zdGRlcnIudHh0VVQFAANoM6BVdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAqXDqRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BoNQIAHN2Zy9jdXN0b20v
VVQFAAONM6BVdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqXDqRiH09vA6AAAAQgAAADAAGAAA
AAAAAQAAAKSB5dQIAHN2Zy9jdXN0b20vdXNlLWludmFsaWRhdGUtY2xpY2stY3Jhc2gtc3RkZXJy
LnR4dFVUBQADjTOgVXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJdw6kYAAAAAAAAAAAAAAAAL
ABgAAAAAAAAAEADtQYnVCABzdmcvc3Ryb2tlL1VUBQADbTOgVXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAJdw6kbfs+6ekAAAAKYAAAAlABgAAAAAAAEAAACkgc7VCABzdmcvc3Ryb2tlL3plcm8t
d2lkdGgtaGFuZy1zdGRlcnIudHh0VVQFAANtM6BVdXgLAAEE9QEAAAQUAAAAUEsFBgAAAABdAF0A
eycAAL3WCAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256680</attachid>
            <date>2015-07-12 10:32:37 -0700</date>
            <delta_ts>2015-07-12 10:47:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150713023132.patch</filename>
            <type>text/plain</type>
            <size>129271</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZTAyYTA1OTEyZDA0NGE1NWI2NzIwZGJhNDAzM2FkZmYwYTgwOTUzLi5hYjc4OWRhOGI4OGFhYzhl
MzcxNDg4MTI1OTg1YTZkMDI5OGU3YjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzEgQEAKKzIwMTUtMDctMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToK
KyAgICAgICAgKHNwbGljZSk6CisgICAgICAgICogYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5q
czoKKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2JhbE9i
amVjdC5qczoKKyAgICAgICAgKHNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYnVpbHRp
bnMvSXRlcmF0b3IucHJvdG90eXBlLmpzOgorICAgICAgICAoc3ltYm9sSXRlcmF0b3IpOgorICAg
ICAgICAoU3ltYm9sSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJ1aWx0aW5zL01hcENv
bnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
SXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAg
ICogYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qczogQ29waWVkIGZyb20gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcy4KKyAgICAgICAgKC5uZXdBcnJheUlu
Q3VycmVudFJlYWxtKToKKyAgICAgICAgKGFycmF5U3BlY2llc0NyZWF0ZSk6CisgICAgICAgICog
YnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanM6CisgICAgICAgICogYnVpbHRpbnMvUHJvbWlz
ZUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAocmFjZSk6CisgICAgICAgIChzeW1ib2xTcGVjaWVz
KToKKyAgICAgICAgKiBidWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qczogQ29waWVkIGZyb20gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcy4KKyAgICAg
ICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpwdXRCeVZhbCk6CisgICAgICAgIChKU0M6OkRGRzo6b3BlcmF0aW9u
UHV0QnlWYWxJbnRlcm5hbCk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAg
ICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxM
SU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6Cisg
ICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkFycmF5
Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHA6CisgICAgICAgIChKU0M6OmFycmF5U3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6Y3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9G
dW5jQ29uY2F0KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTbGljZSk6CisgICAgICAg
IChKU0M6OmFycmF5UHJvdG9GdW5jU3BsaWNlKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRp
bWUvRGF0ZUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpT
Qzo6RXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0
b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6aXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSk6CisgICAgICAgIChKU0M6OkpT
R2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0
Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVmaW5lT3duSW5k
ZXhlZFByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSk6CisgICAgICAgICogcnVudGltZS9KU1By
b21pc2VDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZUNvbnN0cnVjdG9y
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9y
Lmg6CisgICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29uc3RydWN0
b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVn
RXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUp
OgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpT
ZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29u
c3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcDoKKyAgICAgICAgKEpTQzo6U3Bh
cnNlQXJyYXlWYWx1ZU1hcDo6cHV0RGlyZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ0Nv
bnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpjcmVhdGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U3lt
Ym9sQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9XZWFrTWFwQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKEpTQzo6V2Vha01hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OldlYWtT
ZXRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc3ltYm9sLXNw
ZWNpZXMuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAoc2hvdWxkVGhy
b3cpOgorICAgICAgICAoLmdldCBFeHRlbmRlZEFycmF5KToKKyAgICAgICAgKC5nZXQgc2hvdWxk
QmUpOgorICAgICAgICAoLnNldCBzaG91bGRCZSk6CisgICAgICAgIChUZXN0KToKKyAgICAgICAg
KC4pOgorCiAyMDE1LTA3LTA5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTeW1ib2xUYWJsZTo6ZW50cnlGb3IoKSBzaG91bGQgZG8gYSBib3VuZHMgY2hlY2sgYmVm
b3JlIGluZGV4aW5nIGludG8gdGhlIGxvY2FsVG9FbnRyeSB2ZWN0b3IuCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwppbmRleCBhZjQ2ZGQ4
ZmVmZmU1MzRiY2Q0MDUzNGYzNGY3YmYyNWZhNWJlNDQzLi4zYjA5NjQwYjU3MTkzZjQ2Y2JjOTRi
ZDNhNmIzNDc3OTRkOWNhMDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9BcnJheS5wcm90b3R5cGUuanMKQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlvbiBmaWx0
ZXIoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJy
b3IoIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7
CiAgICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50
c1sxXSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9
IEBhcnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIDApOwogICAgIHZhciBuZXh0SW5kZXggPSAwOwog
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgaWYgKCEoaSBp
biBhcnJheSkpCkBAIC0xOTAsNyArMTkwLDcgQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCB0
aGlzQXJnICovKSB7CiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5
cGUubWFwIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpOwogICAgIAogICAgIHZhciB0aGlz
QXJnID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7Ci0g
ICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHZhciByZXN1bHQgPSBAYXJyYXlTcGVjaWVzQ3JlYXRl
KGFycmF5LCBsZW5ndGgpOwogICAgIHJlc3VsdC5sZW5ndGggPSBsZW5ndGg7CiAgICAgdmFyIG5l
eHRJbmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewpAQCAt
NjQyLDMgKzY0Miw4MSBAQCBmdW5jdGlvbiBtaW5XaXRoTWF5YmVOZWdhdGl2ZVplcm9BbmRQb3Np
dGl2ZShtYXliZU5lZ2F0aXZlWmVybywgcG9zaXRpdmUpCiAKICAgICByZXR1cm4gdGhpc09iamVj
dDsKIH0KKworZnVuY3Rpb24gc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCkKK3sKKyAgICAidXNl
IHN0cmljdCI7CisKKyAgICB2YXIgb2JqZWN0ID0gQE9iamVjdCh0aGlzKTsKKyAgICB2YXIgbGVu
Z3RoID0gQHRvTGVuZ3RoKG9iamVjdC5sZW5ndGgpOworICAgIHZhciBpdGVtT2Zmc2V0ID0gMjsK
KworICAgIHZhciByZWxhdGl2ZVN0YXJ0ID0gQHRvSW50ZWdlcihzdGFydCk7CisgICAgdmFyIGFj
dHVhbFN0YXJ0OworICAgIGlmIChyZWxhdGl2ZVN0YXJ0IDwgMCkgeworICAgICAgICBhY3R1YWxT
dGFydCA9IGxlbmd0aCArIHJlbGF0aXZlU3RhcnQ7CisgICAgICAgIGlmIChyZWxhdGl2ZVN0YXJ0
IDw9IDApCisgICAgICAgICAgICBhY3R1YWxTdGFydCA9IDA7CisgICAgfSBlbHNlCisgICAgICAg
IGFjdHVhbFN0YXJ0ID0gKHJlbGF0aXZlU3RhcnQgPCBsZW5ndGgpID8gcmVsYXRpdmVTdGFydCA6
IGxlbmd0aDsKKworICAgIHZhciBhcmd1bWVudHNMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoOwor
ICAgIHZhciBpbnNlcnRDb3VudDsKKyAgICB2YXIgYWN0dWFsRGVsZXRlQ291bnQ7CisgICAgaWYg
KGFyZ3VtZW50c0xlbmd0aCAgPT09IDApIHsKKyAgICAgICAgaW5zZXJ0Q291bnQgPSAwOworICAg
ICAgICBhY3R1YWxEZWxldGVDb3VudCA9IDA7CisgICAgfSBlbHNlIGlmIChhcmd1bWVudHNMZW5n
dGggPT09IDEpIHsKKyAgICAgICAgaW5zZXJ0Q291bnQgPSAwOworICAgICAgICBhY3R1YWxEZWxl
dGVDb3VudCA9IGxlbmd0aCAtIGFjdHVhbFN0YXJ0OworICAgIH0gZWxzZSB7CisgICAgICAgIGlu
c2VydENvdW50ID0gYXJndW1lbnRzTGVuZ3RoIC0gaXRlbU9mZnNldDs7CisgICAgICAgIHZhciBk
YyA9IEB0b0xlbmd0aChkZWxldGVDb3VudCk7CisgICAgICAgIGlmIChkYyA8PSAwKQorICAgICAg
ICAgICAgZGMgPSAwOworICAgICAgICBhY3R1YWxEZWxldGVDb3VudCA9IGxlbmd0aCAtIGFjdHVh
bFN0YXJ0OworICAgICAgICBpZiAoZGMgPCBhY3R1YWxEZWxldGVDb3VudCkKKyAgICAgICAgICAg
IGFjdHVhbERlbGV0ZUNvdW50ID0gZGM7CisgICAgfQorCisgICAgaWYgKChsZW5ndGggKyBpbnNl
cnRDb3VudCAtIGFjdHVhbERlbGV0ZUNvdW50KSA+IDB4MUZGRkZGRkZGRkZGRkYpCisgICAgICAg
IHRocm93IG5ldyBAVHlwZUVycm9yKCk7CisKKyAgICB2YXIgYXJyYXkgPSBAYXJyYXlTcGVjaWVz
Q3JlYXRlKG9iamVjdCwgYWN0dWFsRGVsZXRlQ291bnQpOworICAgIGZvciAodmFyIGsgPSAwOyBr
IDwgYWN0dWFsRGVsZXRlQ291bnQ7ICsraykgeworICAgICAgICB2YXIgZnJvbSA9IGFjdGF1bFN0
YXJ0ICsgazsKKyAgICAgICAgaWYgKGZyb20gaW4gb2JqZWN0KQorICAgICAgICAgICAgQHB1dEJ5
VmFsRGlyZWN0KGFycmF5LCBrLCBvYmplY3RbZnJvbV0pOworICAgIH0KKyAgICBhcnJheS5sZW5n
dGggPSBhY3R1YWxEZWxldGVDb3VudDsKKworICAgIHZhciBpdGVtQ291bnQgPSBhcmd1bWVudHNM
ZW5ndGggLSBpdGVtT2Zmc2V0OworICAgIGlmIChpdGVtQ291bnQgPCBhY3R1YWxEZWxldGVDb3Vu
dCkgeworICAgICAgICBmb3IgKHZhciBrID0gYWN0dWFsU3RhcnQsIG1vdmVDb3VudCA9IGxlbmd0
aCAtIGFjdHVhbERlbGV0ZUNvdW50OyBrIDwgbW92ZUNvdW50OyArK2spIHsKKyAgICAgICAgICAg
IHZhciBmcm9tID0gayArIGFjdHVhbERlbGV0ZUNvdW50OworICAgICAgICAgICAgdmFyIHRvID0g
ayArIGl0ZW1Db3VudDsKKyAgICAgICAgICAgIGlmIChmcm9tIGluIG9iamVjdCkKKyAgICAgICAg
ICAgICAgICBvYmplY3RbdG9dID0gb2JqZWN0W2Zyb21dOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGRlbGV0ZSBvYmplY3RbdG9dOworICAgICAgICB9CisgICAgICAgIGZvciAo
dmFyIGsgPSBsZW5ndGgsIHJlbWFpbkNvdW50ID0gbGVuZ3RoIC0gYWN0dWFsRGVsZXRlQ291bnQg
KyBpdGVtQ291bnQ7IGxlbmd0aCA+IHJlbWFpbkNvdW50OyAtLWspCisgICAgICAgICAgICBkZWxl
dGUgb2JqZWN0W2sgLSAxXTsKKyAgICB9IGVsc2UgaWYgKGl0ZW1Db3VudCA+IGFjdHVhbERlbGV0
ZUNvdW50KSB7CisgICAgICAgIGZvciAodmFyIGsgPSBsZW5ndGggLSBhY3R1YWxEZWxldGVDb3Vu
dDsgayA+IGFjdHVhbFN0YXJ0OyAtLWspIHsKKyAgICAgICAgICAgIHZhciBmcm9tID0gayArIGFj
dHVhbERlbGV0ZUNvdW50OworICAgICAgICAgICAgdmFyIHRvID0gayArIGl0ZW1Db3VudCAtIDE7
CisgICAgICAgICAgICBpZiAoZnJvbSBpbiBvYmplY3QpCisgICAgICAgICAgICAgICAgb2JqZWN0
W3RvXSA9IG9iamVjdFtmcm9tXTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBk
ZWxldGUgb2JqZWN0W3RvXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvciAodmFyIGsgPSAw
OyBrIDwgaXRlbUNvdW50OyArK2spCisgICAgICAgIG9iamVjdFthY3R1YWxTdGFydCArIGtdID0g
YXJndW1lbnRzW2sgKyBpdGVtT2Zmc2V0XTsKKworICAgIG9iamVjdC5sZW5ndGggPSBsZW5ndGgg
LSBhY3R1YWxEZWxldGVDb3VudCArIGl0ZW1Db3VudDsKKworICAgIHJldHVybiBhcnJheTsKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVj
dG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKaW5kZXggNWE1NTFmNzM5OGY3OGYwYzI5YjBmNDNkOWVmY2MzN2VhYTIyZTMyNS4uMzRkZjYy
NDAyNGJiZGFjOWFiMjc4MDU2YWRhZmMxNmE5MjYzNjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMKQEAgLTEwNywzICsxMDcs
MTAgQEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRoaXNBcmcgKi8pIHsKICAgICBy
ZXN1bHQubGVuZ3RoID0gYXJyYXlMaWtlTGVuZ3RoOwogICAgIHJldHVybiByZXN1bHQ7CiB9CisK
K2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJl
dHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0dsb2JhbE9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxP
YmplY3QuanMKaW5kZXggNmFkYWRlZmJkOWE5NzAxNzc5MzY2MGFmZGIyM2E3NTUyYTIwN2FmOS4u
Y2M3YjJjYTkxYmYwYmUwNjllZTQ0MWNjYWQxYjM5OGVkMzYzZTk5MiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCkBAIC01NSwzICs1NSwyMiBA
QCBmdW5jdGlvbiBpc09iamVjdChvYmplY3QpCiAKICAgICByZXR1cm4gKG9iamVjdCAhPT0gbnVs
bCAmJiB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IikgfHwgdHlwZW9mIG9iamVjdCA9PT0gImZ1
bmN0aW9uIjsKIH0KKworZnVuY3Rpb24gc3BlY2llc0NvbnN0cnVjdG9yKG9iamVjdCwgZGVmYXVs
dENvbnN0cnVjdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHZhciBjb25zdHJ1Y3Rv
ciA9IG9iamVjdC5jb25zdHJ1Y3RvcjsKKyAgICBpZiAoY29uc3RydWN0b3IgPT09IHVuZGVmaW5l
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIm9iamVjdCBkb2VzIG5vdCBoYXZlIFwi
Y29uc3RydWN0b3JcIiBwcm9wZXJ0eSIpOworCisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3Rv
cltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgPT09IHVuZGVmaW5lZCB8fCBzcGVj
aWVzID09PSBudWxsKQorICAgICAgICByZXR1cm4gZGVmYXVsdENvbnN0cnVjdG9yOworCisgICAg
Ly8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKHNwZWNpZXMpLgorICAgIGlmICh0eXBlb2Ygc3Bl
Y2llcyAhPT0gJ2Z1bmN0aW9uJykKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImNvbnN0
cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3RvciIpOworCisgICAgcmV0dXJuIHNw
ZWNpZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRl
cmF0b3IucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJh
dG9yLnByb3RvdHlwZS5qcwppbmRleCBkYzcyYTY0MDhiNDM2NzBhOTM2MTlmYzYxZjJiZWMzMjc1
ZTM5NWQ1Li4xZTliOThjODQzZDg2NzU1YzQ3NjMzNzY1NzlmNDk4YTkyMDAyZGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpz
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotZnVuY3Rpb24gU3lt
Ym9sSXRlcmF0b3IoKQorZnVuY3Rpb24gc3ltYm9sSXRlcmF0b3IoKQogewogICAgICd1c2Ugc3Ry
aWN0JzsKICAgICByZXR1cm4gdGhpczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJm
OWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL01hcENvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gc3lt
Ym9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5B
cnJheS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU0ZjU5NDZkOThiNGExMWQwYWMwZjAxMjRlMzU2NjZiMmE1NjBiOTIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0
aW9ucy5BcnJheS5qcwpAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIGFycmF5U3BlY2llc0NyZWF0ZShv
cmlnaW5hbEFycmF5LCBsZW5ndGgpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgZnVuY3Rp
b24gbmV3QXJyYXlJbkN1cnJlbnRSZWFsbSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0g
W107CisgICAgICAgIHJlc3VsdC5sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfQorCisgICAgaWYgKCFAaXNBcnJheShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAg
cmV0dXJuIG5ld0FycmF5SW5DdXJyZW50UmVhbG0obGVuZ3RoKTsKKworICAgIHZhciBjb25zdHJ1
Y3RvciA9IG9yaWdpbmFsQXJyYXkuY29uc3RydWN0b3I7CisKKyAgICAvLyBFYXJseSBjaGVjayBm
b3IgdGhlIGNvbW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1Y3RvciAhPT0gQEFycmF5KSB7Cisg
ICAgICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikuCisgICAgICAg
IGlmICh0eXBlb2YgY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIpIHsKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBDdXJyZW50bHksIEBBcnJheSBhbHdheXMgcmVmZXIgdG8gdGhlIEFycmF5IGNvbnN0
cnVjdG9yIGJvdW5kIHRvIHRoZSBSZWFsbSBpbiB3aGljaCB0aGlzIGZ1bmN0aW9uIGlzIGNyZWF0
ZWQuCisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdlbmVyYXRlIG5ldyBBcnJheSBmcm9tIHRo
ZSBjdXJyZW50IHJ1bm5pbmcgY29udGV4dC4KKyAgICAgICAgICAgIGlmIChAaXNBcnJheUNvbnN0
cnVjdG9ySW5EaWZmZXJlbnRSZWFsbShjb25zdHJ1Y3RvcikpCisgICAgICAgICAgICAgICAgcmV0
dXJuIG5ld0FycmF5SW5DdXJyZW50UmVhbG0obGVuZ3RoKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGlmIChAaXNPYmplY3QoY29uc3RydWN0b3IpKSB7CisgICAgICAgIGNvbnN0cnVjdG9yID0g
Y29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgICAgICBpZiAoY29uc3RydWN0b3IgPT09
IG51bGwpCisgICAgICAgICAgICBjb25zdHJ1Y3RvciA9IHVuZGVmaW5lZDsKKyAgICB9CisKKyAg
ICBpZiAoY29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCB8fCBjb25zdHJ1Y3RvciA9PT0gQEFycmF5
KQorICAgICAgICByZXR1cm4gbmV3QXJyYXlJbkN1cnJlbnRSZWFsbShsZW5ndGgpOworCisgICAg
Ly8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKS4KKyAgICBpZiAodHlwZW9m
IGNvbnN0cnVjdG9yICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJv
cigiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpOworCisg
ICAgcmV0dXJuIG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzCmluZGV4IDg1NjNkZjBk
OTI3ZmIyMzM5Njg5MzllMTQ5NDIzOTZlYzg1ZTY1YWEuLmNmNmEyMGZkODMyNWI4M2MxYjkwNzVi
NTkxMmM0MzU5MDQwMTYzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanMKQEAgLTM3LDkgKzM3LDcgQEAgZnVuY3Rpb24gdGhl
bihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkKICAgICBpZiAoIUBpc1Byb21pc2UodGhpcykpCiAg
ICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7CiAK
LSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3duIHN5
bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NjYyNAotICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXMuY29uc3RydWN0b3I7Cisg
ICAgdmFyIGNvbnN0cnVjdG9yID0gQHNwZWNpZXNDb25zdHJ1Y3Rvcih0aGlzLCBAUHJvbWlzZSk7
CiAKICAgICB2YXIgcmVzdWx0Q2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShjb25z
dHJ1Y3Rvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Q
cm9taXNlQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJv
bWlzZUNvbnN0cnVjdG9yLmpzCmluZGV4IDFmODNiNDdmNzkwYTc1ZTViZjhjOTNkNWU2NjQ5NjE4
Y2IxYWVjNjcuLjNmOThlYmYzM2FlMjk3ODgzNmNmMTcyMTI4NjU4NWNhMTdlMGZiMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3Iu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rv
ci5qcwpAQCAtMzAsOSArMzAsMTAgQEAgZnVuY3Rpb24gYWxsKGl0ZXJhYmxlKQogICAgIGlmICgh
QGlzT2JqZWN0KHRoaXMpKQogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMg
bm90IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3Bl
Y2llcyB3ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAogICAgIHZhciBjb25zdHJ1Y3RvciA9IHRo
aXM7CisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAg
aWYgKHNwZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVjaWVzICE9PSBudWxsKQorICAgICAgICBj
b25zdHJ1Y3RvciA9IHNwZWNpZXM7CiAKICAgICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3
UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwogCkBAIC04Niw5ICs4NywxMCBAQCBmdW5j
dGlvbiByYWNlKGl0ZXJhYmxlKQogICAgIGlmICghQGlzT2JqZWN0KHRoaXMpKQogICAgICAgICB0
aHJvdyBuZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBG
SVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3duIHN5bWJvbCBpcyBs
YW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
NjYyNAogICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXM7CisgICAgdmFyIHNwZWNpZXMgPSBjb25z
dHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgIT09IHVuZGVmaW5lZCAm
JiBzcGVjaWVzICE9PSBudWxsKQorICAgICAgICBjb25zdHJ1Y3RvciA9IHNwZWNpZXM7CiAKICAg
ICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0
b3IpOwogCkBAIC0xMzcsMyArMTM5LDEwIEBAIGZ1bmN0aW9uIHJlc29sdmUodmFsdWUpCiAKICAg
ICByZXR1cm4gcHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9CisKK2Z1bmN0aW9uIHN5bWJv
bFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9y
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI3ZDg3YTlkZDY4YTU1MzYxNWI4MmY5YzBiNGM5MWZkN2VmYTNkMjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU2V0Q29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2Ug
U3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNl
IHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IDZmOTUxMmJhNTM0YzQ5MGQ0YmY5OThhZjVkMDgy
NDQxMmRiYjkxNGUuLmY5YTUzYzEzOGZmZDg0ZTllODRhNTFiNmI4NmE5YTBhYzI0MTNlMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtNzIsNyAr
NzIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHV0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIGJhc2VWYWx1ZSwgdWludDMyX3QgaW5kZXgsCiAgICAgQVNTRVJUKGlzSW5kZXgoaW5kZXgp
KTsKICAgICBpZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5p
c09iamVjdCgpKTsKLSAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgo
ZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93
IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGFzT2JqZWN0KGJhc2VW
YWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0
RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91
bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGJhc2VWYWx1ZS5p
c09iamVjdCgpKSB7CkBAIC0xMjQsNyArMTI0LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhlY1N0YXRlKiBleGUK
ICAgICBpZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09i
amVjdCgpKTsKICAgICAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5k
ZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERp
cmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAg
ICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52
YWx1ZSgpLCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVy
dHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdCgqdm0sIHByb3BlcnR5
TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIH0gZWxzZQpAQCAtNTAxLDcgKzUwMSw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3Ry
aWN0KEV4ZWNTdGF0ZSogZXhlCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAgICAgaWYgKGluZGV4ID49IDApIHsK
LSAgICAgICAgYXJyYXktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFZhbHVlKSwgMCwgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyk7CisgICAgICAg
IGFycmF5LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRWYWx1ZSksIDAsIFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcAppbmRleCAzODAxNWQyZDgwNGY5MzU5MjBmOTc1NmE3MWNhMmZkZmVh
MTc5NTkwLi4xZTY0NTJlY2VmYTQxMTc0NDA1ZTlmNGUzNjBhNGEyMTkwMmIzNzc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTUzNiw3ICs1MzYs
NyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNP
YmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICB9CiAKICAgICAgICAgYXJyYXlQ
cm9maWxlLT5zZXRPdXRPZkJvdW5kcygpOwotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJ
bmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0
SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAg
ICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwg
aXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDog
UHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTU0NCw3ICs1NDQsNyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICBkb3Vi
bGUgc3Vic2NyaXB0QXNEb3VibGUgPSBzdWJzY3JpcHQuYXNEb3VibGUoKTsKICAgICAgICAgdWlu
dDMyX3Qgc3Vic2NyaXB0QXNVSW50MzIgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3Vic2NyaXB0
QXNEb3VibGUpOwogICAgICAgICBpZiAoc3Vic2NyaXB0QXNEb3VibGUgPT0gc3Vic2NyaXB0QXNV
SW50MzIgJiYgaXNJbmRleChzdWJzY3JpcHRBc1VJbnQzMikpIHsKLSAgICAgICAgICAgIGJhc2VP
YmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVl
LCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0
SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJ
bmRleChjYWxsRnJhbWUsIHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2Rl
ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5k
ZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9
CkBAIC01NTUsNyArNTU1LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJv
cGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGlu
ZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3Vs
ZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmpl
Y3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlz
U3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1
dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgIGVsc2UgewogICAgICAgICBQdXRQcm9w
ZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBpc1N0cmljdE1vZGUpOwogICAgICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3QoY2FsbEZyYW1lLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3QpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXgg
OWNmZTg3MzQwZWU5MjM0MDgxYmZiZDk0NTI4ZTllOTA3MjQ0YWFhOS4uOWIzODJhNTVlNzNkNGM0
NGJhZDk4MGQ0Yjg1OGE1ZDgxYzZkY2UwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC03OTEsNyArNzkxLDcgQEAgaW5saW5lIEpTVmFs
dWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBz
dWJzY3JpcHQpCiAgICAgaWYgKExJS0VMWShzdWJzY3JpcHQuaXNVSW50MzIoKSkpIHsKICAgICAg
ICAgLy8gRGVzcGl0ZSBpdHMgbmFtZSwgSlNWYWx1ZTo6aXNVSW50MzIgd2lsbCByZXR1cm4gdHJ1
ZSBvbmx5IGZvciBwb3NpdGl2ZSBib3hlZCBpbnQzMl90OyBhbGwgdGhvc2UgdmFsdWVzIGFyZSB2
YWxpZCBhcnJheSBpbmRpY2VzLgogICAgICAgICBBU1NFUlQoaXNJbmRleChzdWJzY3JpcHQuYXNV
SW50MzIoKSkpOwotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBzdWJz
Y3JpcHQuYXNVSW50MzIoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4
U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgYmFz
ZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCksIHZhbHVl
LCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhy
b3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAgTExJTlRfRU5EKCk7
CiAgICAgfQogCkBAIC03OTksNyArNzk5LDcgQEAgaW5saW5lIEpTVmFsdWUgZ2V0QnlWYWwoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQpCiAgICAg
ICAgIGRvdWJsZSBzdWJzY3JpcHRBc0RvdWJsZSA9IHN1YnNjcmlwdC5hc0RvdWJsZSgpOwogICAg
ICAgICB1aW50MzJfdCBzdWJzY3JpcHRBc1VJbnQzMiA9IHN0YXRpY19jYXN0PHVpbnQzMl90Pihz
dWJzY3JpcHRBc0RvdWJsZSk7CiAgICAgICAgIGlmIChzdWJzY3JpcHRBc0RvdWJsZSA9PSBzdWJz
Y3JpcHRBc1VJbnQzMiAmJiBpc0luZGV4KHN1YnNjcmlwdEFzVUludDMyKSkgewotICAgICAgICAg
ICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgc3Vic2NyaXB0QXNVSW50MzIsIHZh
bHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGly
ZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJl
Y3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/
IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4
U2hvdWxkTm90VGhyb3cpOwogICAgICAgICAgICAgTExJTlRfRU5EKCk7CiAgICAgICAgIH0KICAg
ICB9CkBAIC04MTAsNyArODEwLDcgQEAgaW5saW5lIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQpCiAgICAgICAgIExM
SU5UX0VORCgpOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5k
ZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBp
bmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91
bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJp
Y3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGly
ZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxzZSB7CiAgICAgICAgIFB1dFByb3BlcnR5
U2xvdCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9kZSk7CiAgICAgICAgIGJhc2VPYmplY3Qt
PnB1dERpcmVjdChleGVjLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAppbmRleCAx
OTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4ODAwODM2Li4zYjUzZDY2NGI2NjhmNGZh
MzFiOGRmNmMwNDc2YzNkY2NkOTBmMDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAtMjksMTcgKzI5LDEyIEBACiAjaW5j
bHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRl
ICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVk
ZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJMb29rdXAu
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5hbWVzcGFjZSBKU0MgewotCi1zdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9ySXNBcnJheShFeGVj
U3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlDb25zdHJ1Y3Rvci5sdXQuaCIKIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAKIHsKIH0KIAotdm9pZCBBcnJheUNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3Rv
dHlwZSkKK3ZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUp
CiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5UHJvdG90eXBlLT5jbGFzc0lu
Zm8oKS0+Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhcnJheVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVt
IHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0
ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNzb3It
PnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmFycmF5U3BlY2llc0dl
dHRlckZ1bmN0aW9uKCkpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBE
b250RW51bSk7CiB9CiAKIGJvb2wgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90
KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmluZGV4IDA0MGYyNmM0Yzk5MDVhNDU3Njk0YzA1Yzg1
NDQ3MDYwN2JiNDg0YTcuLjFkMjkzZGFmOTc4NjNiZGE3NjQ0OTQ1NDZhYTBkYjhkMDg2MTgyZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9y
LmgKQEAgLTM0LDEwICszNCwxMCBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIElu
dGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdzOwogCi0gICAgc3Rh
dGljIEFycmF5Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUpCisgICAgc3RhdGljIEFycmF5Q29uc3Ry
dWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUpCiAgICAgewog
ICAgICAgICBBcnJheUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxs
b2NhdGVDZWxsPEFycmF5Q29uc3RydWN0b3I+KHZtLmhlYXApKSBBcnJheUNvbnN0cnVjdG9yKHZt
LCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGFy
cmF5UHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBn
bG9iYWxPYmplY3QsIGFycmF5UHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9y
OwogICAgIH0KIApAQCAtNDksNyArNDksNyBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVi
bGljIEludGVybmFsRnVuY3Rpb24gewogICAgIH0KIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBBcnJheVByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5UHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAg
ICAgQXJyYXlDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwpAQCAtNjAsNiArNjAsNyBAQCBj
bGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogfTsKIAog
SlNPYmplY3QqIGNvbnN0cnVjdEFycmF5V2l0aFNpemVRdWlyayhFeGVjU3RhdGUqLCBBcnJheUFs
bG9jYXRpb25Qcm9maWxlKiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3RvcklzQXJyYXkoRXhlY1N0YXRlKik7CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKaW5kZXggODdjZWFlMWNiZWY1NWNmNzZiZTg1ODFlMTdjMmIz
OWM3NTgwM2FkZS4uNDM3N2YyN2QzOWExZTRhNDM0Zjc4ZTczZDZkZTYwOTJlMGY2ZGUzMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApA
QCAtMjQsMTEgKzI0LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQXJyYXlQ
cm90b3R5cGUuaCIKIAorI2luY2x1ZGUgIkFycmF5Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJC
dXR0ZXJmbHlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ2FsbC5oIgogI2luY2x1ZGUgIkNv
ZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvcGllZFNwYWNlSW5saW5lcy5oIgogI2luY2x1ZGUgIkVy
cm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIu
aCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKQEAgLTQ5
OSwxMyArNTAxLDc1IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1
bmNKb2luKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpvaW4o
KmV4ZWMsIHRoaXNPYmplY3QsIHNlcGFyYXRvci0+dmlldyhleGVjKSkpOwogfQogCitBTFdBWVNf
SU5MSU5FIHN0YXRpYyBKU09iamVjdCogYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoRXhlY1N0YXRl
KiBleGVjLCBKU09iamVjdCogb3JpZ2luYWxBcnJheSkKK3sKKyAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOworCisgICAgaWYgKCFp
c0pTQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFy
cmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpTQXJyYXkqIGFycmF5ID0ganNDYXN0PEpTQXJyYXkq
PihvcmlnaW5hbEFycmF5KTsKKyAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yVmFsdWUgPSBhcnJheS0+
SlNBcnJheTo6Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3Rvcik7Cisg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3Rvck9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3Qq
Pihjb25zdHJ1Y3RvclZhbHVlKTsKKyAgICBpZiAoIWNvbnN0cnVjdG9yT2JqZWN0KQorICAgICAg
ICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICAvLyBUaGUg
bW9zdCBjb21tb24gcGF0aC4KKyAgICBpZiAoY29uc3RydWN0b3JPYmplY3QgPT0gZ2xvYmFsT2Jq
ZWN0LT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAgICAgICAgUHJvcGVydHlTbG90IHNsb3QoY29u
c3RydWN0b3JPYmplY3QpOworICAgICAgICBpZiAoY29uc3RydWN0b3JPYmplY3QtPmdldFByb3Bl
cnR5U2xvdChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCwgc2xvdCkp
IHsKKyAgICAgICAgICAgIGlmIChzbG90LmlzQWNjZXNzb3IoKSkgeworICAgICAgICAgICAgICAg
IEdldHRlclNldHRlciogYWNjZXNzb3IgPSBzbG90LmdldHRlclNldHRlcigpOworICAgICAgICAg
ICAgICAgIGlmIChhY2Nlc3Nvci0+Z2V0dGVyKCkgPT0gZ2xvYmFsT2JqZWN0LT5hcnJheVNwZWNp
ZXNHZXR0ZXJGdW5jdGlvbigpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2Jq
ZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb25z
dHJ1Y3RvclZhbHVlID0gc2xvdC5nZXRWYWx1ZShleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
c3BlY2llc1N5bWJvbCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY29uc3RydWN0b3JW
YWx1ZSA9IGpzVW5kZWZpbmVkKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQ29uc3RydWN0RGF0
YSBjb25zdHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBn
ZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yT2JqZWN0LCBjb25zdHJ1Y3REYXRhKTsKKyAgICAg
ICAgaWYgKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlwZU5vbmUpIHsKKyAgICAgICAgICAg
IGlmIChjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFsT2JqZWN0KCkgIT0gZ2xvYmFsT2JqZWN0ICYm
IGNvbnN0cnVjdG9yT2JqZWN0ID09IGNvbnN0cnVjdG9yT2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+
YXJyYXlDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3Qt
PmFycmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgfQorICAgICAgICBjb25zdHJ1Y3RvclZhbHVl
ID0gY29uc3RydWN0b3JPYmplY3QtPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3Bl
Y2llc1N5bWJvbCk7CisgICAgfQorICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5pc051bGwoKSkK
KyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAg
aWYgKGNvbnN0cnVjdG9yVmFsdWUuaXNVbmRlZmluZWQoKSkKKyAgICAgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8
SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKK30KKworc3RhdGljIGJvb2wgY3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2ln
bmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIHJldHVybiBvYmplY3QtPnB1dERpcmVj
dEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KTsKK30KKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVBy
b3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUg
PSBleGVjLT50aGlzVmFsdWUoKS50b1RoaXMoZXhlYywgU3RyaWN0TW9kZSk7CisgICAgSlNPYmpl
Y3QqIHRoaXNPYmplY3QgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CisgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworCisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3Ry
dWN0b3IoZXhlYywgdGhpc09iamVjdCk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQor
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGJvb2wg
aXNBcnJheUNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IgPT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBKU1ZhbHVlIGN1ckFyZyA9IHRoaXNP
YmplY3Q7CiAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBleGVjLT5hcmd1bWVudENvdW50KCk7Ci0g
ICAgSlNWYWx1ZSBjdXJBcmcgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CiAgICAgQ2hlY2tl
ZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGZpbmFsQXJyYXlTaXplID0gMDsKLQogICAgIEpT
QXJyYXkqIGN1cnJlbnRBcnJheSA9IG51bGxwdHI7CiAgICAgSlNBcnJheSogcHJldmlvdXNBcnJh
eSA9IG51bGxwdHI7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgOyArK2kpIHsKQEAgLTUyNiwx
NyArNTkwLDMxIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmND
b25jYXQoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmIChmaW5hbEFycmF5U2l6ZS5oYXNPdmVyZmxv
d2VkKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVy
cm9yKGV4ZWMpKTsKIAotICAgIGlmIChhcmdDb3VudCA9PSAxICYmIHByZXZpb3VzQXJyYXkgJiYg
Y3VycmVudEFycmF5ICYmIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpIDwgTUlOX1NQQVJTRV9B
UlJBWV9JTkRFWCkgeworICAgIGlmIChpc0FycmF5Q29uc3RydWN0b3IgJiYgYXJnQ291bnQgPT0g
MSAmJiBwcmV2aW91c0FycmF5ICYmIGN1cnJlbnRBcnJheSAmJiBmaW5hbEFycmF5U2l6ZS51bnNh
ZmVHZXQoKSA8IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVgpIHsKICAgICAgICAgSW5kZXhpbmdUeXBl
IHR5cGUgPSBKU0FycmF5OjpmYXN0Q29uY2F0VHlwZShleGVjLT52bSgpLCAqcHJldmlvdXNBcnJh
eSwgKmN1cnJlbnRBcnJheSk7CiAgICAgICAgIGlmICh0eXBlICE9IE5vbkFycmF5KQogICAgICAg
ICAgICAgcmV0dXJuIHByZXZpb3VzQXJyYXktPmZhc3RDb25jYXRXaXRoKCpleGVjLCAqY3VycmVu
dEFycmF5KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiBhcnIgPSBjb25zdHJ1Y3RFbXB0eUFycmF5
KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpKTsKLSAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IG51bGxwdHI7CisgICAgaWYgKGlzQXJy
YXlDb25zdHJ1Y3RvcikgeworICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4
ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpKTsKKyAgICAgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0
cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0
cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOworICAgICAgICBpZiAoY29uc3Ry
dWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1
Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsKKworICAgICAgICBNYXJrZWRB
cmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICBhcmdzLmFwcGVuZChqc051bWJlcigwKSk7Cisg
ICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlw
ZSwgY29uc3RydWN0RGF0YSwgYXJncyk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Cisg
ICAgfQogCi0gICAgY3VyQXJnID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOworICAgIGN1ckFy
ZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgbiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgOyArK2kpIHsKICAgICAgICAgaWYgKEpTQXJyYXkqIGN1cnJlbnRBcnJheSA9IGpzRHlu
YW1pY0Nhc3Q8SlNBcnJheSo+KGN1ckFyZykpIHsKQEAgLTU0OCwyMCArNjI2LDMwIEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNDb25jYXQoRXhlY1N0YXRlKiBl
eGVjKQogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIGN1cnJl
bnRBcnJheSwgayk7CiAgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwotICAgICAgICAgICAgICAgIGlmICh2KQotICAgICAgICAgICAgICAgICAgICBhcnItPnB1dERp
cmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICAgICAgICAgIGlmICh2KSB7CisgICAgICAg
ICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0LCBuLCB2
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
KyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbisrOwogICAgICAgICAgICAgfQog
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgYXJyLT5wdXREaXJlY3RJbmRleChleGVjLCBu
LCBjdXJBcmcpOworICAgICAgICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhleGVjLCBy
ZXN1bHQsIG4sIGN1ckFyZyk7CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
ICAgICAgICAgICAgIG4rKzsKICAgICAgICAgfQogICAgICAgICBpZiAoaSA9PSBhcmdDb3VudCkK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjdXJBcmcgPSBleGVjLT51bmNoZWNrZWRBcmd1
bWVudChpKTsKICAgICB9Ci0gICAgYXJyLT5zZXRMZW5ndGgoZXhlYywgbik7Ci0gICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShhcnIpOworCisgICAgaWYgKGlzQXJyYXlDb25zdHJ1Y3RvcikKKyAg
ICAgICAganNDYXN0PEpTQXJyYXkqPihyZXN1bHQpLT5zZXRMZW5ndGgoZXhlYywgbik7CisgICAg
ZWxzZQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBqc051bWJlcihuKSk7CisKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNQb3AoRXhlY1N0YXRlKiBleGVjKQpAQCAtNzMwLDIz
ICs4MTgsNTUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1Ns
aWNlKEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIHVuc2lnbmVkIGJlZ2luID0gYXJndW1lbnRDbGFt
cGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBsZW5ndGgpOwogICAgIHVuc2lnbmVkIGVu
ZCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZXhlYywgMSwgbGVuZ3RoLCBs
ZW5ndGgpOworICAgIHVuc2lnbmVkIGNvdW50ID0gZW5kIC0gYmVnaW47CiAKLSAgICBpZiAoaXNK
U0FycmF5KHRoaXNPYmopKSB7Ci0gICAgICAgIGlmIChKU0FycmF5KiByZXN1bHQgPSBhc0FycmF5
KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBlbmQgLSBiZWdpbikpCi0gICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgSlNPYmplY3QqIGNvbnN0
cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iaik7CisgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworCisgICAgaWYgKGNvbnN0cnVjdG9yID09IGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSB7CisgICAgICAgIGlmIChpc0pTQXJyYXko
dGhpc09iaikpIHsKKyAgICAgICAgICAgIGlmIChKU0FycmF5KiByZXN1bHQgPSBhc0FycmF5KHRo
aXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBjb3VudCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgICAgICB9CisKKyAgICAgICAgSlNB
cnJheSogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCBudWxscHRyLCBjb3VudCk7
CisKKyAgICAgICAgdW5zaWduZWQgbiA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQgayA9IGJl
Z2luOyBrIDwgZW5kOyBrKyssIG4rKykgeworICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJv
cGVydHkoZXhlYywgdGhpc09iaiwgayk7CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsKKyAgICAgICAgICAgIGlmICh2KQorICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LT5zZXRMZW5n
dGgoZXhlYywgbik7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKICAg
ICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51
bGxwdHIsIGVuZCAtIGJlZ2luKTsKKyAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7Cisg
ICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1
Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0
VHlwZU5vbmUpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3Io
ZXhlYywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBh
IGZ1bmN0aW9uIikpKTsKKworICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgYXJn
cy5hcHBlbmQoanNOdW1iZXIoY291bnQpKTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3Ry
dWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdz
KTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICB1bnNpZ25lZCBuID0gMDsKICAgICBmb3Ig
KHVuc2lnbmVkIGsgPSBiZWdpbjsgayA8IGVuZDsgaysrLCBuKyspIHsKLSAgICAgICAgSlNWYWx1
ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CisgICAgICAgIEpTVmFsdWUgdmFs
dWUgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKICAgICAgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKLSAgICAgICAgaWYgKHYpCi0gICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdElu
ZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICBpZiAodmFsdWUpIHsKKyAgICAgICAgICAgIGNyZWF0
ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0LCBuLCB2YWx1ZSk7CisgICAgICAgICAg
ICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfQogICAgIH0KLSAgICByZXN1bHQt
PnNldExlbmd0aChleGVjLCBuKTsKKyAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBqc051bWJl
cihuKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCkBAIC03NjAs
OSArODgwLDYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1Nw
bGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gZ2V0TGVuZ3RoKGV4
ZWMsIHRoaXNPYmopOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAKLSAgICBpZiAoIWV4ZWMt
PmFyZ3VtZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1
Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAogICAgIHVuc2lnbmVkIGJlZ2luID0gYXJn
dW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBsZW5ndGgpOwogCkBAIC03
NzcsMjIgKzg5NCw1OCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9G
dW5jU3BsaWNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIGRlbGV0ZUNvdW50ID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KGRlbGV0ZURvdWJsZSk7CiAgICAgfQogCi0gICAgSlNBcnJheSog
cmVzdWx0ID0gbnVsbHB0cjsKKyAgICBKU09iamVjdCogY29uc3RydWN0b3IgPSBhcnJheVNwZWNp
ZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAg
ICBKU09iamVjdCogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBpZiAoY29uc3RydWN0b3IgPT0gZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAgICAgICAg
SlNBcnJheSogcmVzdWx0QXJyYXkgPSBudWxscHRyOworCisgICAgICAgIGlmICghZXhlYy0+YXJn
dW1lbnRDb3VudCgpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1
Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAotICAgIGlmIChpc0pTQXJyYXkodGhpc09i
aikpCi0gICAgICAgIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywg
YmVnaW4sIGRlbGV0ZUNvdW50KTsKKyAgICAgICAgaWYgKGlzSlNBcnJheSh0aGlzT2JqKSkKKyAg
ICAgICAgICAgIHJlc3VsdEFycmF5ID0gYXNBcnJheSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVj
LCBiZWdpbiwgZGVsZXRlQ291bnQpOwogCi0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmVz
dWx0ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRp
b24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgZGVsZXRlQ291bnQpOwotICAgICAgICBpZiAoIXJlc3Vs
dCkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVy
cm9yKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFyZXN1bHRBcnJheSkgeworICAgICAgICAgICAgcmVz
dWx0QXJyYXkgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxs
b2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCBkZWxldGVDb3VudCk7CisgICAgICAgICAgICBp
ZiAoIXJlc3VsdEFycmF5KQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKKworICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50OyArK2spIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVl
IHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgYmVnaW4pOworICAgICAgICAgICAg
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICByZXN1bHRB
cnJheS0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICByZXN1bHQgPSByZXN1bHRBcnJheTsKKyAgICB9IGVsc2UgeworICAgICAgICBD
b25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUgY29uc3Ry
dWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOwor
ICAgICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRl
cmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsK
KworICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICBhcmdzLmFwcGVu
ZChqc051bWJlcihkZWxldGVDb3VudCkpOworICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3QoZXhl
YywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUsIGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAg
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAgICAgIGZvciAodW5zaWduZWQgayA9IDA7
IGsgPCBkZWxldGVDb3VudDsgKytrKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9w
ZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgYmVnaW4pOworICAgICAgICAgICAgSlNWYWx1ZSB2YWx1
ZSA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyAgYmVnaW4pOwogICAgICAgICAgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgICAgICByZXN1bHQtPmluaXRpYWxpemVJ
bmRleCh2bSwgaywgdik7CisgICAgICAgICAgICBpZiAodmFsdWUpIHsKKyAgICAgICAgICAgICAg
ICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgaywgdmFsdWUpOworICAg
ICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBqc051bWJlcihkZWxl
dGVDb3VudCkpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KIAogICAgIHVu
c2lnbmVkIGFkZGl0aW9uYWxBcmdzID0gc3RkOjptYXg8aW50PihleGVjLT5hcmd1bWVudENvdW50
KCkgLSAyLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmgKaW5kZXggMTc3ZjY5ZTVjYjQ4MmNhNWNkM2NkNTA2YWQxYTQwMzI3MDM4
Nzc3Mi4uOGYxNjAwNGE2NWFjNzAxN2E4MThiYjA3YTJiYmY2OTNjYTcyNzk1YSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKQEAg
LTMxLDcgKzMxLDcgQEAgY2xhc3MgQm9vbGVhbkNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFs
RnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwog
Ci0gICAgc3RhdGljIEJvb2xlYW5Db25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUpCisgICAgc3Rh
dGljIEJvb2xlYW5Db25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVhblByb3RvdHlwZSkK
ICAgICB7CiAgICAgICAgIEJvb2xlYW5Db25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxCb29sZWFuQ29uc3RydWN0b3I+KHZtLmhlYXApKSBCb29sZWFu
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hD
cmVhdGlvbih2bSwgYm9vbGVhblByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCA0MWI5NGYxYmY0N2JmYzY2ZDg3
NjQ1MGMwMTMwMWU1NTIxZmY5NTZkLi45MjE2MmFiMjczMDMxYWVlYjA0YmJlMWQ2ZmI1ZDk5NGEy
MzNmMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmgKQEAgLTIzNywxMyArMjM3LDEzIEBACiAgICAgbWFjcm8obWF0Y2gpIFwKICAg
ICBtYWNybyhyZXBsYWNlKSBcCiAgICAgbWFjcm8oc2VhcmNoKSBcCi0gICAgbWFjcm8oc3BlY2ll
cykgXAogICAgIG1hY3JvKHNwbGl0KSBcCiAgICAgbWFjcm8odG9QcmltaXRpdmUpIFwKICAgICBt
YWNybyh0b1N0cmluZ1RhZykKIAogI2RlZmluZSBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChtYWNybykgXAogICAgIG1hY3JvKGl0ZXJhdG9yKSBc
CisgICAgbWFjcm8oc3BlY2llcykgXAogICAgIG1hY3JvKHVuc2NvcGFibGVzKQogCiAjZGVmaW5l
IEpTQ19DT01NT05fQllURUNPREVfSU5UUklOU0lDU19FQUNIX05BTUUobWFjcm8pIFwKQEAgLTI1
Miw3ICsyNTIsNiBAQAogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1BST1BFUlRZX05BTUUobWFjcm8pIFwKICAgICBKU0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJ
TlNJQ1NfRUFDSF9OQU1FKG1hY3JvKSBcCi0gICAgbWFjcm8oc3ltYm9sSXRlcmF0b3IpIFwKICAg
ICBtYWNybyhpdGVyYXRlZE9iamVjdCkgXAogICAgIG1hY3JvKGFycmF5SXRlcmF0b3JOZXh0SW5k
ZXgpIFwKICAgICBtYWNybyhhcnJheUl0ZXJhdGlvbktpbmQpIFwKQEAgLTI4MCw2ICsyNzksNyBA
QAogICAgIG1hY3JvKGFicykgXAogICAgIG1hY3JvKGZsb29yKSBcCiAgICAgbWFjcm8oaXNGaW5p
dGUpIFwKKyAgICBtYWNybyhpc0FycmF5KSBcCiAgICAgbWFjcm8oZ2V0UHJvdG90eXBlT2YpIFwK
ICAgICBtYWNybyhnZXRPd25Qcm9wZXJ0eU5hbWVzKSBcCiAgICAgbWFjcm8oVHlwZUVycm9yKSBc
CkBAIC0yOTcsNiArMjk3LDcgQEAKICAgICBtYWNybyhwcm9taXNlUmVqZWN0UmVhY3Rpb25zKSBc
CiAgICAgbWFjcm8ocHJvbWlzZVJlc3VsdCkgXAogICAgIG1hY3JvKGNhcGFiaWxpdGllcykgXAor
ICAgIG1hY3JvKGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pIFwKIAogCiBuYW1l
c3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmgKaW5kZXggMDU0ZjU3MWQ1NzllOGNlNGYzNGI1NDA5MTdiOGQwMjhiNTBkZmI5Yi4u
NzU5NmZhZDk2MWVhMjhlOGZlNjI5ZjQ1MjQ3ZjU2OTAzOGQzMTA0NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcg
QEAgY2xhc3MgRGF0ZUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAg
IHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCisg
ICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKICAg
ICB7CiAgICAgICAgIERhdGVDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxEYXRlQ29uc3RydWN0b3I+KHZtLmhlYXApKSBEYXRlQ29uc3RydWN0b3Io
dm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwg
ZGF0ZVByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmgKaW5kZXggYjExODk0ZGJlNGI1NjE0ZmQyMzBiNjBmNmFlM2JjOGJiMzVk
MjkyZS4uYmZlZDdjODczNTExY2I1YzliY2E5MWYyYmEyMzM2ZjcyYjEyN2FhZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaApAQCAtMzIs
NyArMzIsNyBAQCBjbGFzcyBFcnJvckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rp
b24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAg
c3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCisgICAgc3RhdGljIEVycm9yQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEVy
cm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
RXJyb3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEVycm9yQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVy
ZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZXJyb3JQcm90b3R5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2QxNGE5ZWY1NWY0YzMzMGMwZWU3OGYwZjg2
Mzc3M2QwNWRjZjhjOS4uMTc5NGI4NGI0ZGJlMjhkZjczYmE0YTRjNGRkMWJmOGI1ODk1NjNiMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaW5jbHVkZSAiRXJy
b3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0
dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZm
ZXJQcm90b3R5cGUuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTR2xv
YmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCkBAIC00NywyMiArNDksMjAg
QEAKIHsKIH0KIAotdm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQordm9pZCBKU0FycmF5
QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIkFycmF5QnVmZmVyIikpOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIHByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgs
IGpzTnVtYmVyKDEpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7Ci0KLSAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CiAgICAg
SlNDX05BVElWRV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pc1ZpZXcsIGFycmF5QnVmZmVy
RnVuY0lzVmlldywgRG9udEVudW0sIDEpOwogfQogCi1KU0FycmF5QnVmZmVyQ29uc3RydWN0b3Iq
IEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKK0pTQXJyYXlCdWZmZXJD
b25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNBcnJheUJ1
ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ciogcmVzdWx0ID0KICAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yPih2bS5oZWFwKSkKICAgICAgICAgSlNBcnJheUJ1ZmZlckNvbnN0cnVj
dG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3Rv
dHlwZSk7CisgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKaW5kZXggYjY1
YjUyM2I2NGM0YmRjN2FlMjE2NTJmMWNlMjAyMzQ5MTU5YjM0MS4uNjQ5MTQ5NDU1NmY4OGEyODg4
NWU1OTU3OGJmZmRkMTVjNmYyYzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKQEAgLTM4LDEwICszOCwx
MCBAQCBjbGFzcyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5j
dGlvbiB7CiAKIHByb3RlY3RlZDoKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mLCBT
dHJ1Y3R1cmUqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclBy
b3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKIAogcHVibGljOgotICAgIHN0YXRpYyBKU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUqKTsKKyAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUq
KTsKICAgICAKICAgICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTBiZjE3NzgyMDIyYzQ3OTRk
MzBlNzBlZmIyYmVmNWRmMjQyY2UxOC4uYTgxNmUwMDQwNDEwMGU5YTIwMGNlYmFiODRmOGJmZmU0
ZTcwY2M3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcApAQCAtMTk1LDYgKzE5NSwxNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBlbnF1ZXVlSm9iKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpOworCisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gZXhlYy0+
YXJndW1lbnQoMCk7CisgICAgaWYgKEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nh
c3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc0Jvb2xlYW4oY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9i
amVjdCAmJiBjb25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5
Q29uc3RydWN0b3IoKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZh
bHNlKSk7Cit9CisKIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSogZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIDApCiAgICAgLCBtX3Zt
KHZtKQpAQCAtMjcwLDYgKzI4MCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZt
KQogICAgIG1fY2FsbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgY2FsbEZ1bmN0aW9uKTsKICAgICBt
X2FwcGx5RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBhcHBseUZ1bmN0aW9uKTsKICAgICBtX2FycmF5
UHJvdG9WYWx1ZXNGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwg
dGhpcywgMCwgdm0ucHJvcGVydHlOYW1lcy0+dmFsdWVzLnN0cmluZygpLCBhcnJheVByb3RvRnVu
Y1ZhbHVlcykpOworICAgIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24uc2V0KHZtLCB0aGlz
LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGFycmF5Q29uc3RydWN0b3JT
eW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIHRoaXMsICJnZXQgW1N5bWJvbC5zcGVjaWVz
XSIpKTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0
aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBv
cGVyYXRpb25zUHJvbWlzZUluaXRpYWxpemVQcm9taXNlQ29kZUdlbmVyYXRvcih2bSksIHRoaXMp
KTsKICAgICBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5j
dGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21p
c2VEZWZlcnJlZENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSk7CkBAIC0zNzcsMTIgKzM4OCwxMiBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBtX2RlZmluZVByb3BlcnR5
RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKTsKIAogICAgIEpT
Q2VsbCogZnVuY3Rpb25Db25zdHJ1Y3RvciA9IEZ1bmN0aW9uQ29uc3RydWN0b3I6OmNyZWF0ZSh2
bSwgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0
aW9uUHJvdG90eXBlLmdldCgpKSwgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSk7Ci0gICAgSlND
ZWxsKiBhcnJheUNvbnN0cnVjdG9yID0gQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBBcnJh
eUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90eXBlLmdldCgpKTsKKyAgICBtX2FycmF5Q29uc3RydWN0
b3Iuc2V0KHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIEFycmF5
Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlw
ZS5nZXQoKSksIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAKLSAgICBtX3JlZ0V4cENv
bnN0cnVjdG9yLnNldCh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgUmVn
RXhwQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3Rv
dHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CisgICAgbV9yZWdFeHBDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMs
IFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFByb3RvdHlwZS5nZXQoKSkpOwogICAgIAogI2RlZmlu
ZSBDUkVBVEVfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKGNhcGl0YWxOYW1lLCBsb3dlck5h
bWUsIHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCi1jYXBpdGFsTmFtZSAjIyBD
b25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29u
c3RydWN0b3I6OmNyZWF0ZSh2bSwgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0
cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2Vy
TmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCitjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvciog
bG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNy
ZWF0ZSh2bSwgdGhpcywgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2VyTmFtZSAj
IyBQcm90b3R5cGUuZ2V0KCkpOyBcCiBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3Is
IGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciwgRG9udEVudW0pOyBcCiAKICAgICBGT1JfRUFDSF9T
SU1QTEVfQlVJTFRJTl9UWVBFKENSRUFURV9DT05TVFJVQ1RPUl9GT1JfU0lNUExFX1RZUEUpCkBA
IC00MDAsMTIgKzQxMSwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAg
ICBtX3R5cGVFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgTmF0aXZlRXJyb3JDb25zdHJ1
Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0cnVjdHVyZSwgbmF0aXZlRXJyb3JQ
cm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVHlwZUVycm9yIikpKTsKICAgICBtX1VS
SUVycm9yQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpj
cmVhdGUodm0sIHRoaXMsIG5hdGl2ZUVycm9yU3RydWN0dXJlLCBuYXRpdmVFcnJvclByb3RvdHlw
ZVN0cnVjdHVyZSwgQVNDSUlMaXRlcmFsKCJVUklFcnJvciIpKSk7CiAjaWYgRU5BQkxFKFBST01J
U0VTKQotICAgIG1fcHJvbWlzZUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSlNQcm9taXNlQ29u
c3RydWN0b3I6OmNyZWF0ZSh2bSwgSlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcHJvbWlzZVByb3RvdHlw
ZS5nZXQoKSkpOworICAgIG1fcHJvbWlzZUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSlNQcm9t
aXNlQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgSlNQcm9taXNlQ29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcHJv
bWlzZVByb3RvdHlwZS5nZXQoKSkpOwogI2VuZGlmCiAgICAgCiAgICAgbV9vYmplY3RQcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3Rvciwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3IsIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBtX2FycmF5
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBtX2FycmF5
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAg
IG1fcmVnRXhwUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRF
bnVtKTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9wcm9taXNlUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3Is
IG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CkBAIC00MTMsNyArNDI0LDcg
QEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgCiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk9iamVjdCwgb2JqZWN0Q29u
c3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+RnVuY3Rpb24sIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVt
KTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
QXJyYXksIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXksIG1fYXJyYXlDb25zdHJ1Y3Rv
ci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5SZWdFeHAsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRF
bnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+RXZhbEVycm9yLCBtX2V2YWxFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJhbmdl
RXJyb3IsIG1fcmFuZ2VFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CkBAIC00OTMs
OSArNTA0LDEwIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+b2JqZWN0R2V0T3duUHJvcGVydHlT
eW1ib2xzUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jT2JqZWN0R2V0T3duUHJvcGVydHlTeW1ib2xz
LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5nZXRUZW1wbGF0ZU9iamVjdFByaXZhdGVOYW1lLCBw
cml2YXRlRnVuY0dldFRlbXBsYXRlT2JqZWN0LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5lbnF1
ZXVlSm9iUHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwgU3RyaW5n
KCksIGVucXVldWVKb2IpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0FycmF5Q29uc3RydWN0
b3JJbkRpZmZlcmVudFJlYWxtUHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhp
cywgMSwgU3RyaW5nKCksIGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5UeXBlRXJyb3JQcml2YXRlTmFtZSwgbV90eXBlRXJyb3JDb25z
dHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+QnVpbHRpbkxvZ1ByaXZhdGVO
YW1lLCBidWlsdGluTG9nLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheVByaXZhdGVOYW1l
LCBhcnJheUNvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheVByaXZhdGVO
YW1lLCBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPk51
bWJlclByaXZhdGVOYW1lLCBudW1iZXJDb25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+U3RyaW5nUHJpdmF0ZU5hbWUsIHN0cmluZ0NvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5hYnNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNBYnMsIERvbnRFbnVtIHwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKQEAgLTUwMywxMCArNTE1LDEyIEBAIHZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+Z2V0UHJvdG90eXBlT2ZQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNGbG9vciwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+Z2V0T3duUHJvcGVydHlOYW1lc1ByaXZhdGVOYW1lLCBwcml2YXRl
RnVuY0Zsb29yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0Zpbml0ZVByaXZhdGVOYW1lLCBw
cml2YXRlRnVuY0lzRmluaXRlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0FycmF5UHJpdmF0
ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIGFycmF5Q29u
c3RydWN0b3JJc0FycmF5KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAg
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25L
aW5kS2V5UHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleSksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZFZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVy
KEFycmF5SXRlcmF0ZVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAog
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRp
b25LaW5kS2V5VmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5VmFsdWUp
LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lLCBTeW1i
b2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVz
LT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkuc3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSgpLCBTeW1ib2w6OmNyZWF0ZSh2bSwg
c3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJv
bC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3ltYm9s
U3BlY2llc1ByaXZhdGVOYW1lKCksIFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxTeW1i
b2xJbXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wuaW1wbCgpKSksIERvbnRF
bnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5Qcm9taXNlUHJpdmF0ZU5h
bWUsIG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5w
cm9taXNlUGVuZGluZ1ByaXZhdGVOYW1lLCBqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLApAQCAtNTE2LDYgKzUzMCw4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0m
IHZtKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkudG9MZW5ndGhQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvTGVuZ3RoLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS50b0ludGVnZXJQcml2YXRlTmFtZSgp
LCBwcml2YXRlRnVuY1RvSW50ZWdlciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkuaXNPYmplY3RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVu
Y3Rpb24odm0sIGdsb2JhbE9iamVjdElzT2JqZWN0Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zcGVjaWVzQ29uc3RydWN0b3JQ
cml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2Jh
bE9iamVjdFNwZWNpZXNDb25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXJyYXlTcGVjaWVzQ3JlYXRlUHJpdmF0
ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25z
QXJyYXlBcnJheVNwZWNpZXNDcmVhdGVDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmlzUHJvbWlzZVByaXZhdGVOYW1lKCksIEpT
RnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJc1By
b21pc2VDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1
aWx0aW5OYW1lcygpLm5ld1Byb21pc2VSZWFjdGlvblByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246
OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlUmVh
Y3Rpb25Db2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1
aWx0aW5OYW1lcygpLm5ld1Byb21pc2VDYXBhYmlsaXR5UHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlv
bjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VD
YXBhYmlsaXR5Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSksCkBAIC01MzEsNyArNTQ3LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5p
dChWTSYgdm0pCiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6Q2FsbEZ1bmN0aW9uXSA9
IG1fY2FsbEZ1bmN0aW9uLmdldCgpOwogICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFw
cGx5RnVuY3Rpb25dID0gbV9hcHBseUZ1bmN0aW9uLmdldCgpOwogICAgIG1fc3BlY2lhbFBvaW50
ZXJzW1NwZWNpYWw6Ok9iamVjdENvbnN0cnVjdG9yXSA9IG9iamVjdENvbnN0cnVjdG9yOwotICAg
IG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3RydWN0b3JdID0gYXJyYXlDb25z
dHJ1Y3RvcjsKKyAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpBcnJheUNvbnN0cnVjdG9y
XSA9IG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKTsKIAogICAgIG1fbGlua1RpbWVDb25zdGFudHNb
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OkRlZmluZVByb3BlcnR5RnVu
Y3Rpb24pXSA9IG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5nZXQoKTsKIApAQCAtNzYxLDYgKzc3
Nyw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9n
bG9iYWxUaGlzKTsKIAogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2dsb2JhbENh
bGxlZSk7CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyYXlDb25zdHJ1Y3Rv
cik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwQ29uc3RydWN0b3Ip
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Vycm9yQ29uc3RydWN0b3IpOwog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2V2YWxFcnJvckNvbnN0cnVjdG9yKTsK
QEAgLTc4Myw2ICs4MDAsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpT
Q2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fYXBwbHlGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uKTsKKyAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbik7CiAjaWYgRU5BQkxFKFBS
T01JU0VTKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2luaXRpYWxpemVQcm9t
aXNlRnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25ld1Byb21p
c2VEZWZlcnJlZEZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCmluZGV4IDU5NGQ5NjYyMjMzNzhkMWQxYWFiOGY0NzU5NWFkZTA4MjJj
MTgyMjMuLjVkN2VkM2RmNjE3YWFhYmMyZTI3MzNhYjM4Y2M4YzE4NzYyZTJlNjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNTUsNiAr
NTUsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgQXJyYXlDb25zdHJ1Y3RvcjsKIGNs
YXNzIEFycmF5UHJvdG90eXBlOwogY2xhc3MgQm9vbGVhblByb3RvdHlwZTsKIGNsYXNzIENvbnNv
bGVDbGllbnQ7CkBAIC0xNzgsNiArMTc5LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJs
aWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0
PiBtX2dsb2JhbFRoaXM7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fZ2xvYmFsQ2Fs
bGVlOworICAgIFdyaXRlQmFycmllcjxBcnJheUNvbnN0cnVjdG9yPiBtX2FycmF5Q29uc3RydWN0
b3I7CiAgICAgV3JpdGVCYXJyaWVyPFJlZ0V4cENvbnN0cnVjdG9yPiBtX3JlZ0V4cENvbnN0cnVj
dG9yOwogICAgIFdyaXRlQmFycmllcjxFcnJvckNvbnN0cnVjdG9yPiBtX2Vycm9yQ29uc3RydWN0
b3I7CiAgICAgV3JpdGVCYXJyaWVyPE5hdGl2ZUVycm9yQ29uc3RydWN0b3I+IG1fZXZhbEVycm9y
Q29uc3RydWN0b3I7CkBAIC0yMDEsNiArMjAzLDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBw
dWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVu
Y3Rpb24+IG1fYXBwbHlGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9k
ZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2Fy
cmF5UHJvdG9WYWx1ZXNGdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9h
cnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbjsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgV3Jp
dGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1faW5pdGlhbGl6ZVByb21pc2VGdW5jdGlvbjsKICAgICBX
cml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbjsKQEAg
LTM5Myw2ICszOTYsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0IHsKICAgICAvLyBUaGUgZm9sbG93aW5nIGFjY2Vzc29ycyByZXR1cm4g
cHJpc3RpbmUgdmFsdWVzLCBldmVuIGlmIGEgc2NyaXB0IAogICAgIC8vIHJlcGxhY2VzIHRoZSBn
bG9iYWwgb2JqZWN0J3MgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KIAorICAgIEFycmF5Q29uc3RydWN0
b3IqIGFycmF5Q29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2FycmF5Q29uc3RydWN0b3Iu
Z2V0KCk7IH0KICAgICBSZWdFeHBDb25zdHJ1Y3RvciogcmVnRXhwQ29uc3RydWN0b3IoKSBjb25z
dCB7IHJldHVybiBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpOyB9CiAKICAgICBFcnJvckNvbnN0
cnVjdG9yKiBlcnJvckNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvckNvbnN0cnVj
dG9yLmdldCgpOyB9CkBAIC00MTcsNiArNDIxLDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBw
dWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgSlNGdW5jdGlvbiogYXBwbHlG
dW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlGdW5jdGlvbi5nZXQoKTsgfQogICAgIEpT
RnVuY3Rpb24qIGRlZmluZVByb3BlcnR5RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2RlZmlu
ZVByb3BlcnR5RnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBhcnJheVByb3RvVmFs
dWVzRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FycmF5UHJvdG9WYWx1ZXNGdW5jdGlvbi5n
ZXQoKTsgfQorICAgIEpTRnVuY3Rpb24qIGFycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbi5nZXQoKTsgfQogI2lmIEVO
QUJMRShQUk9NSVNFUykKICAgICBKU0Z1bmN0aW9uKiBpbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uLmdldCgpOyB9CiAg
ICAgSlNGdW5jdGlvbiogbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24oKSBjb25zdCB7IHJldHVy
biBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggZDIwZGFhMjA0NTFkMmZiZWYzM2JjZDkx
MzQ5MTA0ZjFmYmNiNTg3My4uODIxZTZjN2UwNTgyZGVmNTRlMDhkYjJjMmNiZTBhYjkyYTVlNDBm
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtMTc0
OCw3ICsxNzQ4LDcgQEAgYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duSW5kZXhlZFByb3BlcnR5KEV4
ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIGNvbnN0IFAKICAgICAgICAgLy8gc3RhdGUg
KGkuZS4gZGVmaW5lT3duUHJvcGVydHkgY291bGQgYmUgdXNlZCB0byBzZXQgYSB2YWx1ZSB3aXRo
b3V0IG5lZWRpbmcgdG8gZW50ZXJpbmcgJ1NwYXJzZU1vZGUnKS4KICAgICAgICAgaWYgKCFkZXNj
cmlwdG9yLmF0dHJpYnV0ZXMoKSkgewogICAgICAgICAgICAgQVNTRVJUKCFkZXNjcmlwdG9yLmlz
QWNjZXNzb3JEZXNjcmlwdG9yKCkpOwotICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4
KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZhbHVlKCksIDAsIHRocm93RXhjZXB0aW9uID8gUHV0
RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwor
ICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9y
LnZhbHVlKCksIDAsIHRocm93RXhjZXB0aW9uID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIH0K
ICAgICAgICAgCiAgICAgICAgIGVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlv
bmFyeUluZGV4aW5nTW9kZShleGVjLT52bSgpKTsKQEAgLTIxNDQsOSArMjE0NCw5IEBAIGJvb2wg
SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFn
ZShFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgIGlmIChtb2RlICE9IFB1dERpcmVjdEluZGV4TGlr
ZVB1dERpcmVjdCkgewogICAgICAgICAgICAgLy8gUHJvaGliaXQgZ3Jvd2luZyB0aGUgYXJyYXkg
aWYgbGVuZ3RoIGlzIG5vdCB3cml0YWJsZS4KICAgICAgICAgICAgIGlmIChtYXAtPmxlbmd0aElz
UmVhZE9ubHkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0g
UHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0
ZUVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0
RGlyZWN0SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsK
ICAgICAgICAgICAgIGlmICghaXNFeHRlbnNpYmxlKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csICJBdHRlbXB0
aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4i
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0
SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3Bl
cnR5T3JUaHJvdywgIkF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0
IGlzIG5vdCBleHRlbnNpYmxlLiIpOwogICAgICAgICB9CiAgICAgICAgIGxlbmd0aCA9IGkgKyAx
OwogICAgICAgICBzdG9yYWdlLT5zZXRMZW5ndGgobGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAppbmRleCA2
ODk1ZWQ4MmZhZDgwNzdjZDdjZmMzMDQ0MWU0NjkxMDRjYjJlZjJjLi5lNWYwMTcxZWVjZTU1ZWNl
YTZiYjdkNjQ4NTE3MTU5YmZiOTM5NGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBA
CiAKICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUg
IkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0aW9ucy5oIgogI2luY2x1
ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIKQEAgLTYx
LDEwICs2MiwxMCBAQAogQGVuZAogKi8KIAotSlNQcm9taXNlQ29uc3RydWN0b3IqIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9t
aXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQorSlNQcm9taXNlQ29uc3RydWN0b3IqIEpT
UHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9taXNlUHJvdG90eXBlKiBwcm9taXNl
UHJvdG90eXBlKQogewogICAgIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5l
dyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTUHJvbWlzZUNvbnN0cnVjdG9yPih2bS5oZWFwKSkg
SlNQcm9taXNlQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgY29uc3RydWN0b3ItPmZp
bmlzaENyZWF0aW9uKHZtLCBwcm9taXNlUHJvdG90eXBlKTsKKyAgICBjb25zdHJ1Y3Rvci0+Zmlu
aXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgcHJvbWlzZVByb3RvdHlwZSk7CiAgICAgcmV0
dXJuIGNvbnN0cnVjdG9yOwogfQogCkBAIC03OCwxMSArNzksMTQgQEAgU3RydWN0dXJlKiBKU1By
b21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE8KIHsKIH0KIAotdm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU1Byb21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90b3R5cGUpCit2b2lkIEpT
UHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKIHsK
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVNDSUlMaXRlcmFsKCJQcm9taXNlIikpOwog
ICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIHByb21pc2VQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOwor
ICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGds
b2JhbE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBwcm9taXNl
Q29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwg
ImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Io
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNj
ZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGNvbnN0cnVjdFByb21pc2UoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmgKaW5kZXggZmMwZjA0
ZDJiMmI0MzY5OGE5MDRjNTFlMmZkZGJhN2EzODEyNjZmMi4uM2ZkZDM3MjljOWZmYTljNzIzZjNi
NGI1YjM1NTM0NDk3YTdhZjg2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oCkBAIC00MCwxMyArNDAsMTMgQEAgY2xhc3Mg
SlNQcm9taXNlQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlw
ZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgSlNQcm9taXNlQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYs
IFN0cnVjdHVyZSosIEpTUHJvbWlzZVByb3RvdHlwZSopOworICAgIHN0YXRpYyBKU1Byb21pc2VD
b25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1By
b21pc2VQcm90b3R5cGUqKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
Vk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCiAgICAgREVDTEFSRV9JTkZPOwogCiBw
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTUHJvbWlzZVByb3RvdHlw
ZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTUHJv
bWlzZVByb3RvdHlwZSopOwogCiBwcml2YXRlOgogICAgIEpTUHJvbWlzZUNvbnN0cnVjdG9yKFZN
JiwgU3RydWN0dXJlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggZmFkNTJjMDU2MDQ4ZTE4YjdlZWM0OThmZjE0OTUzZmQ5MGZj
ZmVkZC4uMDBmZTk4ZTdhYzJkOWM5MjIzNDVlN2ExNTlkZWJmZDU1OTcyZmRjMSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcApAQCAtMjcs
NyArMjcsOSBAQAogI2luY2x1ZGUgIk1hcENvbnN0cnVjdG9yLmgiCiAKICNpbmNsdWRlICJFcnJv
ci5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0
aW9ucy5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlu
bGluZXMuaCIKICNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3QuaCIKQEAgLTM5LDExICs0MSwxNCBAQAogCiBjb25zdCBDbGFzc0luZm8gTWFwQ29uc3Ry
dWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShNYXBDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKK3ZvaWQgTWFw
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0sIG1hcFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwgbWFwUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwg
anNOdW1iZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0
ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmpl
Y3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgbWFwQ29uc3RydWN0b3JT
eW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9s
LnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250
RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNYXAo
RXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWFwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENv
bnN0cnVjdG9yLmgKaW5kZXggMWE4NWRlNWIxNWIwMDdkMWU5ZGZjOGI5Y2I2NTYxMTA4Yzc2Mzc4
MC4uYjY1OTVmODg0NGM5NjRiZThlNjYzOGZmZDQ0YTExZmQ1M2FhOWNkMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYs
MTAgQEAgY2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMg
TWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBNYXBQ
cm90b3R5cGUqIG1hcFByb3RvdHlwZSkKKyAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE1hcENvbnN0
cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE1hcENvbnN0
cnVjdG9yPih2bS5oZWFwKSkgTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAg
IGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBlKTsKKyAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1hcFByb3RvdHlw
ZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcg
QEAgY2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAg
ICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIE1hcFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCosIE1hcFByb3RvdHlwZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRp
YyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGY4
YjFmN2Y0NDM3MDNhYjQxOThkZDQzMjFlMjA5ZGZlNjY4ODJhM2MuLmE4YjE3MzVhNjA4NmIyMzE5
OWI0YTY3YmYyNjIwNTIyMzNlMzZiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBOdW1i
ZXJDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIElu
dGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IEltcGxlbWVudHNIYXNJbnN0YW5jZTsKIAotICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSog
bnVtYmVyUHJvdG90eXBlKQorICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90
eXBlKiBudW1iZXJQcm90b3R5cGUpCiAgICAgewogICAgICAgICBOdW1iZXJDb25zdHJ1Y3Rvciog
Y29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxOdW1iZXJDb25zdHJ1Y3Rv
cj4odm0uaGVhcCkpIE51bWJlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBj
b25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIG51bWJlclByb3RvdHlwZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCmluZGV4
IDNlYjNmNTgxOGRmYjliOGMyZGExYWY0NWUxN2NhYjU1ZThlZTU1MWYuLjI2MGZjZTg1ZjBkMDAx
NjBiN2IxYWFkOWY4NWExNzA1ZTVjZTk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCkBAIC0yOCw3ICsyOCwxNSBAQAogCiBu
YW1lc3BhY2UgSlNDIHsKIAotZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeyBQdXREaXJlY3RJbmRl
eExpa2VQdXREaXJlY3QsIFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3csIFB1dERpcmVjdElu
ZGV4U2hvdWxkVGhyb3cgfTsKK2VudW0gUHV0RGlyZWN0SW5kZXhNb2RlIHsKKyAgICBQdXREaXJl
Y3RJbmRleExpa2VQdXREaXJlY3QsCisgICAgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywK
KyAgICBQdXREaXJlY3RJbmRleFNob3VsZFRocm93LAorCisgICAgLy8gRm9sbG93IHRoZSBFQ01B
MjYyIDZ0aCBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IHNlbWFudGljcy4KKyAgICAvLyBodHRw
Oi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1jcmVhdGVkYXRhcHJv
cGVydHlvcnRocm93CisgICAgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93
LAorfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBlZTFkOGIzZmM2OWY5NDNi
OTRhNTI1OWNmN2MxODZjYWM2MzczZjc0Li4xZTM3YzZhOGI1MDY2YTc0ZjQxMjUzNzUxMWE4NTM2
NzlhNzQ2NDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwQ29uc3RydWN0b3IuY3BwCkBAIC04OSw3ICs4OSw3IEBACiB7CiB9CiAKLXZvaWQgUmVnRXhw
Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVnRXhwUHJvdG90eXBlKiByZWdF
eHBQcm90b3R5cGUpCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUpCiB7
CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFByb3RvdHlwZS0+Y2xhc3NJbmZv
KCktPmNsYXNzTmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggY2Fi
ZWUxOWM5M2Q5YjI0NmM4MDg4NTFmMmFmZjRlMmFkMTA0NmExYS4uNjQyNDBlZGM1NDBhOTljNjU0
NzVlNmJiMWMwZmQwNjUwMjlkNThiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zNSwxMCArMzUsMTAgQEAgY2xhc3MgUmVn
RXhwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJ
bnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNs
b3Q7CiAKLSAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKKyAgICBz
dGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4
cFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yKiBjb25zdHJ1Y3Rv
ciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFJlZ0V4cENvbnN0cnVjdG9yPih2bS5oZWFw
KSkgUmVnRXhwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSwgcmVnRXhwUHJvdG90eXBlKTsKLSAg
ICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCByZWdFeHBQcm90b3R5cGUpOwor
ICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgcmVn
RXhwUHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAt
NjgsNyArNjgsNyBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1
bmN0aW9uIHsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNp
dG9yJik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgUmVnRXhw
UHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgUmVnRXhwUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgUmVnRXhwQ29uc3RydWN0b3Io
Vk0mLCBTdHJ1Y3R1cmUqLCBSZWdFeHBQcm90b3R5cGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRleCBmYjk3YjZkOWZhMGQwZWU2
M2ExZDUyYTk4ODdlYzc3Njk4Zjc1M2RmLi5kMWIwMzUxNDBiMWFkYzc5ZDYxOTAzNmJhYjU3OWQz
YjNlMTY4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29u
c3RydWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAiU2V0Q29uc3RydWN0b3Iu
aCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNp
bmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtNDAsMTEgKzQyLDE1IEBACiAKIGNvbnN0
IENsYXNzSW5mbyBTZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6
c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFNldENvbnN0cnVjdG9yKSB9OwogCi12b2lk
IFNldENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNldFByb3RvdHlwZSogc2V0
UHJvdG90eXBlKQordm9pZCBTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkK
IHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2V0UHJvdG90eXBlLT5jbGFzc0luZm8o
KS0+Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlLCBzZXRQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERv
bnREZWxldGUpOworCisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJT
ZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNzb3ItPnNl
dEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rp
b24odm0sIHNldENvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0b3Iodm0pLCBnbG9i
YWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKKyAgICBwdXREaXJlY3ROb25JbmRl
eEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzQWNj
ZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBjYWxsU2V0KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCmluZGV4IGVmYmQ4OGJiMzIyZmRkYWFi
OWI3NTY0MzkwM2E5N2RlNzg1ZTU4MDAuLmI2ODQxZjczNTBmY2QzMjNjN2YzMzE5MmRiYjlkMTkx
MDBiNjkyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3Ry
dWN0b3IuaApAQCAtMzYsMTAgKzM2LDEwIEBAIGNsYXNzIFNldENvbnN0cnVjdG9yIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlv
biBCYXNlOwogCi0gICAgc3RhdGljIFNldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCisgICAgc3RhdGlj
IFNldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiAg
ICAgewogICAgICAgICBTZXRDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxTZXRDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFNldENvbnN0cnVjdG9yKHZt
LCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHNl
dFByb3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xv
YmFsT2JqZWN0LCBzZXRQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAg
ICAgfQogCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIFNldENvbnN0cnVjdG9yIDogcHVibGljIElu
dGVybmFsRnVuY3Rpb24gewogICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKICAgICB7CiAg
ICAgfQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBTZXRQcm90b3R5cGUqKTsKKyAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTZXRQcm90b3R5cGUqKTsK
ICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0
cnVjdERhdGEmKTsKICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2Fs
bERhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
cGFyc2VBcnJheVZhbHVlTWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nw
YXJzZUFycmF5VmFsdWVNYXAuY3BwCmluZGV4IDYyZDM0YmFhZmRkYjQwZWVhMGY2MTVmMDYyMDdh
MjlhYjlmZjk5ODMuLmNiNTM3MGIxYWViMjZmOWY2ZjE4MjYxNmQyMWRhOTA2NjRmNzgyMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVN
YXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFs
dWVNYXAuY3BwCkBAIC0xMTYsNyArMTE2LDI1IEBAIGJvb2wgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6
cHV0RGlyZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGFycmF5LCB1bnNpZ25lZCBpCiAg
ICAgLy8gZXh0ZW5zaWJsZSwgdGhpcyBpcyBub3QgdGhlIHJpZ2h0IHRoaW5nIHRvIGhhdmUgZG9u
ZSAtIHNvIHJlbW92ZSBhZ2Fpbi4KICAgICBpZiAobW9kZSAhPSBQdXREaXJlY3RJbmRleExpa2VQ
dXREaXJlY3QgJiYgcmVzdWx0LmlzTmV3RW50cnkgJiYgIWFycmF5LT5pc0V4dGVuc2libGUoKSkg
ewogICAgICAgICByZW1vdmUocmVzdWx0Lml0ZXJhdG9yKTsKLSAgICAgICAgcmV0dXJuIHJlamVj
dChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csICJBdHRlbXB0aW5nIHRv
IGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKKyAg
ICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhy
b3cgfHwgbW9kZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csICJB
dHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5z
aWJsZS4iKTsKKyAgICB9CisKKyAgICBpZiAobW9kZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURh
dGFQcm9wZXJ0eU9yVGhyb3cgJiYgIXJlc3VsdC5pc05ld0VudHJ5KSB7CisgICAgICAgIGlmIChl
bnRyeS5hdHRyaWJ1dGVzICYgRG9udERlbGV0ZSkgeworICAgICAgICAgICAgaWYgKCEoYXR0cmli
dXRlcyAmIERvbnREZWxldGUpKQorICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJv
cihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1
bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKworICAgICAgICAgICAgaWYgKChlbnRyeS5hdHRy
aWJ1dGVzICYgRG9udEVudW0pICE9IChhdHRyaWJ1dGVzICYgRG9udEVudW0pKQorICAgICAgICAg
ICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2Ug
ZW51bWVyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAg
ICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIEFjY2Vzc29yKQorICAgICAgICAgICAgICAg
IHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNz
IG1lY2hhbmlzbSBmb3IgYW4gdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAg
ICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7CisgICAgICAgICAgICAgICAgaWYg
KCEoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB3cml0YWJsZSBhdHRyaWJ1
dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAgICAgICAgaWYgKCFz
YW1lVmFsdWUoZXhlYywgZW50cnkuZ2V0KGV4ZWMsIGFycmF5KSwgdmFsdWUpKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hh
bmdlIHZhbHVlIG9mIGEgcmVhZG9ubHkgcHJvcGVydHkuIik7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KICAgICB9CiAKICAgICBlbnRyeS5hdHRyaWJ1dGVzID0gYXR0cmlidXRlczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4
IDM1NzUxMWE1NzY1NGUxNjgyNWZkMjJiMGFlNjc3Mzg5ZDIwM2MyMDMuLmQyYTIxNTJkZmY2ZDg4
YmJkZDZjNWZhZmZkMTIyYjAwNzU5MjYzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBT
dHJpbmdDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVm
IEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5
U2xvdDsKIAotICAgIHN0YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQorICAg
IHN0YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUp
CiAgICAgewogICAgICAgICBTdHJpbmdDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJpbmdDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFN0cmluZ0Nv
bnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3Jl
YXRpb24odm0sIHN0cmluZ1Byb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAppbmRleCAzNDRhOTc4YWIwYWM3NGUxNTQ4M2Iz
ZWUyZTU3OWZhZDAxZDdjZTM0Li4zYjM5M2ZkMWEwYTc0ZjAzMDMzZGZkYTk0MjdkMWFlNGQ3MzVh
YjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0
cnVjdG9yLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgU3ltYm9sQ29uc3RydWN0b3IgOiBwdWJs
aWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0
T3duUHJvcGVydHlTbG90IHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgU3lt
Ym9sQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1i
b2xQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMgU3ltYm9sQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN5bWJv
bFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3ltYm9sQ29uc3RydWN0b3Iq
IGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3ltYm9sQ29uc3RydWN0
b3I+KHZtLmhlYXApKSBTeW1ib2xDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAppbmRleCA2NmVk
YmNiMTZkODlhNWI2NjQ4MGFlZGEzMzYzM2I2ODUyZWU0ODk2Li42YzlhZDM5ZTUxZTU3YmM0NDll
MjFlOGVkN2JmZTYwYTJhZWQ4MWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBXZWFr
TWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgV2Vha01hcENvbnN0
cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha01hcFByb3Rv
dHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90
b3R5cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtNYXBDb25zdHJ1Y3RvciogY29u
c3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrTWFwQ29uc3RydWN0b3I+
KHZtLmhlYXApKSBXZWFrTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNv
bnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKaW5kZXggN2Y2ZmI2
YTVlNzY4ZWJmNDA4Y2E2Y2U3NWFkNTJlNmVjNTgzOTk2NC4uMjg4OWM5YzA5MDlhOTU0MDZlMDc4
Mjc4OGZjZGEzZDA5NDJmZGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha1Nl
dENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5
cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIFdlYWtTZXRDb25zdHJ1
Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtTZXRQcm90b3R5
cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMgV2Vha1NldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90
eXBlKiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBXZWFrU2V0Q29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8V2Vha1NldENvbnN0cnVjdG9yPih2
bS5oZWFwKSkgV2Vha1NldENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25z
dHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wOTI3MTQ1MjRhNjJiNjllN2VmOTU4OTNmMGI4ZTA5ZmRiODZkNzg1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5q
cwpAQCAtMCwwICsxLDQyNCBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkK
K3sKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCitmdW5jdGlvbiBzaG91bGRUaHJvdyhmdW5j
LCBlcnJvck1lc3NhZ2UpCit7CisgICAgdmFyIGVycm9yVGhyb3duID0gZmFsc2U7CisgICAgdmFy
IGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBmdW5jKCk7CisgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICBlcnJvclRocm93biA9IHRydWU7CisgICAgICAgIGVycm9yID0gZTsKKyAg
ICB9CisgICAgaWYgKCFlcnJvclRocm93bikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdub3Qg
dGhyb3duJyk7CisgICAgaWYgKFN0cmluZyhlcnJvcikgIT09IGVycm9yTWVzc2FnZSkKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKGBiYWQgZXJyb3I6ICR7U3RyaW5nKGVycm9yKX1gKTsKK30KKwor
c2hvdWxkQmUodHlwZW9mIFN5bWJvbC5zcGVjaWVzLCAnc3ltYm9sJyk7CisKKy8vIFByb21pc2Ug
aXMgdGVzdGVkIGluIERPTSBsYXlvdXQgdGVzdHMuCitzaG91bGRCZShKU09OLnN0cmluZ2lmeShP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpKSwgJ3si
ZW51bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKEpTT04u
c3RyaW5naWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3Bl
Y2llcykpLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hv
dWxkQmUoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJh
eSwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6
dHJ1ZX0nKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KFNldCwgU3ltYm9sLnNwZWNpZXMpLmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZSh0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5nZXQs
ICdmdW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKS5nZXQsICdmdW5jdGlvbicpOworc2hvdWxkQmUo
dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBTeW1ib2wuc3BlY2ll
cykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3No
b3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1i
b2wuc3BlY2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZShTZXRbU3ltYm9sLnNwZWNp
ZXNdLCBTZXQpOworc2hvdWxkQmUoTWFwW1N5bWJvbC5zcGVjaWVzXSwgTWFwKTsKK3Nob3VsZEJl
KEFycmF5W1N5bWJvbC5zcGVjaWVzXSwgQXJyYXkpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBP
YmplY3QpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5
bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworc2hvdWxkQmUoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxs
KE9iamVjdCksIE9iamVjdCk7CisKKy8vIEFycmF5LgorLy8gQ3VycmVudGx5LCBBcnJheSBpcyBu
b3Qgc3ViY2xhc3NhYmxlIGJ5IHVzaW5nIGNsYXNzIHN5bnRheC4KK2Z1bmN0aW9uIEV4dGVuZGVk
QXJyYXkobGVuZ3RoKQoreworICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkobGVuZ3RoKTsKKyAg
ICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK0V4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnBy
b3RvdHlwZTsKK3Nob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBF
eHRlbmRlZEFycmF5KTsKK0V4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJv
bC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKK3ZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRl
ZEFycmF5KDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMjApOworc2hvdWxkQmUoQXJy
YXkuaXNBcnJheShleHRlbmRlZCksIHRydWUpOworCisvLyBtYXAuCit2YXIgZXh0ZW5kZWQgPSBu
ZXcgRXh0ZW5kZWRBcnJheSgwKTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgz
MCk7CitleHRlbmRlZC5wdXNoKDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7Citz
aG91bGRCZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3No
b3VsZEJlKGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQubWFwLCAn
ZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7
IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4
dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMyk7CitzaG91bGRC
ZShyZXN1bHRbMF0sIDQwMCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDkwMCk7CitzaG91bGRCZShy
ZXN1bHRbMl0sIDE2MDApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsK
KworLy8gZmlsdGVyLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRl
bmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7Citz
aG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsK
K3Nob3VsZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOwor
c2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLmZpbHRlciwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0
ID0gZXh0ZW5kZWQuZmlsdGVyKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgPT09IDQw
OyB9KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOwor
c2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwKTsKK3No
b3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGNvbmNhdC4KK3ZhciBl
eHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRl
bmRlZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVu
Z3RoLCAzKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsx
XSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRl
bmRlZC5jb25jYXQsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLmNvbmNhdChb
NTAsIDYwLCA3MF0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwg
dHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCA2KTsKK3Nob3VsZEJlKHJlc3VsdFswXSwg
MjApOworc2hvdWxkQmUocmVzdWx0WzFdLCAzMCk7CitzaG91bGRCZShyZXN1bHRbMl0sIDQwKTsK
K3Nob3VsZEJlKHJlc3VsdFszXSwgNTApOworc2hvdWxkQmUocmVzdWx0WzRdLCA2MCk7CitzaG91
bGRCZShyZXN1bHRbNV0sIDcwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1
ZSk7CisKKy8vIHNsaWNlLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7Citl
eHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7
CitleHRlbmRlZC5wdXNoKDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hvdWxkQmUoZXh0ZW5k
ZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRl
bmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkWzNdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hvdWxkQmUodHlwZW9m
IGV4dGVuZGVkLnNsaWNlLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5zbGlj
ZSgzKTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOwor
c2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMik7CitzaG91bGRCZShyZXN1bHRbMF0sIDUwKTsKK3No
b3VsZEJlKHJlc3VsdFsxXSwgNjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0
cnVlKTsKKworLy8gc3BsaWNlLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7
CitleHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0
MCk7CitleHRlbmRlZC5wdXNoKDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hvdWxkQmUoZXh0
ZW5kZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShl
eHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKGV4
dGVuZGVkWzNdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hvdWxkQmUodHlw
ZW9mIGV4dGVuZGVkLnNsaWNlLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5z
cGxpY2UoMywgMSwgNDIpOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJh
eSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFsw
XSwgNTApOworc2hvdWxkQmUoZXh0ZW5kZWQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVl
KTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRCZShleHRlbmRlZFswXSwg
MjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJdLCA0
MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNDIpOworc2hvdWxkQmUoZXh0ZW5kZWRbNF0sIDYw
KTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIEFycmF5U3Bl
Y2llc0NyZWF0ZSBhYnN0cmFjdCBvcGVyYXRpb24gZWRnZSBjYXNlcy4KK3ZhciByZXN1bHQgPSBb
XS5tYXAuY2FsbCh7IDA6IDEwLCBsZW5ndGg6IDEgfSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1
cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0
cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91
bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgMTAwKTsKKworZnVu
Y3Rpb24gVGVzdCgpCit7CisgICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHJlc3VsdFswXSA9IDIw
OworICAgIHJlc3VsdC5sZW5ndGggPSAxOworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBUZXN0LnBy
b3RvdHlwZTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvdWxkQmUoQXJyYXkuaXNBcnJheShu
ZXcgVGVzdCgpKSwgdHJ1ZSk7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwg
KGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUo
QXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18s
IEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJl
KHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVj
aWVzXSA9IFRlc3Q7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0
aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXku
aXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIFRlc3Qu
cHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0
WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0g
bnVsbDsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZh
bHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5
KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90
eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0
MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gbnVsbDsK
K3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7
IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3Vs
dCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsK
K3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOwor
VGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gIkhlbGxvIjsKK3No
b3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3
IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOwor
fSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5j
dGlvbiIpOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3IgPSB1bmRlZmluZWQ7Cit2YXIgcmVz
dWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4g
dmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVl
KTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRC
ZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJv
dG90eXBlLmNvbnN0cnVjdG9yID0gbnVsbDsKK3Nob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAg
ICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkg
eyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworfSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3Ry
dWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpOworVGVzdC5wcm90b3R5cGUuY29u
c3RydWN0b3IgPSAiSGVsbG8iOworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgIHZhciBy
ZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVy
biB2YWx1ZSAqIHZhbHVlOyB9KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBjb25zdHJ1Y3RvciBv
ciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIik7CisKKyhmdW5jdGlvbiAoKSB7CisgICAgZnVu
Y3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFy
cmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5
cGU7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAg
ICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIk9VVCIpOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
IGVudW1lcmFibGU6IGZhbHNlLAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQorICAg
ICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRBcnJh
eS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJlKEV4
dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAgICBF
eHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRl
bmRlZEFycmF5OworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAg
ICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAg
ICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICAgICAgZXh0ZW5k
ZWQucHVzaCgyMCk7CisgICAgICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgICAgICBzaG91bGRCZShleHRl
bmRlZFswXSwgMCk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAg
ICAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQu
bWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUg
KiB2YWx1ZTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sICJUeXBlRXJyb3I6
IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1
cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgIH0oKSk7CisgICAgfQorCisgICAgKGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBleHRlbmRlZCA9IG5l
dyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBl
eHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsK
KyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRl
bmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAg
ICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgICAgICB2YWx1ZTogMzAKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBhY2Nl
c3MgbWVjaGFuaXNtIGZvciBhbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkp
OworfSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5KCkK
KyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAgICAgIHJlc3Vs
dC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAgcmVzdWx0LnB1
c2goMTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAg
ICAgICAgICB2YWx1ZTogMTAsCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAg
ICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UK
KyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVk
QXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRC
ZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7Cisg
ICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0g
RXh0ZW5kZWRBcnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0
IjsKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAg
ZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBz
aG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsw
XSwgMTApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91
bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkg
eworICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworICAgICAgICAgICAgfSk7
CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJs
ZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgfSgpKTsKKwor
ICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIg
ZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIw
KTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVk
Lmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAxMCk7CisgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJd
LCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgICAgIHZhbHVl
OiAzMAorICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcg
dG8gY2hhbmdlIHZhbHVlIG9mIGEgcmVhZG9ubHkgcHJvcGVydHkuIik7CisgICAgfSgpKTsKK30o
KSk7CisKKyhmdW5jdGlvbiAoKSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAg
eworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19w
cm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEw
KTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAg
ICAgdmFsdWU6IDAsCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAg
IGNvbmZpZ3VyYWJsZTogZmFsc2UsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAg
ICAgfSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXku
cHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRl
bmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0
ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5k
ZWRBcnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAg
ICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5k
ZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRC
ZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7
CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4
dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgfSwgIlR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJp
YnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOworCisgICAgKGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBleHRlbmRl
ZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3Ro
LCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRC
ZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOwor
ICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAgICAgICAg
IHZhbHVlOiAwCisgICAgICAgIH0pOworICAgIH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkg
eworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJy
YXkucHJvdG90eXBlOworICAgICAgICByZXN1bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwLAorICAgICAg
ICAgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUs
CisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9
IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5j
b25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUu
Y29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIChmdW5j
dGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIGV4dGVuZGVkID0g
bmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAg
IGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMp
OworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4
dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAg
ICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAg
ICAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgfSk7CisgICAgfSgpKTsKKworICAg
IChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0
ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsK
KyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxl
bmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hv
dWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMw
KTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAg
ICAgICB2YWx1ZTogMAorICAgICAgICB9KTsKKyAgICB9KCkpOworfSgpKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MTQ5
OTI0MzYzNTEyZjMwOTY5MDVmZTZhNWU0YmM5OGMzYzMzNDFjLi4wNDE3NmQyNTY3NzBjZTU2Yjgz
NmRkYWQ1Y2RlMTE4NTgyZGYyOTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTUtMDctMTIg
IFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0g
U3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCB0ZXN0cyBmb3IgUHJvbWlzZS4KKyAgICAgICAgT3RoZXIgY2FzZXMgbGlr
ZSBBcnJheSwgU2V0IGFuZCBNYXAgYXJlIGxvY2F0ZSB1bmRlciBKU0MgZGlyZWN0b3J5LgorCisg
ICAgICAgICogZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24t
Y2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9P
YmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvZG9t
L1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAg
ICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMu
aHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRp
ZmZlcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJl
c29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMv
ZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxt
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2ll
cy1pbi1kaWZmZXJlbnQtcmVhbG0uanM6IEFkZGVkLgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0
cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qczoKKwogMjAxNS0wNy0xMCAgSmF2aWVyIEZl
cm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5
b3V0XSBHcmlkIGl0ZW0ncyBhdXRvLW1hcmdpbnMgYXJlIG5vdCBhcHBsaWVkIGNvcnJlY3RseQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1j
YWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9i
dWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0CmluZGV4IGQxN2Vi
NThlYTlhMDY3Y2RlOThjMmIxNDI2YWIyZWIyN2U3MzJmNWUuLjc4YzMzZmI0OTQ4OGEwYzgwYTcx
OThhNDM1N2JmMWM4NzQ5ZGEyYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91
cy1leHBlY3RlZC50eHQKQEAgLTEyLDYgKzEyLDEwIEBAIFRocmVhZF8xIChubyBmaWxlKSAobGlu
ZSAwOjApCiAgICAgICAgICAgICB0b0ludGVnZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAg
ICAgICAgICAgIE51bWJlciAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgICAgKGFu
b255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgIGFycmF5U3Bl
Y2llc0NyZWF0ZSAobm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgICAgKGFub255bW91cyBm
dW5jdGlvbikgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAgIGlzT2JqZWN0IChubyBm
aWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBnZXQgW1N5bWJvbC5zcGVjaWVzXSAobm8gZmls
ZSkgKGxpbmUgMDowKQogICAgICAgICAgbXlGdW5jdGlvbiBidWlsdC1pbi1mdW5jdGlvbi1jYWxs
cy1hbm9ueW1vdXMuaHRtbCAobGluZSAxNDo0NSkKICAgICAgICAgICAgIGFycmF5T3BlcmF0b3JG
dW5jdGlvbiBwcm9maWxlci10ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAyNTo0NikKICAgICAg
IGVuZFRlc3QgcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMToyMCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMt
dXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVj
dGVkLnR4dAppbmRleCBlN2ZiYTU5YmIwODg4ZmRjY2RiZGU3M2RiYmUzNDdiMmRjMTQ4YzRiLi45
ZTIxYzZkMGEzNjZhMTU0MjFkMmU4MjA2NGEyZDc4NjA4MDEzMDMyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5l
ZC1mdW5jdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9i
dWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0xMiw2ICsxMiwxMCBAQCBUaHJlYWRfMSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAg
ICAgICAgdG9JbnRlZ2VyIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICAgICBOdW1i
ZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rp
b24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICBhcnJheVNwZWNpZXNDcmVhdGUgKG5v
IGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBm
aWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBpc09iamVjdCAobm8gZmlsZSkgKGxpbmUgMDow
KQorICAgICAgICAgICAgZ2V0IFtTeW1ib2wuc3BlY2llc10gKG5vIGZpbGUpIChsaW5lIDA6MCkK
ICAgICAgICAgIGFycmF5T3BlcmF0b3JGdW5jdGlvbiBwcm9maWxlci10ZXN0LUpTLXJlc291cmNl
cy5qcyAobGluZSAyNTo0NikKICAgICAgIGVuZFRlc3QgcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJj
ZXMuanMgKGxpbmUgMToyMCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdl
dE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdl
dE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4IGIwNTQ0Y2VmZjQ5OGUwZGI3ZTJm
YzYyMjQwOGU1ZDBmYjVlYTFmMDguLmQ1MTg2MjY0M2Q2MThiNTJkNzZlZTIyNWVjZWIyNjQzMzIz
ZjAwMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5h
bWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVy
dHlOYW1lcy1leHBlY3RlZC50eHQKQEAgLTYxLDcgKzYxLDcgQEAgUEFTUyBnZXRTb3J0ZWRPd25Q
cm9wZXJ0eU5hbWVzKEVycm9yKSBpcyBbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCiBQ
QVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRXJyb3IucHJvdG90eXBlKSBpcyBbJ2NvbnN0
cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93
blByb3BlcnR5TmFtZXMoTWF0aCkgaXMgWydFJywnTE4xMCcsJ0xOMicsJ0xPRzEwRScsJ0xPRzJF
JywnUEknLCdTUVJUMV8yJywnU1FSVDInLCdhYnMnLCdhY29zJywnYWNvc2gnLCdhc2luJywnYXNp
bmgnLCdhdGFuJywnYXRhbjInLCdhdGFuaCcsJ2NicnQnLCdjZWlsJywnY2x6MzInLCdjb3MnLCdj
b3NoJywnZXhwJywnZXhwbTEnLCdmbG9vcicsJ2Zyb3VuZCcsJ2h5cG90JywnaW11bCcsJ2xvZycs
J2xvZzEwJywnbG9nMXAnLCdsb2cyJywnbWF4JywnbWluJywncG93JywncmFuZG9tJywncm91bmQn
LCdzaWduJywnc2luJywnc2luaCcsJ3NxcnQnLCd0YW4nLCd0YW5oJywndHJ1bmMnXQogUEFTUyBn
ZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEpTT04pIGlzIFsncGFyc2UnLCAnc3RyaW5naWZ5J10K
LVBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wpIGlzIFsnZm9yJywgJ2l0ZXJh
dG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJs
ZXMnXQorUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN5bWJvbCkgaXMgWydmb3InLCAn
aXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZScsICdzcGVj
aWVzJywgJ3Vuc2NvcGFibGVzJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1i
b2wucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9yJywgJ3RvU3RyaW5nJywgJ3ZhbHVlT2YnXQog
UEFTUyBnbG9iYWxQcm9wZXJ0eU5hbWVzLmluZGV4T2YoJ05hTicpICE9IC0xIGlzIHRydWUKIFBB
U1MgZ2xvYmFsUHJvcGVydHlOYW1lcy5pbmRleE9mKCdJbmZpbml0eScpICE9IC0xIGlzIHRydWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZl
cmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2ll
cy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllMDE0YzIxZjQ2Y2Q4MDI2NDM5
YWJhMWU0NGJhMGZhZjk5OGI2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTUgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLmFsbC4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0Mild
KSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4
dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BB
U1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2Yg
RXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZh
bHNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVu
UmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIGdsb2JhbFZh
bHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMt
ZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1k
aWZmZXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDZiZWNjNjk5NzdlNWM5NDdkZTk2MDk2MzQ3NmMy
ODZiN2M0M2NhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
YWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0
LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2Ug
PSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRl
ZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9t
aXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJv
bWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9f
XyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9t
aXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hv
dWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlu
c3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21p
c2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVk
UHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3Vs
dCA9IEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRo
ZW4oZnVuY3Rpb24gKFt2YWx1ZV0pIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNo
b3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Citz
aG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhl
blJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxs
LXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNw
ZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkZTY1MTM2OTQ0NjY2ZGFlNmYwMTNlZWMy
ZjQzYjNhZjgwNjk5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJj
bGFzc2VkIFByb21pc2UuYWxsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
RXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNl
IG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BB
U1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xv
YmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3Bl
Y2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZDc0MmQ5MjViODJlMTFiYmI2NmUyNWMxNzBkMjRlYzdkOGQwMTk3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRt
bApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNl
LmFsbC4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHks
IG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21p
c2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsK
KyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAg
cmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4
dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitz
aG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSIs
ICJFeHRlbmRlZFByb21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChb
RXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3Zh
ciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9t
aXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihmdW5jdGlvbiAoW3Zh
bHVlXSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZh
bHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhl
blJlc3VsdCIsICJFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2ll
cy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFj
ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2EwNmU4MDg4YmRj
NTJlOGRlMjQxY2Q2YTMxMGJjODFlYTk4OWVhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTUgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5y
ZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9t
aXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9m
IFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0Mild
KSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21p
c2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRl
ZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9t
aXNlCitQQVNTIHRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UK
K1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI1NDA3ZGM4Yzc4YTQ3
NGRhMWFiNzMzYzYwNmY1MzIyNmQzYWQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQuaHRtbApAQCAtMCwwICsxLDQy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuJyk7CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlz
IG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7
CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5f
X3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNl
OworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3Rv
dHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5k
ZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQ
cm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRC
ZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0Mild
KSIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJv
bWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRC
ZUZhbHNlKCJFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIp
XSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5k
ZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQ
cm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxW
YWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJvbWlzZSIp
Oworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIp
OworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNk
MzU4MWViMzA0NTdlYTBkZWNmZmM5YTMyYTEyZjFjMmZkN2MzNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmFjZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJl
c29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIEV4dGVu
ZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBv
ZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXJhY2Utc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyYmEwMGJmNDlmYWQ2Mzkx
MTg3YmU4OGM4ZTIyYzYxYzRmZGY3OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0
ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBF
eHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5k
ZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVu
ZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFBy
b21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21p
c2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworc2hv
dWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5l
ZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUg
PSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlz
ZSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lOWE4YmFiZmE2NzBhM2Y1M2IyNWRiN2VkODM5ZDE1Y2NlMmQwODMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlamVjdC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZWplY3Qo
NDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlz
IGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0Mgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkxNTE4YjYwOTQyOTJkOWQwMWM0ZGM2N2YwYWVhNjRkNzQ4MzcyYTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5odG1sCkBAIC0w
LDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVqZWN0
LicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3
LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShl
eGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAg
IHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1
cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJv
bWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5k
ZWRQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3Vs
ZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlamVjdCg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7
CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5k
ZWRQcm9taXNlLnJlamVjdCg0MikuY2F0Y2goZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFs
VmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVk
UHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlm
ZmVyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2VkYjVkNWE1NTkxNDc5ZWU3MGJhMDAx
ZjFjODhjNWI4NjlhZTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBv
ZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMg
ZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20v
UHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkx
NjE0ZDA3NTg1MGNmZTkwYTg2M2U4ZmYwZTEyMjQyM2ZkM2YzMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRt
bApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNl
LnJlc29sdmUuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVu
dGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQ
cm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRv
cik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOwor
ICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10g
PSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3Vs
ZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwgIkV4dGVuZGVkUHJvbWlzZSIp
OworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2Jh
bFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJQcm9taXNl
Iik7CitzaG91bGRCZUZhbHNlKCJ0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNl
Iik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mZjZkNWVmNzEwN2VhNzZmNWFmNDhmNDI3NWMyOTdkODZlMzA4MGJhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJl
c29sdmUoNDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVz
dWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBp
cyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1p
bnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUt
c3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmVhNDgwOGQ5YTczY2Fl
YmNhNjlmMTE5MzBjODk3ODg5YmY3MDM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlk
IEBAc3BlY2llcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVk
UHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BB
U1MgdGVzdCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGNvbnN0cnVjdG9yLkBAc3BlY2ll
cyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21p
c2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGU5ZWFlM2E4YWU0
ZjIwMDY3YzUzODRiNDVhNzFjZDAwNzIxMzIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQuaHRtbApAQCAtMCwwICsx
LDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUgd2l0
aCBpbnZhbGlkIEBAc3BlY2llcy4nKTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5v
dCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7Cisg
ICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3By
b3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOwor
fQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlw
ZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSB7fTsKK0V4dGVuZGVkUHJvbWlz
ZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5y
ZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKworZnVuY3Rpb24gdGVzdCgpIHsKKyAg
ICBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHt9KTsK
K30KK3Nob3VsZFRocm93KCJ0ZXN0KCkiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMu
aHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY3YzMxMGZiYzQ3NGUzMDdmMjJhZWUyOTBlNGI2MDI4OWM4ZTY2MjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMu
aHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9t
aXNlLnJlc29sdmUuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3Vy
cmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5k
ZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVj
dXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBl
OworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3By
b3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2ll
c10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlz
ZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5k
ZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVz
dWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7
CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAi
NDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0
IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jYjhiMGU3NTQ2OGEwZWJhMTgwN2ZkYzYwZmNkYmMyNWQxYmI1ZTA4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBQcm9taXNlIGFuZCBAQHNwZWNpZXMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKSkgaXMgIntcImVudW1l
cmFibGVcIjpmYWxzZSxcImNvbmZpZ3VyYWJsZVwiOnRydWV9IgorUEFTUyB0eXBlb2YgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IGlz
ICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
UHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLnNldCBpcyAidW5kZWZpbmVkIgorUEFTUyBQcm9taXNl
W1N5bWJvbC5zcGVjaWVzXSBpcyBQcm9taXNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCkgaXMgT2Jq
ZWN0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sIGIvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MzNhNzA2
ODM3ZjZlMDllYjY0OGZlMDI3ZTdhMTljOWNhMTM3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0IFByb21pc2UgYW5kIEBAc3BlY2llcy4nKTsKKworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKSkiLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmln
dXJhYmxlIjp0cnVlfScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IiwgJ2Z1
bmN0aW9uJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5zZXQiLCAndW5kZWZpbmVk
Jyk7CitzaG91bGRCZSgiUHJvbWlzZVtTeW1ib2wuc3BlY2llc10iLCAiUHJvbWlzZSIpOworc2hv
dWxkQmUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNw
ZWNpZXMpLmdldC5jYWxsKE9iamVjdCkiLCAiT2JqZWN0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMt
aW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJh
eS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNl
YmQ3YTFlYWVlNGNiMDlmMDUyYmZiMWE3YzM4MTNlYTRiMjc4MAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorQXJyYXlTcGVjaWVzQ3JlYXRlIGdlbmVyYXRlIHRo
ZSBjdXJyZW50IFJlYWxtIGFycmF5IHdoZW4gdGhlIGdpdmVuIGFycmF5IGlzIGZyb20gdGhlIGRp
ZmZlcmVudCByZWFsbS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYXJy
YXkubGVuZ3RoIGlzIDUKK1BBU1MgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSBpcyBmYWxzZQorUEFT
UyBhcnJheSBpbnN0YW5jZW9mIEFycmF5MiBpcyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoYXJy
YXkpIGlzIHRydWUKK1BBU1MgYXJyYXkuY29uc3RydWN0b3IgaXMgQXJyYXkyCitQQVNTIGFycmF5
LmNvbnN0cnVjdG9yIGlzIG5vdCBBcnJheQorUEFTUyByZXN1bHQubGVuZ3RoIGlzIDUKK1BBU1Mg
QXJyYXkuaXNBcnJheShyZXN1bHQpIGlzIHRydWUKK0ZBSUwgcmVzdWx0IGluc3RhbmNlb2YgQXJy
YXkgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgcmVzdWx0IGluc3RhbmNlb2YgQXJy
YXkyIHNob3VsZCBiZSBmYWxzZS4gV2FzIHRydWUuCitQQVNTIHJlc3VsdFswXSBpcyAwCitQQVNT
IHJlc3VsdFsxXSBpcyAxCitQQVNTIHJlc3VsdFsyXSBpcyA0CitQQVNTIHJlc3VsdFszXSBpcyA5
CitQQVNTIHJlc3VsdFs0XSBpcyAxNgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1z
cGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5
LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY1Mjg1YTc1ZDUz
NDBkNDhhNDg2OTQ1NjBjZGZhMjUyYjgyNDA0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5odG1sCkBAIC0wLDAg
KzEsMTEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
ZG9tL3NjcmlwdC10ZXN0cy9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qcyBiL0xh
eW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQt
cmVhbG0uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU3NWVmMWE3ZjE3N2ZlNDRlYjFkY2Y2ODY2ZTc5ZDA4OTlj
MTE1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMv
YXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMKQEAgLTAsMCArMSwyNiBAQAorZGVz
Y3JpcHRpb24oIkFycmF5U3BlY2llc0NyZWF0ZSBnZW5lcmF0ZSB0aGUgY3VycmVudCBSZWFsbSBh
cnJheSB3aGVuIHRoZSBnaXZlbiBhcnJheSBpcyBmcm9tIHRoZSBkaWZmZXJlbnQgcmVhbG0uIik7
CisKK3ZhciBmcmFtZSA9IGZyYW1lc1swXTsKK3ZhciBBcnJheTIgPSBmcmFtZS5BcnJheTsKKwor
dmFyIGFycmF5ID0gbmV3IEFycmF5MigwKTsKK2FycmF5LnB1c2goMCwgMSwgMiwgMywgNCk7CisK
K3Nob3VsZEJlKCJhcnJheS5sZW5ndGgiLCAiNSIpOworc2hvdWxkQmVGYWxzZSgiYXJyYXkgaW5z
dGFuY2VvZiBBcnJheSIpOworc2hvdWxkQmVUcnVlKCJhcnJheSBpbnN0YW5jZW9mIEFycmF5MiIp
Oworc2hvdWxkQmVUcnVlKCJBcnJheS5pc0FycmF5KGFycmF5KSIpOworc2hvdWxkQmUoImFycmF5
LmNvbnN0cnVjdG9yIiwgIkFycmF5MiIpOworc2hvdWxkTm90QmUoImFycmF5LmNvbnN0cnVjdG9y
IiwgIkFycmF5Iik7Cit2YXIgcmVzdWx0ID0gYXJyYXkubWFwKGZ1bmN0aW9uICh2YWx1ZSkgewor
ICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworfSk7CitzaG91bGRCZSgicmVzdWx0Lmxlbmd0aCIs
ICI1Iik7CitzaG91bGRCZVRydWUoIkFycmF5LmlzQXJyYXkocmVzdWx0KSIpOworc2hvdWxkQmVU
cnVlKCJyZXN1bHQgaW5zdGFuY2VvZiBBcnJheSIpOworc2hvdWxkQmVGYWxzZSgicmVzdWx0IGlu
c3RhbmNlb2YgQXJyYXkyIik7CitzaG91bGRCZSgicmVzdWx0WzBdIiwgIjAiKTsKK3Nob3VsZEJl
KCJyZXN1bHRbMV0iLCAiMSIpOworc2hvdWxkQmUoInJlc3VsdFsyXSIsICI0Iik7CitzaG91bGRC
ZSgicmVzdWx0WzNdIiwgIjkiKTsKK3Nob3VsZEJlKCJyZXN1bHRbNF0iLCAiMTYiKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlO
YW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVy
dHlOYW1lcy5qcwppbmRleCBmNzlkZmFiNmE2YWY4MjhjNDgzMDJkMGE3YWU1YTRiNWNlOWQ5OTI4
Li41M2Q1ZjBkYTRjZmZmYmY4MDBkYjJlMDgzZmQ5ZWZhZWJmMDY5Y2FmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMK
KysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5h
bWVzLmpzCkBAIC03MCw3ICs3MCw3IEBACiAgICAgIkVycm9yLnByb3RvdHlwZSI6ICJbJ2NvbnN0
cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0b1N0cmluZyddIiwKICAgICAiTWF0aCI6ICJb
J0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywnTE9HMkUnLCdQSScsJ1NRUlQxXzInLCdTUVJUMics
J2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4nLCdhc2luaCcsJ2F0YW4nLCdhdGFuMicsJ2F0YW5o
JywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2NvcycsJ2Nvc2gnLCdleHAnLCdleHBtMScsJ2Zsb29y
JywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywnbG9nJywnbG9nMTAnLCdsb2cxcCcsJ2xvZzInLCdt
YXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdyb3VuZCcsJ3NpZ24nLCdzaW4nLCdzaW5oJywnc3Fy
dCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddIiwKICAgICAiSlNPTiI6ICJbJ3BhcnNlJywgJ3N0cmlu
Z2lmeSddIiwKLSAgICAiU3ltYm9sIjogIlsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICds
ZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJsZXMnXSIsCisgICAgIlN5bWJv
bCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3InLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJv
dG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29wYWJsZXMnXSIsCiAgICAgIlN5bWJvbC5wcm90b3R5
cGUiOiAiWydjb25zdHJ1Y3RvcicsICd0b1N0cmluZycsICd2YWx1ZU9mJ10iCiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256681</attachid>
            <date>2015-07-12 10:48:05 -0700</date>
            <delta_ts>2015-07-13 12:10:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150713024700.patch</filename>
            <type>text/plain</type>
            <size>129031</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YWRhMjk4YTFjMDc4NWFjOTQ2MjM5YzZmZWE0MDI0MzYzZGQ0ZjYwLi4wMTg4MjU0OGJjYzNhMjE0
ZTMwYTE5OWIxMGJjZGE2OGE2MTg0NmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzEgQEAKKzIwMTUtMDctMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToK
KyAgICAgICAgKHNwbGljZSk6CisgICAgICAgICogYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5q
czoKKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2JhbE9i
amVjdC5qczoKKyAgICAgICAgKHNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYnVpbHRp
bnMvSXRlcmF0b3IucHJvdG90eXBlLmpzOgorICAgICAgICAoc3ltYm9sSXRlcmF0b3IpOgorICAg
ICAgICAoU3ltYm9sSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJ1aWx0aW5zL01hcENv
bnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
SXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAg
ICogYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qczogQ29waWVkIGZyb20gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcy4KKyAgICAgICAgKC5uZXdBcnJheUlu
Q3VycmVudFJlYWxtKToKKyAgICAgICAgKGFycmF5U3BlY2llc0NyZWF0ZSk6CisgICAgICAgICog
YnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanM6CisgICAgICAgICogYnVpbHRpbnMvUHJvbWlz
ZUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAocmFjZSk6CisgICAgICAgIChzeW1ib2xTcGVjaWVz
KToKKyAgICAgICAgKiBidWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qczogQ29waWVkIGZyb20gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcy4KKyAgICAg
ICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpwdXRCeVZhbCk6CisgICAgICAgIChKU0M6OkRGRzo6b3BlcmF0aW9u
UHV0QnlWYWxJbnRlcm5hbCk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAg
ICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxM
SU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6Cisg
ICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkFycmF5
Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHA6CisgICAgICAgIChKU0M6OmFycmF5U3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKEpT
Qzo6Y3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9G
dW5jQ29uY2F0KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTbGljZSk6CisgICAgICAg
IChKU0M6OmFycmF5UHJvdG9GdW5jU3BsaWNlKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRp
bWUvRGF0ZUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpT
Qzo6RXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJDb25zdHJ1
Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0
b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpT
Qzo6aXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSk6CisgICAgICAgIChKU0M6OkpT
R2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0
Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAg
KEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24pOgorICAgICAgICAqIHJ1
bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVmaW5lT3duSW5k
ZXhlZFByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSk6CisgICAgICAgICogcnVudGltZS9KU1By
b21pc2VDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZUNvbnN0cnVjdG9y
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9y
Lmg6CisgICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29uc3RydWN0
b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVn
RXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUp
OgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpT
ZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29u
c3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcDoKKyAgICAgICAgKEpTQzo6U3Bh
cnNlQXJyYXlWYWx1ZU1hcDo6cHV0RGlyZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ0Nv
bnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpjcmVhdGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U3lt
Ym9sQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9XZWFrTWFwQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKEpTQzo6V2Vha01hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OldlYWtT
ZXRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc3ltYm9sLXNw
ZWNpZXMuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAoc2hvdWxkVGhy
b3cpOgorICAgICAgICAoLmdldCBFeHRlbmRlZEFycmF5KToKKyAgICAgICAgKC5nZXQgc2hvdWxk
QmUpOgorICAgICAgICAoLnNldCBzaG91bGRCZSk6CisgICAgICAgIChUZXN0KToKKyAgICAgICAg
KC4pOgorCiAyMDE1LTA3LTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgREZHOjpEZXNpcmVkV2F0Y2hwb2ludHMgc2hvdWxkIGFjY2VwdCBXYXRjaHBvaW50U2V0
VHlwZSdzIHRoYXQgYXJlbid0IG5lY2Vzc2FyaWx5IHBvaW50ZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwppbmRleCBhZjQ2ZGQ4ZmVm
ZmU1MzRiY2Q0MDUzNGYzNGY3YmYyNWZhNWJlNDQzLi4zYjA5NjQwYjU3MTkzZjQ2Y2JjOTRiZDNh
NmIzNDc3OTRkOWNhMDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvQXJyYXkucHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanMKQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlvbiBmaWx0ZXIo
Y2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3Io
IkFycmF5LnByb3RvdHlwZS5maWx0ZXIgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAg
ICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sx
XSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9IEBh
cnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIDApOwogICAgIHZhciBuZXh0SW5kZXggPSAwOwogICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgaWYgKCEoaSBpbiBh
cnJheSkpCkBAIC0xOTAsNyArMTkwLDcgQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCB0aGlz
QXJnICovKSB7CiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUu
bWFwIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpOwogICAgIAogICAgIHZhciB0aGlzQXJn
ID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7Ci0gICAg
dmFyIHJlc3VsdCA9IFtdOworICAgIHZhciByZXN1bHQgPSBAYXJyYXlTcGVjaWVzQ3JlYXRlKGFy
cmF5LCBsZW5ndGgpOwogICAgIHJlc3VsdC5sZW5ndGggPSBsZW5ndGg7CiAgICAgdmFyIG5leHRJ
bmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewpAQCAtNjQy
LDMgKzY0Miw4MSBAQCBmdW5jdGlvbiBtaW5XaXRoTWF5YmVOZWdhdGl2ZVplcm9BbmRQb3NpdGl2
ZShtYXliZU5lZ2F0aXZlWmVybywgcG9zaXRpdmUpCiAKICAgICByZXR1cm4gdGhpc09iamVjdDsK
IH0KKworZnVuY3Rpb24gc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCkKK3sKKyAgICAidXNlIHN0
cmljdCI7CisKKyAgICB2YXIgb2JqZWN0ID0gQE9iamVjdCh0aGlzKTsKKyAgICB2YXIgbGVuZ3Ro
ID0gQHRvTGVuZ3RoKG9iamVjdC5sZW5ndGgpOworICAgIHZhciBpdGVtT2Zmc2V0ID0gMjsKKwor
ICAgIHZhciByZWxhdGl2ZVN0YXJ0ID0gQHRvSW50ZWdlcihzdGFydCk7CisgICAgdmFyIGFjdHVh
bFN0YXJ0OworICAgIGlmIChyZWxhdGl2ZVN0YXJ0IDwgMCkgeworICAgICAgICBhY3R1YWxTdGFy
dCA9IGxlbmd0aCArIHJlbGF0aXZlU3RhcnQ7CisgICAgICAgIGlmIChyZWxhdGl2ZVN0YXJ0IDw9
IDApCisgICAgICAgICAgICBhY3R1YWxTdGFydCA9IDA7CisgICAgfSBlbHNlCisgICAgICAgIGFj
dHVhbFN0YXJ0ID0gKHJlbGF0aXZlU3RhcnQgPCBsZW5ndGgpID8gcmVsYXRpdmVTdGFydCA6IGxl
bmd0aDsKKworICAgIHZhciBhcmd1bWVudHNMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoOworICAg
IHZhciBpbnNlcnRDb3VudDsKKyAgICB2YXIgYWN0dWFsRGVsZXRlQ291bnQ7CisgICAgaWYgKGFy
Z3VtZW50c0xlbmd0aCAgPT09IDApIHsKKyAgICAgICAgaW5zZXJ0Q291bnQgPSAwOworICAgICAg
ICBhY3R1YWxEZWxldGVDb3VudCA9IDA7CisgICAgfSBlbHNlIGlmIChhcmd1bWVudHNMZW5ndGgg
PT09IDEpIHsKKyAgICAgICAgaW5zZXJ0Q291bnQgPSAwOworICAgICAgICBhY3R1YWxEZWxldGVD
b3VudCA9IGxlbmd0aCAtIGFjdHVhbFN0YXJ0OworICAgIH0gZWxzZSB7CisgICAgICAgIGluc2Vy
dENvdW50ID0gYXJndW1lbnRzTGVuZ3RoIC0gaXRlbU9mZnNldDs7CisgICAgICAgIHZhciBkYyA9
IEB0b0xlbmd0aChkZWxldGVDb3VudCk7CisgICAgICAgIGlmIChkYyA8PSAwKQorICAgICAgICAg
ICAgZGMgPSAwOworICAgICAgICBhY3R1YWxEZWxldGVDb3VudCA9IGxlbmd0aCAtIGFjdHVhbFN0
YXJ0OworICAgICAgICBpZiAoZGMgPCBhY3R1YWxEZWxldGVDb3VudCkKKyAgICAgICAgICAgIGFj
dHVhbERlbGV0ZUNvdW50ID0gZGM7CisgICAgfQorCisgICAgaWYgKChsZW5ndGggKyBpbnNlcnRD
b3VudCAtIGFjdHVhbERlbGV0ZUNvdW50KSA+IDB4MUZGRkZGRkZGRkZGRkYpCisgICAgICAgIHRo
cm93IG5ldyBAVHlwZUVycm9yKCk7CisKKyAgICB2YXIgYXJyYXkgPSBAYXJyYXlTcGVjaWVzQ3Jl
YXRlKG9iamVjdCwgYWN0dWFsRGVsZXRlQ291bnQpOworICAgIGZvciAodmFyIGsgPSAwOyBrIDwg
YWN0dWFsRGVsZXRlQ291bnQ7ICsraykgeworICAgICAgICB2YXIgZnJvbSA9IGFjdGF1bFN0YXJ0
ICsgazsKKyAgICAgICAgaWYgKGZyb20gaW4gb2JqZWN0KQorICAgICAgICAgICAgQHB1dEJ5VmFs
RGlyZWN0KGFycmF5LCBrLCBvYmplY3RbZnJvbV0pOworICAgIH0KKyAgICBhcnJheS5sZW5ndGgg
PSBhY3R1YWxEZWxldGVDb3VudDsKKworICAgIHZhciBpdGVtQ291bnQgPSBhcmd1bWVudHNMZW5n
dGggLSBpdGVtT2Zmc2V0OworICAgIGlmIChpdGVtQ291bnQgPCBhY3R1YWxEZWxldGVDb3VudCkg
eworICAgICAgICBmb3IgKHZhciBrID0gYWN0dWFsU3RhcnQsIG1vdmVDb3VudCA9IGxlbmd0aCAt
IGFjdHVhbERlbGV0ZUNvdW50OyBrIDwgbW92ZUNvdW50OyArK2spIHsKKyAgICAgICAgICAgIHZh
ciBmcm9tID0gayArIGFjdHVhbERlbGV0ZUNvdW50OworICAgICAgICAgICAgdmFyIHRvID0gayAr
IGl0ZW1Db3VudDsKKyAgICAgICAgICAgIGlmIChmcm9tIGluIG9iamVjdCkKKyAgICAgICAgICAg
ICAgICBvYmplY3RbdG9dID0gb2JqZWN0W2Zyb21dOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGRlbGV0ZSBvYmplY3RbdG9dOworICAgICAgICB9CisgICAgICAgIGZvciAodmFy
IGsgPSBsZW5ndGgsIHJlbWFpbkNvdW50ID0gbGVuZ3RoIC0gYWN0dWFsRGVsZXRlQ291bnQgKyBp
dGVtQ291bnQ7IGxlbmd0aCA+IHJlbWFpbkNvdW50OyAtLWspCisgICAgICAgICAgICBkZWxldGUg
b2JqZWN0W2sgLSAxXTsKKyAgICB9IGVsc2UgaWYgKGl0ZW1Db3VudCA+IGFjdHVhbERlbGV0ZUNv
dW50KSB7CisgICAgICAgIGZvciAodmFyIGsgPSBsZW5ndGggLSBhY3R1YWxEZWxldGVDb3VudDsg
ayA+IGFjdHVhbFN0YXJ0OyAtLWspIHsKKyAgICAgICAgICAgIHZhciBmcm9tID0gayArIGFjdHVh
bERlbGV0ZUNvdW50OworICAgICAgICAgICAgdmFyIHRvID0gayArIGl0ZW1Db3VudCAtIDE7Cisg
ICAgICAgICAgICBpZiAoZnJvbSBpbiBvYmplY3QpCisgICAgICAgICAgICAgICAgb2JqZWN0W3Rv
XSA9IG9iamVjdFtmcm9tXTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBkZWxl
dGUgb2JqZWN0W3RvXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvciAodmFyIGsgPSAwOyBr
IDwgaXRlbUNvdW50OyArK2spCisgICAgICAgIG9iamVjdFthY3R1YWxTdGFydCArIGtdID0gYXJn
dW1lbnRzW2sgKyBpdGVtT2Zmc2V0XTsKKworICAgIG9iamVjdC5sZW5ndGggPSBsZW5ndGggLSBh
Y3R1YWxEZWxldGVDb3VudCArIGl0ZW1Db3VudDsKKworICAgIHJldHVybiBhcnJheTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9y
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMK
aW5kZXggNWE1NTFmNzM5OGY3OGYwYzI5YjBmNDNkOWVmY2MzN2VhYTIyZTMyNS4uMzRkZjYyNDAy
NGJiZGFjOWFiMjc4MDU2YWRhZmMxNmE5MjYzNjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMKQEAgLTEwNywzICsxMDcsMTAg
QEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRoaXNBcmcgKi8pIHsKICAgICByZXN1
bHQubGVuZ3RoID0gYXJyYXlMaWtlTGVuZ3RoOwogICAgIHJldHVybiByZXN1bHQ7CiB9CisKK2Z1
bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVy
biB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0ds
b2JhbE9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmpl
Y3QuanMKaW5kZXggNmFkYWRlZmJkOWE5NzAxNzc5MzY2MGFmZGIyM2E3NTUyYTIwN2FmOS4uY2M3
YjJjYTkxYmYwYmUwNjllZTQ0MWNjYWQxYjM5OGVkMzYzZTk5MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCkBAIC01NSwzICs1NSwyMiBAQCBm
dW5jdGlvbiBpc09iamVjdChvYmplY3QpCiAKICAgICByZXR1cm4gKG9iamVjdCAhPT0gbnVsbCAm
JiB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IikgfHwgdHlwZW9mIG9iamVjdCA9PT0gImZ1bmN0
aW9uIjsKIH0KKworZnVuY3Rpb24gc3BlY2llc0NvbnN0cnVjdG9yKG9iamVjdCwgZGVmYXVsdENv
bnN0cnVjdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHZhciBjb25zdHJ1Y3RvciA9
IG9iamVjdC5jb25zdHJ1Y3RvcjsKKyAgICBpZiAoY29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCkK
KyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIm9iamVjdCBkb2VzIG5vdCBoYXZlIFwiY29u
c3RydWN0b3JcIiBwcm9wZXJ0eSIpOworCisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3RvcltA
c3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgPT09IHVuZGVmaW5lZCB8fCBzcGVjaWVz
ID09PSBudWxsKQorICAgICAgICByZXR1cm4gZGVmYXVsdENvbnN0cnVjdG9yOworCisgICAgLy8g
RklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKHNwZWNpZXMpLgorICAgIGlmICh0eXBlb2Ygc3BlY2ll
cyAhPT0gJ2Z1bmN0aW9uJykKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImNvbnN0cnVj
dG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3RvciIpOworCisgICAgcmV0dXJuIHNwZWNp
ZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0
b3IucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9y
LnByb3RvdHlwZS5qcwppbmRleCBkYzcyYTY0MDhiNDM2NzBhOTM2MTlmYzYxZjJiZWMzMjc1ZTM5
NWQ1Li4xZTliOThjODQzZDg2NzU1YzQ3NjMzNzY1NzlmNDk4YTkyMDAyZGEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMK
QEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotZnVuY3Rpb24gU3ltYm9s
SXRlcmF0b3IoKQorZnVuY3Rpb24gc3ltYm9sSXRlcmF0b3IoKQogewogICAgICd1c2Ugc3RyaWN0
JzsKICAgICByZXR1cm4gdGhpczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9NYXBDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMw
YjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL01hcENvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24gc3ltYm9s
U3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJh
eS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxNDNkOTUxNTE4NjI5MzE1ZDE1MWViODM1YjM2MzNkZGZlZjk2OTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9u
cy5BcnJheS5qcwpAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1
c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIGFycmF5U3BlY2llc0NyZWF0ZShvcmln
aW5hbEFycmF5LCBsZW5ndGgpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgZnVuY3Rpb24g
bmV3QXJyYXlJbkN1cnJlbnRSZWFsbSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0gW107
CisgICAgICAgIHJlc3VsdC5sZW5ndGggPSBsZW5ndGg7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorCisgICAgaWYgKCFAaXNBcnJheShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAgcmV0
dXJuIG5ld0FycmF5SW5DdXJyZW50UmVhbG0obGVuZ3RoKTsKKworICAgIHZhciBjb25zdHJ1Y3Rv
ciA9IG9yaWdpbmFsQXJyYXkuY29uc3RydWN0b3I7CisKKyAgICAvLyBFYXJseSBjaGVjayBmb3Ig
dGhlIGNvbW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1Y3RvciAhPT0gQEFycmF5KSB7CisgICAg
ICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikuCisgICAgICAgIGlm
ICh0eXBlb2YgY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIpIHsKKyAgICAgICAgICAgIGlmIChA
aXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbShjb25zdHJ1Y3RvcikpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIG5ld0FycmF5SW5DdXJyZW50UmVhbG0obGVuZ3RoKTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIGlmIChAaXNPYmplY3QoY29uc3RydWN0b3IpKSB7CisgICAgICAgIGNv
bnN0cnVjdG9yID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgICAgICBpZiAoY29u
c3RydWN0b3IgPT09IG51bGwpCisgICAgICAgICAgICBjb25zdHJ1Y3RvciA9IHVuZGVmaW5lZDsK
KyAgICB9CisKKyAgICBpZiAoY29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCB8fCBjb25zdHJ1Y3Rv
ciA9PT0gQEFycmF5KQorICAgICAgICByZXR1cm4gbmV3QXJyYXlJbkN1cnJlbnRSZWFsbShsZW5n
dGgpOworCisgICAgLy8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKS4KKyAg
ICBpZiAodHlwZW9mIGNvbnN0cnVjdG9yICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0aHJvdyBu
ZXcgQFR5cGVFcnJvcigiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5j
dGlvbiIpOworCisgICAgcmV0dXJuIG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgpOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzCmlu
ZGV4IDg1NjNkZjBkOTI3ZmIyMzM5Njg5MzllMTQ5NDIzOTZlYzg1ZTY1YWEuLmNmNmEyMGZkODMy
NWI4M2MxYjkwNzViNTkxMmM0MzU5MDQwMTYzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanMKQEAgLTM3LDkgKzM3LDcgQEAg
ZnVuY3Rpb24gdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkKICAgICBpZiAoIUBpc1Byb21p
c2UodGhpcykpCiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEg
b2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3
ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAotICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXMuY29u
c3RydWN0b3I7CisgICAgdmFyIGNvbnN0cnVjdG9yID0gQHNwZWNpZXNDb25zdHJ1Y3Rvcih0aGlz
LCBAUHJvbWlzZSk7CiAKICAgICB2YXIgcmVzdWx0Q2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2Fw
YWJpbGl0eShjb25zdHJ1Y3Rvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCmluZGV4IDFmODNiNDdmNzkwYTc1ZTViZjhj
OTNkNWU2NjQ5NjE4Y2IxYWVjNjcuLjNmOThlYmYzM2FlMjk3ODgzNmNmMTcyMTI4NjU4NWNhMTdl
MGZiMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNl
Q29uc3RydWN0b3IuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21p
c2VDb25zdHJ1Y3Rvci5qcwpAQCAtMzAsOSArMzAsMTAgQEAgZnVuY3Rpb24gYWxsKGl0ZXJhYmxl
KQogICAgIGlmICghQGlzT2JqZWN0KHRoaXMpKQogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9y
KCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29k
ZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAogICAgIHZhciBjb25z
dHJ1Y3RvciA9IHRoaXM7CisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3Bl
Y2llc107CisgICAgaWYgKHNwZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVjaWVzICE9PSBudWxs
KQorICAgICAgICBjb25zdHJ1Y3RvciA9IHNwZWNpZXM7CiAKICAgICB2YXIgcHJvbWlzZUNhcGFi
aWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwogCkBAIC04Niw5ICs4
NywxMCBAQCBmdW5jdGlvbiByYWNlKGl0ZXJhYmxlKQogICAgIGlmICghQGlzT2JqZWN0KHRoaXMp
KQogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7
CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3du
IHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NjYyNAogICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXM7CisgICAgdmFyIHNw
ZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgIT09
IHVuZGVmaW5lZCAmJiBzcGVjaWVzICE9PSBudWxsKQorICAgICAgICBjb25zdHJ1Y3RvciA9IHNw
ZWNpZXM7CiAKICAgICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxp
dHkoY29uc3RydWN0b3IpOwogCkBAIC0xMzcsMyArMTM5LDEwIEBAIGZ1bmN0aW9uIHJlc29sdmUo
dmFsdWUpCiAKICAgICByZXR1cm4gcHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9CisKK2Z1
bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVy
biB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Nl
dENvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3ZDg3YTlkZDY4YTU1MzYxNWI4MmY5YzBiNGM5MWZkN2Vm
YTNkMjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
U2V0Q29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IDZmOTUxMmJhNTM0YzQ5MGQ0
YmY5OThhZjVkMDgyNDQxMmRiYjkxNGUuLmY5YTUzYzEzOGZmZDg0ZTllODRhNTFiNmI4NmE5YTBh
YzI0MTNlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0
aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cApAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHV0QnlWYWwoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgdWludDMyX3QgaW5kZXgsCiAgICAgQVNTRVJUKGlz
SW5kZXgoaW5kZXgpKTsKICAgICBpZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKLSAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0
RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRl
eFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGFz
T2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwg
c3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGly
ZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYg
KGJhc2VWYWx1ZS5pc09iamVjdCgpKSB7CkBAIC0xMjQsNyArMTI0LDcgQEAgQUxXQVlTX0lOTElO
RSBzdGF0aWMgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhl
Y1N0YXRlKiBleGUKICAgICBpZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJh
c2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRl
eCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VW
YWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBzdHJp
Y3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RU
aHJvdyk7CisgICAgICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChl
eGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdCgq
dm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIH0gZWxzZQpAQCAtNTAxLDcgKzUw
MSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFy
cmF5Qm91bmRzU3RyaWN0KEV4ZWNTdGF0ZSogZXhlCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAgICAgaWYgKGlu
ZGV4ID49IDApIHsKLSAgICAgICAgYXJyYXktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgMCwgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJv
dyk7CisgICAgICAgIGFycmF5LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSksIDAsIFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5
T3JUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCAzODAxNWQyZDgwNGY5MzU5MjBmOTc1
NmE3MWNhMmZkZmVhMTc5NTkwLi4xZTY0NTJlY2VmYTQxMTc0NDA1ZTlmNGUzNjBhNGEyMTkwMmIz
Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAg
LTUzNiw3ICs1MzYsNyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICB9CiAKICAg
ICAgICAgYXJyYXlQcm9maWxlLT5zZXRPdXRPZkJvdW5kcygpOwotICAgICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2Rl
ID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhy
b3cpOworICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4
LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVy
dHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTU0NCw3ICs1NDQsNyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZh
bChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwog
ICAgICAgICBkb3VibGUgc3Vic2NyaXB0QXNEb3VibGUgPSBzdWJzY3JpcHQuYXNEb3VibGUoKTsK
ICAgICAgICAgdWludDMyX3Qgc3Vic2NyaXB0QXNVSW50MzIgPSBzdGF0aWNfY2FzdDx1aW50MzJf
dD4oc3Vic2NyaXB0QXNEb3VibGUpOwogICAgICAgICBpZiAoc3Vic2NyaXB0QXNEb3VibGUgPT0g
c3Vic2NyaXB0QXNVSW50MzIgJiYgaXNJbmRleChzdWJzY3JpcHRBc1VJbnQzMikpIHsKLSAgICAg
ICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgc3Vic2NyaXB0QXNV
SW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93
IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwg
aXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDog
UHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICB9CkBAIC01NTUsNyArNTU1LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlW
YWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBh
cnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChj
YWxsRnJhbWUsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAg
ICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFsdWUoKSwg
dmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5
T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgIGVsc2UgewogICAg
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBpc1N0cmljdE1vZGUpOwogICAg
ICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoY2FsbEZyYW1lLT52bSgpLCBwcm9wZXJ0eSwgdmFs
dWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAKaW5kZXggOWNmZTg3MzQwZWU5MjM0MDgxYmZiZDk0NTI4ZTllOTA3MjQ0YWFhOS4uOWIz
ODJhNTVlNzNkNGM0NGJhZDk4MGQ0Yjg1OGE1ZDgxYzZkY2UwZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC03OTEsNyArNzkxLDcgQEAg
aW5saW5lIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1
ZSwgSlNWYWx1ZSBzdWJzY3JpcHQpCiAgICAgaWYgKExJS0VMWShzdWJzY3JpcHQuaXNVSW50MzIo
KSkpIHsKICAgICAgICAgLy8gRGVzcGl0ZSBpdHMgbmFtZSwgSlNWYWx1ZTo6aXNVSW50MzIgd2ls
bCByZXR1cm4gdHJ1ZSBvbmx5IGZvciBwb3NpdGl2ZSBib3hlZCBpbnQzMl90OyBhbGwgdGhvc2Ug
dmFsdWVzIGFyZSB2YWxpZCBhcnJheSBpbmRpY2VzLgogICAgICAgICBBU1NFUlQoaXNJbmRleChz
dWJzY3JpcHQuYXNVSW50MzIoKSkpOwotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRl
eChleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1
dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsK
KyAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgc3Vic2NyaXB0LmFzVUlu
dDMyKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAg
TExJTlRfRU5EKCk7CiAgICAgfQogCkBAIC03OTksNyArNzk5LDcgQEAgaW5saW5lIEpTVmFsdWUg
Z2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJz
Y3JpcHQpCiAgICAgICAgIGRvdWJsZSBzdWJzY3JpcHRBc0RvdWJsZSA9IHN1YnNjcmlwdC5hc0Rv
dWJsZSgpOwogICAgICAgICB1aW50MzJfdCBzdWJzY3JpcHRBc1VJbnQzMiA9IHN0YXRpY19jYXN0
PHVpbnQzMl90PihzdWJzY3JpcHRBc0RvdWJsZSk7CiAgICAgICAgIGlmIChzdWJzY3JpcHRBc0Rv
dWJsZSA9PSBzdWJzY3JpcHRBc1VJbnQzMiAmJiBpc0luZGV4KHN1YnNjcmlwdEFzVUludDMyKSkg
ewotICAgICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgc3Vic2NyaXB0
QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlz
U3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1
dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgICAgICAgICAgTExJTlRfRU5EKCk7CiAg
ICAgICAgIH0KICAgICB9CkBAIC04MTAsNyArODEwLDcgQEAgaW5saW5lIEpTVmFsdWUgZ2V0QnlW
YWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQp
CiAgICAgICAgIExMSU5UX0VORCgpOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRl
eCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJ
bmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAg
ICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1
ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxzZSB7CiAgICAgICAg
IFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9kZSk7CiAgICAgICAg
IGJhc2VPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9y
LmNwcAppbmRleCAxOTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4ODAwODM2Li4zYjUz
ZDY2NGI2NjhmNGZhMzFiOGRmNmMwNDc2YzNkY2NkOTBmMDA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAtMjksMTcgKzI5
LDEyIEBACiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJyb3Iu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVy
LmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNs
dWRlICJMb29rdXAuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5hbWVzcGFjZSBKU0Mg
ewotCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9y
SXNBcnJheShFeGVjU3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlDb25zdHJ1Y3Rvci5s
dXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAKIHsKIH0KIAotdm9p
ZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFycmF5UHJvdG90eXBl
KiBhcnJheVByb3RvdHlwZSkKK3ZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJheVByb3RvdHlwZSogYXJy
YXlQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5UHJvdG90
eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhcnJheVByb3RvdHlwZSwgRG9u
dEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25s
eSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNj
ZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVj
aWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmFy
cmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKCkpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNz
b3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3Nvciwg
QWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIGJvb2wgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0T3du
UHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmluZGV4IDA0MGYyNmM0Yzk5MDVh
NDU3Njk0YzA1Yzg1NDQ3MDYwN2JiNDg0YTcuLjFkMjkzZGFmOTc4NjNiZGE3NjQ0OTQ1NDZhYTBk
YjhkMDg2MTgyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmgKQEAgLTM0LDEwICszNCwxMCBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9y
IDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlv
biBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJy
aWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0cnVjdHVyZUZsYWdz
OwogCi0gICAgc3RhdGljIEFycmF5Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUpCisgICAgc3RhdGlj
IEFycmF5Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5
cGUpCiAgICAgewogICAgICAgICBBcnJheUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPEFycmF5Q29uc3RydWN0b3I+KHZtLmhlYXApKSBBcnJheUNv
bnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3Jl
YXRpb24odm0sIGFycmF5UHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIGFycmF5UHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJu
IGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNDksNyArNDksNyBAQCBjbGFzcyBBcnJheUNvbnN0
cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIH0KIAogcHJvdGVjdGVkOgot
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBBcnJheVByb3RvdHlwZSopOworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5UHJvdG90eXBlKik7CiAK
IHByaXZhdGU6CiAgICAgQXJyYXlDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwpAQCAtNjAs
NiArNjAsNyBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rp
b24gewogfTsKIAogSlNPYmplY3QqIGNvbnN0cnVjdEFycmF5V2l0aFNpemVRdWlyayhFeGVjU3Rh
dGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3RvcklzQXJyYXkoRXhl
Y1N0YXRlKik7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKaW5kZXggODdjZWFlMWNiZWY1NWNmNzZi
ZTg1ODFlMTdjMmIzOWM3NTgwM2FkZS4uNDM3N2YyN2QzOWExZTRhNDM0Zjc4ZTczZDZkZTYwOTJl
MGY2ZGUzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcApAQCAtMjQsMTEgKzI0LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiQXJyYXlQcm90b3R5cGUuaCIKIAorI2luY2x1ZGUgIkFycmF5Q29uc3RydWN0b3IuaCIK
ICNpbmNsdWRlICJCdXR0ZXJmbHlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ2FjaGVkQ2FsbC5oIgog
I2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvcGllZFNwYWNlSW5saW5lcy5oIgog
I2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAi
SW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0
b3IuaCIKQEAgLTQ5OSwxMyArNTAxLDc1IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlQcm90b0Z1bmNKb2luKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpvaW4oKmV4ZWMsIHRoaXNPYmplY3QsIHNlcGFyYXRvci0+dmlldyhleGVjKSkpOwog
fQogCitBTFdBWVNfSU5MSU5FIHN0YXRpYyBKU09iamVjdCogYXJyYXlTcGVjaWVzQ29uc3RydWN0
b3IoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb3JpZ2luYWxBcnJheSkKK3sKKyAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwor
CisgICAgaWYgKCFpc0pTQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVybiBnbG9i
YWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpTQXJyYXkqIGFycmF5ID0ganND
YXN0PEpTQXJyYXkqPihvcmlnaW5hbEFycmF5KTsKKyAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yVmFs
dWUgPSBhcnJheS0+SlNBcnJheTo6Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25z
dHJ1Y3Rvcik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3Rvck9iamVjdCA9IGpzRHluYW1pY0Nh
c3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKKyAgICBpZiAoIWNvbnN0cnVjdG9yT2Jq
ZWN0KQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisK
KyAgICAvLyBUaGUgbW9zdCBjb21tb24gcGF0aC4KKyAgICBpZiAoY29uc3RydWN0b3JPYmplY3Qg
PT0gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAgICAgICAgUHJvcGVydHlT
bG90IHNsb3QoY29uc3RydWN0b3JPYmplY3QpOworICAgICAgICBpZiAoY29uc3RydWN0b3JPYmpl
Y3QtPmdldFByb3BlcnR5U2xvdChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5
bWJvbCwgc2xvdCkpIHsKKyAgICAgICAgICAgIGlmIChzbG90LmlzQWNjZXNzb3IoKSkgeworICAg
ICAgICAgICAgICAgIEdldHRlclNldHRlciogYWNjZXNzb3IgPSBzbG90LmdldHRlclNldHRlcigp
OworICAgICAgICAgICAgICAgIGlmIChhY2Nlc3Nvci0+Z2V0dGVyKCkgPT0gZ2xvYmFsT2JqZWN0
LT5hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbigpKQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0gc2xvdC5nZXRWYWx1ZShleGVjLCBleGVjLT5wcm9w
ZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
Y29uc3RydWN0b3JWYWx1ZSA9IGpzVW5kZWZpbmVkKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Q29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0
cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yT2JqZWN0LCBjb25zdHJ1Y3RE
YXRhKTsKKyAgICAgICAgaWYgKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlwZU5vbmUpIHsK
KyAgICAgICAgICAgIGlmIChjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFsT2JqZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0ICYmIGNvbnN0cnVjdG9yT2JqZWN0ID09IGNvbnN0cnVjdG9yT2JqZWN0LT5nbG9i
YWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAgICAgIHJldHVybiBn
bG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgfQorICAgICAgICBjb25z
dHJ1Y3RvclZhbHVlID0gY29uc3RydWN0b3JPYmplY3QtPmdldChleGVjLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CisgICAgfQorICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1
ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3Rv
cigpOworCisgICAgaWYgKGNvbnN0cnVjdG9yVmFsdWUuaXNVbmRlZmluZWQoKSkKKyAgICAgICAg
cmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgcmV0dXJuIGpz
RHluYW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKK30KKworc3RhdGljIGJv
b2wgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBv
YmplY3QsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIHJldHVybiBvYmpl
Y3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93KTsKK30KKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNWYWx1
ZSB0aGlzVmFsdWUgPSBleGVjLT50aGlzVmFsdWUoKS50b1RoaXMoZXhlYywgU3RyaWN0TW9kZSk7
CisgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7Cisg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yID0gYXJyYXlT
cGVjaWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iamVjdCk7CisgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OworICAgIGJvb2wgaXNBcnJheUNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IgPT0gZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBKU1ZhbHVlIGN1
ckFyZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBleGVjLT5hcmd1bWVu
dENvdW50KCk7Ci0gICAgSlNWYWx1ZSBjdXJBcmcgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7
CiAgICAgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGZpbmFsQXJyYXlTaXplID0g
MDsKLQogICAgIEpTQXJyYXkqIGN1cnJlbnRBcnJheSA9IG51bGxwdHI7CiAgICAgSlNBcnJheSog
cHJldmlvdXNBcnJheSA9IG51bGxwdHI7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgOyArK2kp
IHsKQEAgLTUyNiwxNyArNTkwLDMxIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJy
YXlQcm90b0Z1bmNDb25jYXQoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmIChmaW5hbEFycmF5U2l6
ZS5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dP
dXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKIAotICAgIGlmIChhcmdDb3VudCA9PSAxICYmIHByZXZp
b3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYmIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpIDwg
TUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgeworICAgIGlmIChpc0FycmF5Q29uc3RydWN0b3IgJiYg
YXJnQ291bnQgPT0gMSAmJiBwcmV2aW91c0FycmF5ICYmIGN1cnJlbnRBcnJheSAmJiBmaW5hbEFy
cmF5U2l6ZS51bnNhZmVHZXQoKSA8IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVgpIHsKICAgICAgICAg
SW5kZXhpbmdUeXBlIHR5cGUgPSBKU0FycmF5OjpmYXN0Q29uY2F0VHlwZShleGVjLT52bSgpLCAq
cHJldmlvdXNBcnJheSwgKmN1cnJlbnRBcnJheSk7CiAgICAgICAgIGlmICh0eXBlICE9IE5vbkFy
cmF5KQogICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzQXJyYXktPmZhc3RDb25jYXRXaXRoKCpl
eGVjLCAqY3VycmVudEFycmF5KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiBhcnIgPSBjb25zdHJ1
Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpKTsK
LSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IG51bGxwdHI7Cisg
ICAgaWYgKGlzQXJyYXlDb25zdHJ1Y3RvcikgeworICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RF
bXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpKTsKKyAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBDb25zdHJ1
Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlw
ZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOworICAgICAg
ICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJn
aXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsKKworICAg
ICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICBhcmdzLmFwcGVuZChqc051
bWJlcigwKSk7CisgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1Y3Rvciwg
Y29uc3RydWN0VHlwZSwgY29uc3RydWN0RGF0YSwgYXJncyk7CisgICAgICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgfQogCi0gICAgY3VyQXJnID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMp
OworICAgIGN1ckFyZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgbiA9IDA7CiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgOyArK2kpIHsKICAgICAgICAgaWYgKEpTQXJyYXkqIGN1cnJlbnRB
cnJheSA9IGpzRHluYW1pY0Nhc3Q8SlNBcnJheSo+KGN1ckFyZykpIHsKQEAgLTU0OCwyMCArNjI2
LDMwIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNDb25jYXQo
RXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5
KGV4ZWMsIGN1cnJlbnRBcnJheSwgayk7CiAgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwotICAgICAgICAgICAgICAgIGlmICh2KQotICAgICAgICAgICAgICAgICAg
ICBhcnItPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICAgICAgICAgIGlmICh2
KSB7CisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywg
cmVzdWx0LCBuLCB2KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbisrOwogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgYXJyLT5wdXREaXJlY3RJ
bmRleChleGVjLCBuLCBjdXJBcmcpOworICAgICAgICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JU
aHJvdyhleGVjLCByZXN1bHQsIG4sIGN1ckFyZyk7CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKICAgICAgICAgICAgIG4rKzsKICAgICAgICAgfQogICAgICAgICBpZiAoaSA9
PSBhcmdDb3VudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjdXJBcmcgPSBleGVjLT51
bmNoZWNrZWRBcmd1bWVudChpKTsKICAgICB9Ci0gICAgYXJyLT5zZXRMZW5ndGgoZXhlYywgbik7
Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhcnIpOworCisgICAgaWYgKGlzQXJyYXlDb25z
dHJ1Y3RvcikKKyAgICAgICAganNDYXN0PEpTQXJyYXkqPihyZXN1bHQpLT5zZXRMZW5ndGgoZXhl
Yywgbik7CisgICAgZWxzZQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBqc051bWJl
cihuKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNQb3AoRXhlY1N0YXRlKiBleGVj
KQpAQCAtNzMwLDIzICs4MTgsNTUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRnVuY1NsaWNlKEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIHVuc2lnbmVkIGJlZ2luID0g
YXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBsZW5ndGgpOwogICAg
IHVuc2lnbmVkIGVuZCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZXhlYywg
MSwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHVuc2lnbmVkIGNvdW50ID0gZW5kIC0gYmVnaW47CiAK
LSAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKSB7Ci0gICAgICAgIGlmIChKU0FycmF5KiByZXN1
bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBlbmQgLSBiZWdp
bikpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgSlNP
YmplY3QqIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09i
aik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgaWYgKGNvbnN0cnVjdG9yID09IGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSB7CisgICAgICAgIGlm
IChpc0pTQXJyYXkodGhpc09iaikpIHsKKyAgICAgICAgICAgIGlmIChKU0FycmF5KiByZXN1bHQg
PSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBjb3VudCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgICAgICB9CisK
KyAgICAgICAgSlNBcnJheSogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCBudWxs
cHRyLCBjb3VudCk7CisKKyAgICAgICAgdW5zaWduZWQgbiA9IDA7CisgICAgICAgIGZvciAodW5z
aWduZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4rKykgeworICAgICAgICAgICAgSlNWYWx1
ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CisgICAgICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIGlmICh2KQorICAgICAgICAgICAgICAgIHJl
c3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgIH0KKyAgICAgICAgcmVz
dWx0LT5zZXRMZW5ndGgoZXhlYywgbik7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
cmVzdWx0KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFy
cmF5KGV4ZWMsIG51bGxwdHIsIGVuZCAtIGJlZ2luKTsKKyAgICBDb25zdHJ1Y3REYXRhIGNvbnN0
cnVjdERhdGE7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0
RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgaWYgKGNvbnN0cnVjdFR5cGUg
PT0gQ29uc3RydWN0VHlwZU5vbmUpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhy
b3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVj
aWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsKKworICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFy
Z3M7CisgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoY291bnQpKTsKKyAgICBKU09iamVjdCogcmVz
dWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25zdHJ1
Y3REYXRhLCBhcmdzKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICB1bnNpZ25lZCBuID0g
MDsKICAgICBmb3IgKHVuc2lnbmVkIGsgPSBiZWdpbjsgayA8IGVuZDsgaysrLCBuKyspIHsKLSAg
ICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CisgICAgICAg
IEpTVmFsdWUgdmFsdWUgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKICAgICAgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgaWYgKHYpCi0gICAgICAgICAgICByZXN1bHQt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICBpZiAodmFsdWUpIHsKKyAgICAg
ICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0LCBuLCB2YWx1ZSk7
CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfQogICAgIH0K
LSAgICByZXN1bHQtPnNldExlbmd0aChleGVjLCBuKTsKKyAgICBwdXRMZW5ndGgoZXhlYywgcmVz
dWx0LCBqc051bWJlcihuKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
fQogCkBAIC03NjAsOSArODgwLDYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRnVuY1NwbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgdW5zaWduZWQgbGVuZ3RoID0g
Z2V0TGVuZ3RoKGV4ZWMsIHRoaXNPYmopOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAKLSAg
ICBpZiAoIWV4ZWMtPmFyZ3VtZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAogICAgIHVuc2lnbmVk
IGJlZ2luID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBsZW5n
dGgpOwogCkBAIC03NzcsMjIgKzg5NCw1OCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycmF5UHJvdG9GdW5jU3BsaWNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIGRlbGV0
ZUNvdW50ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlbGV0ZURvdWJsZSk7CiAgICAgfQogCi0g
ICAgSlNBcnJheSogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBKU09iamVjdCogY29uc3RydWN0b3Ig
PSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBpZiAoY29uc3Ry
dWN0b3IgPT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkp
IHsKKyAgICAgICAgSlNBcnJheSogcmVzdWx0QXJyYXkgPSBudWxscHRyOworCisgICAgICAgIGlm
ICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAotICAgIGlmIChpc0pT
QXJyYXkodGhpc09iaikpCi0gICAgICAgIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RT
bGljZSgqZXhlYywgYmVnaW4sIGRlbGV0ZUNvdW50KTsKKyAgICAgICAgaWYgKGlzSlNBcnJheSh0
aGlzT2JqKSkKKyAgICAgICAgICAgIHJlc3VsdEFycmF5ID0gYXNBcnJheSh0aGlzT2JqKS0+ZmFz
dFNsaWNlKCpleGVjLCBiZWdpbiwgZGVsZXRlQ291bnQpOwogCi0gICAgaWYgKCFyZXN1bHQpIHsK
LSAgICAgICAgcmVzdWx0ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1
cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgZGVsZXRlQ291bnQpOwotICAgICAg
ICBpZiAoIXJlc3VsdCkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dP
dXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFyZXN1bHRBcnJheSkgeworICAg
ICAgICAgICAgcmVzdWx0QXJyYXkgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZt
LCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdU
eXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCBkZWxldGVDb3VudCk7Cisg
ICAgICAgICAgICBpZiAoIXJlc3VsdEFycmF5KQorICAgICAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKKworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50OyArK2spIHsKKyAgICAgICAgICAg
ICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgYmVnaW4pOwor
ICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAg
ICAgICByZXN1bHRBcnJheS0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSByZXN1bHRBcnJheTsKKyAgICB9IGVsc2Ug
eworICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVj
dFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0
cnVjdERhdGEpOworICAgICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9u
ZSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhl
YywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1
bmN0aW9uIikpKTsKKworICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAg
ICBhcmdzLmFwcGVuZChqc051bWJlcihkZWxldGVDb3VudCkpOworICAgICAgICByZXN1bHQgPSBj
b25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUsIGNvbnN0cnVjdERhdGEs
IGFyZ3MpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAgICAgIGZvciAodW5z
aWduZWQgayA9IDA7IGsgPCBkZWxldGVDb3VudDsgKytrKSB7Ci0gICAgICAgICAgICBKU1ZhbHVl
IHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgYmVnaW4pOworICAgICAgICAgICAg
SlNWYWx1ZSB2YWx1ZSA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyAgYmVnaW4pOwog
ICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgICAgICByZXN1bHQt
PmluaXRpYWxpemVJbmRleCh2bSwgaywgdik7CisgICAgICAgICAgICBpZiAodmFsdWUpIHsKKyAg
ICAgICAgICAgICAgICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgaywg
dmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBq
c051bWJlcihkZWxldGVDb3VudCkpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAg
IH0KIAogICAgIHVuc2lnbmVkIGFkZGl0aW9uYWxBcmdzID0gc3RkOjptYXg8aW50PihleGVjLT5h
cmd1bWVudENvdW50KCkgLSAyLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKaW5kZXggMTc3ZjY5ZTVjYjQ4MmNhNWNkM2NkNTA2
YWQxYTQwMzI3MDM4Nzc3Mi4uOGYxNjAwNGE2NWFjNzAxN2E4MThiYjA3YTJiYmY2OTNjYTcyNzk1
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0
cnVjdG9yLmgKQEAgLTMxLDcgKzMxLDcgQEAgY2xhc3MgQm9vbGVhbkNvbnN0cnVjdG9yIDogcHVi
bGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5j
dGlvbiBCYXNlOwogCi0gICAgc3RhdGljIEJvb2xlYW5Db25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5
cGUpCisgICAgc3RhdGljIEJvb2xlYW5Db25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVh
blByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEJvb2xlYW5Db25zdHJ1Y3RvciogY29uc3RydWN0
b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxCb29sZWFuQ29uc3RydWN0b3I+KHZtLmhl
YXApKSBCb29sZWFuQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVj
dG9yLT5maW5pc2hDcmVhdGlvbih2bSwgYm9vbGVhblByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCA0MWI5NGYx
YmY0N2JmYzY2ZDg3NjQ1MGMwMTMwMWU1NTIxZmY5NTZkLi45MjE2MmFiMjczMDMxYWVlYjA0YmJl
MWQ2ZmI1ZDk5NGEyMzNmMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTIzNywxMyArMjM3LDEzIEBACiAgICAgbWFjcm8o
bWF0Y2gpIFwKICAgICBtYWNybyhyZXBsYWNlKSBcCiAgICAgbWFjcm8oc2VhcmNoKSBcCi0gICAg
bWFjcm8oc3BlY2llcykgXAogICAgIG1hY3JvKHNwbGl0KSBcCiAgICAgbWFjcm8odG9QcmltaXRp
dmUpIFwKICAgICBtYWNybyh0b1N0cmluZ1RhZykKIAogI2RlZmluZSBKU0NfQ09NTU9OX1BSSVZB
VEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChtYWNybykgXAogICAgIG1hY3Jv
KGl0ZXJhdG9yKSBcCisgICAgbWFjcm8oc3BlY2llcykgXAogICAgIG1hY3JvKHVuc2NvcGFibGVz
KQogCiAjZGVmaW5lIEpTQ19DT01NT05fQllURUNPREVfSU5UUklOU0lDU19FQUNIX05BTUUobWFj
cm8pIFwKQEAgLTI1Miw3ICsyNTIsNiBAQAogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUobWFjcm8pIFwKICAgICBKU0NfQ09NTU9OX0JZ
VEVDT0RFX0lOVFJJTlNJQ1NfRUFDSF9OQU1FKG1hY3JvKSBcCi0gICAgbWFjcm8oc3ltYm9sSXRl
cmF0b3IpIFwKICAgICBtYWNybyhpdGVyYXRlZE9iamVjdCkgXAogICAgIG1hY3JvKGFycmF5SXRl
cmF0b3JOZXh0SW5kZXgpIFwKICAgICBtYWNybyhhcnJheUl0ZXJhdGlvbktpbmQpIFwKQEAgLTI4
MCw2ICsyNzksNyBAQAogICAgIG1hY3JvKGFicykgXAogICAgIG1hY3JvKGZsb29yKSBcCiAgICAg
bWFjcm8oaXNGaW5pdGUpIFwKKyAgICBtYWNybyhpc0FycmF5KSBcCiAgICAgbWFjcm8oZ2V0UHJv
dG90eXBlT2YpIFwKICAgICBtYWNybyhnZXRPd25Qcm9wZXJ0eU5hbWVzKSBcCiAgICAgbWFjcm8o
VHlwZUVycm9yKSBcCkBAIC0yOTcsNiArMjk3LDcgQEAKICAgICBtYWNybyhwcm9taXNlUmVqZWN0
UmVhY3Rpb25zKSBcCiAgICAgbWFjcm8ocHJvbWlzZVJlc3VsdCkgXAogICAgIG1hY3JvKGNhcGFi
aWxpdGllcykgXAorICAgIG1hY3JvKGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0p
IFwKIAogCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggMDU0ZjU3MWQ1NzllOGNlNGYzNGI1NDA5MTdiOGQw
MjhiNTBkZmI5Yi4uNzU5NmZhZDk2MWVhMjhlOGZlNjI5ZjQ1MjQ3ZjU2OTAzOGQzMTA0NCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKQEAg
LTMyLDcgKzMyLDcgQEAgY2xhc3MgRGF0ZUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVu
Y3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3Zl
cnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIERhdGVDb25zdHJ1Y3Rvciog
Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90b3R5cGUqIGRhdGVQ
cm90b3R5cGUpCisgICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0ZVBy
b3RvdHlwZSkKICAgICB7CiAgICAgICAgIERhdGVDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxEYXRlQ29uc3RydWN0b3I+KHZtLmhlYXApKSBEYXRl
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hD
cmVhdGlvbih2bSwgZGF0ZVByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggYjExODk0ZGJlNGI1NjE0ZmQyMzBiNjBm
NmFlM2JjOGJiMzVkMjkyZS4uYmZlZDdjODczNTExY2I1YzliY2E5MWYyYmEyMzM2ZjcyYjEyN2Fh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0
b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBFcnJvckNvbnN0cnVjdG9yIDogcHVibGljIElu
dGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBC
YXNlOwogCi0gICAgc3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCisgICAgc3Rh
dGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKICAgICB7
CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBh
bGxvY2F0ZUNlbGw8RXJyb3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEVycm9yQ29uc3RydWN0b3Io
dm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwg
ZXJyb3JQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2QxNGE5ZWY1NWY0YzMz
MGMwZWU3OGYwZjg2Mzc3M2QwNWRjZjhjOS4uMTc5NGI4NGI0ZGJlMjhkZjczYmE0YTRjNGRkMWJm
OGI1ODk1NjNiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAj
aW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVk
ZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUg
IkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCkBAIC00
NywyMiArNDksMjAgQEAKIHsKIH0KIAotdm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQor
dm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90
eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIkFycmF5
QnVmZmVyIikpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSk7Ci0KLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2Jq
ZWN0KCk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pc1ZpZXcs
IGFycmF5QnVmZmVyRnVuY0lzVmlldywgRG9udEVudW0sIDEpOwogfQogCi1KU0FycmF5QnVmZmVy
Q29uc3RydWN0b3IqIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKK0pT
QXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEpTQXJyYXlCdWZm
ZXJDb25zdHJ1Y3RvciogcmVzdWx0ID0KICAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yPih2bS5oZWFwKSkKICAgICAgICAgSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRp
b24odm0sIHByb3RvdHlwZSk7CisgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
LmgKaW5kZXggYjY1YjUyM2I2NGM0YmRjN2FlMjE2NTJmMWNlMjAyMzQ5MTU5YjM0MS4uNjQ5MTQ5
NDU1NmY4OGEyODg4NWU1OTU3OGJmZmRkMTVjNmYyYzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKQEAg
LTM4LDEwICszOCwxMCBAQCBjbGFzcyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiAKIHByb3RlY3RlZDoKICAgICBKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNB
cnJheUJ1ZmZlclByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKIAogcHVibGljOgotICAgIHN0
YXRpYyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKKyAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVj
dG9yKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZm
ZXJQcm90b3R5cGUqKTsKICAgICAKICAgICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTBiZjE3
NzgyMDIyYzQ3OTRkMzBlNzBlZmIyYmVmNWRmMjQyY2UxOC4uYTgxNmUwMDQwNDEwMGU5YTIwMGNl
YmFiODRmOGJmZmU0ZTcwY2M3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTk1LDYgKzE5NSwxNiBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBlbnF1ZXVlSm9iKEV4ZWNTdGF0ZSogZXhlYykKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxt
KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOworCisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZh
bHVlID0gZXhlYy0+YXJndW1lbnQoMCk7CisgICAgaWYgKEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9
IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKSkKKyAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgp
ICE9IGdsb2JhbE9iamVjdCAmJiBjb25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2Jq
ZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNCb29sZWFuKGZhbHNlKSk7Cit9CisKIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJs
ZSogZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIDAp
CiAgICAgLCBtX3ZtKHZtKQpAQCAtMjcwLDYgKzI4MCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OmluaXQoVk0mIHZtKQogICAgIG1fY2FsbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgY2FsbEZ1bmN0
aW9uKTsKICAgICBtX2FwcGx5RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBhcHBseUZ1bmN0aW9uKTsK
ICAgICBtX2FycmF5UHJvdG9WYWx1ZXNGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246
OmNyZWF0ZSh2bSwgdGhpcywgMCwgdm0ucHJvcGVydHlOYW1lcy0+dmFsdWVzLnN0cmluZygpLCBh
cnJheVByb3RvRnVuY1ZhbHVlcykpOworICAgIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24u
c2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGFycmF5
Q29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIHRoaXMsICJnZXQgW1N5
bWJvbC5zcGVjaWVzXSIpKTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9pbml0aWFsaXpl
UHJvbWlzZUZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1
bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZUluaXRpYWxpemVQcm9taXNlQ29kZUdlbmVyYXRv
cih2bSksIHRoaXMpKTsKICAgICBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLnNldCh2bSwg
dGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJv
bWlzZU5ld1Byb21pc2VEZWZlcnJlZENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSk7CkBAIC0zNzcs
MTIgKzM4OCwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBtX2Rl
ZmluZVByb3BlcnR5RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9u
KTsKIAogICAgIEpTQ2VsbCogZnVuY3Rpb25Db25zdHJ1Y3RvciA9IEZ1bmN0aW9uQ29uc3RydWN0
b3I6OmNyZWF0ZSh2bSwgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQo
KSk7Ci0gICAgSlNDZWxsKiBhcnJheUNvbnN0cnVjdG9yID0gQXJyYXlDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlKHZtLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90eXBlLmdldCgpKTsKKyAgICBtX2Fy
cmF5Q29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0s
IHRoaXMsIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAKLSAg
ICBtX3JlZ0V4cENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNy
ZWF0ZSh2bSwgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9m
dW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CisgICAg
bV9yZWdFeHBDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVh
dGUodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFByb3RvdHlwZS5nZXQoKSkpOwog
ICAgIAogI2RlZmluZSBDUkVBVEVfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKGNhcGl0YWxO
YW1lLCBsb3dlck5hbWUsIHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCi1jYXBp
dGFsTmFtZSAjIyBDb25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRh
bE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0
b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSks
IG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCitjYXBpdGFsTmFtZSAjIyBD
b25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29u
c3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMj
IGxvd2VyTmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCiBtXyAjIyBsb3dlck5hbWUgIyMgUHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3IsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciwgRG9udEVudW0pOyBcCiAKICAg
ICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKENSRUFURV9DT05TVFJVQ1RPUl9GT1JfU0lN
UExFX1RZUEUpCkBAIC00MDAsMTIgKzQxMSwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0
KFZNJiB2bSkKICAgICBtX3R5cGVFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0cnVjdHVyZSwg
bmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVHlwZUVycm9yIikp
KTsKICAgICBtX1VSSUVycm9yQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBOYXRpdmVFcnJvckNv
bnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIG5hdGl2ZUVycm9yU3RydWN0dXJlLCBuYXRpdmVF
cnJvclByb3RvdHlwZVN0cnVjdHVyZSwgQVNDSUlMaXRlcmFsKCJVUklFcnJvciIpKSk7CiAjaWYg
RU5BQkxFKFBST01JU0VTKQotICAgIG1fcHJvbWlzZUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywg
SlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgSlNQcm9taXNlQ29uc3RydWN0b3I6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcHJv
bWlzZVByb3RvdHlwZS5nZXQoKSkpOworICAgIG1fcHJvbWlzZUNvbnN0cnVjdG9yLnNldCh2bSwg
dGhpcywgSlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgSlNQcm9taXNlQ29u
c3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSksIG1fcHJvbWlzZVByb3RvdHlwZS5nZXQoKSkpOwogI2VuZGlmCiAgICAgCiAgICAgbV9v
YmplY3RQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3Rvciwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBt
X2Z1bmN0aW9uUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsK
LSAgICBtX2FycmF5UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsK
KyAgICBtX2FycmF5UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9u
dEVudW0pOwogICAgIG1fcmVnRXhwUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG1fcmVnRXhwQ29uc3RydWN0b3Iu
Z2V0KCksIERvbnRFbnVtKTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9wcm9taXNlUHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3IsIG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CkBAIC00
MTMsNyArNDI0LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgCiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk9iamVj
dCwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RnVuY3Rpb24sIGZ1bmN0aW9uQ29uc3RydWN0
b3IsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+QXJyYXksIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXksIG1fYXJy
YXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SZWdFeHAsIG1fcmVnRXhwQ29uc3RydWN0b3Iu
Z2V0KCksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+RXZhbEVycm9yLCBtX2V2YWxFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBE
b250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPlJhbmdlRXJyb3IsIG1fcmFuZ2VFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51
bSk7CkBAIC00OTMsOSArNTA0LDEwIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZt
KQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+b2JqZWN0R2V0
T3duUHJvcGVydHlTeW1ib2xzUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jT2JqZWN0R2V0T3duUHJv
cGVydHlTeW1ib2xzLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5nZXRUZW1wbGF0ZU9iamVjdFBy
aXZhdGVOYW1lLCBwcml2YXRlRnVuY0dldFRlbXBsYXRlT2JqZWN0LCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5lbnF1ZXVlSm9iUHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhp
cywgMCwgU3RyaW5nKCksIGVucXVldWVKb2IpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0Fy
cmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtUHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNy
ZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50
UmVhbG0pLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5UeXBlRXJyb3JQcml2YXRlTmFtZSwgbV90
eXBlRXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+QnVpbHRp
bkxvZ1ByaXZhdGVOYW1lLCBidWlsdGluTG9nLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5BcnJh
eVByaXZhdGVOYW1lLCBhcnJheUNvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5B
cnJheVByaXZhdGVOYW1lLCBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3Bl
cnR5TmFtZXMtPk51bWJlclByaXZhdGVOYW1lLCBudW1iZXJDb25zdHJ1Y3RvciwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+U3RyaW5nUHJpdmF0ZU5hbWUsIHN0cmluZ0NvbnN0cnVjdG9yLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5hYnNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNBYnMsIERvbnRF
bnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKQEAgLTUwMywxMCArNTE1LDEyIEBAIHZvaWQg
SlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+Z2V0UHJvdG90eXBlT2ZQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNG
bG9vciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+Z2V0T3duUHJvcGVydHlOYW1lc1ByaXZhdGVO
YW1lLCBwcml2YXRlRnVuY0Zsb29yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0Zpbml0ZVBy
aXZhdGVOYW1lLCBwcml2YXRlRnVuY0lzRmluaXRlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5p
c0FycmF5UHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5n
KCksIGFycmF5Q29uc3RydWN0b3JJc0FycmF5KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YXJy
YXlJdGVyYXRpb25LaW5kS2V5UHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleSks
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZFZhbHVlUHJpdmF0ZU5h
bWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+
YXJyYXlJdGVyYXRpb25LaW5kS2V5VmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVy
YXRlS2V5VmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZh
dGVOYW1lLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5w
cm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkuc3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSgpLCBTeW1ib2w6
OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5p
dGVyYXRvclN5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkuc3ltYm9sU3BlY2llc1ByaXZhdGVOYW1lKCksIFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0
aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wuaW1w
bCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICNpZiBFTkFCTEUoUFJP
TUlTRVMpCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5Qcm9t
aXNlUHJpdmF0ZU5hbWUsIG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm9taXNlUGVuZGluZ1ByaXZhdGVOYW1lLCBqc051bWJlcihzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTE2LDYgKzUzMCw4IEBAIHZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkudG9MZW5ndGhQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1Rv
TGVuZ3RoLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS50b0ludGVnZXJQ
cml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvSW50ZWdlciwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YnVpbHRpbk5hbWVzKCkuaXNPYmplY3RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVh
dGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdElzT2JqZWN0Q29kZUdlbmVyYXRvcih2
bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zcGVjaWVz
Q29uc3RydWN0b3JQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rp
b24odm0sIGdsb2JhbE9iamVjdFNwZWNpZXNDb25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0
aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXJyYXlTcGVjaWVz
Q3JlYXRlUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZt
LCBvcGVyYXRpb25zQXJyYXlBcnJheVNwZWNpZXNDcmVhdGVDb2RlR2VuZXJhdG9yKHZtKSwgdGhp
cyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmlzUHJvbWlzZVByaXZh
dGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9u
c1Byb21pc2VJc1Byb21pc2VDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3Bl
cnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLm5ld1Byb21pc2VSZWFjdGlvblByaXZhdGVOYW1lKCks
IEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VO
ZXdQcm9taXNlUmVhY3Rpb25Db2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3Bl
cnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLm5ld1Byb21pc2VDYXBhYmlsaXR5UHJpdmF0ZU5hbWUo
KSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlz
ZU5ld1Byb21pc2VDYXBhYmlsaXR5Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8
IERvbnREZWxldGUgfCBSZWFkT25seSksCkBAIC01MzEsNyArNTQ3LDcgQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6Q2Fs
bEZ1bmN0aW9uXSA9IG1fY2FsbEZ1bmN0aW9uLmdldCgpOwogICAgIG1fc3BlY2lhbFBvaW50ZXJz
W1NwZWNpYWw6OkFwcGx5RnVuY3Rpb25dID0gbV9hcHBseUZ1bmN0aW9uLmdldCgpOwogICAgIG1f
c3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6Ok9iamVjdENvbnN0cnVjdG9yXSA9IG9iamVjdENvbnN0
cnVjdG9yOwotICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3RydWN0b3Jd
ID0gYXJyYXlDb25zdHJ1Y3RvcjsKKyAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpBcnJh
eUNvbnN0cnVjdG9yXSA9IG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKTsKIAogICAgIG1fbGlua1Rp
bWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OkRlZmlu
ZVByb3BlcnR5RnVuY3Rpb24pXSA9IG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5nZXQoKTsKIApA
QCAtNzYxLDYgKzc3Nyw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9nbG9iYWxUaGlzKTsKIAogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX2dsb2JhbENhbGxlZSk7CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJy
YXlDb25zdHJ1Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhw
Q29uc3RydWN0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Vycm9yQ29u
c3RydWN0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2V2YWxFcnJvckNv
bnN0cnVjdG9yKTsKQEAgLTc4Myw2ICs4MDAsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNp
dENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXBwbHlGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbik7CiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uKTsKKyAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbik7CiAj
aWYgRU5BQkxFKFBST01JU0VTKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2lu
aXRpYWxpemVQcm9taXNlRnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDU5NGQ5NjYyMjMzNzhkMWQxYWFiOGY0
NzU5NWFkZTA4MjJjMTgyMjMuLjVkN2VkM2RmNjE3YWFhYmMyZTI3MzNhYjM4Y2M4YzE4NzYyZTJl
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aApAQCAtNTUsNiArNTUsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgQXJyYXlDb25z
dHJ1Y3RvcjsKIGNsYXNzIEFycmF5UHJvdG90eXBlOwogY2xhc3MgQm9vbGVhblByb3RvdHlwZTsK
IGNsYXNzIENvbnNvbGVDbGllbnQ7CkBAIC0xNzgsNiArMTc5LDcgQEAgY2xhc3MgSlNHbG9iYWxP
YmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJy
aWVyPEpTT2JqZWN0PiBtX2dsb2JhbFRoaXM7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+
IG1fZ2xvYmFsQ2FsbGVlOworICAgIFdyaXRlQmFycmllcjxBcnJheUNvbnN0cnVjdG9yPiBtX2Fy
cmF5Q29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPFJlZ0V4cENvbnN0cnVjdG9yPiBtX3Jl
Z0V4cENvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxFcnJvckNvbnN0cnVjdG9yPiBtX2Vy
cm9yQ29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPE5hdGl2ZUVycm9yQ29uc3RydWN0b3I+
IG1fZXZhbEVycm9yQ29uc3RydWN0b3I7CkBAIC0yMDEsNiArMjAzLDcgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVC
YXJyaWVyPEpTRnVuY3Rpb24+IG1fYXBwbHlGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNG
dW5jdGlvbj4gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxKU0Z1
bmN0aW9uPiBtX2FycmF5UHJvdG9WYWx1ZXNGdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8SlNG
dW5jdGlvbj4gbV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbjsKICNpZiBFTkFCTEUoUFJPTUlT
RVMpCiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1faW5pdGlhbGl6ZVByb21pc2VGdW5j
dGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9uZXdQcm9taXNlRGVmZXJyZWRG
dW5jdGlvbjsKQEAgLTM5Myw2ICszOTYsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1Ymxp
YyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICAvLyBUaGUgZm9sbG93aW5nIGFjY2Vz
c29ycyByZXR1cm4gcHJpc3RpbmUgdmFsdWVzLCBldmVuIGlmIGEgc2NyaXB0IAogICAgIC8vIHJl
cGxhY2VzIHRoZSBnbG9iYWwgb2JqZWN0J3MgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KIAorICAgIEFy
cmF5Q29uc3RydWN0b3IqIGFycmF5Q29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2FycmF5
Q29uc3RydWN0b3IuZ2V0KCk7IH0KICAgICBSZWdFeHBDb25zdHJ1Y3RvciogcmVnRXhwQ29uc3Ry
dWN0b3IoKSBjb25zdCB7IHJldHVybiBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpOyB9CiAKICAg
ICBFcnJvckNvbnN0cnVjdG9yKiBlcnJvckNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9l
cnJvckNvbnN0cnVjdG9yLmdldCgpOyB9CkBAIC00MTcsNiArNDIxLDcgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgSlNGdW5j
dGlvbiogYXBwbHlGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlGdW5jdGlvbi5nZXQo
KTsgfQogICAgIEpTRnVuY3Rpb24qIGRlZmluZVByb3BlcnR5RnVuY3Rpb24oKSBjb25zdCB7IHJl
dHVybiBtX2RlZmluZVByb3BlcnR5RnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBh
cnJheVByb3RvVmFsdWVzRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FycmF5UHJvdG9WYWx1
ZXNGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpTRnVuY3Rpb24qIGFycmF5U3BlY2llc0dldHRlckZ1
bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbi5nZXQo
KTsgfQogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICBKU0Z1bmN0aW9uKiBpbml0aWFsaXplUHJv
bWlzZUZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9u
LmdldCgpOyB9CiAgICAgSlNGdW5jdGlvbiogbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24oKSBj
b25zdCB7IHJldHVybiBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLmdldCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggZDIwZGFhMjA0NTFk
MmZiZWYzM2JjZDkxMzQ5MTA0ZjFmYmNiNTg3My4uODIxZTZjN2UwNTgyZGVmNTRlMDhkYjJjMmNi
ZTBhYjkyYTVlNDBmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcApAQCAtMTc0OCw3ICsxNzQ4LDcgQEAgYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duSW5kZXhl
ZFByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIGNvbnN0IFAKICAgICAg
ICAgLy8gc3RhdGUgKGkuZS4gZGVmaW5lT3duUHJvcGVydHkgY291bGQgYmUgdXNlZCB0byBzZXQg
YSB2YWx1ZSB3aXRob3V0IG5lZWRpbmcgdG8gZW50ZXJpbmcgJ1NwYXJzZU1vZGUnKS4KICAgICAg
ICAgaWYgKCFkZXNjcmlwdG9yLmF0dHJpYnV0ZXMoKSkgewogICAgICAgICAgICAgQVNTRVJUKCFk
ZXNjcmlwdG9yLmlzQWNjZXNzb3JEZXNjcmlwdG9yKCkpOwotICAgICAgICAgICAgcmV0dXJuIHB1
dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZhbHVlKCksIDAsIHRocm93RXhj
ZXB0aW9uID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxk
Tm90VGhyb3cpOworICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4
LCBkZXNjcmlwdG9yLnZhbHVlKCksIDAsIHRocm93RXhjZXB0aW9uID8gUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0Fu
ZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShleGVjLT52bSgpKTsKQEAgLTIxNDQsOSArMjE0
NCw5IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0
aEFycmF5U3RvcmFnZShFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgIGlmIChtb2RlICE9IFB1dERp
cmVjdEluZGV4TGlrZVB1dERpcmVjdCkgewogICAgICAgICAgICAgLy8gUHJvaGliaXQgZ3Jvd2lu
ZyB0aGUgYXJyYXkgaWYgbGVuZ3RoIGlzIG5vdCB3cml0YWJsZS4KICAgICAgICAgICAgIGlmICht
YXAtPmxlbmd0aElzUmVhZE9ubHkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4
ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgU3RyaWN0TW9kZVJlYWRvbmx5
UHJvcGVydHlXcml0ZUVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMs
IG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdElu
ZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKTsKICAgICAgICAgICAgIGlmICghaXNFeHRlbnNpYmxlKCkpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhy
b3csICJBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3Qg
ZXh0ZW5zaWJsZS4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUg
PT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3Jl
YXRlRGF0YVByb3BlcnR5T3JUaHJvdywgIkF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9u
IG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLiIpOwogICAgICAgICB9CiAgICAgICAgIGxl
bmd0aCA9IGkgKyAxOwogICAgICAgICBzdG9yYWdlLT5zZXRMZW5ndGgobGVuZ3RoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9y
LmNwcAppbmRleCA2ODk1ZWQ4MmZhZDgwNzdjZDdjZmMzMDQ0MWU0NjkxMDRjYjJlZjJjLi5lNWYw
MTcxZWVjZTU1ZWNlYTZiYjdkNjQ4NTE3MTU5YmZiOTM5NGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCkBAIC0z
MCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5o
IgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0aW9u
cy5oIgogI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGlu
ZXMuaCIKQEAgLTYxLDEwICs2MiwxMCBAQAogQGVuZAogKi8KIAotSlNQcm9taXNlQ29uc3RydWN0
b3IqIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNQcm9taXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQorSlNQcm9taXNlQ29u
c3RydWN0b3IqIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9taXNlUHJvdG90
eXBlKiBwcm9taXNlUHJvdG90eXBlKQogewogICAgIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjb25z
dHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTUHJvbWlzZUNvbnN0cnVjdG9y
Pih2bS5oZWFwKSkgSlNQcm9taXNlQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgY29u
c3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm9taXNlUHJvdG90eXBlKTsKKyAgICBjb25z
dHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgcHJvbWlzZVByb3RvdHlw
ZSk7CiAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogfQogCkBAIC03OCwxMSArNzksMTQgQEAgU3Ry
dWN0dXJlKiBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE8KIHsKIH0KIAotdm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1Byb21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90b3R5
cGUpCit2b2lkIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVBy
b3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVNDSUlMaXRlcmFsKCJQ
cm9taXNlIikpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIHByb21pc2VQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERv
bnREZWxldGUpOworICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRH
ZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9u
KHZtLCBwcm9taXNlQ29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGds
b2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbklu
ZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNB
Y2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFByb21pc2UoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmgK
aW5kZXggZmMwZjA0ZDJiMmI0MzY5OGE5MDRjNTFlMmZkZGJhN2EzODEyNjZmMi4uM2ZkZDM3Mjlj
OWZmYTljNzIzZjNiNGI1YjM1NTM0NDk3YTdhZjg2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oCkBAIC00MCwxMyArNDAs
MTMgQEAgY2xhc3MgSlNQcm9taXNlQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgSlNQcm9taXNlQ29uc3RydWN0b3Iq
IGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpTUHJvbWlzZVByb3RvdHlwZSopOworICAgIHN0YXRp
YyBKU1Byb21pc2VDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmUqLCBKU1Byb21pc2VQcm90b3R5cGUqKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCiAgICAgREVDTEFS
RV9JTkZPOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTUHJv
bWlzZVByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTUHJvbWlzZVByb3RvdHlwZSopOwogCiBwcml2YXRlOgogICAgIEpTUHJvbWlzZUNv
bnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmFkNTJjMDU2MDQ4ZTE4YjdlZWM0OThm
ZjE0OTUzZmQ5MGZjZmVkZC4uMDBmZTk4ZTdhYzJkOWM5MjIzNDVlN2ExNTlkZWJmZDU1OTcyZmRj
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9y
LmNwcApAQCAtMjcsNyArMjcsOSBAQAogI2luY2x1ZGUgIk1hcENvbnN0cnVjdG9yLmgiCiAKICNp
bmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0
ZXJhdG9yT3BlcmF0aW9ucy5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAi
SlNDSlNWYWx1ZUlubGluZXMuaCIKICNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSlNHbG9iYWxPYmplY3QuaCIKQEAgLTM5LDExICs0MSwxNCBAQAogCiBjb25zdCBDbGFzc0lu
Zm8gTWFwQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXBDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBNYXBDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlw
ZSkKK3ZvaWQgTWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5cGUpCiB7CiAgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIG1hcFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNz
TmFtZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwgbWFwUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRl
KTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZt
LCBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgbWFw
Q29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwg
ImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Io
dm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNj
ZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGNhbGxNYXAoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hcENvbnN0cnVjdG9yLmgKaW5kZXggMWE4NWRlNWIxNWIwMDdkMWU5ZGZjOGI5Y2I2
NTYxMTA4Yzc2Mzc4MC4uYjY1OTVmODg0NGM5NjRiZThlNjYzOGZmZDQ0YTExZmQ1M2FhOWNkMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3Iu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCkBA
IC0zNiwxMCArMzYsMTAgQEAgY2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxG
dW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAK
LSAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKKyAgICBzdGF0aWMgTWFwQ29uc3Ry
dWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKICAgICB7CiAgICAg
ICAgIE1hcENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPE1hcENvbnN0cnVjdG9yPih2bS5oZWFwKSkgTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVy
ZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBl
KTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3Qs
IG1hcFByb3RvdHlwZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAg
LTU1LDcgKzU1LDcgQEAgY2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5j
dGlvbiB7CiAgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKICAgICB9Ci0gICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE1hcFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIE1hcFByb3RvdHlwZSopOwogICAgIHN0YXRp
YyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYp
OwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rv
ci5oCmluZGV4IGY4YjFmN2Y0NDM3MDNhYjQxOThkZDQzMjFlMjA5ZGZlNjY4ODJhM2MuLmE4YjE3
MzVhNjA4NmIyMzE5OWI0YTY3YmYyNjIwNTIyMzNlMzZiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBA
QCBjbGFzcyBOdW1iZXJDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAg
ICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93
blByb3BlcnR5U2xvdCB8IEltcGxlbWVudHNIYXNJbnN0YW5jZTsKIAotICAgIHN0YXRpYyBOdW1i
ZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJl
clByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQorICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
TnVtYmVyUHJvdG90eXBlKiBudW1iZXJQcm90b3R5cGUpCiAgICAgewogICAgICAgICBOdW1iZXJD
b25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxOdW1i
ZXJDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIE51bWJlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUp
OwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIG51bWJlclByb3RvdHlw
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJ
bmRleE1vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4
TW9kZS5oCmluZGV4IDNlYjNmNTgxOGRmYjliOGMyZGExYWY0NWUxN2NhYjU1ZThlZTU1MWYuLjI2
MGZjZTg1ZjBkMDAxNjBiN2IxYWFkOWY4NWExNzA1ZTVjZTk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCkBAIC0yOCw3ICsy
OCwxNSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeyBQ
dXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QsIFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cs
IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfTsKK2VudW0gUHV0RGlyZWN0SW5kZXhNb2RlIHsK
KyAgICBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QsCisgICAgUHV0RGlyZWN0SW5kZXhTaG91
bGROb3RUaHJvdywKKyAgICBQdXREaXJlY3RJbmRleFNob3VsZFRocm93LAorCisgICAgLy8gRm9s
bG93IHRoZSBFQ01BMjYyIDZ0aCBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IHNlbWFudGljcy4K
KyAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1j
cmVhdGVkYXRhcHJvcGVydHlvcnRocm93CisgICAgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJv
cGVydHlPclRocm93LAorfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBlZTFk
OGIzZmM2OWY5NDNiOTRhNTI1OWNmN2MxODZjYWM2MzczZjc0Li4xZTM3YzZhOGI1MDY2YTc0ZjQx
MjUzNzUxMWE4NTM2NzlhNzQ2NDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCkBAIC04OSw3ICs4OSw3IEBACiB7CiB9CiAK
LXZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVnRXhwUHJv
dG90eXBlKiByZWdFeHBQcm90b3R5cGUpCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQ
cm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFByb3RvdHlw
ZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9y
LmgKaW5kZXggY2FiZWUxOWM5M2Q5YjI0NmM4MDg4NTFmMmFmZjRlMmFkMTA0NmExYS4uNjQyNDBl
ZGM1NDBhOTljNjU0NzVlNmJiMWMwZmQwNjUwMjlkNThiZSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zNSwxMCArMzUsMTAg
QEAgY2xhc3MgUmVnRXhwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAg
ICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3Rv
dHlwZSkKKyAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90
b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFJlZ0V4cENvbnN0cnVj
dG9yPih2bS5oZWFwKSkgUmVnRXhwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSwgcmVnRXhwUHJv
dG90eXBlKTsKLSAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCByZWdFeHBQ
cm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2Jh
bE9iamVjdCwgcmVnRXhwUHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwog
ICAgIH0KIApAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6IHB1Ymxp
YyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgUmVnRXhwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgUmVnRXhw
Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqLCBSZWdFeHBQcm90b3R5cGUqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRleCBmYjk3
YjZkOWZhMGQwZWU2M2ExZDUyYTk4ODdlYzc3Njk4Zjc1M2RmLi5kMWIwMzUxNDBiMWFkYzc5ZDYx
OTAzNmJhYjU3OWQzYjNlMTY4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAiU2V0
Q29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0
dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiSlNDQnVp
bHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2Vs
bElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtNDAsMTEgKzQyLDE1
IEBACiAKIGNvbnN0IENsYXNzSW5mbyBTZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rp
b24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFNldENvbnN0cnVjdG9y
KSB9OwogCi12b2lkIFNldENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNldFBy
b3RvdHlwZSogc2V0UHJvdG90eXBlKQordm9pZCBTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTZXRQcm90b3R5cGUqIHNl
dFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2V0UHJvdG90eXBl
LT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBzZXRQcm90b3R5cGUsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUmVhZE9ubHkgfCBE
b250RW51bSB8IERvbnREZWxldGUpOworCisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNz
b3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVz
QWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVC
dWlsdGluRnVuY3Rpb24odm0sIHNldENvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0
b3Iodm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKKyAgICBwdXRE
aXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9s
LCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsU2V0KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCmluZGV4IGVmYmQ4
OGJiMzIyZmRkYWFiOWI3NTY0MzkwM2E5N2RlNzg1ZTU4MDAuLmI2ODQxZjczNTBmY2QzMjNjN2Yz
MzE5MmRiYjlkMTkxMDBiNjkyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NldENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2V0Q29uc3RydWN0b3IuaApAQCAtMzYsMTAgKzM2LDEwIEBAIGNsYXNzIFNldENvbnN0cnVj
dG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50
ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIFNldENvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUp
CisgICAgc3RhdGljIFNldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQ
cm90b3R5cGUpCiAgICAgewogICAgICAgICBTZXRDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTZXRDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFNldENv
bnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3Jl
YXRpb24odm0sIHNldFByb3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVh
dGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBzZXRQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29u
c3RydWN0b3I7CiAgICAgfQogCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIFNldENvbnN0cnVjdG9y
IDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVy
ZSkKICAgICB7CiAgICAgfQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBTZXRQcm90b3R5
cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTZXRQ
cm90b3R5cGUqKTsKICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpT
Q2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEo
SlNDZWxsKiwgQ2FsbERhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCmluZGV4IDYyZDM0YmFhZmRkYjQwZWVh
MGY2MTVmMDYyMDdhMjlhYjlmZjk5ODMuLmNiNTM3MGIxYWViMjZmOWY2ZjE4MjYxNmQyMWRhOTA2
NjRmNzgyMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJz
ZUFycmF5VmFsdWVNYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nw
YXJzZUFycmF5VmFsdWVNYXAuY3BwCkBAIC0xMTYsNyArMTE2LDI1IEBAIGJvb2wgU3BhcnNlQXJy
YXlWYWx1ZU1hcDo6cHV0RGlyZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGFycmF5LCB1
bnNpZ25lZCBpCiAgICAgLy8gZXh0ZW5zaWJsZSwgdGhpcyBpcyBub3QgdGhlIHJpZ2h0IHRoaW5n
IHRvIGhhdmUgZG9uZSAtIHNvIHJlbW92ZSBhZ2Fpbi4KICAgICBpZiAobW9kZSAhPSBQdXREaXJl
Y3RJbmRleExpa2VQdXREaXJlY3QgJiYgcmVzdWx0LmlzTmV3RW50cnkgJiYgIWFycmF5LT5pc0V4
dGVuc2libGUoKSkgewogICAgICAgICByZW1vdmUocmVzdWx0Lml0ZXJhdG9yKTsKLSAgICAgICAg
cmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csICJB
dHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5z
aWJsZS4iKTsKKyAgICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdElu
ZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3csICJBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBp
cyBub3QgZXh0ZW5zaWJsZS4iKTsKKyAgICB9CisKKyAgICBpZiAobW9kZSA9PSBQdXREaXJlY3RJ
bmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgJiYgIXJlc3VsdC5pc05ld0VudHJ5KSB7Cisg
ICAgICAgIGlmIChlbnRyeS5hdHRyaWJ1dGVzICYgRG9udERlbGV0ZSkgeworICAgICAgICAgICAg
aWYgKCEoYXR0cmlidXRlcyAmIERvbnREZWxldGUpKQorICAgICAgICAgICAgICAgIHJldHVybiB0
aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0
dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKworICAgICAgICAgICAgaWYg
KChlbnRyeS5hdHRyaWJ1dGVzICYgRG9udEVudW0pICE9IChhdHRyaWJ1dGVzICYgRG9udEVudW0p
KQorICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGlu
ZyB0byBjaGFuZ2UgZW51bWVyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVy
dHkuIik7CisgICAgICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIEFjY2Vzc29yKQorICAg
ICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBj
aGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7
CisgICAgICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7CisgICAgICAg
ICAgICAgICAgaWYgKCEoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB3cml0
YWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAg
ICAgICAgaWYgKCFzYW1lVmFsdWUoZXhlYywgZW50cnkuZ2V0KGV4ZWMsIGFycmF5KSwgdmFsdWUp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVt
cHRpbmcgdG8gY2hhbmdlIHZhbHVlIG9mIGEgcmVhZG9ubHkgcHJvcGVydHkuIik7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAgICBlbnRyeS5hdHRyaWJ1dGVzID0gYXR0cmli
dXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0Nv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1
Y3Rvci5oCmluZGV4IDM1NzUxMWE1NzY1NGUxNjgyNWZkMjJiMGFlNjc3Mzg5ZDIwM2MyMDMuLmQy
YTIxNTJkZmY2ZDg4YmJkZDZjNWZhZmZkMTIyYjAwNzU5MjYzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIs
NyBAQCBjbGFzcyBTdHJpbmdDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
ICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJv
dG90eXBlKQorICAgIHN0YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJp
bmdQcm90b3R5cGUpCiAgICAgewogICAgICAgICBTdHJpbmdDb25zdHJ1Y3RvciogY29uc3RydWN0
b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJpbmdDb25zdHJ1Y3Rvcj4odm0uaGVh
cCkpIFN0cmluZ0NvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rv
ci0+ZmluaXNoQ3JlYXRpb24odm0sIHN0cmluZ1Byb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAppbmRleCAzNDRhOTc4YWIw
YWM3NGUxNTQ4M2IzZWUyZTU3OWZhZDAxZDdjZTM0Li4zYjM5M2ZkMWEwYTc0ZjAzMDMzZGZkYTk0
MjdkMWFlNGQ3MzVhYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbENvbnN0cnVjdG9yLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgU3ltYm9sQ29uc3Ry
dWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1
bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKLSAg
ICBzdGF0aWMgU3ltYm9sQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBTeW1ib2xQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMgU3ltYm9sQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFN5bWJvbFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3ltYm9s
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3lt
Ym9sQ29uc3RydWN0b3I+KHZtLmhlYXApKSBTeW1ib2xDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJl
KTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3Iu
aAppbmRleCA2NmVkYmNiMTZkODlhNWI2NjQ4MGFlZGEzMzYzM2I2ODUyZWU0ODk2Li42YzlhZDM5
ZTUxZTU3YmM0NDllMjFlOGVkN2JmZTYwYTJhZWQ4MWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBA
QCBjbGFzcyBXZWFrTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMg
V2Vha01hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
V2Vha01hcFByb3RvdHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrTWFwQ29uc3RydWN0
b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFdlYWtNYXBQcm90b3R5cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtNYXBDb25z
dHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrTWFw
Q29uc3RydWN0b3I+KHZtLmhlYXApKSBXZWFrTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7
CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgK
aW5kZXggN2Y2ZmI2YTVlNzY4ZWJmNDA4Y2E2Y2U3NWFkNTJlNmVjNTgzOTk2NC4uMjg4OWM5YzA5
MDlhOTU0MDZlMDc4Mjc4OGZjZGEzZDA5NDJmZGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAg
Y2xhc3MgV2Vha1NldENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVi
bGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIFdl
YWtTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdl
YWtTZXRQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMgV2Vha1NldENvbnN0cnVjdG9y
KiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBX
ZWFrU2V0UHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBXZWFrU2V0Q29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8V2Vha1NldENv
bnN0cnVjdG9yPih2bS5oZWFwKSkgV2Vha1NldENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwog
ICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVz
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wOTI3MTQ1MjRhNjJiNjllN2VmOTU4OTNmMGI4ZTA5ZmRiODZkNzg1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1i
b2wtc3BlY2llcy5qcwpAQCAtMCwwICsxLDQyNCBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFs
LCBleHBlY3RlZCkKK3sKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCitmdW5jdGlvbiBzaG91
bGRUaHJvdyhmdW5jLCBlcnJvck1lc3NhZ2UpCit7CisgICAgdmFyIGVycm9yVGhyb3duID0gZmFs
c2U7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBmdW5jKCk7Cisg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvclRocm93biA9IHRydWU7CisgICAgICAgIGVy
cm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJvclRocm93bikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCdub3QgdGhyb3duJyk7CisgICAgaWYgKFN0cmluZyhlcnJvcikgIT09IGVycm9yTWVz
c2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBiYWQgZXJyb3I6ICR7U3RyaW5nKGVycm9y
KX1gKTsKK30KKworc2hvdWxkQmUodHlwZW9mIFN5bWJvbC5zcGVjaWVzLCAnc3ltYm9sJyk7CisK
Ky8vIFByb21pc2UgaXMgdGVzdGVkIGluIERPTSBsYXlvdXQgdGVzdHMuCitzaG91bGRCZShKU09O
LnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNw
ZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3No
b3VsZEJlKEpTT04uc3RyaW5naWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFw
LCBTeW1ib2wuc3BlY2llcykpLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0
cnVlfScpOworc2hvdWxkQmUoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNv
bmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpLmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91
bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5z
cGVjaWVzKS5nZXQsICdmdW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKS5nZXQsICdmdW5jdGlvbicp
Oworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBT
eW1ib2wuc3BlY2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5zZXQsICd1bmRl
ZmluZWQnKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KEFycmF5LCBTeW1ib2wuc3BlY2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZShTZXRb
U3ltYm9sLnNwZWNpZXNdLCBTZXQpOworc2hvdWxkQmUoTWFwW1N5bWJvbC5zcGVjaWVzXSwgTWFw
KTsKK3Nob3VsZEJlKEFycmF5W1N5bWJvbC5zcGVjaWVzXSwgQXJyYXkpOworc2hvdWxkQmUoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2Fs
bChPYmplY3QpLCBPYmplY3QpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworc2hv
dWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNp
ZXMpLmdldC5jYWxsKE9iamVjdCksIE9iamVjdCk7CisKKy8vIEFycmF5LgorLy8gQ3VycmVudGx5
LCBBcnJheSBpcyBub3Qgc3ViY2xhc3NhYmxlIGJ5IHVzaW5nIGNsYXNzIHN5bnRheC4KK2Z1bmN0
aW9uIEV4dGVuZGVkQXJyYXkobGVuZ3RoKQoreworICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXko
bGVuZ3RoKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK0V4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9f
XyA9IEFycmF5LnByb3RvdHlwZTsKK3Nob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNv
bnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKK0V4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0
cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKK3ZhciBleHRlbmRlZCA9
IG5ldyBFeHRlbmRlZEFycmF5KDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMjApOwor
c2hvdWxkQmUoQXJyYXkuaXNBcnJheShleHRlbmRlZCksIHRydWUpOworCisvLyBtYXAuCit2YXIg
ZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgwKTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0
ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNoKDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxl
bmd0aCwgMyk7CitzaG91bGRCZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRb
MV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0
ZW5kZWQubWFwLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rp
b24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KTsKK3Nob3VsZEJlKHJlc3VsdCBp
bnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwg
Myk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwMCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDkwMCk7
CitzaG91bGRCZShyZXN1bHRbMl0sIDE2MDApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1
bHQpLCB0cnVlKTsKKworLy8gZmlsdGVyLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJy
YXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQu
cHVzaCg0MCk7CitzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5k
ZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRl
ZFsyXSwgNDApOworc2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLmZpbHRlciwgJ2Z1bmN0aW9uJyk7
Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuZmlsdGVyKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4g
dmFsdWUgPT09IDQwOyB9KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJy
YXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRb
MF0sIDQwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGNv
bmNhdC4KK3ZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVz
aCgyMCk7CitleHRlbmRlZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUo
ZXh0ZW5kZWQubGVuZ3RoLCAzKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRC
ZShleHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJl
KHR5cGVvZiBleHRlbmRlZC5jb25jYXQsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVu
ZGVkLmNvbmNhdChbNTAsIDYwLCA3MF0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0
ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCA2KTsKK3Nob3VsZEJl
KHJlc3VsdFswXSwgMjApOworc2hvdWxkQmUocmVzdWx0WzFdLCAzMCk7CitzaG91bGRCZShyZXN1
bHRbMl0sIDQwKTsKK3Nob3VsZEJlKHJlc3VsdFszXSwgNTApOworc2hvdWxkQmUocmVzdWx0WzRd
LCA2MCk7CitzaG91bGRCZShyZXN1bHRbNV0sIDcwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXko
cmVzdWx0KSwgdHJ1ZSk7CisKKy8vIHNsaWNlLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVk
QXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5k
ZWQucHVzaCg0MCk7CitleHRlbmRlZC5wdXNoKDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hv
dWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7Citz
aG91bGRCZShleHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3No
b3VsZEJlKGV4dGVuZGVkWzNdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hv
dWxkQmUodHlwZW9mIGV4dGVuZGVkLnNsaWNlLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBl
eHRlbmRlZC5zbGljZSgzKTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJy
YXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMik7CitzaG91bGRCZShyZXN1bHRb
MF0sIDUwKTsKK3Nob3VsZEJlKHJlc3VsdFsxXSwgNjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJh
eShyZXN1bHQpLCB0cnVlKTsKKworLy8gc3BsaWNlLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVu
ZGVkQXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0
ZW5kZWQucHVzaCg0MCk7CitleHRlbmRlZC5wdXNoKDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOwor
c2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7
CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsK
K3Nob3VsZEJlKGV4dGVuZGVkWzNdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZFs0XSwgNjApOwor
c2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLnNsaWNlLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQg
PSBleHRlbmRlZC5zcGxpY2UoMywgMSwgNDIpOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2Yg
RXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3Vs
ZEJlKHJlc3VsdFswXSwgNTApOworc2hvdWxkQmUoZXh0ZW5kZWQgaW5zdGFuY2VvZiBFeHRlbmRl
ZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRCZShl
eHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4
dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNDIpOworc2hvdWxkQmUoZXh0
ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisK
Ky8vIEFycmF5U3BlY2llc0NyZWF0ZSBhYnN0cmFjdCBvcGVyYXRpb24gZWRnZSBjYXNlcy4KK3Zh
ciByZXN1bHQgPSBbXS5tYXAuY2FsbCh7IDA6IDEwLCBsZW5ndGg6IDEgfSwgKGZ1bmN0aW9uICh2
YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJh
eShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3Rv
dHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwg
MTAwKTsKKworZnVuY3Rpb24gVGVzdCgpCit7CisgICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHJl
c3VsdFswXSA9IDIwOworICAgIHJlc3VsdC5sZW5ndGggPSAxOworICAgIHJlc3VsdC5fX3Byb3Rv
X18gPSBUZXN0LnByb3RvdHlwZTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvdWxkQmUoQXJy
YXkuaXNBcnJheShuZXcgVGVzdCgpKSwgdHJ1ZSk7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwo
bmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkp
Oworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3Vs
dC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAx
KTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9y
W1N5bWJvbC5zcGVjaWVzXSA9IFRlc3Q7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRl
c3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hv
dWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3By
b3RvX18sIFRlc3QucHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hv
dWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9s
LnNwZWNpZXNdID0gbnVsbDsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAo
ZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShB
cnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywg
QXJyYXkucHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUo
cmVzdWx0WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNp
ZXNdID0gbnVsbDsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rp
b24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5p
c0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXku
cHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0
WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0g
IkhlbGxvIjsKK3Nob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10u
bWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2
YWx1ZTsgfSkpOworfSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBp
cyBub3QgYSBmdW5jdGlvbiIpOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3IgPSB1bmRlZmlu
ZWQ7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1
ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShy
ZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlw
ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAw
KTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gbnVsbDsKK3Nob3VsZFRocm93KGZ1bmN0
aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0
aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworfSwgIlR5cGVFcnJvcjog
Z2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpOworVGVzdC5w
cm90b3R5cGUuY29uc3RydWN0b3IgPSAiSGVsbG8iOworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkg
eworICAgIHZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZh
bHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBj
b25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIik7CisKKyhmdW5jdGlvbiAo
KSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRB
cnJheS5wcm90b3R5cGU7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAs
IHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsK
KyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIk9VVCIpOworICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAgICAgICAgICAgY29uZmlndXJhYmxl
OiBmYWxzZQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAg
RXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAg
IHNob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFy
cmF5KTsKKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3Bl
Y2llc10gPSBFeHRlbmRlZEFycmF5OworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsg
KytpKSB7CisgICAgICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAidXNlIHN0cmljdCI7
CisgICAgICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAg
ICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgICAgICBz
aG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZFsx
XSwgMjApOworICAgICAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAg
ICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB2YXIgcmVzdWx0
ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
ICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUg
b2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgIH0oKSk7CisgICAgfQorCisg
ICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBl
eHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjAp
OworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQu
bGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBz
aG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwg
MzApOworICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgICAgICB2YWx1ZTog
MzAKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRv
IGNoYW5nZSBhY2Nlc3MgbWVjaGFuaXNtIGZvciBhbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4i
KTsKKyAgICB9KCkpOworfSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRl
bmRlZEFycmF5KCkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7Cisg
ICAgICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAg
ICAgcmVzdWx0LnB1c2goMTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0
LCAwLCB7CisgICAgICAgICAgICB2YWx1ZTogMTAsCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCisgICAgICAgICAgICB3cml0
YWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQor
ICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsK
KyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5k
ZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9s
LnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAg
ICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXko
KTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzAp
OworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRC
ZShleHRlbmRlZFswXSwgMTApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOwor
ICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRUaHJvdyhm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQubWFwKGZ1bmN0
aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdl
IGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7Cisg
ICAgfSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKwor
ICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRl
bmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3Vs
ZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAx
MCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAg
ICAgICAgIHZhbHVlOiAzMAorICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6
IEF0dGVtcHRpbmcgdG8gY2hhbmdlIHZhbHVlIG9mIGEgcmVhZG9ubHkgcHJvcGVydHkuIik7Cisg
ICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlvbiAoKSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRB
cnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFycmF5KDApOworICAgICAg
ICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgICAgIHJl
c3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwg
eworICAgICAgICAgICAgdmFsdWU6IDAsCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwK
KyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCisgICAgICAgICAgICB3cml0YWJsZTog
ZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4
dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBz
aG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJh
eSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNp
ZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ug
c3RyaWN0IjsKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAg
ICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAg
ICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRl
bmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZh
bHVlKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfSwgIlR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmln
dXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkp
OworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAg
IHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1
c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0
ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAg
ICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRl
ZFsyXSwgMzApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsK
KyAgICAgICAgICAgIHZhbHVlOiAwCisgICAgICAgIH0pOworICAgIH0oKSk7Cit9KCkpOworCiso
ZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAg
ICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9
IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgICAgICByZXN1bHQucHVzaCgxMCk7CisgICAg
ICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVl
OiAwLAorICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1
cmFibGU6IHRydWUsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5
LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJh
eS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsK
KworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFy
IGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgy
MCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRl
ZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJd
LCAzMCk7CisgICAgICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVl
KSB7CisgICAgICAgICAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgfSk7CisgICAg
fSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAg
ICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRl
ZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAwKTsK
KyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0
ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAw
LCB7CisgICAgICAgICAgICB2YWx1ZTogMAorICAgICAgICB9KTsKKyAgICB9KCkpOworfSgpKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkODM5NWUzY2VmNmZmMDUzY2MwOTlmNzdjNTljYTlmMDZlMTJiM2Y2Li40NjVlNGYw
MGExZDZiM2NlMjA5NTJiNzM2YzQ5ZTRiNjRiODA5NWUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAK
KzIwMTUtMDctMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAg
ICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgUHJvbWlzZS4KKyAgICAgICAgT3Ro
ZXIgY2FzZXMgbGlrZSBBcnJheSwgU2V0IGFuZCBNYXAgYXJlIGxvY2F0ZSB1bmRlciBKU0MgZGly
ZWN0b3J5LgorCisgICAgICAgICogZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxs
cy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvYnVpbHQt
aW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBqcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2ll
cy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1z
cGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFj
ZS1zcGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlamVjdC1z
cGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVq
ZWN0LXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2
ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2Rv
bS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52
YWxpZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNp
ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlm
ZmVyZW50LXJlYWxtLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9zY3JpcHQtdGVzdHMv
YXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanM6IEFkZGVkLgorICAgICAgICAqIGpz
L3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qczoKKwogMjAxNS0wNy0x
MSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
RUZMXSBVbnJldmlld2VkLCBFRkwgZ2FyZGVuaW5nIG9uIDEydGggSnVsLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1v
dXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5j
dGlvbi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0CmluZGV4IGQxN2ViNThlYTlhMDY3Y2Rl
OThjMmIxNDI2YWIyZWIyN2U3MzJmNWUuLjc4YzMzZmI0OTQ4OGEwYzgwYTcxOThhNDM1N2JmMWM4
NzQ5ZGEyYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4t
ZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBlY3RlZC50
eHQKQEAgLTEyLDYgKzEyLDEwIEBAIFRocmVhZF8xIChubyBmaWxlKSAobGluZSAwOjApCiAgICAg
ICAgICAgICB0b0ludGVnZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIE51
bWJlciAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgICAgKGFub255bW91cyBmdW5j
dGlvbikgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgIGFycmF5U3BlY2llc0NyZWF0ZSAo
bm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5v
IGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAgIGlzT2JqZWN0IChubyBmaWxlKSAobGluZSAw
OjApCisgICAgICAgICAgICBnZXQgW1N5bWJvbC5zcGVjaWVzXSAobm8gZmlsZSkgKGxpbmUgMDow
KQogICAgICAgICAgbXlGdW5jdGlvbiBidWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMu
aHRtbCAobGluZSAxNDo0NSkKICAgICAgICAgICAgIGFycmF5T3BlcmF0b3JGdW5jdGlvbiBwcm9m
aWxlci10ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAyNTo0NikKICAgICAgIGVuZFRlc3QgcHJv
ZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMToyMCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVk
LWZ1bmN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQt
aW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRl
eCBlN2ZiYTU5YmIwODg4ZmRjY2RiZGU3M2RiYmUzNDdiMmRjMTQ4YzRiLi45ZTIxYzZkMGEzNjZh
MTU0MjFkMmU4MjA2NGEyZDc4NjA4MDEzMDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5j
dGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xMiw2ICsx
MiwxMCBAQCBUaHJlYWRfMSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgdG9JbnRl
Z2VyIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICAgICBOdW1iZXIgKG5vIGZpbGUp
IChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxl
KSAobGluZSAwOjApCisgICAgICAgICBhcnJheVNwZWNpZXNDcmVhdGUgKG5vIGZpbGUpIChsaW5l
IDA6MCkKKyAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAw
OjApCisgICAgICAgICAgICBpc09iamVjdCAobm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAg
ICAgZ2V0IFtTeW1ib2wuc3BlY2llc10gKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgIGFy
cmF5T3BlcmF0b3JGdW5jdGlvbiBwcm9maWxlci10ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAy
NTo0NikKICAgICAgIGVuZFRlc3QgcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUg
MToyMCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5
TmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5
TmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4IGIwNTQ0Y2VmZjQ5OGUwZGI3ZTJmYzYyMjQwOGU1ZDBm
YjVlYTFmMDguLmQ1MTg2MjY0M2Q2MThiNTJkNzZlZTIyNWVjZWIyNjQzMzIzZjAwMTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBl
Y3RlZC50eHQKQEAgLTYxLDcgKzYxLDcgQEAgUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVz
KEVycm9yKSBpcyBbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRl
ZE93blByb3BlcnR5TmFtZXMoRXJyb3IucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9yJywgJ21l
c3NhZ2UnLCAnbmFtZScsICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFt
ZXMoTWF0aCkgaXMgWydFJywnTE4xMCcsJ0xOMicsJ0xPRzEwRScsJ0xPRzJFJywnUEknLCdTUVJU
MV8yJywnU1FSVDInLCdhYnMnLCdhY29zJywnYWNvc2gnLCdhc2luJywnYXNpbmgnLCdhdGFuJywn
YXRhbjInLCdhdGFuaCcsJ2NicnQnLCdjZWlsJywnY2x6MzInLCdjb3MnLCdjb3NoJywnZXhwJywn
ZXhwbTEnLCdmbG9vcicsJ2Zyb3VuZCcsJ2h5cG90JywnaW11bCcsJ2xvZycsJ2xvZzEwJywnbG9n
MXAnLCdsb2cyJywnbWF4JywnbWluJywncG93JywncmFuZG9tJywncm91bmQnLCdzaWduJywnc2lu
Jywnc2luaCcsJ3NxcnQnLCd0YW4nLCd0YW5oJywndHJ1bmMnXQogUEFTUyBnZXRTb3J0ZWRPd25Q
cm9wZXJ0eU5hbWVzKEpTT04pIGlzIFsncGFyc2UnLCAnc3RyaW5naWZ5J10KLVBBU1MgZ2V0U29y
dGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wpIGlzIFsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZv
cicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJsZXMnXQorUEFTUyBn
ZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN5bWJvbCkgaXMgWydmb3InLCAnaXRlcmF0b3InLCAn
a2V5Rm9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZScsICdzcGVjaWVzJywgJ3Vuc2Nv
cGFibGVzJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wucHJvdG90eXBl
KSBpcyBbJ2NvbnN0cnVjdG9yJywgJ3RvU3RyaW5nJywgJ3ZhbHVlT2YnXQogUEFTUyBnbG9iYWxQ
cm9wZXJ0eU5hbWVzLmluZGV4T2YoJ05hTicpICE9IC0xIGlzIHRydWUKIFBBU1MgZ2xvYmFsUHJv
cGVydHlOYW1lcy5pbmRleE9mKCdJbmZpbml0eScpICE9IC0xIGlzIHRydWUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllMDE0YzIxZjQ2Y2Q4MDI2NDM5YWJhMWU0NGJhMGZh
Zjk5OGI2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1h
bGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Qg
c3ViY2xhc3NlZCBQcm9taXNlLmFsbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0
YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQ
cm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9t
aXNlIGlzIGZhbHNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5y
ZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIHRo
ZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3Rh
bmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lMDZiZWNjNjk5NzdlNWM5NDdkZTk2MDk2MzQ3NmMyODZiN2M0M2NhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMt
ZGlmZmVyZW50Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNs
YXNzZWQgUHJvbWlzZS5hbGwuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
Ly8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24g
RXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJv
dG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wu
c3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7
CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQy
KV0pIiwgIlByb21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0
ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgi
RXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0
ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRl
bmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOwor
Cit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVk
UHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24g
KFt2YWx1ZV0pIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9i
YWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUo
InRoZW5SZXN1bHQiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBpbnN0
YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhkZTY1MTM2OTQ0NjY2ZGFlNmYwMTNlZWMyZjQzYjNhZjgwNjk5
NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3Bl
Y2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21p
c2UuYWxsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9t
aXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVk
UHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2
ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3Vs
dCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMg
NDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sIGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ZDc0MmQ5MjViODJlMTFiYmI2NmUyNWMxNzBkMjRlYzdkOGQwMTk3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApAQCAtMCwwICsx
LDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLmFsbC4nKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQg
aXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3Ip
IHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNl
Ll9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21p
c2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJv
dG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlz
ZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUo
IkV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFBy
b21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9t
aXNlLnJlc29sdmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1
ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0
ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihmdW5jdGlvbiAoW3ZhbHVlXSkgeworICAg
IGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJF
eHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRp
ZmZlcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2EwNmU4MDg4YmRjNTJlOGRlMjQxY2Q2
YTMxMGJjODFlYTk4OWVhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUg
QEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0p
IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4
dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BB
U1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9m
IEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0
ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMg
ZmFsc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRo
ZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFs
VmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNp
ZXMtZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNp
ZXMtZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI1NDA3ZGM4Yzc4YTQ3NGRhMWFiNzMzYzYw
NmY1MzIyNmQzYWQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0
ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBF
eHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5k
ZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVu
ZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9f
cHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2Uo
W1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVu
ZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNl
Iik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZl
KDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRl
bmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2Vv
ZiBFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFy
IHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpXSkudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVl
OworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVG
YWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmFjZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNkMzU4MWViMzA0NTdl
YTBkZWNmZmM5YTMyYTEyZjFjMmZkN2MzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBA
QAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmFjZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkg
aXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5y
YWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRl
bmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFBy
b21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20v
UHJvbWlzZS1yYWNlLXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJh
Y2Utc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyYmEwMGJmNDlmYWQ2MzkxMTg3YmU4OGM4ZTIy
YzYxYzRmZGY3OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yYWNlLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qg
c3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVu
Y3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcg
UHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21p
c2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtT
eW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90
b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJv
bWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworc2hvdWxkQmVUeXBlKCJF
eHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiRXh0
ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVu
UmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQy
KV0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAg
ICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
Oworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWE4YmFiZmE2
NzBhM2Y1M2IyNWRiN2VkODM5ZDE1Y2NlMmQwODMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTEgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlamVjdC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpIGlzIGFuIGlu
c3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNl
IG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxNTE4YjYwOTQy
OTJkOWQwMWM0ZGM2N2YwYWVhNjRkNzQ4MzcyYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzggQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVqZWN0LicpOworCit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBu
b3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgewor
ICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19w
cm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsK
K30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5
cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOwor
RXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0
ZW5kZWRQcm9taXNlLnJlamVjdCg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9i
YWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJl
amVjdCg0MikuY2F0Y2goZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1
ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOwor
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iY2VkYjVkNWE1NTkxNDc5ZWU3MGJhMDAxZjFjODhjNWI4Njlh
ZTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2
ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBz
dWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRl
bmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQ
QVNTIHRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1Mg
Z2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNv
bHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1y
ZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkxNjE0ZDA3NTg1MGNm
ZTkwYTg2M2U4ZmYwZTEyMjQyM2ZkM2YzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbApAQCAtMCwwICsx
LDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuJyk7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFy
Z2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1
dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJv
bWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBw
cm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNl
LnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNlOwor
RXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0
ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xv
YmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5y
ZXNvbHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFs
dWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJQcm9taXNlIik7CitzaG91bGRC
ZUZhbHNlKCJ0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20v
UHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjZkNWVm
NzEwN2VhNzZmNWFmNDhmNDI3NWMyOTdkODZlMzA4MGJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIGlz
IGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGlu
c3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZh
bGlkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmVhNDgwOGQ5YTczY2FlYmNhNjlmMTE5MzBj
ODk3ODg5YmY3MDM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21p
c2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAK
K1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlkIEBAc3BlY2llcy4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZXNv
bHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGVzdCgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGNvbnN0cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBj
b25zdHJ1Y3Rvci4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNw
ZWNpZXMtaW52YWxpZC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1z
cGVjaWVzLWludmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGU5ZWFlM2E4YWU0ZjIwMDY3YzUzODRi
NDVhNzFjZDAwNzIxMzIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlkIEBA
c3BlY2llcy4nKTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQg
eWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRl
bmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQ
cm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVk
UHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSB7fTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18g
PSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIs
ICJFeHRlbmRlZFByb21pc2UiKTsKKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHt9KTsKK30KK3Nob3VsZFRo
cm93KCJ0ZXN0KCkiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbCBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3
YzMxMGZiYzQ3NGUzMDdmMjJhZWUyOTBlNGI2MDI4OWM4ZTY2MjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbApAQCAtMCww
ICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUu
Jyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcu
dGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4
ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAg
cHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVy
biBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9t
aXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRl
ZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxk
QmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7
CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5k
ZWRQcm9taXNlLnJlc29sdmUoNDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFs
VmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVk
UHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjhi
MGU3NTQ2OGEwZWJhMTgwN2ZkYzYwZmNkYmMyNWQxYmI1ZTA4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMyBAQAorVGVzdCBQcm9taXNlIGFuZCBAQHNwZWNpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKSkgaXMgIntcImVudW1lcmFibGVcIjpmYWxz
ZSxcImNvbmZpZ3VyYWJsZVwiOnRydWV9IgorUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IGlzICJmdW5jdGlvbiIK
K1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3lt
Ym9sLnNwZWNpZXMpLnNldCBpcyAidW5kZWZpbmVkIgorUEFTUyBQcm9taXNlW1N5bWJvbC5zcGVj
aWVzXSBpcyBQcm9taXNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJv
bWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCkgaXMgT2JqZWN0CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2Utc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MzNhNzA2ODM3ZjZlMDllYjY0
OGZlMDI3ZTdhMTljOWNhMTM3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0IFByb21pc2UgYW5kIEBAc3BlY2llcy4nKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJK
U09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5
bWJvbC5zcGVjaWVzKSkiLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVl
fScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IiwgJ2Z1bmN0aW9uJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5zZXQiLCAndW5kZWZpbmVkJyk7CitzaG91bGRC
ZSgiUHJvbWlzZVtTeW1ib2wuc3BlY2llc10iLCAiUHJvbWlzZSIpOworc2hvdWxkQmUoIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldC5j
YWxsKE9iamVjdCkiLCAiT2JqZWN0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50
LXJlYWxtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWlu
LWRpZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNlYmQ3YTFlYWVlNGNi
MDlmMDUyYmZiMWE3YzM4MTNlYTRiMjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyNCBAQAorQXJyYXlTcGVjaWVzQ3JlYXRlIGdlbmVyYXRlIHRoZSBjdXJyZW50IFJl
YWxtIGFycmF5IHdoZW4gdGhlIGdpdmVuIGFycmF5IGlzIGZyb20gdGhlIGRpZmZlcmVudCByZWFs
bS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYXJyYXkubGVuZ3RoIGlz
IDUKK1BBU1MgYXJyYXkgaW5zdGFuY2VvZiBBcnJheSBpcyBmYWxzZQorUEFTUyBhcnJheSBpbnN0
YW5jZW9mIEFycmF5MiBpcyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoYXJyYXkpIGlzIHRydWUK
K1BBU1MgYXJyYXkuY29uc3RydWN0b3IgaXMgQXJyYXkyCitQQVNTIGFycmF5LmNvbnN0cnVjdG9y
IGlzIG5vdCBBcnJheQorUEFTUyByZXN1bHQubGVuZ3RoIGlzIDUKK1BBU1MgQXJyYXkuaXNBcnJh
eShyZXN1bHQpIGlzIHRydWUKK0ZBSUwgcmVzdWx0IGluc3RhbmNlb2YgQXJyYXkgc2hvdWxkIGJl
IHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgcmVzdWx0IGluc3RhbmNlb2YgQXJyYXkyIHNob3VsZCBi
ZSBmYWxzZS4gV2FzIHRydWUuCitQQVNTIHJlc3VsdFswXSBpcyAwCitQQVNTIHJlc3VsdFsxXSBp
cyAxCitQQVNTIHJlc3VsdFsyXSBpcyA0CitQQVNTIHJlc3VsdFszXSBpcyA5CitQQVNTIHJlc3Vs
dFs0XSBpcyAxNgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRp
ZmZlcmVudC1yZWFsbS5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4t
ZGlmZmVyZW50LXJlYWxtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY1Mjg1YTc1ZDUzNDBkNDhhNDg2OTQ1
NjBjZGZhMjUyYjgyNDA0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9h
cnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10
ZXN0cy9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qcyBiL0xheW91dFRlc3RzL2pz
L2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGU3NWVmMWE3ZjE3N2ZlNDRlYjFkY2Y2ODY2ZTc5ZDA4OTljMTE1YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2ll
cy1pbi1kaWZmZXJlbnQtcmVhbG0uanMKQEAgLTAsMCArMSwyNiBAQAorZGVzY3JpcHRpb24oIkFy
cmF5U3BlY2llc0NyZWF0ZSBnZW5lcmF0ZSB0aGUgY3VycmVudCBSZWFsbSBhcnJheSB3aGVuIHRo
ZSBnaXZlbiBhcnJheSBpcyBmcm9tIHRoZSBkaWZmZXJlbnQgcmVhbG0uIik7CisKK3ZhciBmcmFt
ZSA9IGZyYW1lc1swXTsKK3ZhciBBcnJheTIgPSBmcmFtZS5BcnJheTsKKwordmFyIGFycmF5ID0g
bmV3IEFycmF5MigwKTsKK2FycmF5LnB1c2goMCwgMSwgMiwgMywgNCk7CisKK3Nob3VsZEJlKCJh
cnJheS5sZW5ndGgiLCAiNSIpOworc2hvdWxkQmVGYWxzZSgiYXJyYXkgaW5zdGFuY2VvZiBBcnJh
eSIpOworc2hvdWxkQmVUcnVlKCJhcnJheSBpbnN0YW5jZW9mIEFycmF5MiIpOworc2hvdWxkQmVU
cnVlKCJBcnJheS5pc0FycmF5KGFycmF5KSIpOworc2hvdWxkQmUoImFycmF5LmNvbnN0cnVjdG9y
IiwgIkFycmF5MiIpOworc2hvdWxkTm90QmUoImFycmF5LmNvbnN0cnVjdG9yIiwgIkFycmF5Iik7
Cit2YXIgcmVzdWx0ID0gYXJyYXkubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIHJldHVybiB2
YWx1ZSAqIHZhbHVlOworfSk7CitzaG91bGRCZSgicmVzdWx0Lmxlbmd0aCIsICI1Iik7CitzaG91
bGRCZVRydWUoIkFycmF5LmlzQXJyYXkocmVzdWx0KSIpOworc2hvdWxkQmVUcnVlKCJyZXN1bHQg
aW5zdGFuY2VvZiBBcnJheSIpOworc2hvdWxkQmVGYWxzZSgicmVzdWx0IGluc3RhbmNlb2YgQXJy
YXkyIik7CitzaG91bGRCZSgicmVzdWx0WzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJyZXN1bHRbMV0i
LCAiMSIpOworc2hvdWxkQmUoInJlc3VsdFsyXSIsICI0Iik7CitzaG91bGRCZSgicmVzdWx0WzNd
IiwgIjkiKTsKK3Nob3VsZEJlKCJyZXN1bHRbNF0iLCAiMTYiKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcyBiL0xh
eW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcwpp
bmRleCBmNzlkZmFiNmE2YWY4MjhjNDgzMDJkMGE3YWU1YTRiNWNlOWQ5OTI4Li41M2Q1ZjBkYTRj
ZmZmYmY4MDBkYjJlMDgzZmQ5ZWZhZWJmMDY5Y2FmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMKKysrIGIvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCkBAIC03
MCw3ICs3MCw3IEBACiAgICAgIkVycm9yLnByb3RvdHlwZSI6ICJbJ2NvbnN0cnVjdG9yJywgJ21l
c3NhZ2UnLCAnbmFtZScsICd0b1N0cmluZyddIiwKICAgICAiTWF0aCI6ICJbJ0UnLCdMTjEwJywn
TE4yJywnTE9HMTBFJywnTE9HMkUnLCdQSScsJ1NRUlQxXzInLCdTUVJUMicsJ2FicycsJ2Fjb3Mn
LCdhY29zaCcsJ2FzaW4nLCdhc2luaCcsJ2F0YW4nLCdhdGFuMicsJ2F0YW5oJywnY2JydCcsJ2Nl
aWwnLCdjbHozMicsJ2NvcycsJ2Nvc2gnLCdleHAnLCdleHBtMScsJ2Zsb29yJywnZnJvdW5kJywn
aHlwb3QnLCdpbXVsJywnbG9nJywnbG9nMTAnLCdsb2cxcCcsJ2xvZzInLCdtYXgnLCdtaW4nLCdw
b3cnLCdyYW5kb20nLCdyb3VuZCcsJ3NpZ24nLCdzaW4nLCdzaW5oJywnc3FydCcsJ3RhbicsJ3Rh
bmgnLCd0cnVuYyddIiwKICAgICAiSlNPTiI6ICJbJ3BhcnNlJywgJ3N0cmluZ2lmeSddIiwKLSAg
ICAiU3ltYm9sIjogIlsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFt
ZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJsZXMnXSIsCisgICAgIlN5bWJvbCI6ICJbJ2Zvcics
ICdpdGVyYXRvcicsICdrZXlGb3InLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3Nw
ZWNpZXMnLCAndW5zY29wYWJsZXMnXSIsCiAgICAgIlN5bWJvbC5wcm90b3R5cGUiOiAiWydjb25z
dHJ1Y3RvcicsICd0b1N0cmluZycsICd2YWx1ZU9mJ10iCiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256711</attachid>
            <date>2015-07-13 12:10:41 -0700</date>
            <delta_ts>2015-07-13 12:16:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150714040935.patch</filename>
            <type>text/plain</type>
            <size>132467</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YWRhMjk4YTFjMDc4NWFjOTQ2MjM5YzZmZWE0MDI0MzYzZGQ0ZjYwLi5mOGUwNmI1YzkxZTk4OWNl
OTY3MGE4MWJjNTJiMGUxMWEzOWMzNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNDAgQEAKKzIwMTUtMDctMTMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgQWNjb3JkaW5n
IHRvIHRoZSBFUzYgc3BlYywgQXJyYXlTcGVjaWVzQ3JlYXRlIGNyZWF0ZXMgdGhlIGFycmF5IGlu
IHRoZSBjdXJyZW50IHJlYWxtIGV2ZW4gaWYgdGhlIGdpdmVuIGNvbnN0cnVjdG9yIGlzCisgICAg
ICAgIEFycmF5IGNvbnN0cnVjdG9yIGluIHRoZSBvdGhlciByZWFsbSBvciB0aGUgY2FsbGluZyBm
dW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBvdGhlciByZWFsbS4KKyAgICAgICAgVG8gY3JlYXRl
IHRoZSBhcnJheSBpbiB0aGUgY3VycmVudCAoZXhlY3V0aW5nKSByZWFsbSBlZmZpY2llbnRseSwg
d2UgYWRkZWQgbmV3IGJ5dGVjb2RlIGludHJpbnNpYyBAbmV3QXJyYXlXaXRoU2l6ZShsZW5ndGgp
LgorICAgICAgICBJdCB3aWxsIGVtaXRzIGBvcF9uZXdfYXJyYXlfd2l0aF9zaXplYCBnZW5lcmF0
aW5nIHRoZSBhcnJheSBiZWxvbmdnaW5nIHRvIHRoZSBjdXJyZW50IHJlYWxtIGVmZmljaWVudGx5
LgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzOgorICAgICAgICAoZmls
dGVyKToKKyAgICAgICAgKG1hcCk6CisgICAgICAgIChzcGxpY2UpOgorICAgICAgICAqIGJ1aWx0
aW5zL0FycmF5Q29uc3RydWN0b3IuanM6CisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAg
ICAgKiBidWlsdGlucy9HbG9iYWxPYmplY3QuanM6CisgICAgICAgIChzcGVjaWVzQ29uc3RydWN0
b3IpOgorICAgICAgICAqIGJ1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qczoKKyAgICAgICAg
KHN5bWJvbEl0ZXJhdG9yKToKKyAgICAgICAgKFN5bWJvbEl0ZXJhdG9yKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBidWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qczogQ29waWVkIGZyb20gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcy4KKyAgICAgICAgKHN5
bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanM6IENv
cGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMu
CisgICAgICAgIChhcnJheVNwZWNpZXNDcmVhdGUpOgorICAgICAgICAqIGJ1aWx0aW5zL1Byb21p
c2UucHJvdG90eXBlLmpzOgorICAgICAgICAqIGJ1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5q
czoKKyAgICAgICAgKHJhY2UpOgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICog
YnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanM6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMuCisgICAgICAgIChzeW1ib2xTcGVj
aWVzKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAg
ICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0FycmF5V2l0aFNpemUpOgorICAg
ICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUludHJpbnNp
Y05vZGU6OmVtaXRfaW50cmluc2ljX25ld0FycmF5V2l0aFNpemUpOgorICAgICAgICAqIGRmZy9E
RkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpwdXRCeVZhbCk6CisgICAgICAg
IChKU0M6OkRGRzo6b3BlcmF0aW9uUHV0QnlWYWxJbnRlcm5hbCk6CisgICAgICAgICogaml0L0pJ
VE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6
CisgICAgICAgIChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5U3BlY2llc0NvbnN0
cnVjdG9yKToKKyAgICAgICAgKEpTQzo6Y3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk6CisgICAg
ICAgIChKU0M6OmFycmF5UHJvdG9GdW5jQ29uY2F0KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90
b0Z1bmNTbGljZSk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU3BsaWNlKToKKyAgICAg
ICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpCb29sZWFu
Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6
OkRhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3Ry
dWN0b3IuaDoKKyAgICAgICAgKEpTQzo6RXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAg
ICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
OkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlND
OjpKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9K
U0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6aXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFs
bSk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5Q29uc3RydWN0
b3IpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyYXlTcGVjaWVzR2V0dGVyRnVu
Y3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZGVmaW5lT3duSW5kZXhlZFByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6SlNPYmpl
Y3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSk6Cisg
ICAgICAgICogcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
OkpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2VD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNl
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6TWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBy
dW50aW1lL01hcENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAg
KEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9QdXRE
aXJlY3RJbmRleE1vZGUuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAg
ICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlJlZ0V4
cENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3Ry
dWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNw
cDoKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlWYWx1ZU1hcDo6cHV0RGlyZWN0KToKKyAgICAg
ICAgKiBydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN0cmluZ0Nv
bnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3Iu
aDoKKyAgICAgICAgKEpTQzo6U3ltYm9sQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6V2Vha01hcENvbnN0
cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmg6
CisgICAgICAgIChKU0M6OldlYWtTZXRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUp
OgorICAgICAgICAoc2hvdWxkVGhyb3cpOgorICAgICAgICAoLmdldCBFeHRlbmRlZEFycmF5KToK
KyAgICAgICAgKC5nZXQgc2hvdWxkQmUpOgorICAgICAgICAoLnNldCBzaG91bGRCZSk6CisgICAg
ICAgIChUZXN0KToKKyAgICAgICAgKC4pOgorCiAyMDE1LTA3LTEwICBGaWxpcCBQaXpsbyAgPGZw
aXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHOjpEZXNpcmVkV2F0Y2hwb2ludHMgc2hvdWxk
IGFjY2VwdCBXYXRjaHBvaW50U2V0VHlwZSdzIHRoYXQgYXJlbid0IG5lY2Vzc2FyaWx5IHBvaW50
ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJv
dG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlw
ZS5qcwppbmRleCBhZjQ2ZGQ4ZmVmZmU1MzRiY2Q0MDUzNGYzNGY3YmYyNWZhNWJlNDQzLi4zYjA5
NjQwYjU3MTkzZjQ2Y2JjOTRiZDNhNmIzNDc3OTRkOWNhMDYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKQEAgLTE2MSw3ICsxNjEs
NyBAQCBmdW5jdGlvbiBmaWx0ZXIoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAg
dGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maWx0ZXIgY2FsbGJhY2sgbXVz
dCBiZSBhIGZ1bmN0aW9uIik7CiAgICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVu
Z3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107
CisgICAgdmFyIHJlc3VsdCA9IEBhcnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIDApOwogICAgIHZh
ciBuZXh0SW5kZXggPSAwOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsK
ICAgICAgICAgaWYgKCEoaSBpbiBhcnJheSkpCkBAIC0xOTAsNyArMTkwLDcgQEAgZnVuY3Rpb24g
bWFwKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKSB7CiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVy
cm9yKCJBcnJheS5wcm90b3R5cGUubWFwIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpOwog
ICAgIAogICAgIHZhciB0aGlzQXJnID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNb
MV0gOiB1bmRlZmluZWQ7Ci0gICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHZhciByZXN1bHQgPSBA
YXJyYXlTcGVjaWVzQ3JlYXRlKGFycmF5LCBsZW5ndGgpOwogICAgIHJlc3VsdC5sZW5ndGggPSBs
ZW5ndGg7CiAgICAgdmFyIG5leHRJbmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBs
ZW5ndGg7IGkrKykgewpAQCAtNjQyLDMgKzY0Miw4MSBAQCBmdW5jdGlvbiBtaW5XaXRoTWF5YmVO
ZWdhdGl2ZVplcm9BbmRQb3NpdGl2ZShtYXliZU5lZ2F0aXZlWmVybywgcG9zaXRpdmUpCiAKICAg
ICByZXR1cm4gdGhpc09iamVjdDsKIH0KKworZnVuY3Rpb24gc3BsaWNlKHN0YXJ0LCBkZWxldGVD
b3VudCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2YXIgb2JqZWN0ID0gQE9iamVjdCh0
aGlzKTsKKyAgICB2YXIgbGVuZ3RoID0gQHRvTGVuZ3RoKG9iamVjdC5sZW5ndGgpOworICAgIHZh
ciBpdGVtT2Zmc2V0ID0gMjsKKworICAgIHZhciByZWxhdGl2ZVN0YXJ0ID0gQHRvSW50ZWdlcihz
dGFydCk7CisgICAgdmFyIGFjdHVhbFN0YXJ0OworICAgIGlmIChyZWxhdGl2ZVN0YXJ0IDwgMCkg
eworICAgICAgICBhY3R1YWxTdGFydCA9IGxlbmd0aCArIHJlbGF0aXZlU3RhcnQ7CisgICAgICAg
IGlmIChyZWxhdGl2ZVN0YXJ0IDw9IDApCisgICAgICAgICAgICBhY3R1YWxTdGFydCA9IDA7Cisg
ICAgfSBlbHNlCisgICAgICAgIGFjdHVhbFN0YXJ0ID0gKHJlbGF0aXZlU3RhcnQgPCBsZW5ndGgp
ID8gcmVsYXRpdmVTdGFydCA6IGxlbmd0aDsKKworICAgIHZhciBhcmd1bWVudHNMZW5ndGggPSBh
cmd1bWVudHMubGVuZ3RoOworICAgIHZhciBpbnNlcnRDb3VudDsKKyAgICB2YXIgYWN0dWFsRGVs
ZXRlQ291bnQ7CisgICAgaWYgKGFyZ3VtZW50c0xlbmd0aCAgPT09IDApIHsKKyAgICAgICAgaW5z
ZXJ0Q291bnQgPSAwOworICAgICAgICBhY3R1YWxEZWxldGVDb3VudCA9IDA7CisgICAgfSBlbHNl
IGlmIChhcmd1bWVudHNMZW5ndGggPT09IDEpIHsKKyAgICAgICAgaW5zZXJ0Q291bnQgPSAwOwor
ICAgICAgICBhY3R1YWxEZWxldGVDb3VudCA9IGxlbmd0aCAtIGFjdHVhbFN0YXJ0OworICAgIH0g
ZWxzZSB7CisgICAgICAgIGluc2VydENvdW50ID0gYXJndW1lbnRzTGVuZ3RoIC0gaXRlbU9mZnNl
dDs7CisgICAgICAgIHZhciBkYyA9IEB0b0xlbmd0aChkZWxldGVDb3VudCk7CisgICAgICAgIGlm
IChkYyA8PSAwKQorICAgICAgICAgICAgZGMgPSAwOworICAgICAgICBhY3R1YWxEZWxldGVDb3Vu
dCA9IGxlbmd0aCAtIGFjdHVhbFN0YXJ0OworICAgICAgICBpZiAoZGMgPCBhY3R1YWxEZWxldGVD
b3VudCkKKyAgICAgICAgICAgIGFjdHVhbERlbGV0ZUNvdW50ID0gZGM7CisgICAgfQorCisgICAg
aWYgKChsZW5ndGggKyBpbnNlcnRDb3VudCAtIGFjdHVhbERlbGV0ZUNvdW50KSA+IDB4MUZGRkZG
RkZGRkZGRkYpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCk7CisKKyAgICB2YXIgYXJy
YXkgPSBAYXJyYXlTcGVjaWVzQ3JlYXRlKG9iamVjdCwgYWN0dWFsRGVsZXRlQ291bnQpOworICAg
IGZvciAodmFyIGsgPSAwOyBrIDwgYWN0dWFsRGVsZXRlQ291bnQ7ICsraykgeworICAgICAgICB2
YXIgZnJvbSA9IGFjdGF1bFN0YXJ0ICsgazsKKyAgICAgICAgaWYgKGZyb20gaW4gb2JqZWN0KQor
ICAgICAgICAgICAgQHB1dEJ5VmFsRGlyZWN0KGFycmF5LCBrLCBvYmplY3RbZnJvbV0pOworICAg
IH0KKyAgICBhcnJheS5sZW5ndGggPSBhY3R1YWxEZWxldGVDb3VudDsKKworICAgIHZhciBpdGVt
Q291bnQgPSBhcmd1bWVudHNMZW5ndGggLSBpdGVtT2Zmc2V0OworICAgIGlmIChpdGVtQ291bnQg
PCBhY3R1YWxEZWxldGVDb3VudCkgeworICAgICAgICBmb3IgKHZhciBrID0gYWN0dWFsU3RhcnQs
IG1vdmVDb3VudCA9IGxlbmd0aCAtIGFjdHVhbERlbGV0ZUNvdW50OyBrIDwgbW92ZUNvdW50OyAr
K2spIHsKKyAgICAgICAgICAgIHZhciBmcm9tID0gayArIGFjdHVhbERlbGV0ZUNvdW50OworICAg
ICAgICAgICAgdmFyIHRvID0gayArIGl0ZW1Db3VudDsKKyAgICAgICAgICAgIGlmIChmcm9tIGlu
IG9iamVjdCkKKyAgICAgICAgICAgICAgICBvYmplY3RbdG9dID0gb2JqZWN0W2Zyb21dOworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmplY3RbdG9dOworICAgICAg
ICB9CisgICAgICAgIGZvciAodmFyIGsgPSBsZW5ndGgsIHJlbWFpbkNvdW50ID0gbGVuZ3RoIC0g
YWN0dWFsRGVsZXRlQ291bnQgKyBpdGVtQ291bnQ7IGxlbmd0aCA+IHJlbWFpbkNvdW50OyAtLWsp
CisgICAgICAgICAgICBkZWxldGUgb2JqZWN0W2sgLSAxXTsKKyAgICB9IGVsc2UgaWYgKGl0ZW1D
b3VudCA+IGFjdHVhbERlbGV0ZUNvdW50KSB7CisgICAgICAgIGZvciAodmFyIGsgPSBsZW5ndGgg
LSBhY3R1YWxEZWxldGVDb3VudDsgayA+IGFjdHVhbFN0YXJ0OyAtLWspIHsKKyAgICAgICAgICAg
IHZhciBmcm9tID0gayArIGFjdHVhbERlbGV0ZUNvdW50OworICAgICAgICAgICAgdmFyIHRvID0g
ayArIGl0ZW1Db3VudCAtIDE7CisgICAgICAgICAgICBpZiAoZnJvbSBpbiBvYmplY3QpCisgICAg
ICAgICAgICAgICAgb2JqZWN0W3RvXSA9IG9iamVjdFtmcm9tXTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBkZWxldGUgb2JqZWN0W3RvXTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGZvciAodmFyIGsgPSAwOyBrIDwgaXRlbUNvdW50OyArK2spCisgICAgICAgIG9iamVjdFth
Y3R1YWxTdGFydCArIGtdID0gYXJndW1lbnRzW2sgKyBpdGVtT2Zmc2V0XTsKKworICAgIG9iamVj
dC5sZW5ndGggPSBsZW5ndGggLSBhY3R1YWxEZWxldGVDb3VudCArIGl0ZW1Db3VudDsKKworICAg
IHJldHVybiBhcnJheTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9BcnJheUNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0FycmF5Q29uc3RydWN0b3IuanMKaW5kZXggNWE1NTFmNzM5OGY3OGYwYzI5YjBmNDNkOWVmY2Mz
N2VhYTIyZTMyNS4uMzRkZjYyNDAyNGJiZGFjOWFiMjc4MDU2YWRhZmMxNmE5MjYzNjlmNSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKQEAgLTEwNywzICsxMDcsMTAgQEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRo
aXNBcmcgKi8pIHsKICAgICByZXN1bHQubGVuZ3RoID0gYXJyYXlMaWtlTGVuZ3RoOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CisKK2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ug
c3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMKaW5kZXggNmFkYWRlZmJkOWE5NzAxNzc5MzY2MGFm
ZGIyM2E3NTUyYTIwN2FmOS4uY2M3YjJjYTkxYmYwYmUwNjllZTQ0MWNjYWQxYjM5OGVkMzYzZTk5
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVj
dC5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0Lmpz
CkBAIC01NSwzICs1NSwyMiBAQCBmdW5jdGlvbiBpc09iamVjdChvYmplY3QpCiAKICAgICByZXR1
cm4gKG9iamVjdCAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IikgfHwgdHlw
ZW9mIG9iamVjdCA9PT0gImZ1bmN0aW9uIjsKIH0KKworZnVuY3Rpb24gc3BlY2llc0NvbnN0cnVj
dG9yKG9iamVjdCwgZGVmYXVsdENvbnN0cnVjdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKwor
ICAgIHZhciBjb25zdHJ1Y3RvciA9IG9iamVjdC5jb25zdHJ1Y3RvcjsKKyAgICBpZiAoY29uc3Ry
dWN0b3IgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIm9iamVj
dCBkb2VzIG5vdCBoYXZlIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIpOworCisgICAgdmFyIHNw
ZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgPT09
IHVuZGVmaW5lZCB8fCBzcGVjaWVzID09PSBudWxsKQorICAgICAgICByZXR1cm4gZGVmYXVsdENv
bnN0cnVjdG9yOworCisgICAgLy8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKHNwZWNpZXMpLgor
ICAgIGlmICh0eXBlb2Ygc3BlY2llcyAhPT0gJ2Z1bmN0aW9uJykKKyAgICAgICAgdGhyb3cgbmV3
IEBUeXBlRXJyb3IoImNvbnN0cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3RvciIp
OworCisgICAgcmV0dXJuIHNwZWNpZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcwppbmRleCBkYzcyYTY0MDhiNDM2NzBh
OTM2MTlmYzYxZjJiZWMzMjc1ZTM5NWQ1Li4xZTliOThjODQzZDg2NzU1YzQ3NjMzNzY1NzlmNDk4
YTkyMDAyZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRl
cmF0b3IucHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9J
dGVyYXRvci5wcm90b3R5cGUuanMKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotZnVuY3Rpb24gU3ltYm9sSXRlcmF0b3IoKQorZnVuY3Rpb24gc3ltYm9sSXRlcmF0b3Io
KQogewogICAgICd1c2Ugc3RyaWN0JzsKICAgICByZXR1cm4gdGhpczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4
N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcENvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisg
ICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9PcGVyYXRpb25zLkFycmF5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMzA1MmU2NGMyMTA2OWVkNDRlZjFm
MTQ0YTkwNWY0ZThlNWQ1ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qcwpAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4u
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIGFy
cmF5U3BlY2llc0NyZWF0ZShvcmlnaW5hbEFycmF5LCBsZW5ndGgpCit7CisgICAgInVzZSBzdHJp
Y3QiOworCisgICAgaWYgKCFAaXNBcnJheShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAgcmV0dXJu
IEBuZXdBcnJheVdpdGhTaXplKGxlbmd0aCk7CisKKyAgICB2YXIgY29uc3RydWN0b3IgPSBvcmln
aW5hbEFycmF5LmNvbnN0cnVjdG9yOworCisgICAgLy8gRWFybHkgY2hlY2sgZm9yIHRoZSBjb21t
b24gcGF0aC4KKyAgICBpZiAoY29uc3RydWN0b3IgIT09IEBBcnJheSkgeworICAgICAgICAvLyBG
SVhNRTogVXNlIGlzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpLgorICAgICAgICBpZiAodHlwZW9m
IGNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iKSB7CisgICAgICAgICAgICBpZiAoQGlzQXJyYXlD
b25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0oY29uc3RydWN0b3IpKQorICAgICAgICAgICAgICAg
IHJldHVybiBAbmV3QXJyYXlXaXRoU2l6ZShsZW5ndGgpOworICAgICAgICB9CisgICAgfQorCisg
ICAgaWYgKEBpc09iamVjdChjb25zdHJ1Y3RvcikpIHsKKyAgICAgICAgY29uc3RydWN0b3IgPSBj
b25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgICAgIGlmIChjb25zdHJ1Y3RvciA9PT0g
bnVsbCkKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gdW5kZWZpbmVkOworICAgIH0KKworICAg
IGlmIChjb25zdHJ1Y3RvciA9PT0gdW5kZWZpbmVkIHx8IGNvbnN0cnVjdG9yID09PSBAQXJyYXkp
CisgICAgICAgIHJldHVybiBAbmV3QXJyYXlXaXRoU2l6ZShsZW5ndGgpOworCisgICAgLy8gRklY
TUU6IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKS4KKyAgICBpZiAodHlwZW9mIGNvbnN0
cnVjdG9yICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiZ2l2
ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpOworCisgICAgcmV0
dXJuIG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzCmluZGV4IDg1NjNkZjBkOTI3ZmIy
MzM5Njg5MzllMTQ5NDIzOTZlYzg1ZTY1YWEuLmNmNmEyMGZkODMyNWI4M2MxYjkwNzViNTkxMmM0
MzU5MDQwMTYzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Q
cm9taXNlLnByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
UHJvbWlzZS5wcm90b3R5cGUuanMKQEAgLTM3LDkgKzM3LDcgQEAgZnVuY3Rpb24gdGhlbihvbkZ1
bGZpbGxlZCwgb25SZWplY3RlZCkKICAgICBpZiAoIUBpc1Byb21pc2UodGhpcykpCiAgICAgICAg
IHRocm93IG5ldyBAVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7CiAKLSAgICAv
LyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3duIHN5bWJvbCBp
cyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NjYyNAotICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXMuY29uc3RydWN0b3I7CisgICAgdmFy
IGNvbnN0cnVjdG9yID0gQHNwZWNpZXNDb25zdHJ1Y3Rvcih0aGlzLCBAUHJvbWlzZSk7CiAKICAg
ICB2YXIgcmVzdWx0Q2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShjb25zdHJ1Y3Rv
cik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNl
Q29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNv
bnN0cnVjdG9yLmpzCmluZGV4IDFmODNiNDdmNzkwYTc1ZTViZjhjOTNkNWU2NjQ5NjE4Y2IxYWVj
NjcuLjNmOThlYmYzM2FlMjk3ODgzNmNmMTcyMTI4NjU4NWNhMTdlMGZiMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qcwpA
QCAtMzAsOSArMzAsMTAgQEAgZnVuY3Rpb24gYWxsKGl0ZXJhYmxlKQogICAgIGlmICghQGlzT2Jq
ZWN0KHRoaXMpKQogICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEg
b2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTogRml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3
ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAogICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXM7Cisg
ICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNw
ZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVjaWVzICE9PSBudWxsKQorICAgICAgICBjb25zdHJ1
Y3RvciA9IHNwZWNpZXM7CiAKICAgICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlz
ZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwogCkBAIC04Niw5ICs4NywxMCBAQCBmdW5jdGlvbiBy
YWNlKGl0ZXJhYmxlKQogICAgIGlmICghQGlzT2JqZWN0KHRoaXMpKQogICAgICAgICB0aHJvdyBu
ZXcgVHlwZUVycm9yKCJ8dGhpc3wgaXMgbm90IGEgb2JqZWN0Iik7CiAKLSAgICAvLyBGSVhNRTog
Rml4IHRoaXMgY29kZSB3aGVuIEBAc3BlY2llcyB3ZWxsLWtub3duIHN5bWJvbCBpcyBsYW5kZWQu
Ci0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAog
ICAgIHZhciBjb25zdHJ1Y3RvciA9IHRoaXM7CisgICAgdmFyIHNwZWNpZXMgPSBjb25zdHJ1Y3Rv
cltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgIT09IHVuZGVmaW5lZCAmJiBzcGVj
aWVzICE9PSBudWxsKQorICAgICAgICBjb25zdHJ1Y3RvciA9IHNwZWNpZXM7CiAKICAgICB2YXIg
cHJvbWlzZUNhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwog
CkBAIC0xMzcsMyArMTM5LDEwIEBAIGZ1bmN0aW9uIHJlc29sdmUodmFsdWUpCiAKICAgICByZXR1
cm4gcHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9CisKK2Z1bmN0aW9uIHN5bWJvbFNwZWNp
ZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI3ZDg3YTlkZDY4YTU1MzYxNWI4MmY5YzBiNGM5MWZkN2VmYTNkMjIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtp
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmlj
dCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggOGIyZjhlNjFm
YzFlNmIwNmRmZGM4M2ZjOTQ3MWM1NTlmNjM4OWJkMi4uY2FiYWQ0ZTI5MGQ5YmU2MGFlODU0ZDFj
YmMwYWVkYTc4NjYwYTI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3ODQsNiArMTc4NCwxNSBA
QCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0FycmF5KFJlZ2lzdGVySUQq
IGRzdCwgRWxlbWVudE5vZGUqIGVsZW1lbgogICAgIHJldHVybiBkc3Q7CiB9CiAKK1JlZ2lzdGVy
SUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyYXlXaXRoU2l6ZShSZWdpc3RlcklEKiBk
c3QsIFJlZ2lzdGVySUQqIGxlbmd0aCkKK3sKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJheV93
aXRoX3NpemUpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChkc3QtPmluZGV4KCkpOworICAg
IGluc3RydWN0aW9ucygpLmFwcGVuZChsZW5ndGgtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9u
cygpLmFwcGVuZChuZXdBcnJheUFsbG9jYXRpb25Qcm9maWxlKCkpOworICAgIHJldHVybiBkc3Q7
Cit9CisKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb24oUmVn
aXN0ZXJJRCogZHN0LCBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbikKIHsKICAgICByZXR1cm4g
ZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoZHN0LCBtX2NvZGVCbG9jay0+YWRkRnVuY3Rpb25EZWNs
KG1ha2VGdW5jdGlvbihmdW5jdGlvbikpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCAxYTk3NzFlZjEwNzk3
OWM0OWY1MWEzOTQzOTg0ZTYzMTgxYzg0ZGUzLi4zY2Q0NGFhMWM1ODUzODliNzllMGYxMzNkM2Rm
ZDU3M2Y5ODU2MjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00NTIsNiArNDUyLDcgQEAKICAgICAgICAg
dm9pZCBlbWl0VERaQ2hlY2soUmVnaXN0ZXJJRCogdGFyZ2V0KTsKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE5ld09iamVjdChSZWdpc3RlcklEKiBkc3QpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3QXJyYXkoUmVnaXN0ZXJJRCogZHN0LCBFbGVtZW50Tm9kZSosIHVuc2lnbmVkIGxlbmd0
aCk7IC8vIHN0b3BzIGF0IGZpcnN0IGVsaXNpb24KKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5l
d0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBsZW5ndGgpOwogCiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmN0
aW9uQm9keU5vZGUqKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJu
YWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggY2ZkM2VmMWZm
NmU4MDc1MmQ5ODBkNjkwMTQ3YzQ1MDc1MDdlNWY2MS4uZGNhNmZmMmU5ODA4ODI3NmFmYjAxNjJj
YTBhOTRjNjQwYzI5NWI4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtNzc2LDYgKzc3NiwxNSBAQCBSZWdpc3RlcklE
KiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZQogICAgIHJldHVybiAodGhpcy0+Km1fZW1pdHRlcikoZ2VuZXJhdG9yLCBk
c3QpOwogfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmlu
c2ljX25ld0FycmF5V2l0aFNpemUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0KQoreworICAgIEFyZ3VtZW50TGlzdE5vZGUqIG5vZGUgPSBtX2FyZ3MtPm1fbGlz
dE5vZGU7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGxlbmd0aCA9IGdlbmVyYXRvci5lbWl0Tm9k
ZShub2RlKTsKKyAgICBBU1NFUlQoIW5vZGUtPm1fbmV4dCk7CisKKyAgICByZXR1cm4gZ2VuZXJh
dG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBnZW5lcmF0b3IuZW1pdE5ld0FycmF5
V2l0aFNpemUoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpLCBsZW5ndGguZ2V0KCkpKTsK
K30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19w
dXRCeVZhbERpcmVjdChCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBk
c3QpCiB7CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogbm9kZSA9IG1fYXJncy0+bV9saXN0Tm9kZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IDZmOTUx
MmJhNTM0YzQ5MGQ0YmY5OThhZjVkMDgyNDQxMmRiYjkxNGUuLmY5YTUzYzEzOGZmZDg0ZTllODRh
NTFiNmI4NmE5YTBhYzI0MTNlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHV0QnlW
YWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgdWludDMyX3QgaW5kZXgsCiAg
ICAgQVNTRVJUKGlzSW5kZXgoaW5kZXgpKTsKICAgICBpZiAoZGlyZWN0KSB7CiAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKLSAgICAgICAgYXNPYmplY3QoYmFz
ZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBzdHJpY3QgPyBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CisgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4
LCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgaWYgKGJhc2VWYWx1ZS5pc09iamVjdCgpKSB7CkBAIC0xMjQsNyArMTI0LDcgQEAg
QUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFs
SW50ZXJuYWwoRXhlY1N0YXRlKiBleGUKICAgICBpZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICAgICAgaWYgKE9wdGlvbmFsPHVp
bnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgICAgIGFz
T2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZh
bHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5k
ZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXRE
aXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGly
ZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGRO
b3RUaHJvdyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSkt
PnB1dERpcmVjdCgqdm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIH0gZWxzZQpA
QCAtNTAxLDcgKzUwMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbERp
cmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0KEV4ZWNTdGF0ZSogZXhlCiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
CiAgICAgaWYgKGluZGV4ID49IDApIHsKLSAgICAgICAgYXJyYXktPnB1dERpcmVjdEluZGV4KGV4
ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgMCwgUHV0RGlyZWN0SW5k
ZXhTaG91bGRUaHJvdyk7CisgICAgICAgIGFycmF5LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRl
eCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIDAsIFB1dERpcmVjdEluZGV4Q3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCAzODAxNWQyZDgw
NGY5MzU5MjBmOTc1NmE3MWNhMmZkZmVhMTc5NTkwLi4xZTY0NTJlY2VmYTQxMTc0NDA1ZTlmNGUz
NjBhNGEyMTkwMmIzNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChD
YWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAg
ICAgICB9CiAKICAgICAgICAgYXJyYXlQcm9maWxlLT5zZXRPdXRPZkJvdW5kcygpOwotICAgICAg
ICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwg
aXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4
U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxs
RnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU0NCw3ICs1NDQsNyBAQCBzdGF0aWMgdm9pZCBk
aXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmplY3Qs
IEpTVmFsdWUgcwogICAgICAgICBkb3VibGUgc3Vic2NyaXB0QXNEb3VibGUgPSBzdWJzY3JpcHQu
YXNEb3VibGUoKTsKICAgICAgICAgdWludDMyX3Qgc3Vic2NyaXB0QXNVSW50MzIgPSBzdGF0aWNf
Y2FzdDx1aW50MzJfdD4oc3Vic2NyaXB0QXNEb3VibGUpOwogICAgICAgICBpZiAoc3Vic2NyaXB0
QXNEb3VibGUgPT0gc3Vic2NyaXB0QXNVSW50MzIgJiYgaXNJbmRleChzdWJzY3JpcHRBc1VJbnQz
MikpIHsKLSAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwg
c3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRl
eFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAg
ICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIHN1YnNjcmlwdEFzVUludDMy
LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVy
dHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC01NTUsNyArNTU1LDcgQEAgc3RhdGljIHZvaWQg
ZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTT2JqZWN0KiBiYXNlT2JqZWN0
LCBKU1ZhbHVlIHMKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90
PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXRE
aXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBpc1N0cmljdE1v
ZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RU
aHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5k
ZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRl
RGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAg
IGVsc2UgewogICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBpc1N0cmlj
dE1vZGUpOwogICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoY2FsbEZyYW1lLT52bSgpLCBw
cm9wZXJ0eSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKaW5kZXggOWNmZTg3MzQwZWU5MjM0MDgxYmZiZDk0NTI4ZTllOTA3
MjQ0YWFhOS4uOWIzODJhNTVlNzNkNGM0NGJhZDk4MGQ0Yjg1OGE1ZDgxYzZkY2UwZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC03OTEs
NyArNzkxLDcgQEAgaW5saW5lIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQpCiAgICAgaWYgKExJS0VMWShzdWJzY3Jp
cHQuaXNVSW50MzIoKSkpIHsKICAgICAgICAgLy8gRGVzcGl0ZSBpdHMgbmFtZSwgSlNWYWx1ZTo6
aXNVSW50MzIgd2lsbCByZXR1cm4gdHJ1ZSBvbmx5IGZvciBwb3NpdGl2ZSBib3hlZCBpbnQzMl90
OyBhbGwgdGhvc2UgdmFsdWVzIGFyZSB2YWxpZCBhcnJheSBpbmRpY2VzLgogICAgICAgICBBU1NF
UlQoaXNJbmRleChzdWJzY3JpcHQuYXNVSW50MzIoKSkpOwotICAgICAgICBiYXNlT2JqZWN0LT5w
dXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSwgdmFsdWUsIDAsIGlzU3Ry
aWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3Vs
ZE5vdFRocm93KTsKKyAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgc3Vi
c2NyaXB0LmFzVUludDMyKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRl
eENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93
KTsKICAgICAgICAgTExJTlRfRU5EKCk7CiAgICAgfQogCkBAIC03OTksNyArNzk5LDcgQEAgaW5s
aW5lIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwg
SlNWYWx1ZSBzdWJzY3JpcHQpCiAgICAgICAgIGRvdWJsZSBzdWJzY3JpcHRBc0RvdWJsZSA9IHN1
YnNjcmlwdC5hc0RvdWJsZSgpOwogICAgICAgICB1aW50MzJfdCBzdWJzY3JpcHRBc1VJbnQzMiA9
IHN0YXRpY19jYXN0PHVpbnQzMl90PihzdWJzY3JpcHRBc0RvdWJsZSk7CiAgICAgICAgIGlmIChz
dWJzY3JpcHRBc0RvdWJsZSA9PSBzdWJzY3JpcHRBc1VJbnQzMiAmJiBpc0luZGV4KHN1YnNjcmlw
dEFzVUludDMyKSkgewotICAgICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhl
Yywgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJ
bmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAg
ICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwg
dmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5
T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgICAgICAgICAgTExJ
TlRfRU5EKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC04MTAsNyArODEwLDcgQEAgaW5saW5lIEpT
VmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1
ZSBzdWJzY3JpcHQpCiAgICAgICAgIExMSU5UX0VORCgpOwogCiAgICAgaWYgKE9wdGlvbmFsPHVp
bnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RN
b2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90
VGhyb3cpOworICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52
YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRh
UHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9k
ZSk7CiAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBwcm9wZXJ0eSwg
dmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eUNvbnN0cnVjdG9yLmNwcAppbmRleCAxOTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4
ODAwODM2Li4zYjUzZDY2NGI2NjhmNGZhMzFiOGRmNmMwNDc2YzNkY2NkOTBmMDA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApA
QCAtMjksMTcgKzI5LDEyIEBACiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAi
R2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rp
b24uaCIKICNpbmNsdWRlICJMb29rdXAuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5h
bWVzcGFjZSBKU0MgewotCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eUNvbnN0cnVjdG9ySXNBcnJheShFeGVjU3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlD
b25zdHJ1Y3Rvci5sdXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAK
IHsKIH0KIAotdm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEFy
cmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKK3ZvaWQgQXJyYXlDb25zdHJ1Y3Rvcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBBcnJheVBy
b3RvdHlwZSogYXJyYXlQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
IGFycmF5UHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhcnJheVBy
b3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVy
KiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
KTsKKyAgICBzcGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBnbG9i
YWxPYmplY3QtPmFycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKCkpOworICAgIHB1dERpcmVjdE5v
bkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNp
ZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIGJvb2wgQXJyYXlDb25zdHJ1
Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCmluZGV4IDA0
MGYyNmM0Yzk5MDVhNDU3Njk0YzA1Yzg1NDQ3MDYwN2JiNDg0YTcuLjFkMjkzZGFmOTc4NjNiZGE3
NjQ0OTQ1NDZhYTBkYjhkMDg2MTgyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKQEAgLTM0LDEwICszNCwxMCBAQCBjbGFzcyBBcnJh
eUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50
ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVybmFsRnVuY3Rpb246OlN0
cnVjdHVyZUZsYWdzOwogCi0gICAgc3RhdGljIEFycmF5Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUp
CisgICAgc3RhdGljIEFycmF5Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBBcnJheVByb3RvdHlwZSog
YXJyYXlQcm90b3R5cGUpCiAgICAgewogICAgICAgICBBcnJheUNvbnN0cnVjdG9yKiBjb25zdHJ1
Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEFycmF5Q29uc3RydWN0b3I+KHZtLmhl
YXApKSBBcnJheUNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rv
ci0+ZmluaXNoQ3JlYXRpb24odm0sIGFycmF5UHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0
b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIGFycmF5UHJvdG90eXBlKTsKICAg
ICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNDksNyArNDksNyBAQCBjbGFz
cyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIH0KIAog
cHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBBcnJheVByb3RvdHlwZSop
OworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEFycmF5UHJv
dG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgQXJyYXlDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVy
ZSopOwpAQCAtNjAsNiArNjAsNyBAQCBjbGFzcyBBcnJheUNvbnN0cnVjdG9yIDogcHVibGljIElu
dGVybmFsRnVuY3Rpb24gewogfTsKIAogSlNPYmplY3QqIGNvbnN0cnVjdEFycmF5V2l0aFNpemVR
dWlyayhFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlKTsKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3Rv
cklzQXJyYXkoRXhlY1N0YXRlKik7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKaW5kZXggODdjZWFl
MWNiZWY1NWNmNzZiZTg1ODFlMTdjMmIzOWM3NTgwM2FkZS4uNDM3N2YyN2QzOWExZTRhNDM0Zjc4
ZTczZDZkZTYwOTJlMGY2ZGUzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMjQsMTEgKzI0LDEzIEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQXJyYXlQcm90b3R5cGUuaCIKIAorI2luY2x1ZGUgIkFycmF5Q29u
c3RydWN0b3IuaCIKICNpbmNsdWRlICJCdXR0ZXJmbHlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ2Fj
aGVkQ2FsbC5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvcGllZFNwYWNl
SW5saW5lcy5oIgogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgi
CiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJK
U0FycmF5SXRlcmF0b3IuaCIKQEAgLTQ5OSwxMyArNTAxLDc1IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNKb2luKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpvaW4oKmV4ZWMsIHRoaXNPYmplY3QsIHNlcGFyYXRvci0+dmll
dyhleGVjKSkpOwogfQogCitBTFdBWVNfSU5MSU5FIHN0YXRpYyBKU09iamVjdCogYXJyYXlTcGVj
aWVzQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb3JpZ2luYWxBcnJheSkK
K3sKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpOworCisgICAgaWYgKCFpc0pTQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAg
IHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpTQXJyYXkq
IGFycmF5ID0ganNDYXN0PEpTQXJyYXkqPihvcmlnaW5hbEFycmF5KTsKKyAgICBKU1ZhbHVlIGNv
bnN0cnVjdG9yVmFsdWUgPSBhcnJheS0+SlNBcnJheTo6Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5jb25zdHJ1Y3Rvcik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3Rvck9iamVjdCA9
IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKKyAgICBpZiAoIWNv
bnN0cnVjdG9yT2JqZWN0KQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0
cnVjdG9yKCk7CisKKyAgICAvLyBUaGUgbW9zdCBjb21tb24gcGF0aC4KKyAgICBpZiAoY29uc3Ry
dWN0b3JPYmplY3QgPT0gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAgICAg
ICAgUHJvcGVydHlTbG90IHNsb3QoY29uc3RydWN0b3JPYmplY3QpOworICAgICAgICBpZiAoY29u
c3RydWN0b3JPYmplY3QtPmdldFByb3BlcnR5U2xvdChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkuc3BlY2llc1N5bWJvbCwgc2xvdCkpIHsKKyAgICAgICAgICAgIGlmIChzbG90LmlzQWNjZXNz
b3IoKSkgeworICAgICAgICAgICAgICAgIEdldHRlclNldHRlciogYWNjZXNzb3IgPSBzbG90Lmdl
dHRlclNldHRlcigpOworICAgICAgICAgICAgICAgIGlmIChhY2Nlc3Nvci0+Z2V0dGVyKCkgPT0g
Z2xvYmFsT2JqZWN0LT5hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbigpKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0gc2xvdC5nZXRWYWx1ZShleGVj
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CisgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgY29uc3RydWN0b3JWYWx1ZSA9IGpzVW5kZWZpbmVkKCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1
Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yT2JqZWN0
LCBjb25zdHJ1Y3REYXRhKTsKKyAgICAgICAgaWYgKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0
VHlwZU5vbmUpIHsKKyAgICAgICAgICAgIGlmIChjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFsT2Jq
ZWN0KCkgIT0gZ2xvYmFsT2JqZWN0ICYmIGNvbnN0cnVjdG9yT2JqZWN0ID09IGNvbnN0cnVjdG9y
T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgfQor
ICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0gY29uc3RydWN0b3JPYmplY3QtPmdldChleGVjLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CisgICAgfQorICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoY29u
c3RydWN0b3JWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJy
YXlDb25zdHJ1Y3RvcigpOworCisgICAgaWYgKGNvbnN0cnVjdG9yVmFsdWUuaXNVbmRlZmluZWQo
KSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisg
ICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKK30K
Kworc3RhdGljIGJvb2wgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlKQoreworICAg
IHJldHVybiBvYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgUHV0
RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KTsKK30KKwogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiB7
CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT50aGlzVmFsdWUoKS50b1RoaXMoZXhlYywg
U3RyaWN0TW9kZSk7CisgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlzVmFsdWUudG9PYmpl
Y3QoZXhlYyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgSlNPYmplY3QqIGNvbnN0cnVj
dG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iamVjdCk7CisgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworICAgIGJvb2wgaXNBcnJheUNvbnN0cnVjdG9yID0gY29uc3RydWN0b3Ig
PT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAg
ICBKU1ZhbHVlIGN1ckFyZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBl
eGVjLT5hcmd1bWVudENvdW50KCk7Ci0gICAgSlNWYWx1ZSBjdXJBcmcgPSB0aGlzVmFsdWUudG9P
YmplY3QoZXhlYyk7CiAgICAgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGZpbmFs
QXJyYXlTaXplID0gMDsKLQogICAgIEpTQXJyYXkqIGN1cnJlbnRBcnJheSA9IG51bGxwdHI7CiAg
ICAgSlNBcnJheSogcHJldmlvdXNBcnJheSA9IG51bGxwdHI7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgOyArK2kpIHsKQEAgLTUyNiwxNyArNTkwLDMxIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNDb25jYXQoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmIChm
aW5hbEFycmF5U2l6ZS5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKIAotICAgIGlmIChhcmdDb3VudCA9
PSAxICYmIHByZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYmIGZpbmFsQXJyYXlTaXplLnVu
c2FmZUdldCgpIDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgeworICAgIGlmIChpc0FycmF5Q29u
c3RydWN0b3IgJiYgYXJnQ291bnQgPT0gMSAmJiBwcmV2aW91c0FycmF5ICYmIGN1cnJlbnRBcnJh
eSAmJiBmaW5hbEFycmF5U2l6ZS51bnNhZmVHZXQoKSA8IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVgp
IHsKICAgICAgICAgSW5kZXhpbmdUeXBlIHR5cGUgPSBKU0FycmF5OjpmYXN0Q29uY2F0VHlwZShl
eGVjLT52bSgpLCAqcHJldmlvdXNBcnJheSwgKmN1cnJlbnRBcnJheSk7CiAgICAgICAgIGlmICh0
eXBlICE9IE5vbkFycmF5KQogICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzQXJyYXktPmZhc3RD
b25jYXRXaXRoKCpleGVjLCAqY3VycmVudEFycmF5KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiBh
cnIgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVu
c2FmZUdldCgpKTsKLSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9
IG51bGxwdHI7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1Y3RvcikgeworICAgICAgICByZXN1bHQg
PSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2Fm
ZUdldCgpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUg
Y29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERh
dGEpOworICAgICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVND
SUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9u
IikpKTsKKworICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICBhcmdz
LmFwcGVuZChqc051bWJlcigwKSk7CisgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdChleGVjLCBj
b25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3RydWN0RGF0YSwgYXJncyk7CisgICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgfQogCi0gICAgY3VyQXJnID0gdGhpc1ZhbHVlLnRv
T2JqZWN0KGV4ZWMpOworICAgIGN1ckFyZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgbiA9
IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgOyArK2kpIHsKICAgICAgICAgaWYgKEpTQXJy
YXkqIGN1cnJlbnRBcnJheSA9IGpzRHluYW1pY0Nhc3Q8SlNBcnJheSo+KGN1ckFyZykpIHsKQEAg
LTU0OCwyMCArNjI2LDMwIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90
b0Z1bmNDb25jYXQoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9
IGdldFByb3BlcnR5KGV4ZWMsIGN1cnJlbnRBcnJheSwgayk7CiAgICAgICAgICAgICAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwotICAgICAgICAgICAgICAgIGlmICh2KQotICAgICAg
ICAgICAgICAgICAgICBhcnItPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICAg
ICAgICAgIGlmICh2KSB7CisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9y
VGhyb3coZXhlYywgcmVzdWx0LCBuLCB2KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgbisrOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgYXJy
LT5wdXREaXJlY3RJbmRleChleGVjLCBuLCBjdXJBcmcpOworICAgICAgICAgICAgY3JlYXRlRGF0
YVByb3BlcnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIG4sIGN1ckFyZyk7CisgICAgICAgICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgICAgIG4rKzsKICAgICAgICAgfQogICAg
ICAgICBpZiAoaSA9PSBhcmdDb3VudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjdXJB
cmcgPSBleGVjLT51bmNoZWNrZWRBcmd1bWVudChpKTsKICAgICB9Ci0gICAgYXJyLT5zZXRMZW5n
dGgoZXhlYywgbik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhcnIpOworCisgICAgaWYg
KGlzQXJyYXlDb25zdHJ1Y3RvcikKKyAgICAgICAganNDYXN0PEpTQXJyYXkqPihyZXN1bHQpLT5z
ZXRMZW5ndGgoZXhlYywgbik7CisgICAgZWxzZQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVz
dWx0LCBqc051bWJlcihuKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNQb3AoRXhl
Y1N0YXRlKiBleGVjKQpAQCAtNzMwLDIzICs4MTgsNTUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRnVuY1NsaWNlKEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIHVuc2ln
bmVkIGJlZ2luID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBs
ZW5ndGgpOwogICAgIHVuc2lnbmVkIGVuZCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0
T3JFbmQoZXhlYywgMSwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHVuc2lnbmVkIGNvdW50ID0gZW5k
IC0gYmVnaW47CiAKLSAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKSB7Ci0gICAgICAgIGlmIChK
U0FycmF5KiByZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2lu
LCBlbmQgLSBiZWdpbikpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3Vs
dCk7CisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3Io
ZXhlYywgdGhpc09iaik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgaWYgKGNvbnN0cnVj
dG9yID09IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSB7
CisgICAgICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpIHsKKyAgICAgICAgICAgIGlmIChKU0Fy
cmF5KiByZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBj
b3VudCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwor
ICAgICAgICB9CisKKyAgICAgICAgSlNBcnJheSogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlBcnJh
eShleGVjLCBudWxscHRyLCBjb3VudCk7CisKKyAgICAgICAgdW5zaWduZWQgbiA9IDA7CisgICAg
ICAgIGZvciAodW5zaWduZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4rKykgeworICAgICAg
ICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CisgICAgICAg
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIGlmICh2KQorICAgICAg
ICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgIH0K
KyAgICAgICAgcmVzdWx0LT5zZXRMZW5ndGgoZXhlYywgbik7CisgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUocmVzdWx0KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBjb25z
dHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGVuZCAtIGJlZ2luKTsKKyAgICBDb25zdHJ1
Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0g
Z2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgaWYgKGNv
bnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1
Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsKKworICAgIE1hcmtlZEFyZ3Vt
ZW50QnVmZmVyIGFyZ3M7CisgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoY291bnQpKTsKKyAgICBK
U09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RU
eXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdzKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICB1
bnNpZ25lZCBuID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGsgPSBiZWdpbjsgayA8IGVuZDsgaysr
LCBuKyspIHsKLSAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwg
ayk7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBr
KTsKICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgaWYgKHYpCi0gICAgICAg
ICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICBpZiAodmFs
dWUpIHsKKyAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0
LCBuLCB2YWx1ZSk7CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAg
ICAgfQogICAgIH0KLSAgICByZXN1bHQtPnNldExlbmd0aChleGVjLCBuKTsKKyAgICBwdXRMZW5n
dGgoZXhlYywgcmVzdWx0LCBqc051bWJlcihuKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShyZXN1bHQpOwogfQogCkBAIC03NjAsOSArODgwLDYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRnVuY1NwbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gZ2V0TGVuZ3RoKGV4ZWMsIHRoaXNPYmopOwogICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKLSAgICAKLSAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAog
ICAgIHVuc2lnbmVkIGJlZ2luID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChl
eGVjLCAwLCBsZW5ndGgpOwogCkBAIC03NzcsMjIgKzg5NCw1OCBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jU3BsaWNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAg
ICAgICAgIGRlbGV0ZUNvdW50ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlbGV0ZURvdWJsZSk7
CiAgICAgfQogCi0gICAgSlNBcnJheSogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBKU09iamVjdCog
Y29uc3RydWN0b3IgPSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqKTsKKyAg
ICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVsbHB0cjsKKyAg
ICBpZiAoY29uc3RydWN0b3IgPT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNv
bnN0cnVjdG9yKCkpIHsKKyAgICAgICAgSlNBcnJheSogcmVzdWx0QXJyYXkgPSBudWxscHRyOwor
CisgICAgICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQorICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAot
ICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpCi0gICAgICAgIHJlc3VsdCA9IGFzQXJyYXkodGhp
c09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGRlbGV0ZUNvdW50KTsKKyAgICAgICAgaWYg
KGlzSlNBcnJheSh0aGlzT2JqKSkKKyAgICAgICAgICAgIHJlc3VsdEFycmF5ID0gYXNBcnJheSh0
aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgZGVsZXRlQ291bnQpOwogCi0gICAgaWYg
KCFyZXN1bHQpIHsKLSAgICAgICAgcmVzdWx0ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFs
aXplZCh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZUZvcklu
ZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgZGVsZXRlQ291
bnQpOwotICAgICAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKKyAgICAgICAgaWYgKCFyZXN1bHRB
cnJheSkgeworICAgICAgICAgICAgcmVzdWx0QXJyYXkgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmlu
aXRpYWxpemVkKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJl
Rm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCBkZWxl
dGVDb3VudCk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdEFycmF5KQorICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKKwor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50OyArK2spIHsK
KyAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBr
ICsgYmVnaW4pOworICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
KyAgICAgICAgICAgICAgICByZXN1bHRBcnJheS0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSByZXN1bHRBcnJheTsK
KyAgICB9IGVsc2UgeworICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAg
ICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3Ry
dWN0b3IsIGNvbnN0cnVjdERhdGEpOworICAgICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25z
dHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dU
eXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVz
IGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsKKworICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBh
cmdzOworICAgICAgICBhcmdzLmFwcGVuZChqc051bWJlcihkZWxldGVDb3VudCkpOworICAgICAg
ICByZXN1bHQgPSBjb25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUsIGNv
bnN0cnVjdERhdGEsIGFyZ3MpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAg
ICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCBkZWxldGVDb3VudDsgKytrKSB7Ci0gICAgICAg
ICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgYmVnaW4pOwor
ICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsg
KyAgYmVnaW4pOwogICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAg
ICAgICByZXN1bHQtPmluaXRpYWxpemVJbmRleCh2bSwgaywgdik7CisgICAgICAgICAgICBpZiAo
dmFsdWUpIHsKKyAgICAgICAgICAgICAgICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMs
IHJlc3VsdCwgaywgdmFsdWUpOworICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICBwdXRMZW5ndGgoZXhl
YywgcmVzdWx0LCBqc051bWJlcihkZWxldGVDb3VudCkpOworICAgICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwogICAgIH0KIAogICAgIHVuc2lnbmVkIGFkZGl0aW9uYWxBcmdzID0gc3RkOjptYXg8
aW50PihleGVjLT5hcmd1bWVudENvdW50KCkgLSAyLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmgKaW5kZXggMTc3ZjY5ZTVjYjQ4
MmNhNWNkM2NkNTA2YWQxYTQwMzI3MDM4Nzc3Mi4uOGYxNjAwNGE2NWFjNzAxN2E4MThiYjA3YTJi
YmY2OTNjYTcyNzk1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Qm9vbGVhbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Qm9vbGVhbkNvbnN0cnVjdG9yLmgKQEAgLTMxLDcgKzMxLDcgQEAgY2xhc3MgQm9vbGVhbkNvbnN0
cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYg
SW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIEJvb2xlYW5Db25zdHJ1Y3Rvciog
Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJv
b2xlYW5Qcm90b3R5cGUpCisgICAgc3RhdGljIEJvb2xlYW5Db25zdHJ1Y3RvciogY3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3Rv
dHlwZSogYm9vbGVhblByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEJvb2xlYW5Db25zdHJ1Y3Rv
ciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxCb29sZWFuQ29uc3Ry
dWN0b3I+KHZtLmhlYXApKSBCb29sZWFuQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAg
ICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgYm9vbGVhblByb3RvdHlwZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApp
bmRleCA0MWI5NGYxYmY0N2JmYzY2ZDg3NjQ1MGMwMTMwMWU1NTIxZmY5NTZkLi5mNTU5OTdmMjM3
MmQwMWQ3OWZmMWFiYWY5YjgyZTA5MTA2NDJjMDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTIzNywyMiArMjM3LDIyIEBA
CiAgICAgbWFjcm8obWF0Y2gpIFwKICAgICBtYWNybyhyZXBsYWNlKSBcCiAgICAgbWFjcm8oc2Vh
cmNoKSBcCi0gICAgbWFjcm8oc3BlY2llcykgXAogICAgIG1hY3JvKHNwbGl0KSBcCiAgICAgbWFj
cm8odG9QcmltaXRpdmUpIFwKICAgICBtYWNybyh0b1N0cmluZ1RhZykKIAogI2RlZmluZSBKU0Nf
Q09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChtYWNybykg
XAogICAgIG1hY3JvKGl0ZXJhdG9yKSBcCisgICAgbWFjcm8oc3BlY2llcykgXAogICAgIG1hY3Jv
KHVuc2NvcGFibGVzKQogCiAjZGVmaW5lIEpTQ19DT01NT05fQllURUNPREVfSU5UUklOU0lDU19F
QUNIX05BTUUobWFjcm8pIFwKKyAgICBtYWNybyhuZXdBcnJheVdpdGhTaXplKSBcCiAgICAgbWFj
cm8ocHV0QnlWYWxEaXJlY3QpIFwKICAgICBtYWNybyh0b1N0cmluZykKIAogI2RlZmluZSBKU0Nf
Q09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKG1hY3JvKSBcCiAg
ICAgSlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNTX0VBQ0hfTkFNRShtYWNybykgXAotICAg
IG1hY3JvKHN5bWJvbEl0ZXJhdG9yKSBcCiAgICAgbWFjcm8oaXRlcmF0ZWRPYmplY3QpIFwKICAg
ICBtYWNybyhhcnJheUl0ZXJhdG9yTmV4dEluZGV4KSBcCiAgICAgbWFjcm8oYXJyYXlJdGVyYXRp
b25LaW5kKSBcCkBAIC0yODAsNiArMjgwLDcgQEAKICAgICBtYWNybyhhYnMpIFwKICAgICBtYWNy
byhmbG9vcikgXAogICAgIG1hY3JvKGlzRmluaXRlKSBcCisgICAgbWFjcm8oaXNBcnJheSkgXAog
ICAgIG1hY3JvKGdldFByb3RvdHlwZU9mKSBcCiAgICAgbWFjcm8oZ2V0T3duUHJvcGVydHlOYW1l
cykgXAogICAgIG1hY3JvKFR5cGVFcnJvcikgXApAQCAtMjk3LDYgKzI5OCw3IEBACiAgICAgbWFj
cm8ocHJvbWlzZVJlamVjdFJlYWN0aW9ucykgXAogICAgIG1hY3JvKHByb21pc2VSZXN1bHQpIFwK
ICAgICBtYWNybyhjYXBhYmlsaXRpZXMpIFwKKyAgICBtYWNybyhpc0FycmF5Q29uc3RydWN0b3JJ
bkRpZmZlcmVudFJlYWxtKSBcCiAKIAogbmFtZXNwYWNlIEpTQyB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oCmluZGV4IDA1NGY1NzFkNTc5ZThj
ZTRmMzRiNTQwOTE3YjhkMDI4YjUwZGZiOWIuLjc1OTZmYWQ5NjFlYTI4ZThmZTYyOWY0NTI0N2Y1
NjkwMzhkMzEwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVD
b25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIERhdGVDb25zdHJ1Y3RvciA6IHB1
YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFz
ZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBE
YXRlQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRl
UHJvdG90eXBlKiBkYXRlUHJvdG90eXBlKQorICAgIHN0YXRpYyBEYXRlQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQ
cm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCiAgICAgewogICAgICAgICBEYXRlQ29uc3RydWN0b3Iq
IGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RGF0ZUNvbnN0cnVjdG9y
Pih2bS5oZWFwKSkgRGF0ZUNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25z
dHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGRhdGVQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCmluZGV4IGIxMTg5NGRi
ZTRiNTYxNGZkMjMwYjYwZjZhZTNiYzhiYjM1ZDI5MmUuLmJmZWQ3Yzg3MzUxMWNiNWM5YmNhOTFm
MmJhMjMzNmY3MmIxMjdhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9yQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FcnJvckNvbnN0cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgRXJyb3JDb25zdHJ1
Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIElu
dGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBFcnJvckNvbnN0cnVjdG9yKiBjcmVh
dGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJv
dG90eXBlKQorICAgIHN0YXRpYyBFcnJvckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQ
cm90b3R5cGUpCiAgICAgewogICAgICAgICBFcnJvckNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEVycm9yQ29uc3RydWN0b3I+KHZtLmhlYXApKSBF
cnJvckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+Zmlu
aXNoQ3JlYXRpb24odm0sIGVycm9yUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCmluZGV4
IDNkMTRhOWVmNTVmNGMzMzBjMGVlNzhmMGY4NjM3NzNkMDVkY2Y4YzkuLjE3OTRiODRiNGRiZTI4
ZGY3M2JhNGE0YzRkZDFiZjhiNTg5NTYzYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcApAQCAtMjgs
OCArMjgsMTAgQEAKIAogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVs
cGVycy5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZm
ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCisjaW5jbHVkZSAiSlND
QnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKIApAQCAtNDcsMjIgKzQ5LDIwIEBACiB7CiB9CiAKLXZvaWQgSlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTQXJyYXlCdWZmZXJQcm90b3R5
cGUqIHByb3RvdHlwZSkKK3ZvaWQgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUqIHByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVND
SUlMaXRlcmFsKCJBcnJheUJ1ZmZlciIpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm90b3R5cGUsIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpOwotCi0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IHRoaXMtPmdsb2JhbE9iamVjdCgpOwogICAgIEpTQ19OQVRJVkVfRlVOQ1RJT04odm0ucHJvcGVy
dHlOYW1lcy0+aXNWaWV3LCBhcnJheUJ1ZmZlckZ1bmNJc1ZpZXcsIERvbnRFbnVtLCAxKTsKIH0K
IAotSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBl
KiBwcm90b3R5cGUpCitKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIEpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKIHsK
ICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIHJlc3VsdCA9CiAgICAgICAgIG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpCiAg
ICAgICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICByZXN1
bHQtPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOworICAgIHJlc3VsdC0+ZmluaXNoQ3Jl
YXRpb24odm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGI2NWI1MjNiNjRjNGJkYzdhZTIxNjUyZjFjZTIwMjM0
OTE1OWIzNDEuLjY0OTE0OTQ1NTZmODhhMjg4ODVlNTk1NzhiZmZkZDE1YzZmMmM0OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJD
b25zdHJ1Y3Rvci5oCkBAIC0zOCwxMCArMzgsMTAgQEAgY2xhc3MgSlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogCiBwcm90ZWN0ZWQ6CiAgICAgSlNB
cnJheUJ1ZmZlckNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7Ci0gICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKik7CiAK
IHB1YmxpYzoKLSAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
LCBTdHJ1Y3R1cmUqLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKik7CisgICAgc3RhdGljIEpTQXJy
YXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKik7CiAgICAgCiAgICAgREVDTEFSRV9JTkZPOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCmluZGV4IDEwYmYxNzc4MjAyMmM0Nzk0ZDMwZTcwZWZiMmJlZjVkZjI0MmNlMTguLmE4MTZl
MDA0MDQxMDBlOWEyMDBjZWJhYjg0ZjhiZmZlNGU3MGNjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTE5NSw2ICsxOTUsMTYg
QEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZW5xdWV1ZUpvYihFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0K
IAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgaXNBcnJheUNvbnN0cnVjdG9y
SW5EaWZmZXJlbnRSZWFsbShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKworICAgIEpTVmFs
dWUgY29uc3RydWN0b3JWYWx1ZSA9IGV4ZWMtPmFyZ3VtZW50KDApOworICAgIGlmIChKU09iamVj
dCogY29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4oY29uc3RydWN0b3JWYWx1
ZSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGNvbnN0cnVjdG9y
LT5nbG9iYWxPYmplY3QoKSAhPSBnbG9iYWxPYmplY3QgJiYgY29uc3RydWN0b3IgPT0gY29uc3Ry
dWN0b3ItPmdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpKTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkpOworfQorCiBKU0dsb2JhbE9iamVjdDo6
SlNHbG9iYWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgR2xvYmFs
T2JqZWN0TWV0aG9kVGFibGUqIGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKQogICAgIDogQmFzZSh2
bSwgc3RydWN0dXJlLCAwKQogICAgICwgbV92bSh2bSkKQEAgLTI3MCw2ICsyODAsNyBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBtX2NhbGxGdW5jdGlvbi5zZXQodm0s
IHRoaXMsIGNhbGxGdW5jdGlvbik7CiAgICAgbV9hcHBseUZ1bmN0aW9uLnNldCh2bSwgdGhpcywg
YXBwbHlGdW5jdGlvbik7CiAgICAgbV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb24uc2V0KHZtLCB0
aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIHZtLnByb3BlcnR5TmFtZXMtPnZh
bHVlcy5zdHJpbmcoKSwgYXJyYXlQcm90b0Z1bmNWYWx1ZXMpKTsKKyAgICBtX2FycmF5U3BlY2ll
c0dldHRlckZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1
bmN0aW9uKHZtLCBhcnJheUNvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0b3Iodm0p
LCB0aGlzLCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CiAjaWYgRU5BQkxFKFBST01JU0VTKQog
ICAgIG1faW5pdGlhbGl6ZVByb21pc2VGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246
OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJbml0aWFsaXplUHJv
bWlzZUNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSk7CiAgICAgbV9uZXdQcm9taXNlRGVmZXJyZWRG
dW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2
bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlRGVmZXJyZWRDb2RlR2VuZXJhdG9yKHZtKSwg
dGhpcykpOwpAQCAtMzc3LDEyICszODgsMTIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChW
TSYgdm0pCiAgICAgbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLnNldCh2bSwgdGhpcywgZGVmaW5l
UHJvcGVydHlGdW5jdGlvbik7CiAKICAgICBKU0NlbGwqIGZ1bmN0aW9uQ29uc3RydWN0b3IgPSBG
dW5jdGlvbkNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEZ1bmN0aW9uQ29uc3RydWN0b3I6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fZnVuY3Rp
b25Qcm90b3R5cGUuZ2V0KCkpOwotICAgIEpTQ2VsbCogYXJyYXlDb25zdHJ1Y3RvciA9IEFycmF5
Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9hcnJheVByb3RvdHlwZS5n
ZXQoKSk7CisgICAgbV9hcnJheUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgQXJyYXlDb25zdHJ1
Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90eXBlLmdl
dCgpKSk7CiAgICAgCi0gICAgbV9yZWdFeHBDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIFJlZ0V4
cENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFByb3RvdHlw
ZS5nZXQoKSkpOworICAgIG1fcmVnRXhwQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBSZWdFeHBD
b25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9yZWdFeHBQcm90
b3R5cGUuZ2V0KCkpKTsKICAgICAKICNkZWZpbmUgQ1JFQVRFX0NPTlNUUlVDVE9SX0ZPUl9TSU1Q
TEVfVFlQRShjYXBpdGFsTmFtZSwgbG93ZXJOYW1lLCBwcm9wZXJOYW1lLCBpbnN0YW5jZVR5cGUs
IGpzTmFtZSkgXAotY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25z
dHJ1Y3RvciA9IGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIGNhcGl0YWxO
YW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgpKTsgXAor
Y2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGNh
cGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIGNhcGl0YWxOYW1lICMj
IENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpLCBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgpKTsgXAogbV8gIyMg
bG93ZXJOYW1lICMjIFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IsIERv
bnRFbnVtKTsgXAogCiAgICAgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShDUkVBVEVfQ09O
U1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKQpAQCAtNDAwLDEyICs0MTEsMTIgQEAgdm9pZCBKU0ds
b2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgbV90eXBlRXJyb3JDb25zdHJ1Y3Rvci5zZXQo
dm0sIHRoaXMsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgbmF0aXZl
RXJyb3JTdHJ1Y3R1cmUsIG5hdGl2ZUVycm9yUHJvdG90eXBlU3RydWN0dXJlLCBBU0NJSUxpdGVy
YWwoIlR5cGVFcnJvciIpKSk7CiAgICAgbV9VUklFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhp
cywgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0
cnVjdHVyZSwgbmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVVJJ
RXJyb3IiKSkpOwogI2lmIEVOQUJMRShQUk9NSVNFUykKLSAgICBtX3Byb21pc2VDb25zdHJ1Y3Rv
ci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3Byb21pc2VDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRo
aXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKICNlbmRp
ZgogICAgIAogICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG9iamVjdENvbnN0cnVjdG9yLCBE
b250RW51bSk7CiAgICAgbV9mdW5jdGlvblByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBmdW5jdGlvbkNvbnN0cnVj
dG9yLCBEb250RW51bSk7Ci0gICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBhcnJheUNvbnN0cnVj
dG9yLCBEb250RW51bSk7CisgICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX2FycmF5Q29uc3Ry
dWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBtX3JlZ0V4cFByb3RvdHlwZS0+cHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Jl
Z0V4cENvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAjaWYgRU5BQkxFKFBST01JU0VTKQog
ICAgIG1fcHJvbWlzZVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5nZXQoKSwg
RG9udEVudW0pOwpAQCAtNDEzLDcgKzQyNCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQo
Vk0mIHZtKQogICAgIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5PYmplY3QsIG9iamVjdENvbnN0cnVjdG9yLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkZ1bmN0aW9uLCBm
dW5jdGlvbkNvbnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkFycmF5LCBhcnJheUNvbnN0cnVjdG9yLCBEb250
RW51bSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFt
ZXMtPkFycmF5LCBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+UmVnRXhwLCBtX3Jl
Z0V4cENvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkV2YWxFcnJvciwgbV9ldmFsRXJyb3JDb25z
dHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SYW5nZUVycm9yLCBtX3JhbmdlRXJyb3JDb25zdHJ1Y3Rv
ci5nZXQoKSwgRG9udEVudW0pOwpAQCAtNDkzLDkgKzUwNCwxMCBAQCB2b2lkIEpTR2xvYmFsT2Jq
ZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5
TmFtZXMtPm9iamVjdEdldE93blByb3BlcnR5U3ltYm9sc1ByaXZhdGVOYW1lLCBwcml2YXRlRnVu
Y09iamVjdEdldE93blByb3BlcnR5U3ltYm9scywgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+Z2V0
VGVtcGxhdGVPYmplY3RQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNHZXRUZW1wbGF0ZU9iamVjdCwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8odm0ucHJvcGVydHlOYW1lcy0+ZW5xdWV1ZUpvYlByaXZhdGVOYW1lLCBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0cmluZygpLCBlbnF1ZXVlSm9iKSwgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+aXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbVByaXZhdGVOYW1l
LCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBpc0FycmF5Q29uc3Ry
dWN0b3JJbkRpZmZlcmVudFJlYWxtKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+VHlwZUVycm9y
UHJpdmF0ZU5hbWUsIG1fdHlwZUVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3Bl
cnR5TmFtZXMtPkJ1aWx0aW5Mb2dQcml2YXRlTmFtZSwgYnVpbHRpbkxvZywgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+QXJyYXlQcml2YXRlTmFtZSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+QXJyYXlQcml2YXRlTmFtZSwgbV9hcnJheUNvbnN0cnVjdG9yLmdldCgp
LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5OdW1iZXJQcml2YXRlTmFtZSwgbnVtYmVyQ29uc3Ry
dWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlN0cmluZ1ByaXZhdGVOYW1lLCBzdHJpbmdD
b25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YWJzUHJpdmF0ZU5hbWUsIHByaXZh
dGVGdW5jQWJzLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCkBAIC01MDMsMTAg
KzUxNSwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFByb3RvdHlwZU9mUHJpdmF0ZU5h
bWUsIHByaXZhdGVGdW5jRmxvb3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwK
ICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldE93blByb3Bl
cnR5TmFtZXNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNGbG9vciwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+aXNGaW5pdGVQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNJc0Zpbml0ZSwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+aXNBcnJheVByaXZhdGVOYW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IHRoaXMsIDEsIFN0cmluZygpLCBhcnJheUNvbnN0cnVjdG9ySXNBcnJheSksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVByaXZhdGVOYW1lLCBqc051bWJlcihB
cnJheUl0ZXJhdGVLZXkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktp
bmRWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVWYWx1ZSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVZhbHVlUHJpdmF0ZU5hbWUsIGpz
TnVtYmVyKEFycmF5SXRlcmF0ZUtleVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+c3lt
Ym9sSXRlcmF0b3JQcml2YXRlTmFtZSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5
bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbEl0ZXJhdG9yUHJpdmF0
ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbEltcGwmPigqdm0u
cHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5
TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbFNwZWNpZXNQcml2YXRlTmFtZSgpLCBTeW1ib2w6
OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5z
cGVjaWVzU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJv
cGVydHlOYW1lcy0+UHJvbWlzZVByaXZhdGVOYW1lLCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5nZXQo
KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9w
ZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+cHJvbWlzZVBlbmRpbmdQcml2YXRlTmFtZSwganNO
dW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSks
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKQEAgLTUxNiw2ICs1MzAsOCBAQCB2
b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnRvTGVuZ3RoUHJpdmF0ZU5hbWUo
KSwgcHJpdmF0ZUZ1bmNUb0xlbmd0aCwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkudG9JbnRlZ2VyUHJpdmF0ZU5hbWUoKSwgcHJpdmF0ZUZ1bmNUb0ludGVnZXIsIERvbnRF
bnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZv
KHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmlzT2JqZWN0UHJpdmF0ZU5hbWUoKSwg
SlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3RJc09iamVj
dENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkuc3BlY2llc0NvbnN0cnVjdG9yUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3Jl
YXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3RTcGVjaWVzQ29uc3RydWN0b3JDb2Rl
R2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwK
KyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1l
cygpLmFycmF5U3BlY2llc0NyZWF0ZVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1
aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc0FycmF5QXJyYXlTcGVjaWVzQ3JlYXRlQ29kZUdl
bmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMo
KS5pc1Byb21pc2VQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rp
b24odm0sIG9wZXJhdGlvbnNQcm9taXNlSXNQcm9taXNlQ29kZUdlbmVyYXRvcih2bSksIHRoaXMp
LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5uZXdQcm9taXNlUmVhY3Rp
b25Qcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIG9w
ZXJhdGlvbnNQcm9taXNlTmV3UHJvbWlzZVJlYWN0aW9uQ29kZUdlbmVyYXRvcih2bSksIHRoaXMp
LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5uZXdQcm9taXNlQ2FwYWJp
bGl0eVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwg
b3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlQ2FwYWJpbGl0eUNvZGVHZW5lcmF0b3Iodm0pLCB0
aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTMxLDcgKzU0Nyw3
IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIG1fc3BlY2lhbFBvaW50
ZXJzW1NwZWNpYWw6OkNhbGxGdW5jdGlvbl0gPSBtX2NhbGxGdW5jdGlvbi5nZXQoKTsKICAgICBt
X3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpBcHBseUZ1bmN0aW9uXSA9IG1fYXBwbHlGdW5jdGlv
bi5nZXQoKTsKICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpPYmplY3RDb25zdHJ1Y3Rv
cl0gPSBvYmplY3RDb25zdHJ1Y3RvcjsKLSAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpB
cnJheUNvbnN0cnVjdG9yXSA9IGFycmF5Q29uc3RydWN0b3I7CisgICAgbV9zcGVjaWFsUG9pbnRl
cnNbU3BlY2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCk7
CiAKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGlt
ZUNvbnN0YW50OjpEZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKV0gPSBtX2RlZmluZVByb3BlcnR5RnVu
Y3Rpb24uZ2V0KCk7CiAKQEAgLTc2MSw2ICs3NzcsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2
aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xvYmFsVGhpcyk7CiAKICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9nbG9iYWxDYWxsZWUpOworICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX2FycmF5Q29uc3RydWN0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX3JlZ0V4cENvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9lcnJvckNvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9ldmFsRXJyb3JDb25zdHJ1Y3Rvcik7CkBAIC03ODMsNiArODAwLDcgQEAgdm9pZCBKU0ds
b2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNp
dG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FwcGx5RnVuY3Rpb24pOwog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2RlZmluZVByb3BlcnR5RnVuY3Rpb24p
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5UHJvdG9WYWx1ZXNGdW5j
dGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyYXlTcGVjaWVzR2V0
dGVyRnVuY3Rpb24pOwogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uKTsKICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA1OTRkOTY2
MjIzMzc4ZDFkMWFhYjhmNDc1OTVhZGUwODIyYzE4MjIzLi41ZDdlZDNkZjYxN2FhYWJjMmUyNzMz
YWIzOGNjOGMxODc2MmUyZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgKQEAgLTU1LDYgKzU1LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAK
K2NsYXNzIEFycmF5Q29uc3RydWN0b3I7CiBjbGFzcyBBcnJheVByb3RvdHlwZTsKIGNsYXNzIEJv
b2xlYW5Qcm90b3R5cGU7CiBjbGFzcyBDb25zb2xlQ2xpZW50OwpAQCAtMTc4LDYgKzE3OSw3IEBA
IGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qg
ewogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9nbG9iYWxUaGlzOwogCiAgICAgV3JpdGVC
YXJyaWVyPEpTT2JqZWN0PiBtX2dsb2JhbENhbGxlZTsKKyAgICBXcml0ZUJhcnJpZXI8QXJyYXlD
b25zdHJ1Y3Rvcj4gbV9hcnJheUNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxSZWdFeHBD
b25zdHJ1Y3Rvcj4gbV9yZWdFeHBDb25zdHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8RXJyb3JD
b25zdHJ1Y3Rvcj4gbV9lcnJvckNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxOYXRpdmVF
cnJvckNvbnN0cnVjdG9yPiBtX2V2YWxFcnJvckNvbnN0cnVjdG9yOwpAQCAtMjAxLDYgKzIwMyw3
IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QgewogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2FwcGx5RnVuY3Rpb247CiAgICAg
V3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbjsKICAgICBX
cml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb247CisgICAg
V3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb247CiAj
aWYgRU5BQkxFKFBST01JU0VTKQogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2luaXRp
YWxpemVQcm9taXNlRnVuY3Rpb247CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fbmV3
UHJvbWlzZURlZmVycmVkRnVuY3Rpb247CkBAIC0zOTMsNiArMzk2LDcgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgLy8gVGhl
IGZvbGxvd2luZyBhY2Nlc3NvcnMgcmV0dXJuIHByaXN0aW5lIHZhbHVlcywgZXZlbiBpZiBhIHNj
cmlwdCAKICAgICAvLyByZXBsYWNlcyB0aGUgZ2xvYmFsIG9iamVjdCdzIGFzc29jaWF0ZWQgcHJv
cGVydHkuCiAKKyAgICBBcnJheUNvbnN0cnVjdG9yKiBhcnJheUNvbnN0cnVjdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOyB9CiAgICAgUmVnRXhwQ29uc3RydWN0
b3IqIHJlZ0V4cENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9yZWdFeHBDb25zdHJ1Y3Rv
ci5nZXQoKTsgfQogCiAgICAgRXJyb3JDb25zdHJ1Y3RvciogZXJyb3JDb25zdHJ1Y3RvcigpIGNv
bnN0IHsgcmV0dXJuIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQoKTsgfQpAQCAtNDE3LDYgKzQyMSw3
IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QgewogICAgIEpTRnVuY3Rpb24qIGFwcGx5RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2Fw
cGx5RnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBkZWZpbmVQcm9wZXJ0eUZ1bmN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLmdldCgpOyB9CiAg
ICAgSlNGdW5jdGlvbiogYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICBKU0Z1bmN0aW9uKiBhcnJh
eVNwZWNpZXNHZXR0ZXJGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlTcGVjaWVzR2V0
dGVyRnVuY3Rpb24uZ2V0KCk7IH0KICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgSlNGdW5jdGlv
biogaW5pdGlhbGl6ZVByb21pc2VGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbGl6
ZVByb21pc2VGdW5jdGlvbi5nZXQoKTsgfQogICAgIEpTRnVuY3Rpb24qIG5ld1Byb21pc2VEZWZl
cnJlZEZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlv
bi5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmlu
ZGV4IGQyMGRhYTIwNDUxZDJmYmVmMzNiY2Q5MTM0OTEwNGYxZmJjYjU4NzMuLjgyMWU2YzdlMDU4
MmRlZjU0ZTA4ZGIyYzJjYmUwYWI5MmE1ZTQwZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAKQEAgLTE3NDgsNyArMTc0OCw3IEBAIGJvb2wgSlNPYmplY3Q6
OmRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4
LCBjb25zdCBQCiAgICAgICAgIC8vIHN0YXRlIChpLmUuIGRlZmluZU93blByb3BlcnR5IGNvdWxk
IGJlIHVzZWQgdG8gc2V0IGEgdmFsdWUgd2l0aG91dCBuZWVkaW5nIHRvIGVudGVyaW5nICdTcGFy
c2VNb2RlJykuCiAgICAgICAgIGlmICghZGVzY3JpcHRvci5hdHRyaWJ1dGVzKCkpIHsKICAgICAg
ICAgICAgIEFTU0VSVCghZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpKTsKLSAgICAg
ICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgZGVzY3JpcHRvci52YWx1
ZSgpLCAwLCB0aHJvd0V4Y2VwdGlvbiA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXRE
aXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJ
bmRleChleGVjLCBpbmRleCwgZGVzY3JpcHRvci52YWx1ZSgpLCAwLCB0aHJvd0V4Y2VwdGlvbiA/
IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4
U2hvdWxkTm90VGhyb3cpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBlbnN1cmVBcnJh
eVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoZXhlYy0+dm0oKSk7
CkBAIC0yMTQ0LDkgKzIxNDQsOSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9u
ZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICBp
ZiAobW9kZSAhPSBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QpIHsKICAgICAgICAgICAgIC8v
IFByb2hpYml0IGdyb3dpbmcgdGhlIGFycmF5IGlmIGxlbmd0aCBpcyBub3Qgd3JpdGFibGUuCiAg
ICAgICAgICAgICBpZiAobWFwLT5sZW5ndGhJc1JlYWRPbmx5KCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csIFN0
cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9k
ZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csIFN0cmljdE1vZGVS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CiAgICAgICAgICAgICBpZiAoIWlzRXh0ZW5zaWJs
ZSgpKQotICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2Jq
ZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJl
amVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQ
dXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csICJBdHRlbXB0aW5nIHRvIGRl
ZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKICAgICAg
ICAgfQogICAgICAgICBsZW5ndGggPSBpICsgMTsKICAgICAgICAgc3RvcmFnZS0+c2V0TGVuZ3Ro
KGxlbmd0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b21pc2VDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b21pc2VDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNjg5NWVkODJmYWQ4MDc3Y2Q3Y2ZjMzA0NDFlNDY5
MTA0Y2IyZWYyYy4uZTVmMDE3MWVlY2U1NWVjZWE2YmI3ZDY0ODUxNzE1OWJmYjkzOTRhYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0
cnVjdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNs
dWRlICJFeGNlcHRpb24uaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJ
dGVyYXRvck9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUg
IkpTQ0pTVmFsdWVJbmxpbmVzLmgiCkBAIC02MSwxMCArNjIsMTAgQEAKIEBlbmQKICovCiAKLUpT
UHJvbWlzZUNvbnN0cnVjdG9yKiBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlw
ZSkKK0pTUHJvbWlzZUNvbnN0cnVjdG9yKiBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKIHsKICAgICBKU1Byb21pc2VD
b25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1By
b21pc2VDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTUHJvbWlzZUNvbnN0cnVjdG9yKHZtLCBzdHJ1
Y3R1cmUpOwotICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvbWlzZVByb3Rv
dHlwZSk7CisgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3Qs
IHByb21pc2VQcm90b3R5cGUpOwogICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKIH0KIApAQCAtNzgs
MTEgKzc5LDE0IEBAIFN0cnVjdHVyZSogSlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVj
dHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiB7CiB9CiAKLXZvaWQgSlNQcm9t
aXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNQcm9taXNlUHJvdG90eXBl
KiBwcm9taXNlUHJvdG90eXBlKQordm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1Byb21pc2VQcm90
b3R5cGUqIHByb21pc2VQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
IEFTQ0lJTGl0ZXJhbCgiUHJvbWlzZSIpKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm9taXNlUHJvdG90eXBlLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5
IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nl
c3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNp
ZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb246OmNyZWF0
ZUJ1aWx0aW5GdW5jdGlvbih2bSwgcHJvbWlzZUNvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVH
ZW5lcmF0b3Iodm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKKyAg
ICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVz
U3ltYm9sLCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RQcm9taXNlKEV4ZWNTdGF0
ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
bWlzZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21p
c2VDb25zdHJ1Y3Rvci5oCmluZGV4IGZjMGYwNGQyYjJiNDM2OThhOTA0YzUxZTJmZGRiYTdhMzgx
MjY2ZjIuLjNmZGQzNzI5YzlmZmE5YzcyM2YzYjRiNWIzNTUzNDQ5N2E3YWY4NjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3Iu
aApAQCAtNDAsMTMgKzQwLDEzIEBAIGNsYXNzIEpTUHJvbWlzZUNvbnN0cnVjdG9yIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIEpTUHJv
bWlzZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqLCBKU1Byb21pc2VQcm90b3R5
cGUqKTsKKyAgICBzdGF0aWMgSlNQcm9taXNlQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNQcm9taXNlUHJvdG90eXBlKik7CiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVl
KTsKIAogICAgIERFQ0xBUkVfSU5GTzsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBKU1Byb21pc2VQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1Byb21pc2VQcm90b3R5cGUqKTsKIAogcHJpdmF0ZToK
ICAgICBKU1Byb21pc2VDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCmluZGV4IGZhZDUyYzA1
NjA0OGUxOGI3ZWVjNDk4ZmYxNDk1M2ZkOTBmY2ZlZGQuLjAwZmU5OGU3YWMyZDljOTIyMzQ1ZTdh
MTU5ZGViZmQ1NTk3MmZkYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hcENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXBDb25zdHJ1Y3Rvci5jcHAKQEAgLTI3LDcgKzI3LDkgQEAKICNpbmNsdWRlICJNYXBDb25z
dHJ1Y3Rvci5oIgogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIu
aCIKICNpbmNsdWRlICJJdGVyYXRvck9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlu
cy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDZWxsSW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCkBAIC0zOSwxMSArNDEsMTQgQEAK
IAogY29uc3QgQ2xhc3NJbmZvIE1hcENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIs
ICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFwQ29uc3RydWN0b3IpIH07
CiAKLXZvaWQgTWFwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgTWFwUHJvdG90
eXBlKiBtYXBQcm90b3R5cGUpCit2b2lkIE1hcENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIE1hcFByb3RvdHlwZSogbWFwUHJv
dG90eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBtYXBQcm90b3R5cGUtPmNs
YXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIG1hcFByb3RvdHlwZSwgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBSZWFkT25seSB8IERvbnRF
bnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBH
ZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNz
b3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGlu
RnVuY3Rpb24odm0sIG1hcENvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0b3Iodm0p
LCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKKyAgICBwdXREaXJlY3RO
b25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVj
aWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsTWFwKEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCmluZGV4IDFhODVkZTViMTVi
MDA3ZDFlOWRmYzhiOWNiNjU2MTEwOGM3NjM3ODAuLmI2NTk1Zjg4NDRjOTY0YmU4ZTY2MzhmZmQ0
NGExMWZkNTNhYTljZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hcENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFw
Q29uc3RydWN0b3IuaApAQCAtMzYsMTAgKzM2LDEwIEBAIGNsYXNzIE1hcENvbnN0cnVjdG9yIDog
cHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxG
dW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIE1hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5cGUpCisgICAg
c3RhdGljIE1hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5
cGUpCiAgICAgewogICAgICAgICBNYXBDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxNYXBDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIE1hcENvbnN0cnVj
dG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
dm0sIG1hcFByb3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2
bSwgZ2xvYmFsT2JqZWN0LCBtYXBQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0
b3I7CiAgICAgfQogCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIE1hcENvbnN0cnVjdG9yIDogcHVi
bGljIEludGVybmFsRnVuY3Rpb24gewogICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKICAg
ICB7CiAgICAgfQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBNYXBQcm90b3R5cGUqKTsK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBNYXBQcm90b3R5
cGUqKTsKICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCos
IENvbnN0cnVjdERhdGEmKTsKICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxs
KiwgQ2FsbERhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyQ29uc3RydWN0b3IuaAppbmRleCBmOGIxZjdmNDQzNzAzYWI0MTk4ZGQ0MzIxZTIwOWRm
ZTY2ODgyYTNjLi5hOGIxNzM1YTYwODZiMjMxOTliNGE2N2JmMjYyMDUyMjMzZTM2YjA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgK
QEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgTnVtYmVyQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJu
YWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2U7CiAK
LSAgICBzdGF0aWMgTnVtYmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBOdW1iZXJQcm90b3R5cGUqIG51bWJlclByb3RvdHlwZSkKKyAgICBzdGF0aWMg
TnVtYmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVtYmVyUHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgTnVtYmVyQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBh
bGxvY2F0ZUNlbGw8TnVtYmVyQ29uc3RydWN0b3I+KHZtLmhlYXApKSBOdW1iZXJDb25zdHJ1Y3Rv
cih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZt
LCBudW1iZXJQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9QdXREaXJlY3RJbmRleE1vZGUuaAppbmRleCAzZWIzZjU4MThkZmI5YjhjMmRhMWFmNDVlMTdj
YWI1NWU4ZWU1NTFmLi4yNjBmY2U4NWYwZDAwMTYwYjdiMWFhZDlmODVhMTcwNWU1Y2U5OTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJbmRleE1v
ZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJbmRleE1v
ZGUuaApAQCAtMjgsNyArMjgsMTUgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWVudW0gUHV0RGly
ZWN0SW5kZXhNb2RlIHsgUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0LCBQdXREaXJlY3RJbmRl
eFNob3VsZE5vdFRocm93LCBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IH07CitlbnVtIFB1dERp
cmVjdEluZGV4TW9kZSB7CisgICAgUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0LAorICAgIFB1
dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3csCisgICAgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJv
dywKKworICAgIC8vIEZvbGxvdyB0aGUgRUNNQTI2MiA2dGggQ3JlYXRlRGF0YVByb3BlcnR5T3JU
aHJvdyBzZW1hbnRpY3MuCisgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNt
YS0yNjIvNi4wLyNzZWMtY3JlYXRlZGF0YXByb3BlcnR5b3J0aHJvdworICAgIFB1dERpcmVjdElu
ZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdywKK307CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5jcHAKaW5kZXggZWUxZDhiM2ZjNjlmOTQzYjk0YTUyNTljZjdjMTg2Y2FjNjM3M2Y3NC4uMWUz
N2M2YThiNTA2NmE3NGY0MTI1Mzc1MTFhODUzNjc5YTc0NjQwZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAtODksNyAr
ODksNyBAQAogewogfQogCi12b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQordm9pZCBSZWdFeHBDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFJlZ0V4cFBy
b3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
LCByZWdFeHBQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIEFTU0VSVChp
bmhlcml0cyhpbmZvKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IGNhYmVlMTljOTNkOWIyNDZjODA4ODUxZjJhZmY0ZTJh
ZDEwNDZhMWEuLjY0MjQwZWRjNTQwYTk5YzY1NDc1ZTZiYjFjMGZkMDY1MDI5ZDU4YmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApA
QCAtMzUsMTAgKzM1LDEwIEBAIGNsYXNzIFJlZ0V4cENvbnN0cnVjdG9yIDogcHVibGljIEludGVy
bmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIFJlZ0V4cENvbnN0
cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVnRXhwUHJvdG90
eXBlKiByZWdFeHBQcm90b3R5cGUpCisgICAgc3RhdGljIFJlZ0V4cENvbnN0cnVjdG9yKiBjcmVh
dGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUpCiAgICAgewogICAgICAgICBS
ZWdFeHBDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxSZWdFeHBDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFJlZ0V4cENvbnN0cnVjdG9yKHZtLCBzdHJ1
Y3R1cmUsIHJlZ0V4cFByb3RvdHlwZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVh
dGlvbih2bSwgcmVnRXhwUHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIHJlZ0V4cFByb3RvdHlwZSk7CiAgICAgICAgIHJldHVy
biBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTY4LDcgKzY4LDcgQEAgY2xhc3MgUmVnRXhwQ29u
c3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgc3RhdGljIHZvaWQgdmlz
aXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIFJlZ0V4cFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFJlZ0V4cFByb3RvdHlwZSopOwogCiBwcml2
YXRlOgogICAgIFJlZ0V4cENvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKiwgUmVnRXhwUHJvdG90
eXBlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rv
ci5jcHAKaW5kZXggZmI5N2I2ZDlmYTBkMGVlNjNhMWQ1MmE5ODg3ZWM3NzY5OGY3NTNkZi4uZDFi
MDM1MTQwYjFhZGM3OWQ2MTkwMzZiYWI1NzlkM2IzZTE2OGEzOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcApAQCAtMjcsNyArMjcsOSBA
QAogI2luY2x1ZGUgIlNldENvbnN0cnVjdG9yLmgiCiAKICNpbmNsdWRlICJFcnJvci5oIgorI2lu
Y2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0aW9ucy5oIgor
I2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIK
ICNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIK
QEAgLTQwLDExICs0MiwxNSBAQAogCiBjb25zdCBDbGFzc0luZm8gU2V0Q29uc3RydWN0b3I6OnNf
aW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShTZXRDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKK3ZvaWQgU2V0Q29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0sIHNldFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgc2V0UHJv
dG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
MCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKworICAgIEdldHRlclNldHRl
ciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwgSlNG
dW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBzZXRDb25zdHJ1Y3RvclN5bWJvbFNw
ZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2ll
c10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsK
IH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbFNldChFeGVjU3Rh
dGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0
b3IuaAppbmRleCBlZmJkODhiYjMyMmZkZGFhYjliNzU2NDM5MDNhOTdkZTc4NWU1ODAwLi5iNjg0
MWY3MzUwZmNkMzIzYzdmMzMxOTJkYmI5ZDE5MTAwYjY5MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDEwICszNiwxMCBAQCBj
bGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBTZXRDb25z
dHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFNldFByb3RvdHlw
ZSogc2V0UHJvdG90eXBlKQorICAgIHN0YXRpYyBTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFNl
dFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU2V0Q29uc3RydWN0b3Iq
IGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U2V0Q29uc3RydWN0b3I+
KHZtLmhlYXApKSBTZXRDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAgY29uc3Ry
dWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzZXRQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgc2V0UHJvdG90eXBlKTsKICAg
ICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyArNTUsNyBAQCBjbGFz
cyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAgICAgOiBC
YXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgU2V0UHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU2V0UHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGljIENhbGxU
eXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAppbmRleCA2
MmQzNGJhYWZkZGI0MGVlYTBmNjE1ZjA2MjA3YTI5YWI5ZmY5OTgzLi5jYjUzNzBiMWFlYjI2Zjlm
NmYxODI2MTZkMjFkYTkwNjY0Zjc4MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcApAQCAtMTE2LDcgKzExNiwyNSBA
QCBib29sIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dERpcmVjdChFeGVjU3RhdGUqIGV4ZWMsIEpT
T2JqZWN0KiBhcnJheSwgdW5zaWduZWQgaQogICAgIC8vIGV4dGVuc2libGUsIHRoaXMgaXMgbm90
IHRoZSByaWdodCB0aGluZyB0byBoYXZlIGRvbmUgLSBzbyByZW1vdmUgYWdhaW4uCiAgICAgaWYg
KG1vZGUgIT0gUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0ICYmIHJlc3VsdC5pc05ld0VudHJ5
ICYmICFhcnJheS0+aXNFeHRlbnNpYmxlKCkpIHsKICAgICAgICAgcmVtb3ZlKHJlc3VsdC5pdGVy
YXRvcik7Ci0gICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJlY3RJbmRl
eFNob3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRo
YXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9k
ZSA9PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkg
b24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgfQorCisgICAgaWYgKG1v
ZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93ICYmICFyZXN1bHQu
aXNOZXdFbnRyeSkgeworICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIERvbnREZWxldGUp
IHsKKyAgICAgICAgICAgIGlmICghKGF0dHJpYnV0ZXMgJiBEb250RGVsZXRlKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdl
IGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisK
KyAgICAgICAgICAgIGlmICgoZW50cnkuYXR0cmlidXRlcyAmIERvbnRFbnVtKSAhPSAoYXR0cmli
dXRlcyAmIERvbnRFbnVtKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3Io
ZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGVudW1lcmFibGUgYXR0cmlidXRlIG9mIHVuY29u
ZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJpYnV0ZXMg
JiBBY2Nlc3NvcikKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywg
IkF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFuIHVuY29uZmlndXJh
YmxlIHByb3BlcnR5LiIpOworICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJpYnV0ZXMgJiBSZWFk
T25seSkgeworICAgICAgICAgICAgICAgIGlmICghKGF0dHJpYnV0ZXMgJiBSZWFkT25seSkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGlu
ZyB0byBjaGFuZ2Ugd3JpdGFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5
LiIpOworICAgICAgICAgICAgICAgIGlmICghc2FtZVZhbHVlKGV4ZWMsIGVudHJ5LmdldChleGVj
LCBhcnJheSksIHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVy
cm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB2YWx1ZSBvZiBhIHJlYWRvbmx5IHByb3Bl
cnR5LiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgZW50cnkuYXR0
cmlidXRlcyA9IGF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nQ29uc3RydWN0b3IuaAppbmRleCAzNTc1MTFhNTc2NTRlMTY4MjVmZDIyYjBhZTY3
NzM4OWQyMDNjMjAzLi5kMmEyMTUyZGZmNmQ4OGJiZGQ2YzVmYWZmZDEyMmIwMDc1OTI2M2I5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9y
LmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgU3RyaW5nQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50
ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgU3RyaW5nQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdQcm90
b3R5cGUqIHN0cmluZ1Byb3RvdHlwZSkKKyAgICBzdGF0aWMgU3RyaW5nQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cmlu
Z1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3RyaW5nQ29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RyaW5nQ29u
c3RydWN0b3I+KHZtLmhlYXApKSBTdHJpbmdDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAg
ICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzdHJpbmdQcm90b3R5cGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmgK
aW5kZXggMzQ0YTk3OGFiMGFjNzRlMTU0ODNiM2VlMmU1NzlmYWQwMWQ3Y2UzNC4uM2IzOTNmZDFh
MGE3NGYwMzAzM2RmZGE5NDI3ZDFhZTRkNzM1YWIwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCkBAIC0zOSw3ICszOSw3IEBAIGNs
YXNzIFN5bWJvbENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5
cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEJhc2U6OlN0cnVj
dHVyZUZsYWdzOwogCi0gICAgc3RhdGljIFN5bWJvbENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUpCisgICAg
c3RhdGljIFN5bWJvbENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCos
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1ib2xQcm90b3R5cGUqIHByb3RvdHlwZSkKICAgICB7
CiAgICAgICAgIFN5bWJvbENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPFN5bWJvbENvbnN0cnVjdG9yPih2bS5oZWFwKSkgU3ltYm9sQ29uc3RydWN0
b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2
bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtNYXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a01hcENvbnN0cnVjdG9yLmgKaW5kZXggNjZlZGJjYjE2ZDg5YTViNjY0ODBhZWRhMzM2MzNiNjg1
MmVlNDg5Ni4uNmM5YWQzOWU1MWU1N2JjNDQ5ZTIxZThlZDdiZmU2MGEyYWVkODFiYSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmgK
QEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha01hcENvbnN0cnVjdG9yIDogcHVibGljIEludGVy
bmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNl
OwogCi0gICAgc3RhdGljIFdlYWtNYXBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMg
V2Vha01hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBXZWFrTWFwUHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAgewogICAg
ICAgICBXZWFrTWFwQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxv
Y2F0ZUNlbGw8V2Vha01hcENvbnN0cnVjdG9yPih2bS5oZWFwKSkgV2Vha01hcENvbnN0cnVjdG9y
KHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0s
IHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
ZWFrU2V0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtT
ZXRDb25zdHJ1Y3Rvci5oCmluZGV4IDdmNmZiNmE1ZTc2OGViZjQwOGNhNmNlNzVhZDUyZTZlYzU4
Mzk5NjQuLjI4ODljOWMwOTA5YTk1NDA2ZTA3ODI3ODhmY2RhM2QwOTQyZmRjNTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oCkBA
IC0zNiw3ICszNiw3IEBAIGNsYXNzIFdlYWtTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5h
bEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsK
IAotICAgIHN0YXRpYyBXZWFrU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90eXBlKiBwcm90b3R5cGUpCisgICAgc3RhdGljIFdl
YWtTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgV2Vha1NldFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAg
ICAgV2Vha1NldENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2Nh
dGVDZWxsPFdlYWtTZXRDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFdlYWtTZXRDb25zdHJ1Y3Rvcih2
bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBw
cm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9zeW1ib2wtc3BlY2llcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
c3ltYm9sLXNwZWNpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkyNzE0NTI0YTYyYjY5ZTdlZjk1ODkzZjBi
OGUwOWZkYjg2ZDc4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMKQEAgLTAsMCArMSw0MjQgQEAKK2Z1bmN0aW9u
IHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpCit7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30K
KworZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgZXJyb3JNZXNzYWdlKQoreworICAgIHZhciBl
cnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5IHsKKyAg
ICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3JUaHJvd24gPSB0
cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJyb3JUaHJvd24pCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicpOworICAgIGlmIChTdHJpbmcoZXJy
b3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihgYmFkIGVycm9y
OiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK3Nob3VsZEJlKHR5cGVvZiBTeW1ib2wuc3BlY2ll
cywgJ3N5bWJvbCcpOworCisvLyBQcm9taXNlIGlzIHRlc3RlZCBpbiBET00gbGF5b3V0IHRlc3Rz
Lgorc2hvdWxkQmUoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihTZXQsIFN5bWJvbC5zcGVjaWVzKSksICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFi
bGUiOnRydWV9Jyk7CitzaG91bGRCZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6ZmFsc2Us
ImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKEpTT04uc3RyaW5naWZ5KE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKSksICd7ImVudW1l
cmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7CitzaG91bGRCZSh0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKS5nZXQsICdm
dW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoTWFwLCBTeW1ib2wuc3BlY2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlKHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wuc3BlY2llcyku
Z2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVmaW5lZCcpOworc2hvdWxk
QmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3Bl
Y2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVmaW5lZCcp
Oworc2hvdWxkQmUoU2V0W1N5bWJvbC5zcGVjaWVzXSwgU2V0KTsKK3Nob3VsZEJlKE1hcFtTeW1i
b2wuc3BlY2llc10sIE1hcCk7CitzaG91bGRCZShBcnJheVtTeW1ib2wuc3BlY2llc10sIEFycmF5
KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBTeW1ib2wu
c3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0KSwgT2JqZWN0KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0
KSwgT2JqZWN0KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJy
YXksIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworCisvLyBBcnJh
eS4KKy8vIEN1cnJlbnRseSwgQXJyYXkgaXMgbm90IHN1YmNsYXNzYWJsZSBieSB1c2luZyBjbGFz
cyBzeW50YXguCitmdW5jdGlvbiBFeHRlbmRlZEFycmF5KGxlbmd0aCkKK3sKKyAgICB2YXIgcmVz
dWx0ID0gbmV3IEFycmF5KGxlbmd0aCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVk
QXJyYXkucHJvdG90eXBlOworICAgIHJldHVybiByZXN1bHQ7Cit9CitFeHRlbmRlZEFycmF5LnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CitzaG91bGRCZShFeHRlbmRlZEFy
cmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CitFeHRlbmRlZEFycmF5
LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZEFycmF5Owor
Cit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgyMCk7CitzaG91bGRCZShleHRlbmRl
ZC5sZW5ndGgsIDIwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkoZXh0ZW5kZWQpLCB0cnVlKTsK
KworLy8gbWFwLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRl
ZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitzaG91
bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3No
b3VsZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hv
dWxkQmUodHlwZW9mIGV4dGVuZGVkLm1hcCwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0
ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSk7Citz
aG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJl
KHJlc3VsdC5sZW5ndGgsIDMpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworc2hvdWxkQmUo
cmVzdWx0WzFdLCA5MDApOworc2hvdWxkQmUocmVzdWx0WzJdLCAxNjAwKTsKK3Nob3VsZEJlKEFy
cmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGZpbHRlci4KK3ZhciBleHRlbmRlZCA9
IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRlZC5wdXNo
KDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsK
K3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOwor
c2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5maWx0
ZXIsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLmZpbHRlcihmdW5jdGlvbiAo
dmFsdWUpIHsgcmV0dXJuIHZhbHVlID09PSA0MDsgfSk7CitzaG91bGRCZShyZXN1bHQgaW5zdGFu
Y2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOwor
c2hvdWxkQmUocmVzdWx0WzBdLCA0MCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCks
IHRydWUpOworCisvLyBjb25jYXQuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgw
KTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNo
KDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91bGRCZShleHRlbmRlZFsw
XSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJd
LCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQuY29uY2F0LCAnZnVuY3Rpb24nKTsKK3Zh
ciByZXN1bHQgPSBleHRlbmRlZC5jb25jYXQoWzUwLCA2MCwgNzBdKTsKK3Nob3VsZEJlKHJlc3Vs
dCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0
aCwgNik7CitzaG91bGRCZShyZXN1bHRbMF0sIDIwKTsKK3Nob3VsZEJlKHJlc3VsdFsxXSwgMzAp
Oworc2hvdWxkQmUocmVzdWx0WzJdLCA0MCk7CitzaG91bGRCZShyZXN1bHRbM10sIDUwKTsKK3No
b3VsZEJlKHJlc3VsdFs0XSwgNjApOworc2hvdWxkQmUocmVzdWx0WzVdLCA3MCk7CitzaG91bGRC
ZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworCisvLyBzbGljZS4KK3ZhciBleHRlbmRl
ZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRlZC5w
dXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworZXh0ZW5kZWQucHVzaCg1MCk7CitleHRlbmRl
ZC5wdXNoKDYwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRCZShleHRl
bmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNTApOworc2hvdWxkQmUoZXh0ZW5k
ZWRbNF0sIDYwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5zbGljZSwgJ2Z1bmN0aW9uJyk7
Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuc2xpY2UoMyk7CitzaG91bGRCZShyZXN1bHQgaW5zdGFu
Y2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDIpOwor
c2hvdWxkQmUocmVzdWx0WzBdLCA1MCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDYwKTsKK3Nob3Vs
ZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIHNwbGljZS4KK3ZhciBleHRl
bmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRl
ZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworZXh0ZW5kZWQucHVzaCg1MCk7CitleHRl
bmRlZC5wdXNoKDYwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRCZShl
eHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4
dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNTApOworc2hvdWxkQmUoZXh0
ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5zbGljZSwgJ2Z1bmN0aW9u
Jyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuc3BsaWNlKDMsIDEsIDQyKTsKK3Nob3VsZEJlKHJl
c3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxl
bmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDUwKTsKK3Nob3VsZEJlKGV4dGVuZGVkIGlu
c3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShleHRlbmRlZC5sZW5ndGgs
IDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzFdLCAz
MCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUoZXh0ZW5kZWRbM10sIDQy
KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJl
c3VsdCksIHRydWUpOworCisvLyBBcnJheVNwZWNpZXNDcmVhdGUgYWJzdHJhY3Qgb3BlcmF0aW9u
IGVkZ2UgY2FzZXMuCit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwoeyAwOiAxMCwgbGVuZ3RoOiAx
IH0sIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3Vs
ZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90
b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91
bGRCZShyZXN1bHRbMF0sIDEwMCk7CisKK2Z1bmN0aW9uIFRlc3QoKQoreworICAgIHZhciByZXN1
bHQgPSBbXTsKKyAgICByZXN1bHRbMF0gPSAyMDsKKyAgICByZXN1bHQubGVuZ3RoID0gMTsKKyAg
ICByZXN1bHQuX19wcm90b19fID0gVGVzdC5wcm90b3R5cGU7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkobmV3IFRlc3QoKSksIHRydWUpOwordmFyIHJlc3Vs
dCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZh
bHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7
CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUo
cmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwMCk7CitUZXN0LnByb3Rv
dHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBUZXN0OwordmFyIHJlc3VsdCA9IFtd
Lm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICog
dmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91
bGRCZShyZXN1bHQuX19wcm90b19fLCBUZXN0LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQu
bGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNv
bnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IG51bGw7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNh
bGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsg
fSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJl
c3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3Ro
LCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVj
dG9yW1N5bWJvbC5zcGVjaWVzXSA9IG51bGw7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3
IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOwor
c2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5f
X3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsK
K3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5
bWJvbC5zcGVjaWVzXSA9ICJIZWxsbyI7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAg
dmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsg
cmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNvbnN0cnVj
dG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0
cnVjdG9yID0gdW5kZWZpbmVkOwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCks
IChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJl
KEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19f
LCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRC
ZShyZXN1bHRbMF0sIDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IG51bGw7Citz
aG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgdmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5l
dyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsK
K30sICJUeXBlRXJyb3I6IGdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVu
Y3Rpb24iKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gIkhlbGxvIjsKK3Nob3VsZFRo
cm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3Qo
KSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworfSwgIlR5
cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIp
OworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsK
KyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJv
dG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgICAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkocmVzdWx0LCAwLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBzZXQ6IGZ1
bmN0aW9uKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJPVVQiKTsK
KyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5
LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1
Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3Ry
dWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVk
QXJyYXkoKTsKKyAgICAgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICAgICAgZXh0
ZW5kZWQucHVzaCgzMCk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMp
OworICAgICAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICAgICAgc2hv
dWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJd
LCAzMCk7CisgICAgICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1
cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgICAgICB9
KCkpOworICAgIH0KKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsK
KworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBl
eHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNo
b3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBd
LCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxk
QmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAg
ICAgICAgICAgdmFsdWU6IDMwCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlR5cGVFcnJv
cjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5jb25maWd1
cmFibGUgcHJvcGVydHkuIik7CisgICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlvbiAoKSB7Cisg
ICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0g
bmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5w
cm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDEwLAorICAgICAgICAg
ICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAor
ICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBB
cnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29u
c3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNv
bnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rp
b24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5l
dyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBl
eHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsK
KyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDEwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0
ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAg
ICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGV4
dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gdmFs
dWUgKiB2YWx1ZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRl
bXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxl
IHByb3BlcnR5LiIpOworICAgIH0oKSk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAi
dXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXko
KTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzAp
OworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRC
ZShleHRlbmRlZFswXSwgMTApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOwor
ICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRUaHJvdyhm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQs
IDAsIHsKKyAgICAgICAgICAgICAgICB2YWx1ZTogMzAKKyAgICAgICAgICAgIH0pOworICAgICAg
ICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSB2YWx1ZSBvZiBhIHJlYWRvbmx5
IHByb3BlcnR5LiIpOworICAgIH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1
bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBB
cnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90
eXBlOworICAgICAgICByZXN1bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwLAorICAgICAgICAgICAgZW51
bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAorICAgICAg
ICAgICAgd3JpdGFibGU6IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5w
cm90b3R5cGU7CisgICAgc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0
b3IsIEV4dGVuZGVkQXJyYXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVj
dG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rpb24gKCkg
eworICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRl
bmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRlbmRl
ZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAg
ICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsx
XSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91
bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQu
bWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIHZh
bHVlOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcg
dG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVy
dHkuIik7CisgICAgfSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3Ry
aWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAg
ICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAg
c2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAgICB2YWx1ZTogMAorICAgICAgICB9KTsKKyAgICB9
KCkpOworfSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5
KCkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAgICAgIHJl
c3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAgcmVzdWx0
LnB1c2goMTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAwLCB7Cisg
ICAgICAgICAgICB2YWx1ZTogMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAg
ICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNl
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRl
ZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxk
QmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOwor
ICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9
IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAidXNlIHN0cmlj
dCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAg
IGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAg
c2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRb
MF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91
bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQubWFw
KGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7Cisg
ICAgICAgIH0pOworICAgIH0oKSk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAidXNl
IHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsK
KyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOwor
ICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShl
eHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAg
ICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDAKKyAgICAgICAgfSk7Cisg
ICAgfSgpKTsKK30oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDgzOTVlM2NlZjZmZjA1M2NjMDk5Zjc3YzU5Y2E5ZjA2
ZTEyYjNmNi4uMjg2N2MyMTFlZjMyY2NhYWI4ZDZlZjhhY2MwMjRiMDVkNDZjNGQ4NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM5IEBACisyMDE1LTA3LTEzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgorCisgICAgICAgIFtFUzZdIFN1cHBvcnQgQEBzcGVjaWVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIFByb21p
c2UuCisgICAgICAgIE90aGVyIGNhc2VzIGxpa2UgQXJyYXksIFNldCBhbmQgTWFwIGFyZSBsb2Nh
dGUgdW5kZXIgSlNDIGRpcmVjdG9yeS4KKworICAgICAgICAqIGZhc3QvcHJvZmlsZXIvYnVpbHQt
aW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICoganMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVu
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVj
aWVzLWRpZmZlcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1hbGwt
c3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFs
bC1zcGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3Bl
Y2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJv
bWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2Rv
bS9Qcm9taXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpz
L2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20v
UHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpz
L2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2Rv
bS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1p
bnZhbGlkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVz
b2x2ZS1zcGVjaWVzLWludmFsaWQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21p
c2UtcmVzb2x2ZS1zcGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNl
LXNwZWNpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1z
cGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRp
ZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9hcnJh
eS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9k
b20vc2NyaXB0LXRlc3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMu
anM6CisKIDIwMTUtMDctMTEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZCwgRUZMIGdhcmRlbmluZyBvbiAxMnRoIEp1
bC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rp
b24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dAppbmRleCBk
MTdlYjU4ZWE5YTA2N2NkZTk4YzJiMTQyNmFiMmViMjdlNzMyZjVlLi43OGMzM2ZiNDk0ODhhMGM4
MGE3MTk4YTQzNTdiZjFjODc0OWRhMmM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9u
eW1vdXMtZXhwZWN0ZWQudHh0CkBAIC0xMiw2ICsxMiwxMCBAQCBUaHJlYWRfMSAobm8gZmlsZSkg
KGxpbmUgMDowKQogICAgICAgICAgICAgdG9JbnRlZ2VyIChubyBmaWxlKSAobGluZSAwOjApCiAg
ICAgICAgICAgICAgICBOdW1iZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAg
IChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICBhcnJh
eVNwZWNpZXNDcmVhdGUgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAgIChhbm9ueW1v
dXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBpc09iamVjdCAo
bm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgICAgZ2V0IFtTeW1ib2wuc3BlY2llc10gKG5v
IGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgIG15RnVuY3Rpb24gYnVpbHQtaW4tZnVuY3Rpb24t
Y2FsbHMtYW5vbnltb3VzLmh0bWwgKGxpbmUgMTQ6NDUpCiAgICAgICAgICAgICBhcnJheU9wZXJh
dG9yRnVuY3Rpb24gcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMjU6NDYpCiAg
ICAgICBlbmRUZXN0IHByb2ZpbGVyLXRlc3QtSlMtcmVzb3VyY2VzLmpzIChsaW5lIDE6MjApCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNh
bGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1l
eHBlY3RlZC50eHQKaW5kZXggZTdmYmE1OWJiMDg4OGZkY2NkYmRlNzNkYmJlMzQ3YjJkYzE0OGM0
Yi4uOWUyMWM2ZDBhMzY2YTE1NDIxZDJlODIwNjRhMmQ3ODYwODAxMzAzMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRl
ZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMTIsNiArMTIsMTAgQEAgVGhyZWFkXzEgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAg
ICAgICAgICAgIHRvSW50ZWdlciAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgICAg
TnVtYmVyIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICAgICAoYW5vbnltb3VzIGZ1
bmN0aW9uKSAobm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgYXJyYXlTcGVjaWVzQ3JlYXRl
IChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAgICAoYW5vbnltb3VzIGZ1bmN0aW9uKSAo
bm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgICAgaXNPYmplY3QgKG5vIGZpbGUpIChsaW5l
IDA6MCkKKyAgICAgICAgICAgIGdldCBbU3ltYm9sLnNwZWNpZXNdIChubyBmaWxlKSAobGluZSAw
OjApCiAgICAgICAgICBhcnJheU9wZXJhdG9yRnVuY3Rpb24gcHJvZmlsZXItdGVzdC1KUy1yZXNv
dXJjZXMuanMgKGxpbmUgMjU6NDYpCiAgICAgICBlbmRUZXN0IHByb2ZpbGVyLXRlc3QtSlMtcmVz
b3VyY2VzLmpzIChsaW5lIDE6MjApCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL09iamVj
dC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL09iamVj
dC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dAppbmRleCBiMDU0NGNlZmY0OThlMGRi
N2UyZmM2MjI0MDhlNWQwZmI1ZWExZjA4Li5kNTE4NjI2NDNkNjE4YjUyZDc2ZWUyMjVlY2ViMjY0
MzMyM2YwMDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVy
dHlOYW1lcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blBy
b3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0CkBAIC02MSw3ICs2MSw3IEBAIFBBU1MgZ2V0U29ydGVk
T3duUHJvcGVydHlOYW1lcyhFcnJvcikgaXMgWydsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUn
XQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEVycm9yLnByb3RvdHlwZSkgaXMgWydj
b25zdHJ1Y3RvcicsICdtZXNzYWdlJywgJ25hbWUnLCAndG9TdHJpbmcnXQogUEFTUyBnZXRTb3J0
ZWRPd25Qcm9wZXJ0eU5hbWVzKE1hdGgpIGlzIFsnRScsJ0xOMTAnLCdMTjInLCdMT0cxMEUnLCdM
T0cyRScsJ1BJJywnU1FSVDFfMicsJ1NRUlQyJywnYWJzJywnYWNvcycsJ2Fjb3NoJywnYXNpbics
J2FzaW5oJywnYXRhbicsJ2F0YW4yJywnYXRhbmgnLCdjYnJ0JywnY2VpbCcsJ2NsejMyJywnY29z
JywnY29zaCcsJ2V4cCcsJ2V4cG0xJywnZmxvb3InLCdmcm91bmQnLCdoeXBvdCcsJ2ltdWwnLCds
b2cnLCdsb2cxMCcsJ2xvZzFwJywnbG9nMicsJ21heCcsJ21pbicsJ3BvdycsJ3JhbmRvbScsJ3Jv
dW5kJywnc2lnbicsJ3NpbicsJ3NpbmgnLCdzcXJ0JywndGFuJywndGFuaCcsJ3RydW5jJ10KIFBB
U1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhKU09OKSBpcyBbJ3BhcnNlJywgJ3N0cmluZ2lm
eSddCi1QQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoU3ltYm9sKSBpcyBbJ2ZvcicsICdp
dGVyYXRvcicsICdrZXlGb3InLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3Vuc2Nv
cGFibGVzJ10KK1BBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wpIGlzIFsnZm9y
JywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAn
c3BlY2llcycsICd1bnNjb3BhYmxlcyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
U3ltYm9sLnByb3RvdHlwZSkgaXMgWydjb25zdHJ1Y3RvcicsICd0b1N0cmluZycsICd2YWx1ZU9m
J10KIFBBU1MgZ2xvYmFsUHJvcGVydHlOYW1lcy5pbmRleE9mKCdOYU4nKSAhPSAtMSBpcyB0cnVl
CiBQQVNTIGdsb2JhbFByb3BlcnR5TmFtZXMuaW5kZXhPZignSW5maW5pdHknKSAhPSAtMSBpcyB0
cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1k
aWZmZXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNw
ZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTAxNGMyMWY0NmNkODAy
NjQzOWFiYTFlNDRiYTBmYWY5OThiNjJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE1IEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUo
NDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxs
KFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNl
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5j
ZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtF
eHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBp
cyBmYWxzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1Mg
dGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBnbG9i
YWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVj
aWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNp
ZXMtZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA2YmVjYzY5OTc3ZTVjOTQ3ZGU5NjA5NjM0
NzZjMjg2YjdjNDNjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UuYWxsLicpOworCit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVk
IHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0
ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVk
UHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRl
ZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3By
b3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW1By
b21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVk
UHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsK
K3Nob3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0Mild
KSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQ
cm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRl
bmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5S
ZXN1bHQgPSBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0Mild
KS50aGVuKGZ1bmN0aW9uIChbdmFsdWVdKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAg
ICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
Oworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2Uo
InRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LWFsbC1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFs
bC1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGU2NTEzNjk0NDY2NmRhZTZmMDEz
ZWVjMmY0M2IzYWY4MDY5OTRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qg
c3ViY2xhc3NlZCBQcm9taXNlLmFsbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5k
ZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNl
CitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNT
IGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxs
LXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmQ3NDJkOTI1YjgyZTExYmJiNjZlMjVjMTcwZDI0ZWM3ZDhkMDE5Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVz
Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJv
bWlzZS5hbGwuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVu
dGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQ
cm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRv
cik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOwor
ICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10g
PSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsK
Kworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIp
XSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5h
bGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOwor
Cit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVk
UHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24g
KFt2YWx1ZV0pIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9i
YWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUo
InRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNw
ZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXJhY2Utc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMDZlODA4
OGJkYzUyZThkZTI0MWNkNmEzMTBiYzgxZWE5ODllYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE1IEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21p
c2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVk
UHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5j
ZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUo
NDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgRXh0ZW5kZWRQ
cm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0
ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2Yg
UHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZh
bHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiNTQwN2RjOGM3
OGE0NzRkYTFhYjczM2M2MDZmNTMyMjZkM2FkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKQEAgLTAsMCAr
MSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLicpOwor
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdl
dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRv
cikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21p
c2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJv
bWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5w
cm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gUHJvbWlzZTsKK0V4
dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVu
ZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hv
dWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpXSkiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2Uo
W1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworc2hv
dWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZl
KDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9
IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xv
YmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlByb21p
c2UiKTsKK3Nob3VsZEJlRmFsc2UoInRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21p
c2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUzZDM1ODFlYjMwNDU3ZWEwZGVjZmZjOWEzMmExMmYxYzJmZDdjMzUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBF
eHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4g
aW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFu
Y2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmJhMDBiZjQ5ZmFk
NjM5MTE4N2JlODhjOGUyMmM2MWM0ZmRmNzllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLicpOworCit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3Vw
cG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZh
ciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19f
ID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4
dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitF
eHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5k
ZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQ
cm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2UiKTsK
K3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNv
bHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRl
ZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MildKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZh
bHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRlZFBy
b21pc2UiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTlhOGJhYmZhNjcwYTNmNTNiMjVkYjdlZDgzOWQxNWNjZTJkMDgzMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZWplY3Qu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVq
ZWN0KDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3Vs
dCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMg
NDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5odG1s
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45MTUxOGI2MDk0MjkyZDlkMDFjNGRjNjdmMGFlYTY0ZDc0ODM3MmE2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbApA
QCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJl
amVjdC4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHks
IG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21p
c2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsK
KyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAg
cmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4
dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitz
aG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpIiwgIkV4dGVuZGVkUHJvbWlz
ZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4
dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpLmNhdGNoKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGds
b2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRl
bmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVz
LWRpZmZlcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNlZGI1ZDVhNTU5MTQ3OWVlNzBi
YTAwMWYxYzg4YzViODY5YWU5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTIgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMgYW4g
aW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFu
Y2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNl
IGlzIGZhbHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc5MTYxNGQwNzU4NTBjZmU5MGE4NjNlOGZmMGUxMjI0MjNmZDNmMzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50
Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJv
bWlzZS5yZXNvbHZlLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1
cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVu
ZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhl
Y3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlw
ZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19w
cm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNp
ZXNdID0gUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitz
aG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21p
c2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBF
eHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBn
bG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJv
bWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJv
bWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmY2ZDVlZjcxMDdlYTc2ZjVhZjQ4ZjQyNzVjMjk3ZDg2ZTMwODBiYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVz
b2x2ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlz
ZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhl
blJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFs
dWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNp
ZXMtaW52YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNv
bHZlLXNwZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlYTQ4MDhkOWE3
M2NhZWJjYTY5ZjExOTMwYzg5Nzg4OWJmNzAzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlIHdpdGggaW52
YWxpZCBAQHNwZWNpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRl
bmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNl
CitQQVNTIHRlc3QoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBjb25zdHJ1Y3Rvci5AQHNw
ZWNpZXMgaXMgbm90IGEgY29uc3RydWN0b3IuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhlOWVhZTNh
OGFlNGYyMDA2N2M1Mzg0YjQ1YTcxY2QwMDcyMTMyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLmh0bWwKQEAgLTAs
MCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZl
IHdpdGggaW52YWxpZCBAQHNwZWNpZXMuJyk7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBp
cyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikg
eworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2Uu
X19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlz
ZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90
b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0ge307CitFeHRlbmRlZFBy
b21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK2Z1bmN0aW9uIHRlc3QoKSB7
CisgICAgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7
fSk7Cit9CitzaG91bGRUaHJvdygidGVzdCgpIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVj
aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42N2MzMTBmYmM0NzRlMzA3ZjIyYWVlMjkwZTRiNjAyODljOGU2NjI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVj
aWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQg
UHJvbWlzZS5yZXNvbHZlLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8v
IEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4
dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3Rv
dHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUu
X19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNw
ZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFBy
b21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwgIkV4
dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhl
blJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2YWx1
ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVl
IiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJl
c3VsdCIsICJFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2I4YjBlNzU0NjhhMGViYTE4MDdmZGM2MGZjZGJjMjVkMWJiNWUwOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgUHJvbWlzZSBhbmQgQEBzcGVjaWVzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgSlNPTi5zdHJpbmdpZnkoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykpIGlzICJ7XCJl
bnVtZXJhYmxlXCI6ZmFsc2UsXCJjb25maWd1cmFibGVcIjp0cnVlfSIKK1BBU1MgdHlwZW9mIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdl
dCBpcyAiZnVuY3Rpb24iCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5zZXQgaXMgInVuZGVmaW5lZCIKK1BBU1MgUHJv
bWlzZVtTeW1ib2wuc3BlY2llc10gaXMgUHJvbWlzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpIGlz
IE9iamVjdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbCBi
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTMz
YTcwNjgzN2Y2ZTA5ZWI2NDhmZTAyN2U3YTE5YzljYTEzNzY4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBQcm9taXNlIGFuZCBAQHNwZWNpZXMuJyk7CisKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykpIiwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNv
bmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldCIs
ICdmdW5jdGlvbicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuc2V0IiwgJ3VuZGVm
aW5lZCcpOworc2hvdWxkQmUoIlByb21pc2VbU3ltYm9sLnNwZWNpZXNdIiwgIlByb21pc2UiKTsK
K3Nob3VsZEJlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJv
bC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpIiwgIk9iamVjdCIpOworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVj
aWVzLWluLWRpZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20v
YXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFjZWJkN2ExZWFlZTRjYjA5ZjA1MmJmYjFhN2MzODEzZWE0YjI3ODAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0t
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK0FycmF5U3BlY2llc0NyZWF0ZSBnZW5lcmF0
ZSB0aGUgY3VycmVudCBSZWFsbSBhcnJheSB3aGVuIHRoZSBnaXZlbiBhcnJheSBpcyBmcm9tIHRo
ZSBkaWZmZXJlbnQgcmVhbG0uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGFycmF5Lmxlbmd0aCBpcyA1CitQQVNTIGFycmF5IGluc3RhbmNlb2YgQXJyYXkgaXMgZmFsc2UK
K1BBU1MgYXJyYXkgaW5zdGFuY2VvZiBBcnJheTIgaXMgdHJ1ZQorUEFTUyBBcnJheS5pc0FycmF5
KGFycmF5KSBpcyB0cnVlCitQQVNTIGFycmF5LmNvbnN0cnVjdG9yIGlzIEFycmF5MgorUEFTUyBh
cnJheS5jb25zdHJ1Y3RvciBpcyBub3QgQXJyYXkKK1BBU1MgcmVzdWx0Lmxlbmd0aCBpcyA1CitQ
QVNTIEFycmF5LmlzQXJyYXkocmVzdWx0KSBpcyB0cnVlCitGQUlMIHJlc3VsdCBpbnN0YW5jZW9m
IEFycmF5IHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitGQUlMIHJlc3VsdCBpbnN0YW5jZW9m
IEFycmF5MiBzaG91bGQgYmUgZmFsc2UuIFdhcyB0cnVlLgorUEFTUyByZXN1bHRbMF0gaXMgMAor
UEFTUyByZXN1bHRbMV0gaXMgMQorUEFTUyByZXN1bHRbMl0gaXMgNAorUEFTUyByZXN1bHRbM10g
aXMgOQorUEFTUyByZXN1bHRbNF0gaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vYXJy
YXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9h
cnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmNTI4NWE3
NWQ1MzQwZDQ4YTQ4Njk0NTYwY2RmYTI1MmI4MjQwNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uaHRtbApAQCAt
MCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWU+PC9pZnJhbWU+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxt
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMg
Yi9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVy
ZW50LXJlYWxtLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlNzVlZjFhN2YxNzdmZTQ0ZWIxZGNmNjg2NmU3OWQw
ODk5YzExNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRl
c3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmpzCkBAIC0wLDAgKzEsMjYgQEAK
K2Rlc2NyaXB0aW9uKCJBcnJheVNwZWNpZXNDcmVhdGUgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgUmVh
bG0gYXJyYXkgd2hlbiB0aGUgZ2l2ZW4gYXJyYXkgaXMgZnJvbSB0aGUgZGlmZmVyZW50IHJlYWxt
LiIpOworCit2YXIgZnJhbWUgPSBmcmFtZXNbMF07Cit2YXIgQXJyYXkyID0gZnJhbWUuQXJyYXk7
CisKK3ZhciBhcnJheSA9IG5ldyBBcnJheTIoMCk7CithcnJheS5wdXNoKDAsIDEsIDIsIDMsIDQp
OworCitzaG91bGRCZSgiYXJyYXkubGVuZ3RoIiwgIjUiKTsKK3Nob3VsZEJlRmFsc2UoImFycmF5
IGluc3RhbmNlb2YgQXJyYXkiKTsKK3Nob3VsZEJlVHJ1ZSgiYXJyYXkgaW5zdGFuY2VvZiBBcnJh
eTIiKTsKK3Nob3VsZEJlVHJ1ZSgiQXJyYXkuaXNBcnJheShhcnJheSkiKTsKK3Nob3VsZEJlKCJh
cnJheS5jb25zdHJ1Y3RvciIsICJBcnJheTIiKTsKK3Nob3VsZE5vdEJlKCJhcnJheS5jb25zdHJ1
Y3RvciIsICJBcnJheSIpOwordmFyIHJlc3VsdCA9IGFycmF5Lm1hcChmdW5jdGlvbiAodmFsdWUp
IHsKKyAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKK30pOworc2hvdWxkQmUoInJlc3VsdC5sZW5n
dGgiLCAiNSIpOworc2hvdWxkQmVUcnVlKCJBcnJheS5pc0FycmF5KHJlc3VsdCkiKTsKK3Nob3Vs
ZEJlVHJ1ZSgicmVzdWx0IGluc3RhbmNlb2YgQXJyYXkiKTsKK3Nob3VsZEJlRmFsc2UoInJlc3Vs
dCBpbnN0YW5jZW9mIEFycmF5MiIpOworc2hvdWxkQmUoInJlc3VsdFswXSIsICIwIik7CitzaG91
bGRCZSgicmVzdWx0WzFdIiwgIjEiKTsKK3Nob3VsZEJlKCJyZXN1bHRbMl0iLCAiNCIpOworc2hv
dWxkQmUoInJlc3VsdFszXSIsICI5Iik7CitzaG91bGRCZSgicmVzdWx0WzRdIiwgIjE2Iik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3Bl
cnR5TmFtZXMuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blBy
b3BlcnR5TmFtZXMuanMKaW5kZXggZjc5ZGZhYjZhNmFmODI4YzQ4MzAyZDBhN2FlNWE0YjVjZTlk
OTkyOC4uNTNkNWYwZGE0Y2ZmZmJmODAwZGIyZTA4M2ZkOWVmYWViZjA2OWNhZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVz
LmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVy
dHlOYW1lcy5qcwpAQCAtNzAsNyArNzAsNyBAQAogICAgICJFcnJvci5wcm90b3R5cGUiOiAiWydj
b25zdHJ1Y3RvcicsICdtZXNzYWdlJywgJ25hbWUnLCAndG9TdHJpbmcnXSIsCiAgICAgIk1hdGgi
OiAiWydFJywnTE4xMCcsJ0xOMicsJ0xPRzEwRScsJ0xPRzJFJywnUEknLCdTUVJUMV8yJywnU1FS
VDInLCdhYnMnLCdhY29zJywnYWNvc2gnLCdhc2luJywnYXNpbmgnLCdhdGFuJywnYXRhbjInLCdh
dGFuaCcsJ2NicnQnLCdjZWlsJywnY2x6MzInLCdjb3MnLCdjb3NoJywnZXhwJywnZXhwbTEnLCdm
bG9vcicsJ2Zyb3VuZCcsJ2h5cG90JywnaW11bCcsJ2xvZycsJ2xvZzEwJywnbG9nMXAnLCdsb2cy
JywnbWF4JywnbWluJywncG93JywncmFuZG9tJywncm91bmQnLCdzaWduJywnc2luJywnc2luaCcs
J3NxcnQnLCd0YW4nLCd0YW5oJywndHJ1bmMnXSIsCiAgICAgIkpTT04iOiAiWydwYXJzZScsICdz
dHJpbmdpZnknXSIsCi0gICAgIlN5bWJvbCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3In
LCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3Vuc2NvcGFibGVzJ10iLAorICAgICJT
eW1ib2wiOiAiWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0aCcsICduYW1lJywg
J3Byb3RvdHlwZScsICdzcGVjaWVzJywgJ3Vuc2NvcGFibGVzJ10iLAogICAgICJTeW1ib2wucHJv
dG90eXBlIjogIlsnY29uc3RydWN0b3InLCAndG9TdHJpbmcnLCAndmFsdWVPZiddIgogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256712</attachid>
            <date>2015-07-13 12:16:43 -0700</date>
            <delta_ts>2015-07-14 05:06:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150714041536.patch</filename>
            <type>text/plain</type>
            <size>129765</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YWRhMjk4YTFjMDc4NWFjOTQ2MjM5YzZmZWE0MDI0MzYzZGQ0ZjYwLi5iYzA1MGZmMWRiY2Y1YzI0
OWUyNmFjYTIwMmFkZGMyM2U5YzYzNTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzkgQEAKKzIwMTUtMDctMTMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgQWNjb3JkaW5n
IHRvIHRoZSBFUzYgc3BlYywgQXJyYXlTcGVjaWVzQ3JlYXRlIGNyZWF0ZXMgdGhlIGFycmF5IGlu
IHRoZSBjdXJyZW50IHJlYWxtIGV2ZW4gaWYgdGhlIGdpdmVuIGNvbnN0cnVjdG9yIGlzCisgICAg
ICAgIEFycmF5IGNvbnN0cnVjdG9yIGluIHRoZSBvdGhlciByZWFsbSBvciB0aGUgY2FsbGluZyBm
dW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBvdGhlciByZWFsbS4KKyAgICAgICAgVG8gY3JlYXRl
IHRoZSBhcnJheSBpbiB0aGUgY3VycmVudCAoZXhlY3V0aW5nKSByZWFsbSBlZmZpY2llbnRseSwg
d2UgYWRkZWQgbmV3IGJ5dGVjb2RlIGludHJpbnNpYyBAbmV3QXJyYXlXaXRoU2l6ZShsZW5ndGgp
LgorICAgICAgICBJdCB3aWxsIGVtaXRzIGBvcF9uZXdfYXJyYXlfd2l0aF9zaXplYCBnZW5lcmF0
aW5nIHRoZSBhcnJheSBiZWxvbmdnaW5nIHRvIHRoZSBjdXJyZW50IHJlYWxtIGVmZmljaWVudGx5
LgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzOgorICAgICAgICAoZmls
dGVyKToKKyAgICAgICAgKG1hcCk6CisgICAgICAgICogYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rv
ci5qczoKKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2Jh
bE9iamVjdC5qczoKKyAgICAgICAgKHNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYnVp
bHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzOgorICAgICAgICAoc3ltYm9sSXRlcmF0b3IpOgor
ICAgICAgICAoU3ltYm9sSXRlcmF0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJ1aWx0aW5zL01h
cENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAgICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAg
ICAgICogYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qczogQ29waWVkIGZyb20gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcy4KKyAgICAgICAgKGFycmF5U3Bl
Y2llc0NyZWF0ZSk6CisgICAgICAgICogYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanM6Cisg
ICAgICAgICogYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAocmFjZSk6
CisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9TZXRDb25zdHJ1
Y3Rvci5qczogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJh
dG9yLnByb3RvdHlwZS5qcy4KKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0TmV3QXJyYXlXaXRoU2l6ZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5z
aWNfbmV3QXJyYXlXaXRoU2l6ZSk6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OnB1dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRp
b25QdXRCeVZhbEludGVybmFsKToKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6Cisg
ICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6
TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToK
KyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6QXJy
YXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlTcGVjaWVzQ29uc3RydWN0b3IpOgorICAgICAgICAo
SlNDOjpjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90
b0Z1bmNDb25jYXQpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY1NsaWNlKToKKyAgICAg
ICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTcGxpY2UpOgorICAgICAgICAqIHJ1bnRpbWUvQm9vbGVh
bkNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkJvb2xlYW5Db25zdHJ1Y3Rvcjo6Y3JlYXRl
KToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICogcnVu
dGltZS9EYXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oOgorICAgICAgICAo
SlNDOjpFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1
Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjppc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyYXlDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6
OkpTR2xvYmFsT2JqZWN0OjphcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbik6CisgICAgICAgICog
cnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25J
bmRleGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhC
ZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKiBydW50aW1lL0pT
UHJvbWlzZUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlQ29uc3RydWN0
b3I6OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oOgorICAg
ICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpNYXBDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvTWFwQ29uc3RydWN0
b3IuaDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpOdW1iZXJDb25zdHJ1
Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpS
ZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUmVn
RXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0
ZSk6CisgICAgICAgICogcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6
OlNldENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9TZXRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpTZXRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAg
ICAgICAgKiBydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwOgorICAgICAgICAoSlNDOjpT
cGFyc2VBcnJheVZhbHVlTWFwOjpwdXREaXJlY3QpOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5n
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U3RyaW5nQ29uc3RydWN0b3I6OmNyZWF0ZSk6
CisgICAgICAgICogcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpT
eW1ib2xDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtNYXBDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFrTWFwQ29uc3RydWN0b3I6OmNyZWF0ZSk6Cisg
ICAgICAgICogcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6V2Vh
a1NldENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9zeW1ib2wt
c3BlY2llcy5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAgIChzaG91bGRU
aHJvdyk6CisgICAgICAgICguZ2V0IEV4dGVuZGVkQXJyYXkpOgorICAgICAgICAoLmdldCBzaG91
bGRCZSk6CisgICAgICAgICguc2V0IHNob3VsZEJlKToKKyAgICAgICAgKFRlc3QpOgorICAgICAg
ICAoLik6CisKIDIwMTUtMDctMTAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBERkc6OkRlc2lyZWRXYXRjaHBvaW50cyBzaG91bGQgYWNjZXB0IFdhdGNocG9pbnRT
ZXRUeXBlJ3MgdGhhdCBhcmVuJ3QgbmVjZXNzYXJpbHkgcG9pbnRlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCmluZGV4IGFmNDZkZDhm
ZWZmZTUzNGJjZDQwNTM0ZjM0ZjdiZjI1ZmE1YmU0NDMuLjEyMDlkNTc2NjExZDhkY2VlMjc4NTA3
YzYwZTI4N2VkNjkwZDhmOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTYxLDcgKzE2MSw3IEBAIGZ1bmN0aW9uIGZpbHRl
cihjYWxsYmFjayAvKiwgdGhpc0FyZyAqLykgewogICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJv
cigiQXJyYXkucHJvdG90eXBlLmZpbHRlciBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTsK
ICAgICAKICAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRz
WzFdIDogdW5kZWZpbmVkOwotICAgIHZhciByZXN1bHQgPSBbXTsKKyAgICB2YXIgcmVzdWx0ID0g
QGFycmF5U3BlY2llc0NyZWF0ZShhcnJheSwgMCk7CiAgICAgdmFyIG5leHRJbmRleCA9IDA7CiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICBpZiAoIShpIGlu
IGFycmF5KSkKQEAgLTE5MCw3ICsxOTAsNyBAQCBmdW5jdGlvbiBtYXAoY2FsbGJhY2sgLyosIHRo
aXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlw
ZS5tYXAgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAgICAgCiAgICAgdmFyIHRoaXNB
cmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKLSAg
ICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9IEBhcnJheVNwZWNpZXNDcmVhdGUo
YXJyYXksIGxlbmd0aCk7CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGxlbmd0aDsKICAgICB2YXIgbmV4
dEluZGV4ID0gMDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCmlu
ZGV4IDVhNTUxZjczOThmNzhmMGMyOWIwZjQzZDllZmNjMzdlYWEyMmUzMjUuLjM0ZGY2MjQwMjRi
YmRhYzlhYjI3ODA1NmFkYWZjMTZhOTI2MzY5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCkBAIC0xMDcsMyArMTA3LDEwIEBA
IGZ1bmN0aW9uIGZyb20oaXRlbXMgLyosIG1hcEZuLCB0aGlzQXJnICovKSB7CiAgICAgcmVzdWx0
Lmxlbmd0aCA9IGFycmF5TGlrZUxlbmd0aDsKICAgICByZXR1cm4gcmVzdWx0OwogfQorCitmdW5j
dGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4g
dGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9i
YWxPYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0
LmpzCmluZGV4IDZhZGFkZWZiZDlhOTcwMTc3OTM2NjBhZmRiMjNhNzU1MmEyMDdhZjkuLmNjN2Iy
Y2E5MWJmMGJlMDY5ZWU0NDFjY2FkMWIzOThlZDM2M2U5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwpAQCAtNTUsMyArNTUsMjIgQEAgZnVu
Y3Rpb24gaXNPYmplY3Qob2JqZWN0KQogCiAgICAgcmV0dXJuIChvYmplY3QgIT09IG51bGwgJiYg
dHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIpIHx8IHR5cGVvZiBvYmplY3QgPT09ICJmdW5jdGlv
biI7CiB9CisKK2Z1bmN0aW9uIHNwZWNpZXNDb25zdHJ1Y3RvcihvYmplY3QsIGRlZmF1bHRDb25z
dHJ1Y3RvcikKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2YXIgY29uc3RydWN0b3IgPSBv
YmplY3QuY29uc3RydWN0b3I7CisgICAgaWYgKGNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQpCisg
ICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJvYmplY3QgZG9lcyBub3QgaGF2ZSBcImNvbnN0
cnVjdG9yXCIgcHJvcGVydHkiKTsKKworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5
bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzID09PSB1bmRlZmluZWQgfHwgc3BlY2llcyA9
PT0gbnVsbCkKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRDb25zdHJ1Y3RvcjsKKworICAgIC8vIEZJ
WE1FOiBVc2UgaXNDb25zdHJ1Y3RvcihzcGVjaWVzKS4KKyAgICBpZiAodHlwZW9mIHNwZWNpZXMg
IT09ICdmdW5jdGlvbicpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJjb25zdHJ1Y3Rv
ci5AQHNwZWNpZXMgaXMgbm90IGEgY29uc3RydWN0b3IiKTsKKworICAgIHJldHVybiBzcGVjaWVz
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9y
LnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5w
cm90b3R5cGUuanMKaW5kZXggZGM3MmE2NDA4YjQzNjcwYTkzNjE5ZmM2MWYyYmVjMzI3NWUzOTVk
NS4uMWU5Yjk4Yzg0M2Q4Njc1NWM0NzYzMzc2NTc5ZjQ5OGE5MjAwMmRhMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzCkBA
IC0yMyw3ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWZ1bmN0aW9uIFN5bWJvbEl0
ZXJhdG9yKCkKK2Z1bmN0aW9uIHN5bWJvbEl0ZXJhdG9yKCkKIHsKICAgICAndXNlIHN0cmljdCc7
CiAgICAgcmV0dXJuIHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvTWFwQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
TWFwQ29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRkNjhhNTUzNjE1YjgyZjljMGI0
YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIHN5bWJvbFNw
ZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlvbnMuQXJyYXku
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5BcnJheS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZTMwNTJlNjRjMjEwNjllZDQ0ZWYxZjE0NGE5MDVmNGU4ZTVkNWQ0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlvbnMu
QXJyYXkuanMKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBZdXN1
a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBhcnJheVNwZWNpZXNDcmVhdGUob3JpZ2lu
YWxBcnJheSwgbGVuZ3RoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIGlmICghQGlzQXJy
YXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVybiBAbmV3QXJyYXlXaXRoU2l6ZShsZW5n
dGgpOworCisgICAgdmFyIGNvbnN0cnVjdG9yID0gb3JpZ2luYWxBcnJheS5jb25zdHJ1Y3RvcjsK
KworICAgIC8vIEVhcmx5IGNoZWNrIGZvciB0aGUgY29tbW9uIHBhdGguCisgICAgaWYgKGNvbnN0
cnVjdG9yICE9PSBAQXJyYXkpIHsKKyAgICAgICAgLy8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKS4KKyAgICAgICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3RvciA9PT0gImZ1bmN0
aW9uIikgeworICAgICAgICAgICAgaWYgKEBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJl
YWxtKGNvbnN0cnVjdG9yKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gQG5ld0FycmF5V2l0aFNp
emUobGVuZ3RoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChAaXNPYmplY3QoY29uc3Ry
dWN0b3IpKSB7CisgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNp
ZXNdOworICAgICAgICBpZiAoY29uc3RydWN0b3IgPT09IG51bGwpCisgICAgICAgICAgICBjb25z
dHJ1Y3RvciA9IHVuZGVmaW5lZDsKKyAgICB9CisKKyAgICBpZiAoY29uc3RydWN0b3IgPT09IHVu
ZGVmaW5lZCB8fCBjb25zdHJ1Y3RvciA9PT0gQEFycmF5KQorICAgICAgICByZXR1cm4gQG5ld0Fy
cmF5V2l0aFNpemUobGVuZ3RoKTsKKworICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikuCisgICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3RvciAhPT0gImZ1bmN0aW9uIikK
KyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNp
ZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworICAgIHJldHVybiBuZXcgY29uc3RydWN0b3IobGVu
Z3RoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9t
aXNlLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNl
LnByb3RvdHlwZS5qcwppbmRleCA4NTYzZGYwZDkyN2ZiMjMzOTY4OTM5ZTE0OTQyMzk2ZWM4NWU2
NWFhLi5jZjZhMjBmZDgzMjViODNjMWI5MDc1YjU5MTJjNDM1OTA0MDE2M2ZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5cGUuanMKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzCkBA
IC0zNyw5ICszNyw3IEBAIGZ1bmN0aW9uIHRoZW4ob25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQpCiAg
ICAgaWYgKCFAaXNQcm9taXNlKHRoaXMpKQogICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigi
fHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlzIGNvZGUg
d2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKLSAgICB2YXIgY29uc3Ry
dWN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yOworICAgIHZhciBjb25zdHJ1Y3RvciA9IEBzcGVjaWVz
Q29uc3RydWN0b3IodGhpcywgQFByb21pc2UpOwogCiAgICAgdmFyIHJlc3VsdENhcGFiaWxpdHkg
PSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qcwppbmRleCAxZjgz
YjQ3Zjc5MGE3NWU1YmY4YzkzZDVlNjY0OTYxOGNiMWFlYzY3Li4zZjk4ZWJmMzNhZTI5Nzg4MzZj
ZjE3MjEyODY1ODVjYTE3ZTBmYjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKQEAgLTMwLDkgKzMwLDEwIEBAIGZ1bmN0
aW9uIGFsbChpdGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgdGhy
b3cgbmV3IFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklY
TUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFu
ZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2
MjQKICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZhciBzcGVjaWVzID0gY29uc3Ry
dWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzICE9PSB1bmRlZmluZWQgJiYg
c3BlY2llcyAhPT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3IgPSBzcGVjaWVzOwogCiAgICAg
dmFyIHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9y
KTsKIApAQCAtODYsOSArODcsMTAgQEAgZnVuY3Rpb24gcmFjZShpdGVyYWJsZSkKICAgICBpZiAo
IUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigifHRoaXN8IGlz
IG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNw
ZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2YXIgY29uc3RydWN0b3IgPSB0
aGlzOworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAg
IGlmIChzcGVjaWVzICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAhPT0gbnVsbCkKKyAgICAgICAg
Y29uc3RydWN0b3IgPSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gQG5l
d1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAtMTM3LDMgKzEzOSwxMCBAQCBm
dW5jdGlvbiByZXNvbHZlKHZhbHVlKQogCiAgICAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LkBw
cm9taXNlOwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmlj
dCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTVi
ODJmOWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRhdGFuZS50ZWFAZ21haWwuY29t
Pi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZnVuY3Rpb24g
c3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDhiMmY4ZTYxZmMxZTZiMDZkZmRjODNmYzk0NzFjNTU5
ZjYzODliZDIuLmNhYmFkNGUyOTBkOWJlNjBhZTg1NGQxY2JjMGFlZGE3ODY2MGEyNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwCkBAIC0xNzg0LDYgKzE3ODQsMTUgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXROZXdBcnJheShSZWdpc3RlcklEKiBkc3QsIEVsZW1lbnROb2RlKiBlbGVt
ZW4KICAgICByZXR1cm4gZHN0OwogfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBsZW5ndGgp
Cit7CisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyYXlfd2l0aF9zaXplKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoZHN0LT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQo
bGVuZ3RoLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobmV3QXJyYXlBbGxv
Y2F0aW9uUHJvZmlsZSgpKTsKKyAgICByZXR1cm4gZHN0OworfQorCiBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY3Rpb25C
b2R5Tm9kZSogZnVuY3Rpb24pCiB7CiAgICAgcmV0dXJuIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KGRzdCwgbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRGVjbChtYWtlRnVuY3Rpb24oZnVuY3Rpb24p
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgKaW5kZXggMWE5NzcxZWYxMDc5NzljNDlmNTFhMzk0Mzk4NGU2MzE4MWM4
NGRlMy4uM2NkNDRhYTFjNTg1Mzg5Yjc5ZTBmMTMzZDNkZmQ1NzNmOTg1NjI5ZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaApAQCAtNDUyLDYgKzQ1Miw3IEBACiAgICAgICAgIHZvaWQgZW1pdFREWkNoZWNrKFJlZ2lz
dGVySUQqIHRhcmdldCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdPYmplY3QoUmVnaXN0
ZXJJRCogZHN0KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0FycmF5KFJlZ2lzdGVySUQq
IGRzdCwgRWxlbWVudE5vZGUqLCB1bnNpZ25lZCBsZW5ndGgpOyAvLyBzdG9wcyBhdCBmaXJzdCBl
bGlzaW9uCisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdBcnJheVdpdGhTaXplKFJlZ2lzdGVy
SUQqIGRzdCwgUmVnaXN0ZXJJRCogbGVuZ3RoKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3RnVuY3Rpb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jdGlvbkJvZHlOb2RlKik7CiAgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5z
aWduZWQgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IGNmZDNlZjFmZjZlODA3NTJkOTgwZDY5MDE0N2M0NTA3
NTA3ZTVmNjEuLmRjYTZmZjJlOTgwODgyNzZhZmIwMTYyY2EwYTk0YzY0MGMyOTViOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKQEAgLTc3Niw2ICs3NzYsMTUgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5zaWNOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmUKICAgICByZXR1
cm4gKHRoaXMtPiptX2VtaXR0ZXIpKGdlbmVyYXRvciwgZHN0KTsKIH0KIAorUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19uZXdBcnJheVdpdGhTaXplKEJ5
dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICBBcmd1
bWVudExpc3ROb2RlKiBub2RlID0gbV9hcmdzLT5tX2xpc3ROb2RlOworICAgIFJlZlB0cjxSZWdp
c3RlcklEPiBsZW5ndGggPSBnZW5lcmF0b3IuZW1pdE5vZGUobm9kZSk7CisgICAgQVNTRVJUKCFu
b2RlLT5tX25leHQpOworCisgICAgcmV0dXJuIGdlbmVyYXRvci5tb3ZlVG9EZXN0aW5hdGlvbklm
TmVlZGVkKGRzdCwgZ2VuZXJhdG9yLmVtaXROZXdBcnJheVdpdGhTaXplKGdlbmVyYXRvci50ZW1w
RGVzdGluYXRpb24oZHN0KSwgbGVuZ3RoLmdldCgpKSk7Cit9CisKIFJlZ2lzdGVySUQqIEJ5dGVj
b2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfcHV0QnlWYWxEaXJlY3QoQnl0ZWNvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQogewogICAgIEFyZ3VtZW50TGlz
dE5vZGUqIG5vZGUgPSBtX2FyZ3MtPm1fbGlzdE5vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcAppbmRleCA2Zjk1MTJiYTUzNGM0OTBkNGJmOTk4YWY1ZDA4
MjQ0MTJkYmI5MTRlLi5mOWE1M2MxMzhmZmQ4NGU5ZTg0YTUxYjZiODZhOWEwYWMyNDEzZTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTcyLDcg
KzcyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHB1dEJ5VmFsKEV4ZWNTdGF0ZSogZXhlYywgSlNW
YWx1ZSBiYXNlVmFsdWUsIHVpbnQzMl90IGluZGV4LAogICAgIEFTU0VSVChpc0luZGV4KGluZGV4
KSk7CiAgICAgaWYgKGRpcmVjdCkgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChiYXNlVmFsdWUu
aXNPYmplY3QoKSk7Ci0gICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4
KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJv
dyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBhc09iamVjdChiYXNl
VmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgdmFsdWUsIDAsIHN0cmljdCA/IFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hv
dWxkTm90VGhyb3cpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChiYXNlVmFsdWUu
aXNPYmplY3QoKSkgewpAQCAtMTI0LDcgKzEyNCw3IEBAIEFMV0FZU19JTkxJTkUgc3RhdGljIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbEludGVybmFsKEV4ZWNTdGF0ZSogZXhl
CiAgICAgaWYgKGRpcmVjdCkgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChiYXNlVmFsdWUuaXNP
YmplY3QoKSk7CiAgICAgICAgIGlmIChPcHRpb25hbDx1aW50MzJfdD4gaW5kZXggPSBwYXJzZUlu
ZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXRE
aXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAg
ICAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgu
dmFsdWUoKSwgdmFsdWUsIDAsIHN0cmljdCA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3Bl
cnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3QoKnZtLCBwcm9wZXJ0
eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICB9IGVsc2UKQEAgLTUwMSw3ICs1MDEsNyBAQCB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5kc1N0
cmljdChFeGVjU3RhdGUqIGV4ZQogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogICAgIGlmIChpbmRleCA+PSAwKSB7
Ci0gICAgICAgIGFycmF5LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRWYWx1ZSksIDAsIFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cpOworICAgICAg
ICBhcnJheS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpLCAwLCBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAKaW5kZXggMzgwMTVkMmQ4MDRmOTM1OTIwZjk3NTZhNzFjYTJmZGZl
YTE3OTU5MC4uMWU2NDUyZWNlZmE0MTE3NDQwNWU5ZjRlMzYwYTRhMjE5MDJiMzc3NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC01MzYsNyArNTM2
LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
T2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMKICAgICAgICAgfQogCiAgICAgICAgIGFycmF5
UHJvZmlsZS0+c2V0T3V0T2ZCb3VuZHMoKTsKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0
SW5kZXgoY2FsbEZyYW1lLCBpbmRleCwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVj
dEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAg
ICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoY2FsbEZyYW1lLCBpbmRleCwgdmFsdWUsIDAs
IGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6
IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC01NDQsNyArNTQ0LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMKICAgICAgICAgZG91
YmxlIHN1YnNjcmlwdEFzRG91YmxlID0gc3Vic2NyaXB0LmFzRG91YmxlKCk7CiAgICAgICAgIHVp
bnQzMl90IHN1YnNjcmlwdEFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN1YnNjcmlw
dEFzRG91YmxlKTsKICAgICAgICAgaWYgKHN1YnNjcmlwdEFzRG91YmxlID09IHN1YnNjcmlwdEFz
VUludDMyICYmIGlzSW5kZXgoc3Vic2NyaXB0QXNVSW50MzIpKSB7Ci0gICAgICAgICAgICBiYXNl
T2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIHN1YnNjcmlwdEFzVUludDMyLCB2YWx1
ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVj
dEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0
SW5kZXgoY2FsbEZyYW1lLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlzU3RyaWN0TW9k
ZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdElu
ZGV4U2hvdWxkTm90VGhyb3cpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpAQCAtNTU1LDcgKzU1NSw3IEBAIHN0YXRpYyB2b2lkIGRpcmVjdFB1dEJ5VmFsKENhbGxGcmFt
ZSogY2FsbEZyYW1lLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSBzCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmIChPcHRpb25hbDx1aW50MzJfdD4gaW5kZXggPSBwYXJzZUluZGV4KHBy
b3BlcnR5KSkKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoY2FsbEZyYW1lLCBp
bmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91
bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBp
c1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQ
dXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICBlbHNlIHsKICAgICAgICAgUHV0UHJv
cGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgaXNTdHJpY3RNb2RlKTsKICAgICAgICAgYmFzZU9i
amVjdC0+cHV0RGlyZWN0KGNhbGxGcmFtZS0+dm0oKSwgcHJvcGVydHksIHZhbHVlLCBzbG90KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4
IDljZmU4NzM0MGVlOTIzNDA4MWJmYmQ5NDUyOGU5ZTkwNzI0NGFhYTkuLjliMzgyYTU1ZTczZDRj
NDRiYWQ5ODBkNGI4NThhNWQ4MWM2ZGNlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtNzkxLDcgKzc5MSw3IEBAIGlubGluZSBKU1Zh
bHVlIGdldEJ5VmFsKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUg
c3Vic2NyaXB0KQogICAgIGlmIChMSUtFTFkoc3Vic2NyaXB0LmlzVUludDMyKCkpKSB7CiAgICAg
ICAgIC8vIERlc3BpdGUgaXRzIG5hbWUsIEpTVmFsdWU6OmlzVUludDMyIHdpbGwgcmV0dXJuIHRy
dWUgb25seSBmb3IgcG9zaXRpdmUgYm94ZWQgaW50MzJfdDsgYWxsIHRob3NlIHZhbHVlcyBhcmUg
dmFsaWQgYXJyYXkgaW5kaWNlcy4KICAgICAgICAgQVNTRVJUKGlzSW5kZXgoc3Vic2NyaXB0LmFz
VUludDMyKCkpKTsKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgc3Vi
c2NyaXB0LmFzVUludDMyKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRl
eFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJh
c2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdC5hc1VJbnQzMigpLCB2YWx1
ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIExMSU5UX0VORCgp
OwogICAgIH0KIApAQCAtNzk5LDcgKzc5OSw3IEBAIGlubGluZSBKU1ZhbHVlIGdldEJ5VmFsKEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vic2NyaXB0KQogICAg
ICAgICBkb3VibGUgc3Vic2NyaXB0QXNEb3VibGUgPSBzdWJzY3JpcHQuYXNEb3VibGUoKTsKICAg
ICAgICAgdWludDMyX3Qgc3Vic2NyaXB0QXNVSW50MzIgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4o
c3Vic2NyaXB0QXNEb3VibGUpOwogICAgICAgICBpZiAoc3Vic2NyaXB0QXNEb3VibGUgPT0gc3Vi
c2NyaXB0QXNVSW50MzIgJiYgaXNJbmRleChzdWJzY3JpcHRBc1VJbnQzMikpIHsKLSAgICAgICAg
ICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdEFzVUludDMyLCB2
YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERp
cmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUg
PyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRl
eFNob3VsZE5vdFRocm93KTsKICAgICAgICAgICAgIExMSU5UX0VORCgpOwogICAgICAgICB9CiAg
ICAgfQpAQCAtODEwLDcgKzgxMCw3IEBAIGlubGluZSBKU1ZhbHVlIGdldEJ5VmFsKEV4ZWNTdGF0
ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vic2NyaXB0KQogICAgICAgICBM
TElOVF9FTkQoKTsKIAogICAgIGlmIChPcHRpb25hbDx1aW50MzJfdD4gaW5kZXggPSBwYXJzZUlu
ZGV4KHByb3BlcnR5KSkKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywg
aW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hv
dWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgYmFzZU9i
amVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3Ry
aWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERp
cmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgIGVsc2UgewogICAgICAgICBQdXRQcm9wZXJ0
eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBpc1N0cmljdE1vZGUpOwogICAgICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgcHJvcGVydHksIHZhbHVlLCBzbG90KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKaW5kZXgg
MTk0ZjkyMTdjMWMyMTg2MDM2OWVjMGU0ZWU0NGQ4N2M5ODgwMDgzNi4uM2I1M2Q2NjRiNjY4ZjRm
YTMxYjhkZjZjMDQ3NmMzZGNjZDkwZjAwOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKQEAgLTI5LDE3ICsyOSwxMiBAQAogI2lu
Y2x1ZGUgIkNvcGllZFNwYWNlSW5saW5lcy5oIgogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1
ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiTG9va3Vw
LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCi1uYW1lc3BhY2UgSlNDIHsKLQotc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3RvcklzQXJyYXkoRXhl
Y1N0YXRlKik7Ci0KLX0KLQogI2luY2x1ZGUgIkFycmF5Q29uc3RydWN0b3IubHV0LmgiCiAKIG5h
bWVzcGFjZSBKU0MgewpAQCAtNjEsMTEgKzU2LDE0IEBACiB7CiB9CiAKLXZvaWQgQXJyYXlDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90
b3R5cGUpCit2b2lkIEFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBl
KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBhcnJheVByb3RvdHlwZS0+Y2xhc3NJ
bmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXJyYXlQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51
bSB8IERvbnREZWxldGUpOworICAgIEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0
dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29y
LT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJheVNwZWNpZXNH
ZXR0ZXJGdW5jdGlvbigpKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwg
RG9udEVudW0pOwogfQogCiBib29sIEFycmF5Q29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCAmc2xvdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5Q29uc3RydWN0b3IuaAppbmRleCAwNDBmMjZjNGM5OTA1YTQ1NzY5NGMwNWM4
NTQ0NzA2MDdiYjQ4NGE3Li4xZDI5M2RhZjk3ODYzYmRhNzY0NDk0NTQ2YWEwZGI4ZDA4NjE4MmVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rv
ci5oCkBAIC0zNCwxMCArMzQsMTAgQEAgY2xhc3MgQXJyYXlDb25zdHJ1Y3RvciA6IHB1YmxpYyBJ
bnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3QgfCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKIAotICAgIHN0
YXRpYyBBcnJheUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQorICAgIHN0YXRpYyBBcnJheUNvbnN0
cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgQXJyYXlDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxBcnJheUNvbnN0cnVjdG9yPih2bS5oZWFwKSkgQXJyYXlDb25zdHJ1Y3Rvcih2
bSwgc3RydWN0dXJlKTsKLSAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBh
cnJheVByb3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwg
Z2xvYmFsT2JqZWN0LCBhcnJheVByb3RvdHlwZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3Rv
cjsKICAgICB9CiAKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3MgQXJyYXlDb25zdHJ1Y3RvciA6IHB1
YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgQXJyYXlQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBBcnJheVByb3RvdHlwZSopOwogCiBwcml2YXRlOgog
ICAgIEFycmF5Q29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKQEAgLTYwLDYgKzYwLDcgQEAg
Y2xhc3MgQXJyYXlDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIH07CiAK
IEpTT2JqZWN0KiBjb25zdHJ1Y3RBcnJheVdpdGhTaXplUXVpcmsoRXhlY1N0YXRlKiwgQXJyYXlB
bGxvY2F0aW9uUHJvZmlsZSosIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CitFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5Q29uc3RydWN0b3JJc0FycmF5KEV4ZWNTdGF0ZSopOwog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwCmluZGV4IDg3Y2VhZTFjYmVmNTVjZjc2YmU4NTgxZTE3YzJi
MzljNzU4MDNhZGUuLjQzNzdmMjdkMzlhMWU0YTQzNGY3OGU3M2Q2ZGU2MDkyZTBmNmRlMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAK
QEAgLTI0LDExICsyNCwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFycmF5
UHJvdG90eXBlLmgiCiAKKyNpbmNsdWRlICJBcnJheUNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
QnV0dGVyZmx5SW5saW5lcy5oIgogI2luY2x1ZGUgIkNhY2hlZENhbGwuaCIKICNpbmNsdWRlICJD
b2RlQmxvY2suaCIKICNpbmNsdWRlICJDb3BpZWRTcGFjZUlubGluZXMuaCIKICNpbmNsdWRlICJF
cnJvci5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkludGVycHJldGVy
LmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCkBAIC00
OTksMTMgKzUwMSw3NSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9G
dW5jSm9pbihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqb2lu
KCpleGVjLCB0aGlzT2JqZWN0LCBzZXBhcmF0b3ItPnZpZXcoZXhlYykpKTsKIH0KIAorQUxXQVlT
X0lOTElORSBzdGF0aWMgSlNPYmplY3QqIGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIG9yaWdpbmFsQXJyYXkpCit7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKworICAgIGlmICgh
aXNKU0FycmF5KG9yaWdpbmFsQXJyYXkpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5h
cnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBKU0FycmF5KiBhcnJheSA9IGpzQ2FzdDxKU0FycmF5
Kj4ob3JpZ2luYWxBcnJheSk7CisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gYXJyYXkt
PkpTQXJyYXk6OmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IpOwor
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICBKU09iamVjdCogY29uc3RydWN0b3JPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0
Kj4oY29uc3RydWN0b3JWYWx1ZSk7CisgICAgaWYgKCFjb25zdHJ1Y3Rvck9iamVjdCkKKyAgICAg
ICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgLy8gVGhl
IG1vc3QgY29tbW9uIHBhdGguCisgICAgaWYgKGNvbnN0cnVjdG9yT2JqZWN0ID09IGdsb2JhbE9i
amVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpKSB7CisgICAgICAgIFByb3BlcnR5U2xvdCBzbG90KGNv
bnN0cnVjdG9yT2JqZWN0KTsKKyAgICAgICAgaWYgKGNvbnN0cnVjdG9yT2JqZWN0LT5nZXRQcm9w
ZXJ0eVNsb3QoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLnNwZWNpZXNTeW1ib2wsIHNsb3Qp
KSB7CisgICAgICAgICAgICBpZiAoc2xvdC5pc0FjY2Vzc29yKCkpIHsKKyAgICAgICAgICAgICAg
ICBHZXR0ZXJTZXR0ZXIqIGFjY2Vzc29yID0gc2xvdC5nZXR0ZXJTZXR0ZXIoKTsKKyAgICAgICAg
ICAgICAgICBpZiAoYWNjZXNzb3ItPmdldHRlcigpID09IGdsb2JhbE9iamVjdC0+YXJyYXlTcGVj
aWVzR2V0dGVyRnVuY3Rpb24oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbE9i
amVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29u
c3RydWN0b3JWYWx1ZSA9IHNsb3QuZ2V0VmFsdWUoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygp
LnNwZWNpZXNTeW1ib2wpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGNvbnN0cnVjdG9y
VmFsdWUgPSBqc1VuZGVmaW5lZCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIENvbnN0cnVjdERh
dGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0g
Z2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3Rvck9iamVjdCwgY29uc3RydWN0RGF0YSk7CisgICAg
ICAgIGlmIChjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGVOb25lKSB7CisgICAgICAgICAg
ICBpZiAoY29uc3RydWN0b3JPYmplY3QtPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAm
JiBjb25zdHJ1Y3Rvck9iamVjdCA9PSBjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFsT2JqZWN0KCkt
PmFycmF5Q29uc3RydWN0b3IoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAgIH0KKyAgICAgICAgY29uc3RydWN0b3JWYWx1
ZSA9IGNvbnN0cnVjdG9yT2JqZWN0LT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLnNw
ZWNpZXNTeW1ib2wpOworICAgIH0KKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKGNvbnN0cnVjdG9yVmFsdWUuaXNOdWxsKCkp
CisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAg
IGlmIChjb25zdHJ1Y3RvclZhbHVlLmlzVW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBnbG9i
YWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIHJldHVybiBqc0R5bmFtaWNDYXN0
PEpTT2JqZWN0Kj4oY29uc3RydWN0b3JWYWx1ZSk7Cit9CisKK3N0YXRpYyBib29sIGNyZWF0ZURh
dGFQcm9wZXJ0eU9yVGhyb3coRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb2JqZWN0LCB1bnNp
Z25lZCBpbmRleCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICByZXR1cm4gb2JqZWN0LT5wdXREaXJl
Y3RJbmRleChleGVjLCBpbmRleCwgdmFsdWUsIDAsIFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVBy
b3BlcnR5T3JUaHJvdyk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQ
cm90b0Z1bmNDb25jYXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVl
ID0gZXhlYy0+dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUpOworICAgIEpTT2Jq
ZWN0KiB0aGlzT2JqZWN0ID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOworICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKworICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0
cnVjdG9yKGV4ZWMsIHRoaXNPYmplY3QpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
KyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICBib29s
IGlzQXJyYXlDb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yID09IGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgSlNWYWx1ZSBjdXJBcmcgPSB0aGlz
T2JqZWN0OwogICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gZXhlYy0+YXJndW1lbnRDb3VudCgpOwot
ICAgIEpTVmFsdWUgY3VyQXJnID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOwogICAgIENoZWNr
ZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBmaW5hbEFycmF5U2l6ZSA9IDA7Ci0KICAgICBK
U0FycmF5KiBjdXJyZW50QXJyYXkgPSBudWxscHRyOwogICAgIEpTQXJyYXkqIHByZXZpb3VzQXJy
YXkgPSBudWxscHRyOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IDsgKytpKSB7CkBAIC01MjYs
MTcgKzU5MCwzMSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5j
Q29uY2F0KEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAoZmluYWxBcnJheVNpemUuaGFzT3ZlcmZs
b3dlZCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlF
cnJvcihleGVjKSk7CiAKLSAgICBpZiAoYXJnQ291bnQgPT0gMSAmJiBwcmV2aW91c0FycmF5ICYm
IGN1cnJlbnRBcnJheSAmJiBmaW5hbEFycmF5U2l6ZS51bnNhZmVHZXQoKSA8IE1JTl9TUEFSU0Vf
QVJSQVlfSU5ERVgpIHsKKyAgICBpZiAoaXNBcnJheUNvbnN0cnVjdG9yICYmIGFyZ0NvdW50ID09
IDEgJiYgcHJldmlvdXNBcnJheSAmJiBjdXJyZW50QXJyYXkgJiYgZmluYWxBcnJheVNpemUudW5z
YWZlR2V0KCkgPCBNSU5fU1BBUlNFX0FSUkFZX0lOREVYKSB7CiAgICAgICAgIEluZGV4aW5nVHlw
ZSB0eXBlID0gSlNBcnJheTo6ZmFzdENvbmNhdFR5cGUoZXhlYy0+dm0oKSwgKnByZXZpb3VzQXJy
YXksICpjdXJyZW50QXJyYXkpOwogICAgICAgICBpZiAodHlwZSAhPSBOb25BcnJheSkKICAgICAg
ICAgICAgIHJldHVybiBwcmV2aW91c0FycmF5LT5mYXN0Q29uY2F0V2l0aCgqZXhlYywgKmN1cnJl
bnRBcnJheSk7CiAgICAgfQogCi0gICAgSlNBcnJheSogYXJyID0gY29uc3RydWN0RW1wdHlBcnJh
eShleGVjLCBudWxscHRyLCBmaW5hbEFycmF5U2l6ZS51bnNhZmVHZXQoKSk7Ci0gICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBudWxscHRyOworICAgIGlmIChpc0Fy
cmF5Q29uc3RydWN0b3IpIHsKKyAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RW1wdHlBcnJheShl
eGVjLCBudWxscHRyLCBmaW5hbEFycmF5U2l6ZS51bnNhZmVHZXQoKSk7CisgICAgICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQ29uc3RydWN0RGF0YSBjb25z
dHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25z
dHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKTsKKyAgICAgICAgaWYgKGNvbnN0
cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZ2l2ZW4gY29uc3Ry
dWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpKSk7CisKKyAgICAgICAgTWFya2Vk
QXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICAgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoMCkpOwor
ICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5
cGUsIGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgIH0KIAotICAgIGN1ckFyZyA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBjdXJB
cmcgPSB0aGlzT2JqZWN0OwogICAgIHVuc2lnbmVkIG4gPSAwOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IDsgKytpKSB7CiAgICAgICAgIGlmIChKU0FycmF5KiBjdXJyZW50QXJyYXkgPSBqc0R5
bmFtaWNDYXN0PEpTQXJyYXkqPihjdXJBcmcpKSB7CkBAIC01NDgsMjAgKzYyNiwzMCBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jQ29uY2F0KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCBjdXJy
ZW50QXJyYXksIGspOwogICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKLSAgICAgICAgICAgICAgICBpZiAodikKLSAgICAgICAgICAgICAgICAgICAgYXJyLT5wdXRE
aXJlY3RJbmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgICAgICAgICBpZiAodikgeworICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgbiwg
dik7CisgICAgICAgICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIG4rKzsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGFyci0+cHV0RGlyZWN0SW5kZXgoZXhlYywg
biwgY3VyQXJnKTsKKyAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywg
cmVzdWx0LCBuLCBjdXJBcmcpOworICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CiAgICAgICAgICAgICBuKys7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGkgPT0gYXJnQ291bnQp
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY3VyQXJnID0gZXhlYy0+dW5jaGVja2VkQXJn
dW1lbnQoaSk7CiAgICAgfQotICAgIGFyci0+c2V0TGVuZ3RoKGV4ZWMsIG4pOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoYXJyKTsKKworICAgIGlmIChpc0FycmF5Q29uc3RydWN0b3IpCisg
ICAgICAgIGpzQ2FzdDxKU0FycmF5Kj4ocmVzdWx0KS0+c2V0TGVuZ3RoKGV4ZWMsIG4pOworICAg
IGVsc2UKKyAgICAgICAgcHV0TGVuZ3RoKGV4ZWMsIHJlc3VsdCwganNOdW1iZXIobikpOworCisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jUG9wKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTczMCwy
MyArODE4LDU1IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNT
bGljZShFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICB1bnNpZ25lZCBiZWdpbiA9IGFyZ3VtZW50Q2xh
bXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZXhlYywgMCwgbGVuZ3RoKTsKICAgICB1bnNpZ25lZCBl
bmQgPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMsIDEsIGxlbmd0aCwg
bGVuZ3RoKTsKKyAgICB1bnNpZ25lZCBjb3VudCA9IGVuZCAtIGJlZ2luOwogCi0gICAgaWYgKGlz
SlNBcnJheSh0aGlzT2JqKSkgewotICAgICAgICBpZiAoSlNBcnJheSogcmVzdWx0ID0gYXNBcnJh
eSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgZW5kIC0gYmVnaW4pKQotICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgIEpTT2JqZWN0KiBjb25z
dHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKGV4ZWMsIHRoaXNPYmopOworICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKworICAgIGlmIChjb25zdHJ1Y3RvciA9PSBleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkgeworICAgICAgICBpZiAoaXNKU0FycmF5
KHRoaXNPYmopKSB7CisgICAgICAgICAgICBpZiAoSlNBcnJheSogcmVzdWx0ID0gYXNBcnJheSh0
aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgY291bnQpKQorICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICAgICAgfQorCisgICAgICAgIEpT
QXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgY291bnQp
OworCisgICAgICAgIHVuc2lnbmVkIG4gPSAwOworICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSBi
ZWdpbjsgayA8IGVuZDsgaysrLCBuKyspIHsKKyAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFBy
b3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOworICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisgICAgICAgICAgICBpZiAodikKKyAgICAgICAgICAgICAgICByZXN1bHQtPnB1dERp
cmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICB9CisgICAgICAgIHJlc3VsdC0+c2V0TGVu
Z3RoKGV4ZWMsIG4pOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAg
ICAgfQogCi0gICAgSlNBcnJheSogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCBu
dWxscHRyLCBlbmQgLSBiZWdpbik7CisgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwor
ICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3Ry
dWN0b3IsIGNvbnN0cnVjdERhdGEpOworICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVj
dFR5cGVOb25lKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9y
KGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3Qg
YSBmdW5jdGlvbiIpKSk7CisKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFy
Z3MuYXBwZW5kKGpzTnVtYmVyKGNvdW50KSk7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0
cnVjdChleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3RydWN0RGF0YSwgYXJn
cyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCiAgICAgdW5zaWduZWQgbiA9IDA7CiAgICAgZm9y
ICh1bnNpZ25lZCBrID0gYmVnaW47IGsgPCBlbmQ7IGsrKywgbisrKSB7Ci0gICAgICAgIEpTVmFs
dWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOworICAgICAgICBKU1ZhbHVlIHZh
bHVlID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CiAgICAgICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7Ci0gICAgICAgIGlmICh2KQotICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJ
bmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgaWYgKHZhbHVlKSB7CisgICAgICAgICAgICBjcmVh
dGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgbiwgdmFsdWUpOworICAgICAgICAg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgIH0KICAgICB9Ci0gICAgcmVzdWx0
LT5zZXRMZW5ndGgoZXhlYywgbik7CisgICAgcHV0TGVuZ3RoKGV4ZWMsIHJlc3VsdCwganNOdW1i
ZXIobikpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApAQCAtNzYw
LDkgKzg4MCw2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNT
cGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgIHVuc2lnbmVkIGxlbmd0aCA9IGdldExlbmd0aChl
eGVjLCB0aGlzT2JqKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgCi0gICAgaWYgKCFleGVj
LT5hcmd1bWVudENvdW50KCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3Ry
dWN0RW1wdHlBcnJheShleGVjLCBudWxscHRyKSk7CiAKICAgICB1bnNpZ25lZCBiZWdpbiA9IGFy
Z3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQoZXhlYywgMCwgbGVuZ3RoKTsKIApAQCAt
Nzc3LDIyICs4OTQsNTggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RnVuY1NwbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBkZWxldGVDb3VudCA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkPihkZWxldGVEb3VibGUpOwogICAgIH0KIAotICAgIEpTQXJyYXkq
IHJlc3VsdCA9IG51bGxwdHI7CisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVj
aWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iaik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisg
ICAgSlNPYmplY3QqIHJlc3VsdCA9IG51bGxwdHI7CisgICAgaWYgKGNvbnN0cnVjdG9yID09IGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSB7CisgICAgICAg
IEpTQXJyYXkqIHJlc3VsdEFycmF5ID0gbnVsbHB0cjsKKworICAgICAgICBpZiAoIWV4ZWMtPmFy
Z3VtZW50Q291bnQoKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3Ry
dWN0RW1wdHlBcnJheShleGVjLCBudWxscHRyKSk7CiAKLSAgICBpZiAoaXNKU0FycmF5KHRoaXNP
YmopKQotICAgICAgICByZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMs
IGJlZ2luLCBkZWxldGVDb3VudCk7CisgICAgICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpCisg
ICAgICAgICAgICByZXN1bHRBcnJheSA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhl
YywgYmVnaW4sIGRlbGV0ZUNvdW50KTsKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJl
c3VsdCA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0
aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIGRlbGV0ZUNvdW50KTsKLSAgICAgICAgaWYgKCFyZXN1
bHQpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93T3V0T2ZNZW1vcnlF
cnJvcihleGVjKSk7CisgICAgICAgIGlmICghcmVzdWx0QXJyYXkpIHsKKyAgICAgICAgICAgIHJl
c3VsdEFycmF5ID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0Fs
bG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgZGVsZXRlQ291bnQpOworICAgICAgICAgICAg
aWYgKCFyZXN1bHRBcnJheSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjKSk7CisKKyAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgayA9IDA7IGsgPCBkZWxldGVDb3VudDsgKytrKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1
ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArIGJlZ2luKTsKKyAgICAgICAgICAg
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICAgICAgcmVzdWx0
QXJyYXktPmluaXRpYWxpemVJbmRleCh2bSwgaywgdik7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgcmVzdWx0ID0gcmVzdWx0QXJyYXk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Q29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0
cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKTsK
KyAgICAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpCisgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0
ZXJhbCgiZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpKSk7
CisKKyAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICAgICAgYXJncy5hcHBl
bmQoanNOdW1iZXIoZGVsZXRlQ291bnQpKTsKKyAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0KGV4
ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdzKTsKKyAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAw
OyBrIDwgZGVsZXRlQ291bnQ7ICsraykgewotICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJv
cGVydHkoZXhlYywgdGhpc09iaiwgayArIGJlZ2luKTsKKyAgICAgICAgICAgIEpTVmFsdWUgdmFs
dWUgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrICsgIGJlZ2luKTsKICAgICAgICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwotICAgICAgICAgICAgcmVzdWx0LT5pbml0aWFsaXpl
SW5kZXgodm0sIGssIHYpOworICAgICAgICAgICAgaWYgKHZhbHVlKSB7CisgICAgICAgICAgICAg
ICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIGssIHZhbHVlKTsKKyAg
ICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KKyAgICAgICAgcHV0TGVuZ3RoKGV4ZWMsIHJlc3VsdCwganNOdW1iZXIoZGVs
ZXRlQ291bnQpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICB9CiAKICAgICB1
bnNpZ25lZCBhZGRpdGlvbmFsQXJncyA9IHN0ZDo6bWF4PGludD4oZXhlYy0+YXJndW1lbnRDb3Vu
dCgpIC0gMiwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9C
b29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xl
YW5Db25zdHJ1Y3Rvci5oCmluZGV4IDE3N2Y2OWU1Y2I0ODJjYTVjZDNjZDUwNmFkMWE0MDMyNzAz
ODc3NzIuLjhmMTYwMDRhNjVhYzcwMTdhODE4YmIwN2EyYmJmNjkzY2E3Mjc5NWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBA
IC0zMSw3ICszMSw3IEBAIGNsYXNzIEJvb2xlYW5Db25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5h
bEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsK
IAotICAgIHN0YXRpYyBCb29sZWFuQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBlKiBib29sZWFuUHJvdG90eXBlKQorICAgIHN0
YXRpYyBCb29sZWFuQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUp
CiAgICAgewogICAgICAgICBCb29sZWFuQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChO
b3ROdWxsLCBhbGxvY2F0ZUNlbGw8Qm9vbGVhbkNvbnN0cnVjdG9yPih2bS5oZWFwKSkgQm9vbGVh
bkNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNo
Q3JlYXRpb24odm0sIGJvb2xlYW5Qcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggNDFiOTRmMWJmNDdiZmM2NmQ4
NzY0NTBjMDEzMDFlNTUyMWZmOTU2ZC4uZjU1OTk3ZjIzNzJkMDFkNzlmZjFhYmFmOWI4MmUwOTEw
NjQyYzAyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5oCkBAIC0yMzcsMjIgKzIzNywyMiBAQAogICAgIG1hY3JvKG1hdGNoKSBcCiAg
ICAgbWFjcm8ocmVwbGFjZSkgXAogICAgIG1hY3JvKHNlYXJjaCkgXAotICAgIG1hY3JvKHNwZWNp
ZXMpIFwKICAgICBtYWNybyhzcGxpdCkgXAogICAgIG1hY3JvKHRvUHJpbWl0aXZlKSBcCiAgICAg
bWFjcm8odG9TdHJpbmdUYWcpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJ
RVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wobWFjcm8pIFwKICAgICBtYWNybyhpdGVyYXRvcikg
XAorICAgIG1hY3JvKHNwZWNpZXMpIFwKICAgICBtYWNybyh1bnNjb3BhYmxlcykKIAogI2RlZmlu
ZSBKU0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJQ1NfRUFDSF9OQU1FKG1hY3JvKSBcCisgICAg
bWFjcm8obmV3QXJyYXlXaXRoU2l6ZSkgXAogICAgIG1hY3JvKHB1dEJ5VmFsRGlyZWN0KSBcCiAg
ICAgbWFjcm8odG9TdHJpbmcpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJ
RVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShtYWNybykgXAogICAgIEpTQ19DT01NT05fQllURUNPREVf
SU5UUklOU0lDU19FQUNIX05BTUUobWFjcm8pIFwKLSAgICBtYWNybyhzeW1ib2xJdGVyYXRvcikg
XAogICAgIG1hY3JvKGl0ZXJhdGVkT2JqZWN0KSBcCiAgICAgbWFjcm8oYXJyYXlJdGVyYXRvck5l
eHRJbmRleCkgXAogICAgIG1hY3JvKGFycmF5SXRlcmF0aW9uS2luZCkgXApAQCAtMjgwLDYgKzI4
MCw3IEBACiAgICAgbWFjcm8oYWJzKSBcCiAgICAgbWFjcm8oZmxvb3IpIFwKICAgICBtYWNybyhp
c0Zpbml0ZSkgXAorICAgIG1hY3JvKGlzQXJyYXkpIFwKICAgICBtYWNybyhnZXRQcm90b3R5cGVP
ZikgXAogICAgIG1hY3JvKGdldE93blByb3BlcnR5TmFtZXMpIFwKICAgICBtYWNybyhUeXBlRXJy
b3IpIFwKQEAgLTI5Nyw2ICsyOTgsNyBAQAogICAgIG1hY3JvKHByb21pc2VSZWplY3RSZWFjdGlv
bnMpIFwKICAgICBtYWNybyhwcm9taXNlUmVzdWx0KSBcCiAgICAgbWFjcm8oY2FwYWJpbGl0aWVz
KSBcCisgICAgbWFjcm8oaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSkgXAogCiAK
IG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRGF0ZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
Q29uc3RydWN0b3IuaAppbmRleCAwNTRmNTcxZDU3OWU4Y2U0ZjM0YjU0MDkxN2I4ZDAyOGI1MGRm
YjliLi43NTk2ZmFkOTYxZWEyOGU4ZmU2MjlmNDUyNDdmNTY5MDM4ZDMxMDQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaApAQCAtMzIsNyAr
MzIsNyBAQCBjbGFzcyBEYXRlQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7
CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNH
ZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgRGF0ZUNvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlw
ZSkKKyAgICBzdGF0aWMgRGF0ZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRlUHJvdG90eXBlKiBkYXRlUHJvdG90eXBl
KQogICAgIHsKICAgICAgICAgRGF0ZUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPERhdGVDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIERhdGVDb25zdHJ1
Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9u
KHZtLCBkYXRlUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Vycm9yQ29uc3RydWN0b3IuaAppbmRleCBiMTE4OTRkYmU0YjU2MTRmZDIzMGI2MGY2YWUzYmM4
YmIzNWQyOTJlLi5iZmVkN2M4NzM1MTFjYjVjOWJjYTkxZjJiYTIzMzZmNzJiMTI3YWFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCkBA
IC0zMiw3ICszMiw3IEBAIGNsYXNzIEVycm9yQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxG
dW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAK
LSAgICBzdGF0aWMgRXJyb3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKKyAgICBzdGF0aWMgRXJy
b3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQogICAgIHsKICAgICAg
ICAgRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxFcnJvckNvbnN0cnVjdG9yPih2bS5oZWFwKSkgRXJyb3JDb25zdHJ1Y3Rvcih2bSwgc3Ry
dWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBlcnJvclBy
b3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAppbmRleCAzZDE0YTllZjU1ZjRjMzMwYzBlZTc4
ZjBmODYzNzczZDA1ZGNmOGM5Li4xNzk0Yjg0YjRkYmUyOGRmNzNiYTRhNGM0ZGQxYmY4YjU4OTU2
M2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTI4LDggKzI4LDEwIEBACiAKICNpbmNsdWRl
ICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJHZXR0
ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNBcnJh
eUJ1ZmZlclByb3RvdHlwZS5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAi
SlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKQEAgLTQ3LDIyICs0
OSwyMCBAQAogewogfQogCi12b2lkIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUpCit2b2lkIEpT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7
CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiQXJyYXlCdWZmZXIi
KSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgcHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7
CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxl
bmd0aCwganNOdW1iZXIoMSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKLQot
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsK
ICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKHZtLnByb3BlcnR5TmFtZXMtPmlzVmlldywgYXJyYXlC
dWZmZXJGdW5jSXNWaWV3LCBEb250RW51bSwgMSk7CiB9CiAKLUpTQXJyYXlCdWZmZXJDb25zdHJ1
Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQorSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yKiBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7CiAgICAgSlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yKiByZXN1bHQgPQogICAgICAgICBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3I+KHZtLmhlYXApKQogICAgICAgICBKU0FycmF5QnVmZmVyQ29u
c3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwg
cHJvdG90eXBlKTsKKyAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaAppbmRl
eCBiNjViNTIzYjY0YzRiZGM3YWUyMTY1MmYxY2UyMDIzNDkxNTliMzQxLi42NDkxNDk0NTU2Zjg4
YTI4ODg1ZTU5NTc4YmZmZGQxNWM2ZjJjNDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaApAQCAtMzgsMTAg
KzM4LDEwIEBAIGNsYXNzIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5h
bEZ1bmN0aW9uIHsKIAogcHJvdGVjdGVkOgogICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihW
TSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0FycmF5QnVm
ZmVyUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIEpT
QXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgU3RydWN0dXJlKiwgSlNBcnJheUJ1
ZmZlclByb3RvdHlwZSopOworICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZSopOwogICAgIAogICAgIERFQ0xBUkVfSU5GTzsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCAxMGJmMTc3ODIwMjJj
NDc5NGQzMGU3MGVmYjJiZWY1ZGYyNDJjZTE4Li5hODE2ZTAwNDA0MTAwZTlhMjAwY2ViYWI4NGY4
YmZmZTRlNzBjYzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCkBAIC0xOTUsNiArMTk1LDE2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGVucXVldWVKb2IoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK3N0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0oRXhlY1N0
YXRlKiBleGVjKQoreworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisKKyAgICBKU1ZhbHVlIGNvbnN0cnVjdG9yVmFsdWUgPSBl
eGVjLT5hcmd1bWVudCgwKTsKKyAgICBpZiAoSlNPYmplY3QqIGNvbnN0cnVjdG9yID0ganNEeW5h
bWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpKQorICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0ICYmIGNvbnN0cnVjdG9yID09IGNvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKS0+
YXJyYXlDb25zdHJ1Y3RvcigpKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xl
YW4oZmFsc2UpKTsKK30KKwogSlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKiBnbG9i
YWxPYmplY3RNZXRob2RUYWJsZSkKICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSwgMCkKICAgICAs
IG1fdm0odm0pCkBAIC0yNzAsNiArMjgwLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChW
TSYgdm0pCiAgICAgbV9jYWxsRnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBjYWxsRnVuY3Rpb24pOwog
ICAgIG1fYXBwbHlGdW5jdGlvbi5zZXQodm0sIHRoaXMsIGFwcGx5RnVuY3Rpb24pOwogICAgIG1f
YXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCB0aGlzLCAwLCB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZXMuc3RyaW5nKCksIGFycmF5UHJv
dG9GdW5jVmFsdWVzKSk7CisgICAgbV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbi5zZXQodm0s
IHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgYXJyYXlDb25zdHJ1
Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcywgImdldCBbU3ltYm9sLnNw
ZWNpZXNdIikpOwogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICBtX2luaXRpYWxpemVQcm9taXNl
RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24o
dm0sIG9wZXJhdGlvbnNQcm9taXNlSW5pdGlhbGl6ZVByb21pc2VDb2RlR2VuZXJhdG9yKHZtKSwg
dGhpcykpOwogICAgIG1fbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBK
U0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIG9wZXJhdGlvbnNQcm9taXNlTmV3
UHJvbWlzZURlZmVycmVkQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpKTsKQEAgLTM3NywxMiArMzg4
LDEyIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIG1fZGVmaW5lUHJv
cGVydHlGdW5jdGlvbi5zZXQodm0sIHRoaXMsIGRlZmluZVByb3BlcnR5RnVuY3Rpb24pOwogCiAg
ICAgSlNDZWxsKiBmdW5jdGlvbkNvbnN0cnVjdG9yID0gRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3Jl
YXRlKHZtLCBGdW5jdGlvbkNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKTsKLSAg
ICBKU0NlbGwqIGFycmF5Q29uc3RydWN0b3IgPSBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0s
IEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpOworICAgIG1fYXJyYXlDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywg
QXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJv
dG90eXBlLmdldCgpKSwgbV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOwogICAgIAotICAgIG1fcmVn
RXhwQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZt
LCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSwgbV9yZWdFeHBQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3JlZ0V4
cENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwg
dGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CiAgICAgCiAj
ZGVmaW5lIENSRUFURV9DT05TVFJVQ1RPUl9GT1JfU0lNUExFX1RZUEUoY2FwaXRhbE5hbWUsIGxv
d2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUpIFwKLWNhcGl0YWxOYW1l
ICMjIENvbnN0cnVjdG9yKiBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IgPSBjYXBpdGFsTmFtZSAj
IyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMg
bG93ZXJOYW1lICMjIFByb3RvdHlwZS5nZXQoKSk7IFwKK2NhcGl0YWxOYW1lICMjIENvbnN0cnVj
dG9yKiBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rv
cjo6Y3JlYXRlKHZtLCB0aGlzLCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJO
YW1lICMjIFByb3RvdHlwZS5nZXQoKSk7IFwKIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUt
PnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvciwgbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yLCBEb250RW51bSk7IFwKIAogICAgIEZPUl9F
QUNIX1NJTVBMRV9CVUlMVElOX1RZUEUoQ1JFQVRFX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQ
RSkKQEAgLTQwMCwxMiArNDExLDEyIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZt
KQogICAgIG1fdHlwZUVycm9yQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBOYXRpdmVFcnJvckNv
bnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIG5hdGl2ZUVycm9yU3RydWN0dXJlLCBuYXRpdmVF
cnJvclByb3RvdHlwZVN0cnVjdHVyZSwgQVNDSUlMaXRlcmFsKCJUeXBlRXJyb3IiKSkpOwogICAg
IG1fVVJJRXJyb3JDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIE5hdGl2ZUVycm9yQ29uc3RydWN0
b3I6OmNyZWF0ZSh2bSwgdGhpcywgbmF0aXZlRXJyb3JTdHJ1Y3R1cmUsIG5hdGl2ZUVycm9yUHJv
dG90eXBlU3RydWN0dXJlLCBBU0NJSUxpdGVyYWwoIlVSSUVycm9yIikpKTsKICNpZiBFTkFCTEUo
UFJPTUlTRVMpCi0gICAgbV9wcm9taXNlQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBKU1Byb21p
c2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9wcm9taXNlUHJv
dG90eXBlLmdldCgpKSk7CisgICAgbV9wcm9taXNlQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBK
U1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBKU1Byb21pc2VDb25zdHJ1Y3Rv
cjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwg
bV9wcm9taXNlUHJvdG90eXBlLmdldCgpKSk7CiAjZW5kaWYKICAgICAKICAgICBtX29iamVjdFBy
b3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PmNvbnN0cnVjdG9yLCBvYmplY3RDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIG1fZnVuY3Rp
b25Qcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5jb25zdHJ1Y3RvciwgZnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIG1f
YXJyYXlQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvciwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOworICAgIG1f
YXJyYXlQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvciwgbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7
CiAgICAgbV9yZWdFeHBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKSwg
RG9udEVudW0pOwogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICBtX3Byb21pc2VQcm90b3R5cGUt
PnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvciwgbV9wcm9taXNlQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKQEAgLTQxMyw3ICs0
MjQsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAKICAgICBwdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+T2JqZWN0LCBvYmpl
Y3RDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbiwgZnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9u
dEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5BcnJheSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheSwgbV9hcnJheUNvbnN0
cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPlJlZ0V4cCwgbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKSwg
RG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5FdmFsRXJyb3IsIG1fZXZhbEVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVt
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
UmFuZ2VFcnJvciwgbV9yYW5nZUVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKQEAg
LTQ5Myw5ICs1MDQsMTAgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5vYmplY3RHZXRPd25Qcm9w
ZXJ0eVN5bWJvbHNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNPYmplY3RHZXRPd25Qcm9wZXJ0eVN5
bWJvbHMsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFRlbXBsYXRlT2JqZWN0UHJpdmF0ZU5h
bWUsIHByaXZhdGVGdW5jR2V0VGVtcGxhdGVPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMt
PmVucXVldWVKb2JQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBT
dHJpbmcoKSwgZW5xdWV1ZUpvYiksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwK
KyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlDb25z
dHJ1Y3RvckluRGlmZmVyZW50UmVhbG1Qcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCB0aGlzLCAxLCBTdHJpbmcoKSwgaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSks
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlR5cGVFcnJvclByaXZhdGVOYW1lLCBtX3R5cGVFcnJv
ckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5CdWlsdGluTG9nUHJp
dmF0ZU5hbWUsIGJ1aWx0aW5Mb2csIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwK
LSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJpdmF0
ZU5hbWUsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJp
dmF0ZU5hbWUsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+TnVtYmVyUHJpdmF0ZU5hbWUsIG51bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5TdHJpbmdQcml2YXRlTmFtZSwgc3RyaW5nQ29uc3RydWN0b3IsIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmFic1ByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0FicywgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTAzLDEwICs1MTUsMTIgQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5nZXRQcm90b3R5cGVPZlByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0Zsb29yLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5nZXRPd25Qcm9wZXJ0eU5hbWVzUHJpdmF0ZU5hbWUsIHBy
aXZhdGVGdW5jRmxvb3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzRmluaXRlUHJpdmF0ZU5h
bWUsIHByaXZhdGVGdW5jSXNGaW5pdGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlQ
cml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwgYXJy
YXlDb25zdHJ1Y3RvcklzQXJyYXkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0ZXJh
dGlvbktpbmRLZXlQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5KSwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5kVmFsdWVQcml2YXRlTmFtZSwganNO
dW1iZXIoQXJyYXlJdGVyYXRlVmFsdWUpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0
ZXJhdGlvbktpbmRLZXlWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXlW
YWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUs
IFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5
TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lKCksIFN5bWJvbDo6Y3JlYXRl
KHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9y
U3ltYm9sLmltcGwoKSkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5z
eW1ib2xTcGVjaWVzUHJpdmF0ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0
PFN5bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbC5pbXBsKCkpKSwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogI2lmIEVOQUJMRShQUk9NSVNFUykK
ICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlByb21pc2VQcml2
YXRlTmFtZSwgbV9wcm9taXNlQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPnByb21pc2VQZW5kaW5nUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSksCkBAIC01MTYsNiArNTMwLDggQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5p
dChWTSYgdm0pCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS50b0xlbmd0aFByaXZhdGVOYW1lKCksIHByaXZhdGVGdW5jVG9MZW5ndGgs
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnRvSW50ZWdlclByaXZhdGVO
YW1lKCksIHByaXZhdGVGdW5jVG9JbnRlZ2VyLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWls
dGluTmFtZXMoKS5pc09iamVjdFByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0
aW5GdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0SXNPYmplY3RDb2RlR2VuZXJhdG9yKHZtKSwgdGhp
cyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnNwZWNpZXNDb25zdHJ1
Y3RvclByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwg
Z2xvYmFsT2JqZWN0U3BlY2llc0NvbnN0cnVjdG9yQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5hcnJheVNwZWNpZXNDcmVhdGVQ
cml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIG9wZXJh
dGlvbnNBcnJheUFycmF5U3BlY2llc0NyZWF0ZUNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9u
dEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUlu
Zm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNQcm9taXNlUHJpdmF0ZU5hbWUo
KSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlz
ZUlzUHJvbWlzZUNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YnVpbHRpbk5hbWVzKCkubmV3UHJvbWlzZVJlYWN0aW9uUHJpdmF0ZU5hbWUoKSwgSlNGdW5j
dGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21p
c2VSZWFjdGlvbkNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YnVpbHRpbk5hbWVzKCkubmV3UHJvbWlzZUNhcGFiaWxpdHlQcml2YXRlTmFtZSgpLCBKU0Z1
bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIG9wZXJhdGlvbnNQcm9taXNlTmV3UHJv
bWlzZUNhcGFiaWxpdHlDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKQEAgLTUzMSw3ICs1NDcsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0
Ojppbml0KFZNJiB2bSkKICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpDYWxsRnVuY3Rp
b25dID0gbV9jYWxsRnVuY3Rpb24uZ2V0KCk7CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lh
bDo6QXBwbHlGdW5jdGlvbl0gPSBtX2FwcGx5RnVuY3Rpb24uZ2V0KCk7CiAgICAgbV9zcGVjaWFs
UG9pbnRlcnNbU3BlY2lhbDo6T2JqZWN0Q29uc3RydWN0b3JdID0gb2JqZWN0Q29uc3RydWN0b3I7
Ci0gICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBhcnJh
eUNvbnN0cnVjdG9yOworICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3Ry
dWN0b3JdID0gbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOwogCiAgICAgbV9saW5rVGltZUNvbnN0
YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6RGVmaW5lUHJvcGVy
dHlGdW5jdGlvbildID0gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLmdldCgpOwogCkBAIC03NjEs
NiArNzc3LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNl
bGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX2dsb2JhbFRoaXMpOwogCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xv
YmFsQ2FsbGVlKTsKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJheUNvbnN0
cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBDb25zdHJ1
Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZXJyb3JDb25zdHJ1Y3Rv
cik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZXZhbEVycm9yQ29uc3RydWN0
b3IpOwpAQCAtNzgzLDYgKzgwMCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9hcHBseUZ1bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKTsKICNpZiBFTkFC
TEUoUFJPTUlTRVMpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1faW5pdGlhbGl6
ZVByb21pc2VGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmV3
UHJvbWlzZURlZmVycmVkRnVuY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNTk0ZDk2NjIyMzM3OGQxZDFhYWI4ZjQ3NTk1YWRl
MDgyMmMxODIyMy4uNWQ3ZWQzZGY2MTdhYWFiYzJlMjczM2FiMzhjYzhjMTg3NjJlMmU2MCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC01
NSw2ICs1NSw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBBcnJheUNvbnN0cnVjdG9y
OwogY2xhc3MgQXJyYXlQcm90b3R5cGU7CiBjbGFzcyBCb29sZWFuUHJvdG90eXBlOwogY2xhc3Mg
Q29uc29sZUNsaWVudDsKQEAgLTE3OCw2ICsxNzksNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6
IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+IG1fZ2xvYmFsVGhpczsKIAogICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9nbG9i
YWxDYWxsZWU7CisgICAgV3JpdGVCYXJyaWVyPEFycmF5Q29uc3RydWN0b3I+IG1fYXJyYXlDb25z
dHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8UmVnRXhwQ29uc3RydWN0b3I+IG1fcmVnRXhwQ29u
c3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPEVycm9yQ29uc3RydWN0b3I+IG1fZXJyb3JDb25z
dHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8TmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcj4gbV9ldmFs
RXJyb3JDb25zdHJ1Y3RvcjsKQEAgLTIwMSw2ICsyMDMsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVj
dCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJhcnJpZXI8
SlNGdW5jdGlvbj4gbV9hcHBseUZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9u
PiBtX2RlZmluZVByb3BlcnR5RnVuY3Rpb247CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+
IG1fYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9u
PiBtX2FycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uOwogI2lmIEVOQUJMRShQUk9NSVNFUykKICAg
ICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uOwog
ICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9u
OwpAQCAtMzkzLDYgKzM5Niw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIC8vIFRoZSBmb2xsb3dpbmcgYWNjZXNzb3JzIHJl
dHVybiBwcmlzdGluZSB2YWx1ZXMsIGV2ZW4gaWYgYSBzY3JpcHQgCiAgICAgLy8gcmVwbGFjZXMg
dGhlIGdsb2JhbCBvYmplY3QncyBhc3NvY2lhdGVkIHByb3BlcnR5LgogCisgICAgQXJyYXlDb25z
dHJ1Y3RvciogYXJyYXlDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlDb25zdHJ1
Y3Rvci5nZXQoKTsgfQogICAgIFJlZ0V4cENvbnN0cnVjdG9yKiByZWdFeHBDb25zdHJ1Y3Rvcigp
IGNvbnN0IHsgcmV0dXJuIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCk7IH0KIAogICAgIEVycm9y
Q29uc3RydWN0b3IqIGVycm9yQ29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yQ29u
c3RydWN0b3IuZ2V0KCk7IH0KQEAgLTQxNyw2ICs0MjEsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVj
dCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBKU0Z1bmN0aW9uKiBh
cHBseUZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseUZ1bmN0aW9uLmdldCgpOyB9CiAg
ICAgSlNGdW5jdGlvbiogZGVmaW5lUHJvcGVydHlGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
ZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5nZXQoKTsgfQogICAgIEpTRnVuY3Rpb24qIGFycmF5UHJv
dG9WYWx1ZXNGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlQcm90b1ZhbHVlc0Z1bmN0
aW9uLmdldCgpOyB9CisgICAgSlNGdW5jdGlvbiogYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24o
KSBjb25zdCB7IHJldHVybiBtX2FycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uLmdldCgpOyB9CiAj
aWYgRU5BQkxFKFBST01JU0VTKQogICAgIEpTRnVuY3Rpb24qIGluaXRpYWxpemVQcm9taXNlRnVu
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxpemVQcm9taXNlRnVuY3Rpb24uZ2V0KCk7
IH0KICAgICBKU0Z1bmN0aW9uKiBuZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24uZ2V0KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBkMjBkYWEyMDQ1MWQyZmJlZjMz
YmNkOTEzNDkxMDRmMWZiY2I1ODczLi44MjFlNmM3ZTA1ODJkZWY1NGUwOGRiMmMyY2JlMGFiOTJh
NWU0MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBA
IC0xNzQ4LDcgKzE3NDgsNyBAQCBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpbmRleCwgY29uc3QgUAogICAgICAgICAvLyBz
dGF0ZSAoaS5lLiBkZWZpbmVPd25Qcm9wZXJ0eSBjb3VsZCBiZSB1c2VkIHRvIHNldCBhIHZhbHVl
IHdpdGhvdXQgbmVlZGluZyB0byBlbnRlcmluZyAnU3BhcnNlTW9kZScpLgogICAgICAgICBpZiAo
IWRlc2NyaXB0b3IuYXR0cmlidXRlcygpKSB7CiAgICAgICAgICAgICBBU1NFUlQoIWRlc2NyaXB0
b3IuaXNBY2Nlc3NvckRlc2NyaXB0b3IoKSk7Ci0gICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0
SW5kZXgoZXhlYywgaW5kZXgsIGRlc2NyaXB0b3IudmFsdWUoKSwgMCwgdGhyb3dFeGNlcHRpb24g
PyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJv
dyk7CisgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIGRlc2Ny
aXB0b3IudmFsdWUoKSwgMCwgdGhyb3dFeGNlcHRpb24gPyBQdXREaXJlY3RJbmRleENyZWF0ZURh
dGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAg
ICAgfQogICAgICAgICAKICAgICAgICAgZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJE
aWN0aW9uYXJ5SW5kZXhpbmdNb2RlKGV4ZWMtPnZtKCkpOwpAQCAtMjE0NCw5ICsyMTQ0LDkgQEAg
Ym9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlT
dG9yYWdlKEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgaWYgKG1vZGUgIT0gUHV0RGlyZWN0SW5k
ZXhMaWtlUHV0RGlyZWN0KSB7CiAgICAgICAgICAgICAvLyBQcm9oaWJpdCBncm93aW5nIHRoZSBh
cnJheSBpZiBsZW5ndGggaXMgbm90IHdyaXRhYmxlLgogICAgICAgICAgICAgaWYgKG1hcC0+bGVu
Z3RoSXNSZWFkT25seSgpKQotICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9k
ZSA9PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93LCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0
eVdyaXRlRXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9
PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93LCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJy
b3IpOwogICAgICAgICAgICAgaWYgKCFpc0V4dGVuc2libGUoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgIkF0
dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNp
YmxlLiIpOworICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXRE
aXJlY3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRh
UHJvcGVydHlPclRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0
IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CiAgICAgICAgIH0KICAgICAgICAgbGVuZ3RoID0g
aSArIDE7CiAgICAgICAgIHN0b3JhZ2UtPnNldExlbmd0aChsZW5ndGgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IDY4OTVlZDgyZmFkODA3N2NkN2NmYzMwNDQxZTQ2OTEwNGNiMmVmMmMuLmU1ZjAxNzFlZWNl
NTVlY2VhNmJiN2Q2NDg1MTcxNTliZmI5Mzk0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKIAogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCisjaW5j
bHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCiAj
aW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgpA
QCAtNjEsMTAgKzYyLDEwIEBACiBAZW5kCiAqLwogCi1KU1Byb21pc2VDb25zdHJ1Y3RvciogSlNQ
cm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBK
U1Byb21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90b3R5cGUpCitKU1Byb21pc2VDb25zdHJ1Y3Rv
ciogSlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Byb21pc2VQcm90b3R5cGUqIHBy
b21pc2VQcm90b3R5cGUpCiB7CiAgICAgSlNQcm9taXNlQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9y
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNQcm9taXNlQ29uc3RydWN0b3I+KHZtLmhl
YXApKSBKU1Byb21pc2VDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICBjb25zdHJ1Y3Rv
ci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb21pc2VQcm90b3R5cGUpOworICAgIGNvbnN0cnVjdG9y
LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBwcm9taXNlUHJvdG90eXBlKTsKICAg
ICByZXR1cm4gY29uc3RydWN0b3I7CiB9CiAKQEAgLTc4LDExICs3OSwxNCBAQCBTdHJ1Y3R1cmUq
IEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsTwogewogfQogCi12b2lkIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKK3Zv
aWQgSlNQcm9taXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9taXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBl
KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIlByb21pc2Ui
KSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgcHJvbWlzZVByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0
ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2
bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHBy
b21pc2VDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2Jq
ZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nl
c3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29y
LCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgY29uc3RydWN0UHJvbWlzZShFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaAppbmRleCBm
YzBmMDRkMmIyYjQzNjk4YTkwNGM1MWUyZmRkYmE3YTM4MTI2NmYyLi4zZmRkMzcyOWM5ZmZhOWM3
MjNmM2I0YjViMzU1MzQ0OTdhN2FmODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmgKQEAgLTQwLDEzICs0MCwxMyBAQCBj
bGFzcyBKU1Byb21pc2VDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAg
ICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93
blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBKU1Byb21pc2VDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiwgU3RydWN0dXJlKiwgSlNQcm9taXNlUHJvdG90eXBlKik7CisgICAgc3RhdGljIEpTUHJv
bWlzZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSos
IEpTUHJvbWlzZVByb3RvdHlwZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiAKICAgICBERUNMQVJFX0lORk87
CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNQcm9taXNlUHJv
dG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNQcm9taXNlUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgSlNQcm9taXNlQ29uc3RydWN0
b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hcENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hcENvbnN0cnVjdG9yLmNwcAppbmRleCBmYWQ1MmMwNTYwNDhlMThiN2VlYzQ5OGZmMTQ5NTNm
ZDkwZmNmZWRkLi4wMGZlOThlN2FjMmQ5YzkyMjM0NWU3YTE1OWRlYmZkNTU5NzJmZGMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCkBA
IC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAiTWFwQ29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUg
IkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JP
cGVyYXRpb25zLmgiCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1Zh
bHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0ds
b2JhbE9iamVjdC5oIgpAQCAtMzksMTEgKzQxLDE0IEBACiAKIGNvbnN0IENsYXNzSW5mbyBNYXBD
b25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKE1hcENvbnN0cnVjdG9yKSB9OwogCi12b2lkIE1hcENvbnN0cnVjdG9y
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQordm9p
ZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBtYXBQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOworICAg
IEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2Jh
bE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBtYXBDb25zdHJ1
Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtT
eW1ib2wuc3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8
IERvbnRFbnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2Fs
bE1hcChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TWFwQ29uc3RydWN0b3IuaAppbmRleCAxYTg1ZGU1YjE1YjAwN2QxZTlkZmM4YjljYjY1NjExMDhj
NzYzNzgwLi5iNjU5NWY4ODQ0Yzk2NGJlOGU2NjM4ZmZkNDRhMTFmZDUzYWE5Y2QxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmgKQEAgLTM2LDEw
ICszNiwxMCBAQCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9u
IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0
YXRpYyBNYXBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQorICAgIHN0YXRpYyBNYXBDb25zdHJ1Y3Rvciog
Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgTWFw
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8TWFw
Q29uc3RydWN0b3I+KHZtLmhlYXApKSBNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAg
ICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBtYXBQcm90b3R5cGUpOworICAg
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWFwUHJv
dG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyAr
NTUsNyBAQCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsK
ICAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgTWFwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgTWFwUHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0
cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAg
c3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3Iu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKaW5k
ZXggZjhiMWY3ZjQ0MzcwM2FiNDE5OGRkNDMyMWUyMDlkZmU2Njg4MmEzYy4uYThiMTczNWE2MDg2
YjIzMTk5YjRhNjdiZjI2MjA1MjIzM2UzNmIwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNz
IE51bWJlckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVk
ZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlOwogCi0gICAgc3RhdGljIE51bWJlckNvbnN0
cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90
eXBlKiBudW1iZXJQcm90b3R5cGUpCisgICAgc3RhdGljIE51bWJlckNvbnN0cnVjdG9yKiBjcmVh
dGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOdW1iZXJQ
cm90b3R5cGUqIG51bWJlclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE51bWJlckNvbnN0cnVj
dG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE51bWJlckNvbnN0
cnVjdG9yPih2bS5oZWFwKSkgTnVtYmVyQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAg
ICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbnVtYmVyUHJvdG90eXBlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9k
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgK
aW5kZXggM2ViM2Y1ODE4ZGZiOWI4YzJkYTFhZjQ1ZTE3Y2FiNTVlOGVlNTUxZi4uMjYwZmNlODVm
MGQwMDE2MGI3YjFhYWQ5Zjg1YTE3MDVlNWNlOTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKQEAgLTI4LDcgKzI4LDE1IEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCi1lbnVtIFB1dERpcmVjdEluZGV4TW9kZSB7IFB1dERpcmVj
dEluZGV4TGlrZVB1dERpcmVjdCwgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywgUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyB9OworZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeworICAgIFB1
dERpcmVjdEluZGV4TGlrZVB1dERpcmVjdCwKKyAgICBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRo
cm93LAorICAgIFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csCisKKyAgICAvLyBGb2xsb3cgdGhl
IEVDTUEyNjIgNnRoIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgc2VtYW50aWNzLgorICAgIC8v
IGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLWNyZWF0ZWRh
dGFwcm9wZXJ0eW9ydGhyb3cKKyAgICBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9y
VGhyb3csCit9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCmluZGV4IGVlMWQ4YjNmYzY5
Zjk0M2I5NGE1MjU5Y2Y3YzE4NmNhYzYzNzNmNzQuLjFlMzdjNmE4YjUwNjZhNzRmNDEyNTM3NTEx
YTg1MzY3OWE3NDY0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ0V4cENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKQEAgLTg5LDcgKzg5LDcgQEAKIHsKIH0KIAotdm9pZCBS
ZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBSZWdFeHBQcm90b3R5cGUq
IHJlZ0V4cFByb3RvdHlwZSkKK3ZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlw
ZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgcmVnRXhwUHJvdG90eXBlLT5jbGFz
c0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRl
eCBjYWJlZTE5YzkzZDliMjQ2YzgwODg1MWYyYWZmNGUyYWQxMDQ2YTFhLi42NDI0MGVkYzU0MGE5
OWM2NTQ3NWU2YmIxYzBmZDA2NTAyOWQ1OGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTM1LDEwICszNSwxMCBAQCBjbGFz
cyBSZWdFeHBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBl
ZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3Bl
cnR5U2xvdDsKIAotICAgIHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQor
ICAgIHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3RvdHlwZSog
cmVnRXhwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgUmVnRXhwQ29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8UmVnRXhwQ29uc3RydWN0b3I+KHZt
LmhlYXApKSBSZWdFeHBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlLCByZWdFeHBQcm90b3R5cGUp
OwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFByb3RvdHlw
ZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0
LCByZWdFeHBQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQog
CkBAIC02OCw3ICs2OCw3IEBAIGNsYXNzIFJlZ0V4cENvbnN0cnVjdG9yIDogcHVibGljIEludGVy
bmFsRnVuY3Rpb24gewogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xv
dFZpc2l0b3ImKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBS
ZWdFeHBQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBSZWdFeHBQcm90b3R5cGUqKTsKIAogcHJpdmF0ZToKICAgICBSZWdFeHBDb25zdHJ1
Y3RvcihWTSYsIFN0cnVjdHVyZSosIFJlZ0V4cFByb3RvdHlwZSopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCmluZGV4IGZiOTdiNmQ5ZmEw
ZDBlZTYzYTFkNTJhOTg4N2VjNzc2OThmNzUzZGYuLmQxYjAzNTE0MGIxYWRjNzlkNjE5MDM2YmFi
NTc5ZDNiM2UxNjhhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NldENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
ZXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTI3LDcgKzI3LDkgQEAKICNpbmNsdWRlICJTZXRDb25zdHJ1
Y3Rvci5oIgogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIK
ICNpbmNsdWRlICJJdGVyYXRvck9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5o
IgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDZWxsSW5saW5l
cy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCkBAIC00MCwxMSArNDIsMTUgQEAKIAog
Y29uc3QgQ2xhc3NJbmZvIFNldENvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZC
YXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU2V0Q29uc3RydWN0b3IpIH07CiAK
LXZvaWQgU2V0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2V0UHJvdG90eXBl
KiBzZXRQcm90b3R5cGUpCit2b2lkIFNldENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFNldFByb3RvdHlwZSogc2V0UHJvdG90
eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzZXRQcm90b3R5cGUtPmNsYXNz
SW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHNldFByb3RvdHlwZSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBSZWFkT25seSB8IERvbnRFbnVt
IHwgRG9udERlbGV0ZSk7CisKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdl
dHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nv
ci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5G
dW5jdGlvbih2bSwgc2V0Q29uc3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSks
IGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5v
bkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNp
ZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxTZXQoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmgKaW5kZXggZWZiZDg4YmIzMjJm
ZGRhYWI5Yjc1NjQzOTAzYTk3ZGU3ODVlNTgwMC4uYjY4NDFmNzM1MGZjZDMyM2M3ZjMzMTkyZGJi
OWQxOTEwMGI2OTJkNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2V0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRD
b25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYsMTAgQEAgY2xhc3MgU2V0Q29uc3RydWN0b3IgOiBw
dWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1
bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKKyAgICBz
dGF0aWMgU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlw
ZSkKICAgICB7CiAgICAgICAgIFNldENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPFNldENvbnN0cnVjdG9yPih2bS5oZWFwKSkgU2V0Q29uc3RydWN0
b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2
bSwgc2V0UHJvdG90eXBlKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZt
LCBnbG9iYWxPYmplY3QsIHNldFByb3RvdHlwZSk7CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3Rv
cjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcgQEAgY2xhc3MgU2V0Q29uc3RydWN0b3IgOiBwdWJs
aWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAg
IHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIFNldFByb3RvdHlwZSopOwor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFNldFByb3RvdHlw
ZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwg
Q29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwq
LCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAKaW5kZXggNjJkMzRiYWFmZGRiNDBlZWEwZjYxNWYw
NjIwN2EyOWFiOWZmOTk4My4uY2I1MzcwYjFhZWIyNmY5ZjZmMTgyNjE2ZDIxZGE5MDY2NGY3ODIz
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlW
YWx1ZU1hcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJy
YXlWYWx1ZU1hcC5jcHAKQEAgLTExNiw3ICsxMTYsMjUgQEAgYm9vbCBTcGFyc2VBcnJheVZhbHVl
TWFwOjpwdXREaXJlY3QoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYXJyYXksIHVuc2lnbmVk
IGkKICAgICAvLyBleHRlbnNpYmxlLCB0aGlzIGlzIG5vdCB0aGUgcmlnaHQgdGhpbmcgdG8gaGF2
ZSBkb25lIC0gc28gcmVtb3ZlIGFnYWluLgogICAgIGlmIChtb2RlICE9IFB1dERpcmVjdEluZGV4
TGlrZVB1dERpcmVjdCAmJiByZXN1bHQuaXNOZXdFbnRyeSAmJiAhYXJyYXktPmlzRXh0ZW5zaWJs
ZSgpKSB7CiAgICAgICAgIHJlbW92ZShyZXN1bHQuaXRlcmF0b3IpOwotICAgICAgICByZXR1cm4g
cmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgIkF0dGVtcHRp
bmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLiIp
OworICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91
bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dywgIkF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBl
eHRlbnNpYmxlLiIpOworICAgIH0KKworICAgIGlmIChtb2RlID09IFB1dERpcmVjdEluZGV4Q3Jl
YXRlRGF0YVByb3BlcnR5T3JUaHJvdyAmJiAhcmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAg
aWYgKGVudHJ5LmF0dHJpYnV0ZXMgJiBEb250RGVsZXRlKSB7CisgICAgICAgICAgICBpZiAoIShh
dHRyaWJ1dGVzICYgRG9udERlbGV0ZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93VHlw
ZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRl
IG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworCisgICAgICAgICAgICBpZiAoKGVudHJ5
LmF0dHJpYnV0ZXMgJiBEb250RW51bSkgIT0gKGF0dHJpYnV0ZXMgJiBEb250RW51bSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNo
YW5nZSBlbnVtZXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsK
KyAgICAgICAgICAgIGlmIChlbnRyeS5hdHRyaWJ1dGVzICYgQWNjZXNzb3IpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSBh
Y2Nlc3MgbWVjaGFuaXNtIGZvciBhbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICAg
ICAgICAgIGlmIChlbnRyeS5hdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoIShhdHRyaWJ1dGVzICYgUmVhZE9ubHkpKQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIHdyaXRhYmxlIGF0
dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIXNhbWVWYWx1ZShleGVjLCBlbnRyeS5nZXQoZXhlYywgYXJyYXkpLCB2YWx1ZSkpCisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0
byBjaGFuZ2UgdmFsdWUgb2YgYSByZWFkb25seSBwcm9wZXJ0eS4iKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQogICAgIH0KIAogICAgIGVudHJ5LmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgK
aW5kZXggMzU3NTExYTU3NjU0ZTE2ODI1ZmQyMmIwYWU2NzczODlkMjAzYzIwMy4uZDJhMjE1MmRm
ZjZkODhiYmRkNmM1ZmFmZmQxMjJiMDA3NTkyNjNiOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNs
YXNzIFN0cmluZ0NvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5
cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJv
cGVydHlTbG90OwogCi0gICAgc3RhdGljIFN0cmluZ0NvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUp
CisgICAgc3RhdGljIFN0cmluZ0NvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdQcm90b3R5cGUqIHN0cmluZ1Byb3Rv
dHlwZSkKICAgICB7CiAgICAgICAgIFN0cmluZ0NvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5l
dyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cmluZ0NvbnN0cnVjdG9yPih2bS5oZWFwKSkgU3Ry
aW5nQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5p
c2hDcmVhdGlvbih2bSwgc3RyaW5nUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCmluZGV4IDM0NGE5NzhhYjBhYzc0ZTE1
NDgzYjNlZTJlNTc5ZmFkMDFkN2NlMzQuLjNiMzkzZmQxYTBhNzRmMDMwMzNkZmRhOTQyN2QxYWU0
ZDczNWFiMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJv
bENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9s
Q29uc3RydWN0b3IuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBTeW1ib2xDb25zdHJ1Y3RvciA6
IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKIAotICAgIHN0YXRp
YyBTeW1ib2xDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN5bWJvbFByb3RvdHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBTeW1ib2xDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBTeW1ib2xDb25zdHJ1
Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTeW1ib2xDb25z
dHJ1Y3Rvcj4odm0uaGVhcCkpIFN5bWJvbENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAg
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCmluZGV4
IDY2ZWRiY2IxNmQ4OWE1YjY2NDgwYWVkYTMzNjMzYjY4NTJlZTQ4OTYuLjZjOWFkMzllNTFlNTdi
YzQ0OWUyMWU4ZWQ3YmZlNjBhMmFlZDgxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNz
IFdlYWtNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBXZWFrTWFw
Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrTWFw
UHJvdG90eXBlKiBwcm90b3R5cGUpCisgICAgc3RhdGljIFdlYWtNYXBDb25zdHJ1Y3RvciogY3Jl
YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha01h
cFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgV2Vha01hcENvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFdlYWtNYXBDb25zdHJ1
Y3Rvcj4odm0uaGVhcCkpIFdlYWtNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAg
ICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaAppbmRleCA3
ZjZmYjZhNWU3NjhlYmY0MDhjYTZjZTc1YWQ1MmU2ZWM1ODM5OTY0Li4yODg5YzljMDkwOWE5NTQw
NmUwNzgyNzg4ZmNkYTNkMDk0MmZkYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBX
ZWFrU2V0Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAg
ICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgV2Vha1NldENv
bnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha1NldFBy
b3RvdHlwZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrU2V0Q29uc3RydWN0b3IqIGNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtTZXRQ
cm90b3R5cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtTZXRDb25zdHJ1Y3Rvciog
Y29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrU2V0Q29uc3RydWN0
b3I+KHZtLmhlYXApKSBXZWFrU2V0Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAg
IGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA5MjcxNDUyNGE2MmI2OWU3ZWY5NTg5M2YwYjhlMDlmZGI4NmQ3ODUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVj
aWVzLmpzCkBAIC0wLDAgKzEsNDI0IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVj
dGVkKQoreworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZFRocm93
KGZ1bmMsIGVycm9yTWVzc2FnZSkKK3sKKyAgICB2YXIgZXJyb3JUaHJvd24gPSBmYWxzZTsKKyAg
ICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMoKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAgICAgZXJyb3IgPSBl
OworICAgIH0KKyAgICBpZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
J25vdCB0aHJvd24nKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJyb3JNZXNzYWdlKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmcoZXJyb3IpfWApOwor
fQorCitzaG91bGRCZSh0eXBlb2YgU3ltYm9sLnNwZWNpZXMsICdzeW1ib2wnKTsKKworLy8gUHJv
bWlzZSBpcyB0ZXN0ZWQgaW4gRE9NIGxheW91dCB0ZXN0cy4KK3Nob3VsZEJlKEpTT04uc3RyaW5n
aWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBTeW1ib2wuc3BlY2llcykp
LCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hvdWxkQmUo
SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJv
bC5zcGVjaWVzKSksICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7
CitzaG91bGRCZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KEFycmF5LCBTeW1ib2wuc3BlY2llcykpLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJh
YmxlIjp0cnVlfScpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoU2V0LCBTeW1ib2wuc3BlY2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlKHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMp
LmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91
bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5z
cGVjaWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVmaW5lZCcp
Oworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXks
IFN5bWJvbC5zcGVjaWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKFNldFtTeW1ib2wu
c3BlY2llc10sIFNldCk7CitzaG91bGRCZShNYXBbU3ltYm9sLnNwZWNpZXNdLCBNYXApOworc2hv
dWxkQmUoQXJyYXlbU3ltYm9sLnNwZWNpZXNdLCBBcnJheSk7CitzaG91bGRCZShPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVj
dCksIE9iamVjdCk7CitzaG91bGRCZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1h
cCwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCksIE9iamVjdCk7CitzaG91bGRCZShP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wuc3BlY2llcykuZ2V0
LmNhbGwoT2JqZWN0KSwgT2JqZWN0KTsKKworLy8gQXJyYXkuCisvLyBDdXJyZW50bHksIEFycmF5
IGlzIG5vdCBzdWJjbGFzc2FibGUgYnkgdXNpbmcgY2xhc3Mgc3ludGF4LgorZnVuY3Rpb24gRXh0
ZW5kZWRBcnJheShsZW5ndGgpCit7CisgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheShsZW5ndGgp
OworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90b19fID0gQXJy
YXkucHJvdG90eXBlOworc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0
b3IsIEV4dGVuZGVkQXJyYXkpOworRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3Jb
U3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKwordmFyIGV4dGVuZGVkID0gbmV3IEV4
dGVuZGVkQXJyYXkoMjApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAyMCk7CitzaG91bGRC
ZShBcnJheS5pc0FycmF5KGV4dGVuZGVkKSwgdHJ1ZSk7CisKKy8vIG1hcC4KK3ZhciBleHRlbmRl
ZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRlZC5w
dXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAz
KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzAp
Oworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5t
YXAsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFs
dWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNl
b2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAzKTsKK3No
b3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK3Nob3VsZEJlKHJlc3VsdFsxXSwgOTAwKTsKK3Nob3Vs
ZEJlKHJlc3VsdFsyXSwgMTYwMCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRy
dWUpOworCisvLyBmaWx0ZXIuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgwKTsK
K2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNoKDQw
KTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91bGRCZShleHRlbmRlZFswXSwg
MjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJdLCA0
MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQuZmlsdGVyLCAnZnVuY3Rpb24nKTsKK3ZhciBy
ZXN1bHQgPSBleHRlbmRlZC5maWx0ZXIoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSA9
PT0gNDA7IH0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1
ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAp
Oworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKworLy8gY29uY2F0Lgor
dmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsK
K2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitzaG91bGRCZShleHRlbmRl
ZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUodHlwZW9m
IGV4dGVuZGVkLmNvbmNhdCwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuY29u
Y2F0KFs1MCwgNjAsIDcwXSk7CitzaG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZEFy
cmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDYpOworc2hvdWxkQmUocmVzdWx0
WzBdLCAyMCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDMwKTsKK3Nob3VsZEJlKHJlc3VsdFsyXSwg
NDApOworc2hvdWxkQmUocmVzdWx0WzNdLCA1MCk7CitzaG91bGRCZShyZXN1bHRbNF0sIDYwKTsK
K3Nob3VsZEJlKHJlc3VsdFs1XSwgNzApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQp
LCB0cnVlKTsKKworLy8gc2xpY2UuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgw
KTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNo
KDQwKTsKK2V4dGVuZGVkLnB1c2goNTApOworZXh0ZW5kZWQucHVzaCg2MCk7CitzaG91bGRCZShl
eHRlbmRlZC5sZW5ndGgsIDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJl
KGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUo
ZXh0ZW5kZWRbM10sIDUwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRCZSh0
eXBlb2YgZXh0ZW5kZWQuc2xpY2UsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVk
LnNsaWNlKDMpOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1
ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAyKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNTAp
Oworc2hvdWxkQmUocmVzdWx0WzFdLCA2MCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3Vs
dCksIHRydWUpOworCisvLyBzcGxpY2UuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJh
eSgwKTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5w
dXNoKDQwKTsKK2V4dGVuZGVkLnB1c2goNTApOworZXh0ZW5kZWQucHVzaCg2MCk7CitzaG91bGRC
ZShleHRlbmRlZC5sZW5ndGgsIDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3Vs
ZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxk
QmUoZXh0ZW5kZWRbM10sIDUwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRC
ZSh0eXBlb2YgZXh0ZW5kZWQuc2xpY2UsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVu
ZGVkLnNwbGljZSgzLCAxLCA0Mik7CitzaG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRl
ZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVz
dWx0WzBdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXks
IHRydWUpOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVk
WzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRb
Ml0sIDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzNdLCA0Mik7CitzaG91bGRCZShleHRlbmRlZFs0
XSwgNjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKworLy8gQXJy
YXlTcGVjaWVzQ3JlYXRlIGFic3RyYWN0IG9wZXJhdGlvbiBlZGdlIGNhc2VzLgordmFyIHJlc3Vs
dCA9IFtdLm1hcC5jYWxsKHsgMDogMTAsIGxlbmd0aDogMSB9LCAoZnVuY3Rpb24gKHZhbHVlKSB7
IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3Vs
dCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsK
K3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCAxMDApOwor
CitmdW5jdGlvbiBUZXN0KCkKK3sKKyAgICB2YXIgcmVzdWx0ID0gW107CisgICAgcmVzdWx0WzBd
ID0gMjA7CisgICAgcmVzdWx0Lmxlbmd0aCA9IDE7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IFRl
c3QucHJvdG90eXBlOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG91bGRCZShBcnJheS5pc0Fy
cmF5KG5ldyBUZXN0KCkpLCB0cnVlKTsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVz
dCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91
bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJv
dG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hv
dWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9s
LnNwZWNpZXNdID0gVGVzdDsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAo
ZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShB
cnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywg
VGVzdC5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShy
ZXN1bHRbMF0sIDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2ll
c10gPSBudWxsOwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlv
biAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5Lmlz
QXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5w
cm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRb
MF0sIDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBu
dWxsOwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFs
dWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXko
cmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5wcm90b3R5
cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQw
MCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSAiSGVsbG8i
Oworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgIHZhciByZXN1bHQgPSBbXS5tYXAuY2Fs
bChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9
KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBh
IGZ1bmN0aW9uIik7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHVuZGVmaW5lZDsKK3Zh
ciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJl
dHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCks
IHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3No
b3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVz
dC5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBudWxsOworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkg
eworICAgIHZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZh
bHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBj
b25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIik7CitUZXN0LnByb3RvdHlw
ZS5jb25zdHJ1Y3RvciA9ICJIZWxsbyI7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAg
dmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsg
cmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNvbnN0cnVj
dG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworKGZ1bmN0aW9uICgpIHsKKyAg
ICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5KCkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBu
ZXcgQXJyYXkoMCk7CisgICAgICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnBy
b3RvdHlwZTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAg
ICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiT1VUIik7CisgICAgICAgICAgICB9LAorICAgICAg
ICAgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNl
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRl
ZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxk
QmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOwor
ICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9
IEV4dGVuZGVkQXJyYXk7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsK
KyAgICAgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAg
ICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgICAgICBl
eHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7
CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICAgICAgc2hv
dWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBleHRl
bmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB2
YWx1ZSAqIHZhbHVlOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSwgIlR5cGVF
cnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNv
bmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICAgICAgfSgpKTsKKyAgICB9CisKKyAgICAoZnVu
Y3Rpb24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVk
ID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAg
ICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgs
IDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7Cisg
ICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgICAgIHZhbHVlOiAzMAorICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdl
IGFjY2VzcyBtZWNoYW5pc20gZm9yIGFuIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAg
IH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJy
YXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAg
cmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgICAgICByZXN1
bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsK
KyAgICAgICAgICAgIHZhbHVlOiAxMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAor
ICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIHdyaXRhYmxlOiBm
YWxzZQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0
ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNo
b3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5
KTsKKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2ll
c10gPSBFeHRlbmRlZEFycmF5OworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBz
dHJpY3QiOworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAg
ICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzBdLCAxMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZh
bHVlKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfSwgIlR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmln
dXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkp
OworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAg
IHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1
c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0
ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDEwKTsKKyAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5k
ZWRbMl0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAgICAgICAg
dmFsdWU6IDMwCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlR5cGVFcnJvcjogQXR0ZW1w
dGluZyB0byBjaGFuZ2UgdmFsdWUgb2YgYSByZWFkb25seSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkp
OworfSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5KCkK
KyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAgICAgIHJlc3Vs
dC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAgcmVzdWx0LnB1
c2goMTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAg
ICAgICAgICB2YWx1ZTogMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAorICAgICAg
ICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQor
ICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRB
cnJheS5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJl
KEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAg
ICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBF
eHRlbmRlZEFycmF5OworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3Qi
OworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBl
eHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNo
b3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBd
LCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxk
QmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUg
YXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgIH0oKSk7CisKKyAg
ICAoZnVuY3Rpb24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4
dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7
CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5s
ZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNo
b3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAz
MCk7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAg
ICAgICAgdmFsdWU6IDAKKyAgICAgICAgfSk7CisgICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlv
biAoKSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIg
cmVzdWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5k
ZWRBcnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDAsCisg
ICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTog
dHJ1ZSwKKyAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQorICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90
b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90
eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAgICBFeHRlbmRlZEFycmF5LnByb3Rv
dHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZEFycmF5OworCisgICAg
KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICB2YXIgZXh0ZW5k
ZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAg
ICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0
aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxk
QmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsK
KyAgICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAg
ICAgICAgICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworICAgICAgICB9KTsKKyAgICB9KCkpOwor
CisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZh
ciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2go
MjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5k
ZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAg
ICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsy
XSwgMzApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAg
ICAgICAgICAgIHZhbHVlOiAwCisgICAgICAgIH0pOworICAgIH0oKSk7Cit9KCkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGQ4Mzk1ZTNjZWY2ZmYwNTNjYzA5OWY3N2M1OWNhOWYwNmUxMmIzZjYuLjI4NjdjMjExZWYzMmNj
YWFiOGQ2ZWY4YWNjMDI0YjA1ZDQ2YzRkODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxNS0w
Ny0xMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBb
RVM2XSBTdXBwb3J0IEBAc3BlY2llcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBQcm9taXNlLgorICAgICAgICBPdGhlciBjYXNl
cyBsaWtlIEFycmF5LCBTZXQgYW5kIE1hcCBhcmUgbG9jYXRlIHVuZGVyIEpTQyBkaXJlY3Rvcnku
CisKKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255
bW91cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5j
dGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGpzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBq
cy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZl
cmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNp
ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZWplY3Qtc3Bl
Y2llcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNp
ZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21p
c2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9k
b20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBqcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0tZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQt
cmVhbG0uaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL3NjcmlwdC10ZXN0cy9hcnJheS1z
cGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qczogQWRkZWQuCisgICAgICAgICoganMvc2NyaXB0
LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzOgorCiAyMDE1LTA3LTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtFRkxdIFVu
cmV2aWV3ZWQsIEVGTCBnYXJkZW5pbmcgb24gMTJ0aCBKdWwuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNh
bGxzLWFub255bW91cy1leHBlY3RlZC50eHQKaW5kZXggZDE3ZWI1OGVhOWEwNjdjZGU5OGMyYjE0
MjZhYjJlYjI3ZTczMmY1ZS4uNzhjMzNmYjQ5NDg4YTBjODBhNzE5OGE0MzU3YmYxYzg3NDlkYTJj
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlv
bi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dApAQCAt
MTIsNiArMTIsMTAgQEAgVGhyZWFkXzEgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAg
IHRvSW50ZWdlciAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgICAgTnVtYmVyIChu
byBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICAgICAoYW5vbnltb3VzIGZ1bmN0aW9uKSAo
bm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgYXJyYXlTcGVjaWVzQ3JlYXRlIChubyBmaWxl
KSAobGluZSAwOjApCisgICAgICAgICAgICAoYW5vbnltb3VzIGZ1bmN0aW9uKSAobm8gZmlsZSkg
KGxpbmUgMDowKQorICAgICAgICAgICAgaXNPYmplY3QgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAg
ICAgICAgICAgIGdldCBbU3ltYm9sLnNwZWNpZXNdIChubyBmaWxlKSAobGluZSAwOjApCiAgICAg
ICAgICBteUZ1bmN0aW9uIGJ1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy5odG1sIChs
aW5lIDE0OjQ1KQogICAgICAgICAgICAgYXJyYXlPcGVyYXRvckZ1bmN0aW9uIHByb2ZpbGVyLXRl
c3QtSlMtcmVzb3VyY2VzLmpzIChsaW5lIDI1OjQ2KQogICAgICAgZW5kVGVzdCBwcm9maWxlci10
ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAxOjIwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5j
dGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IGU3ZmJh
NTliYjA4ODhmZGNjZGJkZTczZGJiZTM0N2IyZGMxNDhjNGIuLjllMjFjNmQwYTM2NmExNTQyMWQy
ZTgyMDY0YTJkNzg2MDgwMTMwMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNh
bGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTEyLDYgKzEyLDEwIEBA
IFRocmVhZF8xIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICB0b0ludGVnZXIgKG5v
IGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIE51bWJlciAobm8gZmlsZSkgKGxpbmUg
MDowKQogICAgICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUpIChsaW5l
IDA6MCkKKyAgICAgICAgIGFycmF5U3BlY2llc0NyZWF0ZSAobm8gZmlsZSkgKGxpbmUgMDowKQor
ICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAg
ICAgICAgICAgIGlzT2JqZWN0IChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBnZXQg
W1N5bWJvbC5zcGVjaWVzXSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgYXJyYXlPcGVy
YXRvckZ1bmN0aW9uIHByb2ZpbGVyLXRlc3QtSlMtcmVzb3VyY2VzLmpzIChsaW5lIDI1OjQ2KQog
ICAgICAgZW5kVGVzdCBwcm9maWxlci10ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAxOjIwKQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1l
eHBlY3RlZC50eHQKaW5kZXggYjA1NDRjZWZmNDk4ZTBkYjdlMmZjNjIyNDA4ZTVkMGZiNWVhMWYw
OC4uZDUxODYyNjQzZDYxOGI1MmQ3NmVlMjI1ZWNlYjI2NDMzMjNmMDAxNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4
dApAQCAtNjEsNyArNjEsNyBAQCBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRXJyb3Ip
IGlzIFsnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJv
cGVydHlOYW1lcyhFcnJvci5wcm90b3R5cGUpIGlzIFsnY29uc3RydWN0b3InLCAnbWVzc2FnZScs
ICduYW1lJywgJ3RvU3RyaW5nJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhNYXRo
KSBpcyBbJ0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywnTE9HMkUnLCdQSScsJ1NRUlQxXzInLCdT
UVJUMicsJ2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4nLCdhc2luaCcsJ2F0YW4nLCdhdGFuMics
J2F0YW5oJywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2NvcycsJ2Nvc2gnLCdleHAnLCdleHBtMScs
J2Zsb29yJywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywnbG9nJywnbG9nMTAnLCdsb2cxcCcsJ2xv
ZzInLCdtYXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdyb3VuZCcsJ3NpZ24nLCdzaW4nLCdzaW5o
Jywnc3FydCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5
TmFtZXMoSlNPTikgaXMgWydwYXJzZScsICdzdHJpbmdpZnknXQotUEFTUyBnZXRTb3J0ZWRPd25Q
cm9wZXJ0eU5hbWVzKFN5bWJvbCkgaXMgWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xl
bmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZScsICd1bnNjb3BhYmxlcyddCitQQVNTIGdldFNvcnRl
ZE93blByb3BlcnR5TmFtZXMoU3ltYm9sKSBpcyBbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3In
LCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29wYWJsZXMn
XQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN5bWJvbC5wcm90b3R5cGUpIGlzIFsn
Y29uc3RydWN0b3InLCAndG9TdHJpbmcnLCAndmFsdWVPZiddCiBQQVNTIGdsb2JhbFByb3BlcnR5
TmFtZXMuaW5kZXhPZignTmFOJykgIT0gLTEgaXMgdHJ1ZQogUEFTUyBnbG9iYWxQcm9wZXJ0eU5h
bWVzLmluZGV4T2YoJ0luZmluaXR5JykgIT0gLTEgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWUwMTRjMjFmNDZjZDgwMjY0MzlhYmExZTQ0YmEwZmFmOTk4YjYy
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVj
aWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBzdWJjbGFz
c2VkIFByb21pc2UuYWxsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0
ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9m
IFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2Uu
YWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMg
ZmFsc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgdGhlblJlc3Vs
dCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaW5zdGFuY2VvZiBF
eHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUwNmJlY2M2OTk3N2U1Yzk0N2RlOTYwOTYzNDc2YzI4NmI3YzQzY2EKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJl
bnQuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQ
cm9taXNlLmFsbC4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJy
ZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRl
ZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1
dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7
CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJv
dG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVz
XSA9IFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hv
dWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAi
UHJvbWlzZSIpOworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRl
ZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFBy
b21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJv
bWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBn
bG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNl
LmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihmdW5jdGlvbiAoW3ZhbHVl
XSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVl
IiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJl
c3VsdCIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJ0aGVuUmVzdWx0IGluc3RhbmNlb2Yg
RXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGRlNjUxMzY5NDQ2NjZkYWU2ZjAxM2VlYzJmNDNiM2FmODA2OTk0ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UuYWxs
KFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNl
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0p
IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFu
IGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNzQyZDky
NWI4MmUxMWJiYjY2ZTI1YzE3MGQyNGVjN2Q4ZDAxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UuYWxsLicpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qg
c3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAg
IHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90
b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30K
K0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7
CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0
ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5k
ZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIp
Oworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVz
b2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5k
ZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MildKS50aGVuKGZ1bmN0aW9uIChbdmFsdWVdKSB7CisgICAgZ2xvYmFs
VmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVk
UHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTA2ZTgwODhiZGM1MmU4ZGUyNDFjZDZhMzEwYmM4
MWVhOTg5ZWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
cmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVz
dCBzdWJjbGFzc2VkIFByb21pc2UucmFjZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4g
aW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQ
cm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRl
bmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5k
ZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQor
UEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgdGhlblJlc3Vs
dCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBnbG9iYWxWYWx1ZSBp
cyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZm
ZXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZm
ZXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYjU0MDdkYzhjNzhhNDc0ZGExYWI3MzNjNjA2ZjUzMjI2
ZDNhZDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFj
ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmFjZS4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQu
CitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVk
UHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21p
c2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9t
aXNlW1N5bWJvbC5zcGVjaWVzXSA9IFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19f
ID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9t
aXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsKK3No
b3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkg
aW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJv
bWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVu
ZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJl
c3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0Mild
KS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAg
c2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
K3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJ0
aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1y
YWNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFj
ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2QzNTgxZWIzMDQ1N2VhMGRlY2Zm
YzlhMzJhMTJmMWMyZmQ3YzM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmFjZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0
IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBp
bnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4
dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJv
bWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQor
UEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXJhY2Utc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVj
aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDJiYTAwYmY0OWZhZDYzOTExODdiZTg4YzhlMjJjNjFjNGZk
Zjc5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Ut
c3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFz
c2VkIFByb21pc2UucmFjZS4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisv
LyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBF
eHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90
b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5z
cGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQ
cm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJl
c29sdmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVk
UHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFBy
b21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQg
PSBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhl
bihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3Vs
ZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91
bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
cmVqZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
cmVqZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5YThiYWJmYTY3MGEzZjUz
YjI1ZGI3ZWQ4MzlkMTVjY2UyZDA4MzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBA
QAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVqZWN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlamVjdCg0MikgaXMgYW4gaW5zdGFuY2Ug
b2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0
ZW5kZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE1MThiNjA5NDI5MmQ5ZDAx
YzRkYzY3ZjBhZWE2NGQ3NDgzNzJhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pz
L2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZWplY3QuJyk7CisKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBw
b3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18g
PSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0
ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4
dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRl
ZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFBy
b21pc2UucmVqZWN0KDQyKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVl
ID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UucmVqZWN0KDQy
KS5jYXRjaChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAg
IHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7
CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20v
UHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJjZWRiNWQ1YTU1OTE0NzllZTcwYmEwMDFmMWM4OGM1Yjg2OWFlOTcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNp
ZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IHN1YmNsYXNz
ZWQgUHJvbWlzZS5yZXNvbHZlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mg
RXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJv
bWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgdGhl
blJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBnbG9iYWxW
YWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3Bl
Y2llcy1kaWZmZXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUt
c3BlY2llcy1kaWZmZXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTE2MTRkMDc1ODUwY2ZlOTBhODYz
ZThmZjBlMTIyNDIzZmQzZjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsMzkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4nKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMg
bm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsK
KyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9f
cHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7
Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90
eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IFByb21pc2U7CitFeHRlbmRl
ZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1
ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAg
ICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
Oworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2Uo
InRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXJlc29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmNmQ1ZWY3MTA3ZWE3
NmY1YWY0OGY0Mjc1YzI5N2Q4NmUzMDgwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMgYW4gaW5z
dGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ug
b2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZWE0ODA4ZDlhNzNjYWViY2E2OWYxMTkzMGM4OTc4ODli
ZjcwMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNv
bHZlLXNwZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBz
dWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZSB3aXRoIGludmFsaWQgQEBzcGVjaWVzLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIp
IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0ZXN0KCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogY29uc3RydWN0b3IuQEBzcGVjaWVzIGlzIG5vdCBhIGNvbnN0cnVj
dG9yLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1p
bnZhbGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMt
aW52YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4ZTllYWUzYThhZTRmMjAwNjdjNTM4NGI0NWE3MWNk
MDA3MjEzMjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1y
ZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZSB3aXRoIGludmFsaWQgQEBzcGVjaWVz
LicpOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitm
dW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJv
bWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2Uu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNl
W1N5bWJvbC5zcGVjaWVzXSA9IHt9OworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21p
c2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwgIkV4dGVu
ZGVkUHJvbWlzZSIpOworCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIEV4dGVuZGVkUHJvbWlzZS5y
ZXNvbHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkge30pOworfQorc2hvdWxkVGhyb3coInRl
c3QoKSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdjMzEwZmJj
NDc0ZTMwN2YyMmFlZTI5MGU0YjYwMjg5YzhlNjYyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzgg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4nKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQg
aXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3Ip
IHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNl
Ll9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21p
c2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJv
dG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlz
ZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUo
IkV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFy
IGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9
IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNl
Iik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pz
L2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiOGIwZTc1NDY4
YTBlYmExODA3ZmRjNjBmY2RiYzI1ZDFiYjVlMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUZXN0IFByb21pc2UgYW5kIEBAc3BlY2llcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIEpTT04uc3RyaW5naWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
UHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpKSBpcyAie1wiZW51bWVyYWJsZVwiOmZhbHNlLFwiY29u
ZmlndXJhYmxlXCI6dHJ1ZX0iCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQgaXMgImZ1bmN0aW9uIgorUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3Bl
Y2llcykuc2V0IGlzICJ1bmRlZmluZWQiCitQQVNTIFByb21pc2VbU3ltYm9sLnNwZWNpZXNdIGlz
IFByb21pc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBT
eW1ib2wuc3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0KSBpcyBPYmplY3QKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkzM2E3MDY4MzdmNmUwOWViNjQ4ZmUwMjdl
N2ExOWM5Y2ExMzc2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgUHJv
bWlzZSBhbmQgQEBzcGVjaWVzLicpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIkpTT04uc3Ry
aW5naWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNw
ZWNpZXMpKSIsICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQiLCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygidHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJv
bWlzZSwgU3ltYm9sLnNwZWNpZXMpLnNldCIsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKCJQcm9t
aXNlW1N5bWJvbC5zcGVjaWVzXSIsICJQcm9taXNlIik7CitzaG91bGRCZSgiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0LmNhbGwoT2Jq
ZWN0KSIsICJPYmplY3QiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVy
ZW50LXJlYWxtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hY2ViZDdhMWVhZWU0Y2IwOWYwNTJi
ZmIxYTdjMzgxM2VhNGIyNzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI0IEBACitBcnJheVNwZWNpZXNDcmVhdGUgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgUmVhbG0gYXJy
YXkgd2hlbiB0aGUgZ2l2ZW4gYXJyYXkgaXMgZnJvbSB0aGUgZGlmZmVyZW50IHJlYWxtLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhcnJheS5sZW5ndGggaXMgNQorUEFT
UyBhcnJheSBpbnN0YW5jZW9mIEFycmF5IGlzIGZhbHNlCitQQVNTIGFycmF5IGluc3RhbmNlb2Yg
QXJyYXkyIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShhcnJheSkgaXMgdHJ1ZQorUEFTUyBh
cnJheS5jb25zdHJ1Y3RvciBpcyBBcnJheTIKK1BBU1MgYXJyYXkuY29uc3RydWN0b3IgaXMgbm90
IEFycmF5CitQQVNTIHJlc3VsdC5sZW5ndGggaXMgNQorUEFTUyBBcnJheS5pc0FycmF5KHJlc3Vs
dCkgaXMgdHJ1ZQorRkFJTCByZXN1bHQgaW5zdGFuY2VvZiBBcnJheSBzaG91bGQgYmUgdHJ1ZS4g
V2FzIGZhbHNlLgorRkFJTCByZXN1bHQgaW5zdGFuY2VvZiBBcnJheTIgc2hvdWxkIGJlIGZhbHNl
LiBXYXMgdHJ1ZS4KK1BBU1MgcmVzdWx0WzBdIGlzIDAKK1BBU1MgcmVzdWx0WzFdIGlzIDEKK1BB
U1MgcmVzdWx0WzJdIGlzIDQKK1BBU1MgcmVzdWx0WzNdIGlzIDkKK1BBU1MgcmVzdWx0WzRdIGlz
IDE2CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50
LXJlYWxtLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJl
bnQtcmVhbG0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjUyODVhNzVkNTM0MGQ0OGE0ODY5NDU2MGNkZmEy
NTJiODI0MDRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNw
ZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8aWZyYW1lPjwvaWZyYW1lPgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0
cy9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3RzL2Fy
cmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmpzIGIvTGF5b3V0VGVzdHMvanMvZG9tL3Nj
cmlwdC10ZXN0cy9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wZTc1ZWYxYTdmMTc3ZmU0NGViMWRjZjY4NjZlNzlkMDg5OWMxMTViCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9hcnJheS1zcGVjaWVzLWluLWRp
ZmZlcmVudC1yZWFsbS5qcwpAQCAtMCwwICsxLDI2IEBACitkZXNjcmlwdGlvbigiQXJyYXlTcGVj
aWVzQ3JlYXRlIGdlbmVyYXRlIHRoZSBjdXJyZW50IFJlYWxtIGFycmF5IHdoZW4gdGhlIGdpdmVu
IGFycmF5IGlzIGZyb20gdGhlIGRpZmZlcmVudCByZWFsbS4iKTsKKwordmFyIGZyYW1lID0gZnJh
bWVzWzBdOwordmFyIEFycmF5MiA9IGZyYW1lLkFycmF5OworCit2YXIgYXJyYXkgPSBuZXcgQXJy
YXkyKDApOworYXJyYXkucHVzaCgwLCAxLCAyLCAzLCA0KTsKKworc2hvdWxkQmUoImFycmF5Lmxl
bmd0aCIsICI1Iik7CitzaG91bGRCZUZhbHNlKCJhcnJheSBpbnN0YW5jZW9mIEFycmF5Iik7Citz
aG91bGRCZVRydWUoImFycmF5IGluc3RhbmNlb2YgQXJyYXkyIik7CitzaG91bGRCZVRydWUoIkFy
cmF5LmlzQXJyYXkoYXJyYXkpIik7CitzaG91bGRCZSgiYXJyYXkuY29uc3RydWN0b3IiLCAiQXJy
YXkyIik7CitzaG91bGROb3RCZSgiYXJyYXkuY29uc3RydWN0b3IiLCAiQXJyYXkiKTsKK3ZhciBy
ZXN1bHQgPSBhcnJheS5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICog
dmFsdWU7Cit9KTsKK3Nob3VsZEJlKCJyZXN1bHQubGVuZ3RoIiwgIjUiKTsKK3Nob3VsZEJlVHJ1
ZSgiQXJyYXkuaXNBcnJheShyZXN1bHQpIik7CitzaG91bGRCZVRydWUoInJlc3VsdCBpbnN0YW5j
ZW9mIEFycmF5Iik7CitzaG91bGRCZUZhbHNlKCJyZXN1bHQgaW5zdGFuY2VvZiBBcnJheTIiKTsK
K3Nob3VsZEJlKCJyZXN1bHRbMF0iLCAiMCIpOworc2hvdWxkQmUoInJlc3VsdFsxXSIsICIxIik7
CitzaG91bGRCZSgicmVzdWx0WzJdIiwgIjQiKTsKK3Nob3VsZEJlKCJyZXN1bHRbM10iLCAiOSIp
Oworc2hvdWxkQmUoInJlc3VsdFs0XSIsICIxNiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzIGIvTGF5b3V0VGVz
dHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCmluZGV4IGY3
OWRmYWI2YTZhZjgyOGM0ODMwMmQwYTdhZTVhNGI1Y2U5ZDk5MjguLjUzZDVmMGRhNGNmZmZiZjgw
MGRiMmUwODNmZDllZmFlYmYwNjljYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL3Njcmlw
dC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcworKysgYi9MYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMKQEAgLTcwLDcgKzcw
LDcgQEAKICAgICAiRXJyb3IucHJvdG90eXBlIjogIlsnY29uc3RydWN0b3InLCAnbWVzc2FnZScs
ICduYW1lJywgJ3RvU3RyaW5nJ10iLAogICAgICJNYXRoIjogIlsnRScsJ0xOMTAnLCdMTjInLCdM
T0cxMEUnLCdMT0cyRScsJ1BJJywnU1FSVDFfMicsJ1NRUlQyJywnYWJzJywnYWNvcycsJ2Fjb3No
JywnYXNpbicsJ2FzaW5oJywnYXRhbicsJ2F0YW4yJywnYXRhbmgnLCdjYnJ0JywnY2VpbCcsJ2Ns
ejMyJywnY29zJywnY29zaCcsJ2V4cCcsJ2V4cG0xJywnZmxvb3InLCdmcm91bmQnLCdoeXBvdCcs
J2ltdWwnLCdsb2cnLCdsb2cxMCcsJ2xvZzFwJywnbG9nMicsJ21heCcsJ21pbicsJ3BvdycsJ3Jh
bmRvbScsJ3JvdW5kJywnc2lnbicsJ3NpbicsJ3NpbmgnLCdzcXJ0JywndGFuJywndGFuaCcsJ3Ry
dW5jJ10iLAogICAgICJKU09OIjogIlsncGFyc2UnLCAnc3RyaW5naWZ5J10iLAotICAgICJTeW1i
b2wiOiAiWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3By
b3RvdHlwZScsICd1bnNjb3BhYmxlcyddIiwKKyAgICAiU3ltYm9sIjogIlsnZm9yJywgJ2l0ZXJh
dG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAnc3BlY2llcycs
ICd1bnNjb3BhYmxlcyddIiwKICAgICAiU3ltYm9sLnByb3RvdHlwZSI6ICJbJ2NvbnN0cnVjdG9y
JywgJ3RvU3RyaW5nJywgJ3ZhbHVlT2YnXSIKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256766</attachid>
            <date>2015-07-14 05:06:27 -0700</date>
            <delta_ts>2015-07-20 21:23:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150714120520.patch</filename>
            <type>text/plain</type>
            <size>129643</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YWRhMjk4YTFjMDc4NWFjOTQ2MjM5YzZmZWE0MDI0MzYzZGQ0ZjYwLi4yMzUyNWRhN2FjMzM1N2Rk
MWJhNDNjMDJlNjA4YTU5MTYzODUyM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzcgQEAKKzIwMTUtMDctMTQgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisgICAgICAgIDMuIEFjY29yZGluZyB0byB0aGUgRVM2IHNwZWMsIEFycmF5
U3BlY2llc0NyZWF0ZSBjcmVhdGVzIHRoZSBhcnJheSBpbiB0aGUgY3VycmVudCByZWFsbSBldmVu
IGlmIHRoZSBnaXZlbiBjb25zdHJ1Y3RvciBpcworICAgICAgICAgICBBcnJheSBjb25zdHJ1Y3Rv
ciBpbiB0aGUgb3RoZXIgcmVhbG0gb3IgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaXMgZGVmaW5lZCBp
biB0aGUgb3RoZXIgcmVhbG0uCisgICAgICAgICAgIEhvd2V2ZXIsIGluIHRoZSBjdXJyZW50IGlt
cGxlbWVudGF0aW9uLCB3ZSBjcmVhdGUgdGhlIHJlc3VsdCBhcnJheSB0aGF0IGJlbG9uZ3MgdG8g
dGhlIGxleGljYWwgZ2xvYmFsIG9iamVjdC4KKworICAgICAgICBJbXBsZW1lbnRlZCBwYXJ0cyBh
cmUsCisKKyAgICAgICAgMS4gQXJyYXkgbWV0aG9kcy4KKyAgICAgICAgMi4gUHJvbWlzZSBtZXRo
b2RzLgorICAgICAgICAzLiBNYXAgYW5kIFNldCBAQHNwZWNpZXMgc3VwcG9ydC4KKworICAgICAg
ICBBbmQgbm93LCBBcnJheS5wcm90b3R5cGUue21hcCwgZmlsdGVyfSBnZW5lcmF0ZSB0aGUgcmVz
dWx0IG9iamVjdCB3aXRoIHRoZSB1c2VyLXByb3ZpZGVkIGNvbnN0cnVjdG9yLgorICAgICAgICBJ
biB0aGUgcHJldmlvdXMgY2FzZSwgdGhpcyByZXN1bHQgb2JqZWN0IGlzIGxpbWl0ZWQgdG8gQXJy
YXkuIFNvIGl0IGlzIGVuc3VyZWQgdGhhdCB0aGVyZSdzIG5vIG93biBwcm9wZXJ0aWVzIG90aGVy
IHRoYW4gImxlbmd0aCIuCisgICAgICAgIEhvd2V2ZXIsIG5vdyB0aGUgdXNlci1wcm92aWRlZCBj
b25zdHJ1Y3RvciBtYXkgY3JlYXRlIHRoZSBvYmplY3QgdGhhdCBoYXMgb3duIHByb3BlcnRpZXMg
Y29uZmlndXJlZCBpbiB0aGUgY29uc3RydWN0b3IuCisgICAgICAgIFNvIEBwdXRCeVZhbERpcmVj
dCB1c2VkIGluIHRoZXNlIG1ldGhvZHMgc2hvdWxkIHNlZSB0aGUgZXhpc3RpbmcgcHJvcGVydGll
cyBhbmQgcmFpc2UgdGhlIFR5cGVFcnJvciB3aGVuIHRoZSBjb25maWd1cmVkIHByb3BlcnR5Cisg
ICAgICAgIGhhcyBzb21lIGNvbmZsaWN0aW5nIGNvbmRpdGlvbiAobGlrZSB3cml0YWJsZTogZmFs
c2UgZXRjLikKKyAgICAgICAgVG8gYWNoaWV2ZSB0aGlzLCB3ZSBhZGRlZCBuZXcgUHV0RGlyZWN0
SW5kZXhNb2RlLCBgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93YC4KKyAg
ICAgICAgV2hlbiB0aGlzIGlzIHNwZWNpZmllZCwgYHB1dERpcmVjdEluZGV4YCBiZWhhdmVzIGFz
IHRoZSBzYW1lIHRvIHRoZSBzcGVjJ3MgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdy4KKworICAg
ICAgICAqIGJ1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qczoKKyAgICAgICAgKGZpbHRlcik6Cisg
ICAgICAgIChtYXApOgorICAgICAgICAqIGJ1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanM6Cisg
ICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9HbG9iYWxPYmplY3Qu
anM6CisgICAgICAgIChzcGVjaWVzQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJ1aWx0aW5zL0l0
ZXJhdG9yLnByb3RvdHlwZS5qczoKKyAgICAgICAgKHN5bWJvbEl0ZXJhdG9yKToKKyAgICAgICAg
KFN5bWJvbEl0ZXJhdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBidWlsdGlucy9NYXBDb25zdHJ1
Y3Rvci5qczogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJh
dG9yLnByb3RvdHlwZS5qcy4KKyAgICAgICAgKHN5bWJvbFNwZWNpZXMpOgorICAgICAgICAqIGJ1
aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanM6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMuCisgICAgICAgIChhcnJheVNwZWNpZXNDcmVh
dGUpOgorICAgICAgICAqIGJ1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzOgorICAgICAgICAq
IGJ1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qczoKKyAgICAgICAgKHJhY2UpOgorICAgICAg
ICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvU2V0Q29uc3RydWN0b3IuanM6
IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90
b3R5cGUuanMuCisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdE5ld0FycmF5V2l0aFNpemUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX25ld0Fy
cmF5V2l0aFNpemUpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpwdXRCeVZhbCk6CisgICAgICAgIChKU0M6OkRGRzo6b3BlcmF0aW9uUHV0QnlW
YWxJbnRlcm5hbCk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAq
IGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NM
T1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkFycmF5Q29uc3Ry
dWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6Cisg
ICAgICAgIChKU0M6OmFycmF5U3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6Y3Jl
YXRlRGF0YVByb3BlcnR5T3JUaHJvdyk6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jQ29u
Y2F0KToKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNTbGljZSk6CisgICAgICAgIChKU0M6
OmFycmF5UHJvdG9GdW5jU3BsaWNlKToKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1
Y3Rvci5oOgorICAgICAgICAoSlNDOjpCb29sZWFuQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvRGF0
ZUNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToK
KyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6RXJy
b3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6
ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6aXNB
cnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSk6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRy
ZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmFycmF5Q29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6YXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVmaW5lT3duSW5kZXhlZFBy
b3BlcnR5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVj
dG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSk6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2VD
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVh
dGUpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24p
OgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBy
dW50aW1lL01hcENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TWFwQ29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL01hcENvbnN0cnVjdG9yLmg6Cisg
ICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
TnVtYmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6OmNy
ZWF0ZSk6CisgICAgICAgICogcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaDoKKyAgICAgICAg
KiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpTZXRDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU2V0Q29uc3RydWN0
b3IuaDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICog
cnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcDoKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJy
YXlWYWx1ZU1hcDo6cHV0RGlyZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmg6CisgICAgICAgIChKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6U3ltYm9sQ29u
c3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3Iu
aDoKKyAgICAgICAgKEpTQzo6V2Vha01hcENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAq
IHJ1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OldlYWtTZXRDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMu
anM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAoc2hvdWxkVGhyb3cpOgor
ICAgICAgICAoLmdldCBFeHRlbmRlZEFycmF5KToKKyAgICAgICAgKC5nZXQgc2hvdWxkQmUpOgor
ICAgICAgICAoLnNldCBzaG91bGRCZSk6CisgICAgICAgIChUZXN0KToKKyAgICAgICAgKC4pOgor
CiAyMDE1LTA3LTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAg
REZHOjpEZXNpcmVkV2F0Y2hwb2ludHMgc2hvdWxkIGFjY2VwdCBXYXRjaHBvaW50U2V0VHlwZSdz
IHRoYXQgYXJlbid0IG5lY2Vzc2FyaWx5IHBvaW50ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwppbmRleCBhZjQ2ZGQ4ZmVmZmU1MzRi
Y2Q0MDUzNGYzNGY3YmYyNWZhNWJlNDQzLi4xMjA5ZDU3NjYxMWQ4ZGNlZTI3ODUwN2M2MGUyODdl
ZDY5MGQ4ZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJy
YXkucHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eS5wcm90b3R5cGUuanMKQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlvbiBmaWx0ZXIoY2FsbGJh
Y2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5
LnByb3RvdHlwZS5maWx0ZXIgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAgICAgCiAg
ICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVu
ZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9IEBhcnJheVNw
ZWNpZXNDcmVhdGUoYXJyYXksIDApOwogICAgIHZhciBuZXh0SW5kZXggPSAwOwogICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgaWYgKCEoaSBpbiBhcnJheSkp
CkBAIC0xOTAsNyArMTkwLDcgQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCB0aGlzQXJnICov
KSB7CiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUubWFwIGNh
bGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpOwogICAgIAogICAgIHZhciB0aGlzQXJnID0gYXJn
dW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7Ci0gICAgdmFyIHJl
c3VsdCA9IFtdOworICAgIHZhciByZXN1bHQgPSBAYXJyYXlTcGVjaWVzQ3JlYXRlKGFycmF5LCBs
ZW5ndGgpOwogICAgIHJlc3VsdC5sZW5ndGggPSBsZW5ndGg7CiAgICAgdmFyIG5leHRJbmRleCA9
IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qcwppbmRleCA1YTU1
MWY3Mzk4Zjc4ZjBjMjliMGY0M2Q5ZWZjYzM3ZWFhMjJlMzI1Li4zNGRmNjI0MDI0YmJkYWM5YWIy
NzgwNTZhZGFmYzE2YTkyNjM2OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5qcwpAQCAtMTA3LDMgKzEwNywxMCBAQCBmdW5jdGlv
biBmcm9tKGl0ZW1zIC8qLCBtYXBGbiwgdGhpc0FyZyAqLykgewogICAgIHJlc3VsdC5sZW5ndGgg
PSBhcnJheUxpa2VMZW5ndGg7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KKworZnVuY3Rpb24gc3lt
Ym9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwppbmRl
eCA2YWRhZGVmYmQ5YTk3MDE3NzkzNjYwYWZkYjIzYTc1NTJhMjA3YWY5Li5jYzdiMmNhOTFiZjBi
ZTA2OWVlNDQxY2NhZDFiMzk4ZWQzNjNlOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMKQEAgLTU1LDMgKzU1LDIyIEBAIGZ1bmN0aW9uIGlz
T2JqZWN0KG9iamVjdCkKIAogICAgIHJldHVybiAob2JqZWN0ICE9PSBudWxsICYmIHR5cGVvZiBv
YmplY3QgPT09ICJvYmplY3QiKSB8fCB0eXBlb2Ygb2JqZWN0ID09PSAiZnVuY3Rpb24iOwogfQor
CitmdW5jdGlvbiBzcGVjaWVzQ29uc3RydWN0b3Iob2JqZWN0LCBkZWZhdWx0Q29uc3RydWN0b3Ip
Cit7CisgICAgInVzZSBzdHJpY3QiOworCisgICAgdmFyIGNvbnN0cnVjdG9yID0gb2JqZWN0LmNv
bnN0cnVjdG9yOworICAgIGlmIChjb25zdHJ1Y3RvciA9PT0gdW5kZWZpbmVkKQorICAgICAgICB0
aHJvdyBuZXcgQFR5cGVFcnJvcigib2JqZWN0IGRvZXMgbm90IGhhdmUgXCJjb25zdHJ1Y3Rvclwi
IHByb3BlcnR5Iik7CisKKyAgICB2YXIgc3BlY2llcyA9IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVj
aWVzXTsKKyAgICBpZiAoc3BlY2llcyA9PT0gdW5kZWZpbmVkIHx8IHNwZWNpZXMgPT09IG51bGwp
CisgICAgICAgIHJldHVybiBkZWZhdWx0Q29uc3RydWN0b3I7CisKKyAgICAvLyBGSVhNRTogVXNl
IGlzQ29uc3RydWN0b3Ioc3BlY2llcykuCisgICAgaWYgKHR5cGVvZiBzcGVjaWVzICE9PSAnZnVu
Y3Rpb24nKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiY29uc3RydWN0b3IuQEBzcGVj
aWVzIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7CisKKyAgICByZXR1cm4gc3BlY2llczsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5
cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBl
LmpzCmluZGV4IGRjNzJhNjQwOGI0MzY3MGE5MzYxOWZjNjFmMmJlYzMyNzVlMzk1ZDUuLjFlOWI5
OGM4NDNkODY3NTVjNDc2MzM3NjU3OWY0OThhOTIwMDJkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcwpAQCAtMjMsNyAr
MjMsNyBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1mdW5jdGlvbiBTeW1ib2xJdGVyYXRvcigp
CitmdW5jdGlvbiBzeW1ib2xJdGVyYXRvcigpCiB7CiAgICAgJ3VzZSBzdHJpY3QnOwogICAgIHJl
dHVybiB0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01h
cENvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcENvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3ZDg3YTlkZDY4YTU1MzYxNWI4MmY5YzBiNGM5MWZkN2Vm
YTNkMjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
TWFwQ29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5LmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGUzMDUyZTY0YzIxMDY5ZWQ0NGVmMWYxNDRhOTA1ZjRlOGU1ZDVkNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9PcGVyYXRpb25zLkFycmF5Lmpz
CkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVr
aSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworZnVuY3Rpb24gYXJyYXlTcGVjaWVzQ3JlYXRlKG9yaWdpbmFsQXJyYXks
IGxlbmd0aCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICBpZiAoIUBpc0FycmF5KG9yaWdp
bmFsQXJyYXkpKQorICAgICAgICByZXR1cm4gQG5ld0FycmF5V2l0aFNpemUobGVuZ3RoKTsKKwor
ICAgIHZhciBjb25zdHJ1Y3RvciA9IG9yaWdpbmFsQXJyYXkuY29uc3RydWN0b3I7CisKKyAgICAv
LyBFYXJseSBjaGVjayBmb3IgdGhlIGNvbW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1Y3RvciAh
PT0gQEFycmF5KSB7CisgICAgICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3Rvcihjb25zdHJ1
Y3RvcikuCisgICAgICAgIGlmICh0eXBlb2YgY29uc3RydWN0b3IgPT09ICJmdW5jdGlvbiIpIHsK
KyAgICAgICAgICAgIGlmIChAaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbShjb25z
dHJ1Y3RvcikpCisgICAgICAgICAgICAgICAgcmV0dXJuIEBuZXdBcnJheVdpdGhTaXplKGxlbmd0
aCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoQGlzT2JqZWN0KGNvbnN0cnVjdG9yKSkg
eworICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsKKyAg
ICAgICAgaWYgKGNvbnN0cnVjdG9yID09PSBudWxsKQorICAgICAgICAgICAgY29uc3RydWN0b3Ig
PSB1bmRlZmluZWQ7CisgICAgfQorCisgICAgaWYgKGNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQg
fHwgY29uc3RydWN0b3IgPT09IEBBcnJheSkKKyAgICAgICAgcmV0dXJuIEBuZXdBcnJheVdpdGhT
aXplKGxlbmd0aCk7CisKKyAgICAvLyBGSVhNRTogVXNlIGlzQ29uc3RydWN0b3IoY29uc3RydWN0
b3IpLgorICAgIGlmICh0eXBlb2YgY29uc3RydWN0b3IgIT09ICJmdW5jdGlvbiIpCisgICAgICAg
IHRocm93IG5ldyBAVHlwZUVycm9yKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5v
dCBhIGZ1bmN0aW9uIik7CisKKyAgICByZXR1cm4gbmV3IGNvbnN0cnVjdG9yKGxlbmd0aCk7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZS5wcm90
b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZS5wcm90b3R5
cGUuanMKaW5kZXggODU2M2RmMGQ5MjdmYjIzMzk2ODkzOWUxNDk0MjM5NmVjODVlNjVhYS4uY2Y2
YTIwZmQ4MzI1YjgzYzFiOTA3NWI1OTEyYzQzNTkwNDAxNjNmYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2UucHJvdG90eXBlLmpzCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcwpAQCAtMzcsOSAr
MzcsNyBAQCBmdW5jdGlvbiB0aGVuKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKQogICAgIGlmICgh
QGlzUHJvbWlzZSh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoInx0aGlzfCBp
cyBub3QgYSBvYmplY3QiKTsKIAotICAgIC8vIEZJWE1FOiBGaXggdGhpcyBjb2RlIHdoZW4gQEBz
cGVjaWVzIHdlbGwta25vd24gc3ltYm9sIGlzIGxhbmRlZC4KLSAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0Ci0gICAgdmFyIGNvbnN0cnVjdG9yID0g
dGhpcy5jb25zdHJ1Y3RvcjsKKyAgICB2YXIgY29uc3RydWN0b3IgPSBAc3BlY2llc0NvbnN0cnVj
dG9yKHRoaXMsIEBQcm9taXNlKTsKIAogICAgIHZhciByZXN1bHRDYXBhYmlsaXR5ID0gQG5ld1By
b21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKaW5kZXggMWY4M2I0N2Y3OTBh
NzVlNWJmOGM5M2Q1ZTY2NDk2MThjYjFhZWM2Ny4uM2Y5OGViZjMzYWUyOTc4ODM2Y2YxNzIxMjg2
NTg1Y2ExN2UwZmIxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L1Byb21pc2VDb25zdHJ1Y3Rvci5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCkBAIC0zMCw5ICszMCwxMCBAQCBmdW5jdGlvbiBhbGwo
aXRlcmFibGUpCiAgICAgaWYgKCFAaXNPYmplY3QodGhpcykpCiAgICAgICAgIHRocm93IG5ldyBU
eXBlRXJyb3IoInx0aGlzfCBpcyBub3QgYSBvYmplY3QiKTsKIAotICAgIC8vIEZJWE1FOiBGaXgg
dGhpcyBjb2RlIHdoZW4gQEBzcGVjaWVzIHdlbGwta25vd24gc3ltYm9sIGlzIGxhbmRlZC4KLSAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0CiAgICAg
dmFyIGNvbnN0cnVjdG9yID0gdGhpczsKKyAgICB2YXIgc3BlY2llcyA9IGNvbnN0cnVjdG9yW0Bz
eW1ib2xTcGVjaWVzXTsKKyAgICBpZiAoc3BlY2llcyAhPT0gdW5kZWZpbmVkICYmIHNwZWNpZXMg
IT09IG51bGwpCisgICAgICAgIGNvbnN0cnVjdG9yID0gc3BlY2llczsKIAogICAgIHZhciBwcm9t
aXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNlQ2FwYWJpbGl0eShjb25zdHJ1Y3Rvcik7CiAKQEAg
LTg2LDkgKzg3LDEwIEBAIGZ1bmN0aW9uIHJhY2UoaXRlcmFibGUpCiAgICAgaWYgKCFAaXNPYmpl
Y3QodGhpcykpCiAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoInx0aGlzfCBpcyBub3QgYSBv
YmplY3QiKTsKIAotICAgIC8vIEZJWE1FOiBGaXggdGhpcyBjb2RlIHdoZW4gQEBzcGVjaWVzIHdl
bGwta25vd24gc3ltYm9sIGlzIGxhbmRlZC4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NjI0CiAgICAgdmFyIGNvbnN0cnVjdG9yID0gdGhpczsKKyAg
ICB2YXIgc3BlY2llcyA9IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsKKyAgICBpZiAoc3Bl
Y2llcyAhPT0gdW5kZWZpbmVkICYmIHNwZWNpZXMgIT09IG51bGwpCisgICAgICAgIGNvbnN0cnVj
dG9yID0gc3BlY2llczsKIAogICAgIHZhciBwcm9taXNlQ2FwYWJpbGl0eSA9IEBuZXdQcm9taXNl
Q2FwYWJpbGl0eShjb25zdHJ1Y3Rvcik7CiAKQEAgLTEzNywzICsxMzksMTAgQEAgZnVuY3Rpb24g
cmVzb2x2ZSh2YWx1ZSkKIAogICAgIHJldHVybiBwcm9taXNlQ2FwYWJpbGl0eS5AcHJvbWlzZTsK
IH0KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOworCisg
ICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvU2V0Q29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
U2V0Q29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRkNjhhNTUzNjE1YjgyZjljMGI0
YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4uCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9uIHN5bWJvbFNw
ZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcAppbmRleCA4YjJmOGU2MWZjMWU2YjA2ZGZkYzgzZmM5NDcxYzU1OWY2Mzg5YmQy
Li5jYWJhZDRlMjkwZDliZTYwYWU4NTRkMWNiYzBhZWRhNzg2NjBhMjZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcApAQCAtMTc4NCw2ICsxNzg0LDE1IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0TmV3QXJyYXkoUmVnaXN0ZXJJRCogZHN0LCBFbGVtZW50Tm9kZSogZWxlbWVuCiAgICAg
cmV0dXJuIGRzdDsKIH0KIAorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJheVdpdGhTaXplKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogbGVuZ3RoKQoreworICAg
IGVtaXRPcGNvZGUob3BfbmV3X2FycmF5X3dpdGhfc2l6ZSk7CisgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKGRzdC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGxlbmd0aC0+
aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKG5ld0FycmF5QWxsb2NhdGlvblBy
b2ZpbGUoKSk7CisgICAgcmV0dXJuIGRzdDsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXROZXdGdW5jdGlvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUq
IGZ1bmN0aW9uKQogewogICAgIHJldHVybiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChkc3QsIG1f
Y29kZUJsb2NrLT5hZGRGdW5jdGlvbkRlY2wobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCmluZGV4IDFhOTc3MWVmMTA3OTc5YzQ5ZjUxYTM5NDM5ODRlNjMxODFjODRkZTMuLjNj
ZDQ0YWExYzU4NTM4OWI3OWUwZjEzM2QzZGZkNTczZjk4NTYyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAg
LTQ1Miw2ICs0NTIsNyBAQAogICAgICAgICB2b2lkIGVtaXRURFpDaGVjayhSZWdpc3RlcklEKiB0
YXJnZXQpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3T2JqZWN0KFJlZ2lzdGVySUQqIGRz
dCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdBcnJheShSZWdpc3RlcklEKiBkc3QsIEVs
ZW1lbnROb2RlKiwgdW5zaWduZWQgbGVuZ3RoKTsgLy8gc3RvcHMgYXQgZmlyc3QgZWxpc2lvbgor
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyYXlXaXRoU2l6ZShSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIGxlbmd0aCk7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0
aW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY3Rpb25Cb2R5Tm9kZSopOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChSZWdpc3RlcklEKiBkc3QsIHVuc2lnbmVkIGlu
ZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcAppbmRleCBjZmQzZWYxZmY2ZTgwNzUyZDk4MGQ2OTAxNDdjNDUwNzUwN2U1ZjYx
Li5kY2E2ZmYyZTk4MDg4Mjc2YWZiMDE2MmNhMGE5NGM2NDBjMjk1YjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC03
NzYsNiArNzc2LDE1IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlCiAgICAgcmV0dXJuICh0aGlz
LT4qbV9lbWl0dGVyKShnZW5lcmF0b3IsIGRzdCk7CiB9CiAKK1JlZ2lzdGVySUQqIEJ5dGVjb2Rl
SW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfbmV3QXJyYXlXaXRoU2l6ZShCeXRlY29kZUdl
bmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAgQXJndW1lbnRMaXN0
Tm9kZSogbm9kZSA9IG1fYXJncy0+bV9saXN0Tm9kZTsKKyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
bGVuZ3RoID0gZ2VuZXJhdG9yLmVtaXROb2RlKG5vZGUpOworICAgIEFTU0VSVCghbm9kZS0+bV9u
ZXh0KTsKKworICAgIHJldHVybiBnZW5lcmF0b3IubW92ZVRvRGVzdGluYXRpb25JZk5lZWRlZChk
c3QsIGdlbmVyYXRvci5lbWl0TmV3QXJyYXlXaXRoU2l6ZShnZW5lcmF0b3IudGVtcERlc3RpbmF0
aW9uKGRzdCksIGxlbmd0aC5nZXQoKSkpOworfQorCiBSZWdpc3RlcklEKiBCeXRlY29kZUludHJp
bnNpY05vZGU6OmVtaXRfaW50cmluc2ljX3B1dEJ5VmFsRGlyZWN0KEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKICAgICBBcmd1bWVudExpc3ROb2RlKiBu
b2RlID0gbV9hcmdzLT5tX2xpc3ROb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T3BlcmF0aW9ucy5jcHAKaW5kZXggNmY5NTEyYmE1MzRjNDkwZDRiZjk5OGFmNWQwODI0NDEyZGJi
OTE0ZS4uZjlhNTNjMTM4ZmZkODRlOWU4NGE1MWI2Yjg2YTlhMGFjMjQxM2UwZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC03Miw3ICs3Miw3IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCBwdXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFz
ZVZhbHVlLCB1aW50MzJfdCBpbmRleCwKICAgICBBU1NFUlQoaXNJbmRleChpbmRleCkpOwogICAg
IGlmIChkaXJlY3QpIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0
KCkpOwotICAgICAgICBhc09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBp
bmRleCwgdmFsdWUsIDAsIHN0cmljdCA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXRE
aXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+
cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJ
bmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRo
cm93KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0
KCkpIHsKQEAgLTEyNCw3ICsxMjQsNyBAQCBBTFdBWVNfSU5MSU5FIHN0YXRpYyB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlWYWxJbnRlcm5hbChFeGVjU3RhdGUqIGV4ZQogICAgIGlm
IChkaXJlY3QpIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkp
OwogICAgICAgICBpZiAoT3B0aW9uYWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9w
ZXJ0eU5hbWUpKQotICAgICAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5k
ZXgoZXhlYywgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIHN0cmljdCA/IFB1dERpcmVjdEluZGV4
U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgICAg
IGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCks
IHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhy
b3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0KCp2bSwgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgc2xvdCk7CiAgICAgfSBlbHNlCkBAIC01MDEsNyArNTAxLDcgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QoRXhl
Y1N0YXRlKiBleGUKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKICAgICBpZiAoaW5kZXggPj0gMCkgewotICAgICAg
ICBhcnJheS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpLCAwLCBQdXREaXJlY3RJbmRleFNob3VsZFRocm93KTsKKyAgICAgICAgYXJyYXkt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgMCwgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCmluZGV4IDM4MDE1ZDJkODA0ZjkzNTkyMGY5NzU2YTcxY2EyZmRmZWExNzk1OTAu
LjFlNjQ1MmVjZWZhNDExNzQ0MDVlOWY0ZTM2MGE0YTIxOTAyYjM3NzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBAIHN0
YXRpYyB2b2lkIGRpcmVjdFB1dEJ5VmFsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU09iamVjdCog
YmFzZU9iamVjdCwgSlNWYWx1ZSBzCiAgICAgICAgIH0KIAogICAgICAgICBhcnJheVByb2ZpbGUt
PnNldE91dE9mQm91bmRzKCk7Ci0gICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNh
bGxGcmFtZSwgaW5kZXgsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNo
b3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VP
YmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgsIHZhbHVlLCAwLCBpc1N0cmlj
dE1vZGUgPyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJl
Y3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTQ0
LDcgKzU0NCw3IEBAIHN0YXRpYyB2b2lkIGRpcmVjdFB1dEJ5VmFsKENhbGxGcmFtZSogY2FsbEZy
YW1lLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSBzCiAgICAgICAgIGRvdWJsZSBzdWJz
Y3JpcHRBc0RvdWJsZSA9IHN1YnNjcmlwdC5hc0RvdWJsZSgpOwogICAgICAgICB1aW50MzJfdCBz
dWJzY3JpcHRBc1VJbnQzMiA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihzdWJzY3JpcHRBc0RvdWJs
ZSk7CiAgICAgICAgIGlmIChzdWJzY3JpcHRBc0RvdWJsZSA9PSBzdWJzY3JpcHRBc1VJbnQzMiAm
JiBpc0luZGV4KHN1YnNjcmlwdEFzVUludDMyKSkgewotICAgICAgICAgICAgYmFzZU9iamVjdC0+
cHV0RGlyZWN0SW5kZXgoY2FsbEZyYW1lLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlz
U3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNo
b3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNh
bGxGcmFtZSwgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXRE
aXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3Vs
ZE5vdFRocm93KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTU1
NSw3ICs1NTUsNyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAoT3B0aW9uYWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eSkp
Ci0gICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFs
dWUoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cg
OiBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgYmFzZU9iamVjdC0+cHV0
RGlyZWN0SW5kZXgoY2FsbEZyYW1lLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RN
b2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0
SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxzZSB7CiAgICAgICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9kZSk7CiAgICAgICAgIGJhc2VPYmplY3QtPnB1
dERpcmVjdChjYWxsRnJhbWUtPnZtKCksIHByb3BlcnR5LCB2YWx1ZSwgc2xvdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCA5Y2ZlODcz
NDBlZTkyMzQwODFiZmJkOTQ1MjhlOWU5MDcyNDRhYWE5Li45YjM4MmE1NWU3M2Q0YzQ0YmFkOTgw
ZDRiODU4YTVkODFjNmRjZTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKQEAgLTc5MSw3ICs3OTEsNyBAQCBpbmxpbmUgSlNWYWx1ZSBnZXRC
eVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBKU1ZhbHVlIHN1YnNjcmlw
dCkKICAgICBpZiAoTElLRUxZKHN1YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAgICAgICAvLyBE
ZXNwaXRlIGl0cyBuYW1lLCBKU1ZhbHVlOjppc1VJbnQzMiB3aWxsIHJldHVybiB0cnVlIG9ubHkg
Zm9yIHBvc2l0aXZlIGJveGVkIGludDMyX3Q7IGFsbCB0aG9zZSB2YWx1ZXMgYXJlIHZhbGlkIGFy
cmF5IGluZGljZXMuCiAgICAgICAgIEFTU0VSVChpc0luZGV4KHN1YnNjcmlwdC5hc1VJbnQzMigp
KSk7Ci0gICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdC5h
c1VJbnQzMigpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRU
aHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSwgdmFsdWUsIDAsIGlz
U3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1
dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOwogICAgICAgICBMTElOVF9FTkQoKTsKICAgICB9
CiAKQEAgLTc5OSw3ICs3OTksNyBAQCBpbmxpbmUgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBKU1ZhbHVlIHN1YnNjcmlwdCkKICAgICAgICAgZG91
YmxlIHN1YnNjcmlwdEFzRG91YmxlID0gc3Vic2NyaXB0LmFzRG91YmxlKCk7CiAgICAgICAgIHVp
bnQzMl90IHN1YnNjcmlwdEFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN1YnNjcmlw
dEFzRG91YmxlKTsKICAgICAgICAgaWYgKHN1YnNjcmlwdEFzRG91YmxlID09IHN1YnNjcmlwdEFz
VUludDMyICYmIGlzSW5kZXgoc3Vic2NyaXB0QXNVSW50MzIpKSB7Ci0gICAgICAgICAgICBiYXNl
T2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAs
IGlzU3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRl
eFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4
KGV4ZWMsIHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGly
ZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGRO
b3RUaHJvdyk7CiAgICAgICAgICAgICBMTElOVF9FTkQoKTsKICAgICAgICAgfQogICAgIH0KQEAg
LTgxMCw3ICs4MTAsNyBAQCBpbmxpbmUgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgYmFzZVZhbHVlLCBKU1ZhbHVlIHN1YnNjcmlwdCkKICAgICAgICAgTExJTlRfRU5E
KCk7CiAKICAgICBpZiAoT3B0aW9uYWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9w
ZXJ0eSkpCi0gICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZh
bHVlKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93
IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1
dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUg
PyBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgOiBQdXREaXJlY3RJbmRl
eFNob3VsZE5vdFRocm93KTsKICAgICBlbHNlIHsKICAgICAgICAgUHV0UHJvcGVydHlTbG90IHNs
b3QoYmFzZU9iamVjdCwgaXNTdHJpY3RNb2RlKTsKICAgICAgICAgYmFzZU9iamVjdC0+cHV0RGly
ZWN0KGV4ZWMtPnZtKCksIHByb3BlcnR5LCB2YWx1ZSwgc2xvdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCmluZGV4IDE5NGY5MjE3
YzFjMjE4NjAzNjllYzBlNGVlNDRkODdjOTg4MDA4MzYuLjNiNTNkNjY0YjY2OGY0ZmEzMWI4ZGY2
YzA0NzZjM2RjY2Q5MGYwMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwCkBAIC0yOSwxNyArMjksMTIgQEAKICNpbmNsdWRlICJD
b3BpZWRTcGFjZUlubGluZXMuaCIKICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0Fy
cmF5LmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkxvb2t1cC5oIgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKIAotbmFtZXNwYWNlIEpTQyB7Ci0KLXN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5Q29uc3RydWN0b3JJc0FycmF5KEV4ZWNTdGF0ZSop
OwotCi19Ci0KICNpbmNsdWRlICJBcnJheUNvbnN0cnVjdG9yLmx1dC5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTYxLDExICs1NiwxNCBAQAogewogfQogCi12b2lkIEFycmF5Q29uc3RydWN0b3I6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQor
dm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKIHsKICAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5j
bGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIGFycmF5UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUg
fCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250
RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRl
cjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0
dGVyKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+YXJyYXlTcGVjaWVzR2V0dGVyRnVu
Y3Rpb24oKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVt
KTsKIH0KIAogYm9vbCBBcnJheUNvbnN0cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmpl
Y3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQ
cm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheUNvbnN0cnVjdG9yLmgKaW5kZXggMDQwZjI2YzRjOTkwNWE0NTc2OTRjMDVjODU0NDcwNjA3
YmI0ODRhNy4uMWQyOTNkYWY5Nzg2M2JkYTc2NDQ5NDU0NmFhMGRiOGQwODYxODJlYSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAt
MzQsMTAgKzM0LDEwIEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxG
dW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgQXJy
YXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5
UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKKyAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3Rvciog
Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKICAgICB7CiAgICAgICAg
IEFycmF5Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8QXJyYXlDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEFycmF5Q29uc3RydWN0b3Iodm0sIHN0cnVj
dHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90
b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9i
amVjdCwgYXJyYXlQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAg
fQogCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50
ZXJuYWxGdW5jdGlvbiB7CiAgICAgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIEFycmF5UHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlQcm90b3R5cGUqKTsKIAogcHJpdmF0ZToKICAgICBBcnJh
eUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7CkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIEFy
cmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiB9OwogCiBKU09iamVj
dCogY29uc3RydWN0QXJyYXlXaXRoU2l6ZVF1aXJrKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlv
blByb2ZpbGUqLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOworRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9ySXNBcnJheShFeGVjU3RhdGUqKTsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5
UHJvdG90eXBlLmNwcAppbmRleCA4N2NlYWUxY2JlZjU1Y2Y3NmJlODU4MWUxN2MyYjM5Yzc1ODAz
YWRlLi40Mzc3ZjI3ZDM5YTFlNGE0MzRmNzhlNzNkNmRlNjA5MmUwZjZkZTMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNCwx
MSArMjQsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBcnJheVByb3RvdHlw
ZS5oIgogCisjaW5jbHVkZSAiQXJyYXlDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkJ1dHRlcmZs
eUlubGluZXMuaCIKICNpbmNsdWRlICJDYWNoZWRDYWxsLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2Nr
LmgiCiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIK
KyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2lu
Y2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgpAQCAtNDk5LDEzICs1
MDEsNzUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0pvaW4o
RXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoam9pbigqZXhlYywg
dGhpc09iamVjdCwgc2VwYXJhdG9yLT52aWV3KGV4ZWMpKSk7CiB9CiAKK0FMV0FZU19JTkxJTkUg
c3RhdGljIEpTT2JqZWN0KiBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiBvcmlnaW5hbEFycmF5KQoreworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisKKyAgICBpZiAoIWlzSlNBcnJh
eShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25z
dHJ1Y3RvcigpOworCisgICAgSlNBcnJheSogYXJyYXkgPSBqc0Nhc3Q8SlNBcnJheSo+KG9yaWdp
bmFsQXJyYXkpOworICAgIEpTVmFsdWUgY29uc3RydWN0b3JWYWx1ZSA9IGFycmF5LT5KU0FycmF5
OjpnZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yKTsKKyAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgSlNP
YmplY3QqIGNvbnN0cnVjdG9yT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0
cnVjdG9yVmFsdWUpOworICAgIGlmICghY29uc3RydWN0b3JPYmplY3QpCisgICAgICAgIHJldHVy
biBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIC8vIFRoZSBtb3N0IGNv
bW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1Y3Rvck9iamVjdCA9PSBnbG9iYWxPYmplY3QtPmFy
cmF5Q29uc3RydWN0b3IoKSkgeworICAgICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChjb25zdHJ1Y3Rv
ck9iamVjdCk7CisgICAgICAgIGlmIChjb25zdHJ1Y3Rvck9iamVjdC0+Z2V0UHJvcGVydHlTbG90
KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sLCBzbG90KSkgeworICAg
ICAgICAgICAgaWYgKHNsb3QuaXNBY2Nlc3NvcigpKSB7CisgICAgICAgICAgICAgICAgR2V0dGVy
U2V0dGVyKiBhY2Nlc3NvciA9IHNsb3QuZ2V0dGVyU2V0dGVyKCk7CisgICAgICAgICAgICAgICAg
aWYgKGFjY2Vzc29yLT5nZXR0ZXIoKSA9PSBnbG9iYWxPYmplY3QtPmFycmF5U3BlY2llc0dldHRl
ckZ1bmN0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFy
cmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnN0cnVjdG9y
VmFsdWUgPSBzbG90LmdldFZhbHVlKGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVz
U3ltYm9sKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0g
anNVbmRlZmluZWQoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0
cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0
cnVjdERhdGEoY29uc3RydWN0b3JPYmplY3QsIGNvbnN0cnVjdERhdGEpOworICAgICAgICBpZiAo
Y29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlTm9uZSkgeworICAgICAgICAgICAgaWYgKGNv
bnN0cnVjdG9yT2JqZWN0LT5nbG9iYWxPYmplY3QoKSAhPSBnbG9iYWxPYmplY3QgJiYgY29uc3Ry
dWN0b3JPYmplY3QgPT0gY29uc3RydWN0b3JPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5hcnJheUNv
bnN0cnVjdG9yKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlD
b25zdHJ1Y3RvcigpOworICAgICAgICB9CisgICAgICAgIGNvbnN0cnVjdG9yVmFsdWUgPSBjb25z
dHJ1Y3Rvck9iamVjdC0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3lt
Ym9sKTsKKyAgICB9CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgIGlmIChjb25zdHJ1Y3RvclZhbHVlLmlzTnVsbCgpKQorICAgICAg
ICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBpZiAoY29u
c3RydWN0b3JWYWx1ZS5pc1VuZGVmaW5lZCgpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICByZXR1cm4ganNEeW5hbWljQ2FzdDxKU09iamVj
dCo+KGNvbnN0cnVjdG9yVmFsdWUpOworfQorCitzdGF0aWMgYm9vbCBjcmVhdGVEYXRhUHJvcGVy
dHlPclRocm93KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5k
ZXgsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0dXJuIG9iamVjdC0+cHV0RGlyZWN0SW5kZXgo
ZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9y
VGhyb3cpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5j
Q29uY2F0KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMt
PnRoaXNWYWx1ZSgpLnRvVGhpcyhleGVjLCBTdHJpY3RNb2RlKTsKKyAgICBKU09iamVjdCogdGhp
c09iamVjdCA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisKKyAgICBKU09iamVjdCogY29uc3RydWN0b3IgPSBhcnJheVNwZWNpZXNDb25zdHJ1Y3Rvcihl
eGVjLCB0aGlzT2JqZWN0KTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgYm9vbCBpc0FycmF5
Q29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvciA9PSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkt
PmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpTVmFsdWUgY3VyQXJnID0gdGhpc09iamVjdDsK
ICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsKLSAgICBKU1Zh
bHVlIGN1ckFyZyA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKICAgICBDaGVja2VkPHVuc2ln
bmVkLCBSZWNvcmRPdmVyZmxvdz4gZmluYWxBcnJheVNpemUgPSAwOwotCiAgICAgSlNBcnJheSog
Y3VycmVudEFycmF5ID0gbnVsbHB0cjsKICAgICBKU0FycmF5KiBwcmV2aW91c0FycmF5ID0gbnVs
bHB0cjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyA7ICsraSkgewpAQCAtNTI2LDE3ICs1OTAs
MzEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGZpbmFsQXJyYXlTaXplLmhhc092ZXJmbG93ZWQoKSkK
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhl
YykpOwogCi0gICAgaWYgKGFyZ0NvdW50ID09IDEgJiYgcHJldmlvdXNBcnJheSAmJiBjdXJyZW50
QXJyYXkgJiYgZmluYWxBcnJheVNpemUudW5zYWZlR2V0KCkgPCBNSU5fU1BBUlNFX0FSUkFZX0lO
REVYKSB7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1Y3RvciAmJiBhcmdDb3VudCA9PSAxICYmIHBy
ZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYmIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgp
IDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgewogICAgICAgICBJbmRleGluZ1R5cGUgdHlwZSA9
IEpTQXJyYXk6OmZhc3RDb25jYXRUeXBlKGV4ZWMtPnZtKCksICpwcmV2aW91c0FycmF5LCAqY3Vy
cmVudEFycmF5KTsKICAgICAgICAgaWYgKHR5cGUgIT0gTm9uQXJyYXkpCiAgICAgICAgICAgICBy
ZXR1cm4gcHJldmlvdXNBcnJheS0+ZmFzdENvbmNhdFdpdGgoKmV4ZWMsICpjdXJyZW50QXJyYXkp
OwogICAgIH0KIAotICAgIEpTQXJyYXkqIGFyciA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywg
bnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0KCkpOwotICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVsbHB0cjsKKyAgICBpZiAoaXNBcnJheUNvbnN0
cnVjdG9yKSB7CisgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVs
bHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0KCkpOworICAgICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0
YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0
YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgICAgIGlmIChjb25zdHJ1Y3RUeXBl
ID09IENvbnN0cnVjdFR5cGVOb25lKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdpdmVuIGNvbnN0cnVjdG9yIG9y
IHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKSkpOworCisgICAgICAgIE1hcmtlZEFyZ3VtZW50
QnVmZmVyIGFyZ3M7CisgICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKDApKTsKKyAgICAgICAg
cmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25z
dHJ1Y3REYXRhLCBhcmdzKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9CiAK
LSAgICBjdXJBcmcgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CisgICAgY3VyQXJnID0gdGhp
c09iamVjdDsKICAgICB1bnNpZ25lZCBuID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyA7
ICsraSkgewogICAgICAgICBpZiAoSlNBcnJheSogY3VycmVudEFycmF5ID0ganNEeW5hbWljQ2Fz
dDxKU0FycmF5Kj4oY3VyQXJnKSkgewpAQCAtNTQ4LDIwICs2MjYsMzAgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgY3VycmVudEFycmF5
LCBrKTsKICAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAg
ICAgICAgICAgICAgaWYgKHYpCi0gICAgICAgICAgICAgICAgICAgIGFyci0+cHV0RGlyZWN0SW5k
ZXgoZXhlYywgbiwgdik7CisgICAgICAgICAgICAgICAgaWYgKHYpIHsKKyAgICAgICAgICAgICAg
ICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIG4sIHYpOworICAg
ICAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBuKys7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBhcnItPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIGN1ckFy
Zyk7CisgICAgICAgICAgICBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwg
biwgY3VyQXJnKTsKKyAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgICAg
ICAgICAgbisrOwogICAgICAgICB9CiAgICAgICAgIGlmIChpID09IGFyZ0NvdW50KQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGN1ckFyZyA9IGV4ZWMtPnVuY2hlY2tlZEFyZ3VtZW50KGkp
OwogICAgIH0KLSAgICBhcnItPnNldExlbmd0aChleGVjLCBuKTsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGFycik7CisKKyAgICBpZiAoaXNBcnJheUNvbnN0cnVjdG9yKQorICAgICAgICBq
c0Nhc3Q8SlNBcnJheSo+KHJlc3VsdCktPnNldExlbmd0aChleGVjLCBuKTsKKyAgICBlbHNlCisg
ICAgICAgIHB1dExlbmd0aChleGVjLCByZXN1bHQsIGpzTnVtYmVyKG4pKTsKKworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRnVuY1BvcChFeGVjU3RhdGUqIGV4ZWMpCkBAIC03MzAsMjMgKzgxOCw1
NSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jU2xpY2UoRXhl
Y1N0YXRlKiBleGVjKQogCiAgICAgdW5zaWduZWQgYmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRl
eEZyb21TdGFydE9yRW5kKGV4ZWMsIDAsIGxlbmd0aCk7CiAgICAgdW5zaWduZWQgZW5kID0gYXJn
dW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAxLCBsZW5ndGgsIGxlbmd0aCk7
CisgICAgdW5zaWduZWQgY291bnQgPSBlbmQgLSBiZWdpbjsKIAotICAgIGlmIChpc0pTQXJyYXko
dGhpc09iaikpIHsKLSAgICAgICAgaWYgKEpTQXJyYXkqIHJlc3VsdCA9IGFzQXJyYXkodGhpc09i
aiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGVuZCAtIGJlZ2luKSkKLSAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBKU09iamVjdCogY29uc3RydWN0b3Ig
PSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisKKyAgICBpZiAoY29uc3RydWN0b3IgPT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAgICAgICAgaWYgKGlzSlNBcnJheSh0aGlzT2Jq
KSkgeworICAgICAgICAgICAgaWYgKEpTQXJyYXkqIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaikt
PmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGNvdW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgICAgIH0KKworICAgICAgICBKU0FycmF5KiBy
ZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGNvdW50KTsKKworICAg
ICAgICB1bnNpZ25lZCBuID0gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBrID0gYmVnaW47IGsg
PCBlbmQ7IGsrKywgbisrKSB7CisgICAgICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShl
eGVjLCB0aGlzT2JqLCBrKTsKKyAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgICAgICAgICAgaWYgKHYpCisgICAgICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRl
eChleGVjLCBuLCB2KTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQtPnNldExlbmd0aChleGVj
LCBuKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogICAgIH0KIAot
ICAgIEpTQXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwg
ZW5kIC0gYmVnaW4pOworICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKKyAgICBDb25z
dHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBj
b25zdHJ1Y3REYXRhKTsKKyAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9u
ZSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBB
U0NJSUxpdGVyYWwoImdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rp
b24iKSkpOworCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVu
ZChqc051bWJlcihjb3VudCkpOworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3QoZXhl
YywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUsIGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIHVuc2lnbmVkIG4gPSAwOwogICAgIGZvciAodW5zaWdu
ZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4rKykgewotICAgICAgICBKU1ZhbHVlIHYgPSBn
ZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdl
dFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOwogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwotICAgICAgICBpZiAodikKLSAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhl
Yywgbiwgdik7CisgICAgICAgIGlmICh2YWx1ZSkgeworICAgICAgICAgICAgY3JlYXRlRGF0YVBy
b3BlcnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIG4sIHZhbHVlKTsKKyAgICAgICAgICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9CiAgICAgfQotICAgIHJlc3VsdC0+c2V0TGVu
Z3RoKGV4ZWMsIG4pOworICAgIHB1dExlbmd0aChleGVjLCByZXN1bHQsIGpzTnVtYmVyKG4pKTsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKQEAgLTc2MCw5ICs4ODAs
NiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jU3BsaWNlKEV4
ZWNTdGF0ZSogZXhlYykKICAgICB1bnNpZ25lZCBsZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhp
c09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwotICAgIAotICAgIGlmICghZXhlYy0+YXJndW1l
bnRDb3VudCgpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5
QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCiAgICAgdW5zaWduZWQgYmVnaW4gPSBhcmd1bWVudENs
YW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMsIDAsIGxlbmd0aCk7CiAKQEAgLTc3NywyMiAr
ODk0LDU4IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxp
Y2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgZGVsZXRlQ291bnQgPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oZGVsZXRlRG91YmxlKTsKICAgICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQg
PSBudWxscHRyOworICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0
cnVjdG9yKGV4ZWMsIHRoaXNPYmopOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKworICAgIEpTT2Jq
ZWN0KiByZXN1bHQgPSBudWxscHRyOworICAgIGlmIChjb25zdHJ1Y3RvciA9PSBleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKSkgeworICAgICAgICBKU0FycmF5
KiByZXN1bHRBcnJheSA9IG51bGxwdHI7CisKKyAgICAgICAgaWYgKCFleGVjLT5hcmd1bWVudENv
dW50KCkpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5
QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCi0gICAgaWYgKGlzSlNBcnJheSh0aGlzT2JqKSkKLSAg
ICAgICAgcmVzdWx0ID0gYXNBcnJheSh0aGlzT2JqKS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwg
ZGVsZXRlQ291bnQpOworICAgICAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKQorICAgICAgICAg
ICAgcmVzdWx0QXJyYXkgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2lu
LCBkZWxldGVDb3VudCk7CiAKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICByZXN1bHQgPSBK
U0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJh
eVdpdGhVbmRlY2lkZWQpLCBkZWxldGVDb3VudCk7Ci0gICAgICAgIGlmICghcmVzdWx0KQotICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhl
YykpOworICAgICAgICBpZiAoIXJlc3VsdEFycmF5KSB7CisgICAgICAgICAgICByZXN1bHRBcnJh
eSA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9u
KEFycmF5V2l0aFVuZGVjaWRlZCksIGRlbGV0ZUNvdW50KTsKKyAgICAgICAgICAgIGlmICghcmVz
dWx0QXJyYXkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091
dE9mTWVtb3J5RXJyb3IoZXhlYykpOworCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAw
OyBrIDwgZGVsZXRlQ291bnQ7ICsraykgeworICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdl
dFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyBiZWdpbik7CisgICAgICAgICAgICAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIHJlc3VsdEFycmF5LT5p
bml0aWFsaXplSW5kZXgodm0sIGssIHYpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIHJlc3VsdCA9IHJlc3VsdEFycmF5OworICAgIH0gZWxzZSB7CisgICAgICAgIENvbnN0cnVj
dERhdGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBl
ID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgICAg
IGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKQorICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdp
dmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKSkpOworCisgICAg
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVt
YmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdChleGVjLCBjb25z
dHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3RydWN0RGF0YSwgYXJncyk7CisgICAgICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGRl
bGV0ZUNvdW50OyArK2spIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4
ZWMsIHRoaXNPYmosIGsgKyBiZWdpbik7CisgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZ2V0
UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArICBiZWdpbik7CiAgICAgICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgICAgIHJlc3VsdC0+aW5pdGlhbGl6ZUluZGV4KHZt
LCBrLCB2KTsKKyAgICAgICAgICAgIGlmICh2YWx1ZSkgeworICAgICAgICAgICAgICAgIGNyZWF0
ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0LCBrLCB2YWx1ZSk7CisgICAgICAgICAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgfQogICAgICAg
ICB9CisgICAgICAgIHB1dExlbmd0aChleGVjLCByZXN1bHQsIGpzTnVtYmVyKGRlbGV0ZUNvdW50
KSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQogCiAgICAgdW5zaWduZWQg
YWRkaXRpb25hbEFyZ3MgPSBzdGQ6Om1heDxpbnQ+KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSAtIDIs
IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3Ry
dWN0b3IuaAppbmRleCAxNzdmNjllNWNiNDgyY2E1Y2QzY2Q1MDZhZDFhNDAzMjcwMzg3NzcyLi44
ZjE2MDA0YTY1YWM3MDE3YTgxOGJiMDdhMmJiZjY5M2NhNzI3OTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaApAQCAtMzEsNyAr
MzEsNyBAQCBjbGFzcyBCb29sZWFuQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBz
dGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVhblByb3RvdHlwZSkKKyAgICBzdGF0aWMgQm9v
bGVhbkNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBlKiBib29sZWFuUHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgQm9vbGVhbkNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEJvb2xlYW5Db25zdHJ1
Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9u
KHZtLCBib29sZWFuUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQxYjk0ZjFiZjQ3YmZjNjZkODc2NDUwYzAx
MzAxZTU1MjFmZjk1NmQuLmY1NTk5N2YyMzcyZDAxZDc5ZmYxYWJhZjliODJlMDkxMDY0MmMwMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaApAQCAtMjM3LDIyICsyMzcsMjIgQEAKICAgICBtYWNybyhtYXRjaCkgXAogICAgIG1hY3Jv
KHJlcGxhY2UpIFwKICAgICBtYWNybyhzZWFyY2gpIFwKLSAgICBtYWNybyhzcGVjaWVzKSBcCiAg
ICAgbWFjcm8oc3BsaXQpIFwKICAgICBtYWNybyh0b1ByaW1pdGl2ZSkgXAogICAgIG1hY3JvKHRv
U3RyaW5nVGFnKQogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNI
X1dFTExfS05PV05fU1lNQk9MKG1hY3JvKSBcCiAgICAgbWFjcm8oaXRlcmF0b3IpIFwKKyAgICBt
YWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8odW5zY29wYWJsZXMpCiAKICNkZWZpbmUgSlNDX0NP
TU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNTX0VBQ0hfTkFNRShtYWNybykgXAorICAgIG1hY3JvKG5l
d0FycmF5V2l0aFNpemUpIFwKICAgICBtYWNybyhwdXRCeVZhbERpcmVjdCkgXAogICAgIG1hY3Jv
KHRvU3RyaW5nKQogCiAjZGVmaW5lIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNI
X1BST1BFUlRZX05BTUUobWFjcm8pIFwKICAgICBKU0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJ
Q1NfRUFDSF9OQU1FKG1hY3JvKSBcCi0gICAgbWFjcm8oc3ltYm9sSXRlcmF0b3IpIFwKICAgICBt
YWNybyhpdGVyYXRlZE9iamVjdCkgXAogICAgIG1hY3JvKGFycmF5SXRlcmF0b3JOZXh0SW5kZXgp
IFwKICAgICBtYWNybyhhcnJheUl0ZXJhdGlvbktpbmQpIFwKQEAgLTI4MCw2ICsyODAsNyBAQAog
ICAgIG1hY3JvKGFicykgXAogICAgIG1hY3JvKGZsb29yKSBcCiAgICAgbWFjcm8oaXNGaW5pdGUp
IFwKKyAgICBtYWNybyhpc0FycmF5KSBcCiAgICAgbWFjcm8oZ2V0UHJvdG90eXBlT2YpIFwKICAg
ICBtYWNybyhnZXRPd25Qcm9wZXJ0eU5hbWVzKSBcCiAgICAgbWFjcm8oVHlwZUVycm9yKSBcCkBA
IC0yOTcsNiArMjk4LDcgQEAKICAgICBtYWNybyhwcm9taXNlUmVqZWN0UmVhY3Rpb25zKSBcCiAg
ICAgbWFjcm8ocHJvbWlzZVJlc3VsdCkgXAogICAgIG1hY3JvKGNhcGFiaWxpdGllcykgXAorICAg
IG1hY3JvKGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pIFwKIAogCiBuYW1lc3Bh
Y2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmgKaW5kZXggMDU0ZjU3MWQ1NzllOGNlNGYzNGI1NDA5MTdiOGQwMjhiNTBkZmI5Yi4uNzU5
NmZhZDk2MWVhMjhlOGZlNjI5ZjQ1MjQ3ZjU2OTAzOGQzMTA0NCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAg
Y2xhc3MgRGF0ZUNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5
cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJv
cGVydHlTbG90OwogCi0gICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90b3R5cGUqIGRhdGVQcm90b3R5cGUpCisgICAg
c3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3RvdHlwZSkKICAgICB7
CiAgICAgICAgIERhdGVDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxEYXRlQ29uc3RydWN0b3I+KHZtLmhlYXApKSBEYXRlQ29uc3RydWN0b3Iodm0s
IHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZGF0
ZVByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNv
bnN0cnVjdG9yLmgKaW5kZXggYjExODk0ZGJlNGI1NjE0ZmQyMzBiNjBmNmFlM2JjOGJiMzVkMjky
ZS4uYmZlZDdjODczNTExY2I1YzliY2E5MWYyYmEyMzM2ZjcyYjEyN2FhZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaApAQCAtMzIsNyAr
MzIsNyBAQCBjbGFzcyBFcnJvckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24g
ewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3Rh
dGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5cGUpCisgICAgc3RhdGljIEVycm9yQ29uc3Ry
dWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEVycm9y
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJy
b3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEVycm9yQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7
CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZXJyb3JQcm90b3R5cGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2QxNGE5ZWY1NWY0YzMzMGMwZWU3OGYwZjg2Mzc3
M2QwNWRjZjhjOS4uMTc5NGI4NGI0ZGJlMjhkZjczYmE0YTRjNGRkMWJmOGI1ODk1NjNiMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IuY3BwCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaW5jbHVkZSAiRXJyb3Iu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVy
LmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUuaCIKKyNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTR2xvYmFs
T2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogCkBAIC00NywyMiArNDksMjAgQEAK
IHsKIH0KIAotdm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQordm9pZCBKU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIkFycmF5QnVmZmVyIikpOwogICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIHByb3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpz
TnVtYmVyKDEpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7Ci0KLSAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgSlND
X05BVElWRV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pc1ZpZXcsIGFycmF5QnVmZmVyRnVu
Y0lzVmlldywgRG9udEVudW0sIDEpOwogfQogCi1KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIEpT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKK0pTQXJyYXlCdWZmZXJDb25z
dHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNBcnJheUJ1ZmZl
clByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvciog
cmVzdWx0ID0KICAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yPih2bS5oZWFwKSkKICAgICAgICAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
KHZtLCBzdHJ1Y3R1cmUpOwotICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlw
ZSk7CisgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKaW5kZXggYjY1YjUy
M2I2NGM0YmRjN2FlMjE2NTJmMWNlMjAyMzQ5MTU5YjM0MS4uNjQ5MTQ5NDU1NmY4OGEyODg4NWU1
OTU3OGJmZmRkMTVjNmYyYzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKQEAgLTM4LDEwICszOCwxMCBA
QCBjbGFzcyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiAKIHByb3RlY3RlZDoKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1
Y3R1cmUqKTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKIAogcHVibGljOgotICAgIHN0YXRpYyBKU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90
b3R5cGUqKTsKKyAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsK
ICAgICAKICAgICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTBiZjE3NzgyMDIyYzQ3OTRkMzBl
NzBlZmIyYmVmNWRmMjQyY2UxOC4uYTgxNmUwMDQwNDEwMGU5YTIwMGNlYmFiODRmOGJmZmU0ZTcw
Y2M3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcApAQCAtMTk1LDYgKzE5NSwxNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBlbnF1ZXVlSm9iKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKEV4ZWNTdGF0ZSogZXhl
YykKK3sKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpOworCisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gZXhlYy0+YXJn
dW1lbnQoMCk7CisgICAgaWYgKEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8
SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc0Jvb2xlYW4oY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVj
dCAmJiBjb25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29u
c3RydWN0b3IoKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNl
KSk7Cit9CisKIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0
TWV0aG9kVGFibGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIDApCiAgICAgLCBtX3ZtKHZt
KQpAQCAtMjcwLDYgKzI4MCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQog
ICAgIG1fY2FsbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgY2FsbEZ1bmN0aW9uKTsKICAgICBtX2Fw
cGx5RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBhcHBseUZ1bmN0aW9uKTsKICAgICBtX2FycmF5UHJv
dG9WYWx1ZXNGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhp
cywgMCwgdm0ucHJvcGVydHlOYW1lcy0+dmFsdWVzLnN0cmluZygpLCBhcnJheVByb3RvRnVuY1Zh
bHVlcykpOworICAgIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBK
U0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGFycmF5Q29uc3RydWN0b3JTeW1i
b2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIHRoaXMsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIp
KTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9u
LnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVy
YXRpb25zUHJvbWlzZUluaXRpYWxpemVQcm9taXNlQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpKTsK
ICAgICBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlv
bjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VE
ZWZlcnJlZENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSk7CkBAIC0zNzcsMTIgKzM4OCwxMiBAQCB2
b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBtX2RlZmluZVByb3BlcnR5RnVu
Y3Rpb24uc2V0KHZtLCB0aGlzLCBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKTsKIAogICAgIEpTQ2Vs
bCogZnVuY3Rpb25Db25zdHJ1Y3RvciA9IEZ1bmN0aW9uQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwg
RnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSwgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSk7Ci0gICAgSlNDZWxs
KiBhcnJheUNvbnN0cnVjdG9yID0gQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBBcnJheUNv
bnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUu
Z2V0KCkpLCBtX2FycmF5UHJvdG90eXBlLmdldCgpKTsKKyAgICBtX2FycmF5Q29uc3RydWN0b3Iu
c2V0KHZtLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIEFycmF5Q29u
c3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSksIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAKLSAgICBtX3JlZ0V4cENvbnN0
cnVjdG9yLnNldCh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgUmVnRXhw
Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlw
ZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CisgICAgbV9yZWdFeHBDb25zdHJ1
Y3Rvci5zZXQodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIFJl
Z0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90
b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFByb3RvdHlwZS5nZXQoKSkpOwogICAgIAogI2RlZmluZSBD
UkVBVEVfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKGNhcGl0YWxOYW1lLCBsb3dlck5hbWUs
IHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCi1jYXBpdGFsTmFtZSAjIyBDb25z
dHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29uc3Ry
dWN0b3I6OmNyZWF0ZSh2bSwgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2VyTmFt
ZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCitjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3RvciogbG93
ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0
ZSh2bSwgdGhpcywgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2VyTmFtZSAjIyBQ
cm90b3R5cGUuZ2V0KCkpOyBcCiBtXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLT5wdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGxv
d2VyTmFtZSAjIyBDb25zdHJ1Y3RvciwgRG9udEVudW0pOyBcCiAKICAgICBGT1JfRUFDSF9TSU1Q
TEVfQlVJTFRJTl9UWVBFKENSRUFURV9DT05TVFJVQ1RPUl9GT1JfU0lNUExFX1RZUEUpCkBAIC00
MDAsMTIgKzQxMSwxMiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBt
X3R5cGVFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0cnVjdHVyZSwgbmF0aXZlRXJyb3JQcm90
b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVHlwZUVycm9yIikpKTsKICAgICBtX1VSSUVy
cm9yQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpjcmVh
dGUodm0sIHRoaXMsIG5hdGl2ZUVycm9yU3RydWN0dXJlLCBuYXRpdmVFcnJvclByb3RvdHlwZVN0
cnVjdHVyZSwgQVNDSUlMaXRlcmFsKCJVUklFcnJvciIpKSk7CiAjaWYgRU5BQkxFKFBST01JU0VT
KQotICAgIG1fcHJvbWlzZUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSlNQcm9taXNlQ29uc3Ry
dWN0b3I6OmNyZWF0ZSh2bSwgSlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcHJvbWlzZVByb3RvdHlwZS5n
ZXQoKSkpOworICAgIG1fcHJvbWlzZUNvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSlNQcm9taXNl
Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgSlNQcm9taXNlQ29uc3RydWN0b3I6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcHJvbWlz
ZVByb3RvdHlwZS5nZXQoKSkpOwogI2VuZGlmCiAgICAgCiAgICAgbV9vYmplY3RQcm90b3R5cGUt
PnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3Rvciwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90
eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29u
c3RydWN0b3IsIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBtX2FycmF5UHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3IsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBtX2FycmF5UHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
Y29uc3RydWN0b3IsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIG1f
cmVnRXhwUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+Y29uc3RydWN0b3IsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVt
KTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9wcm9taXNlUHJvdG90eXBlLT5wdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG1f
cHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CkBAIC00MTMsNyArNDI0LDcgQEAg
dm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgCiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk9iamVjdCwgb2JqZWN0Q29uc3Ry
dWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+RnVuY3Rpb24sIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsK
LSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJy
YXksIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXksIG1fYXJyYXlDb25zdHJ1Y3Rvci5n
ZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5SZWdFeHAsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVt
KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
RXZhbEVycm9yLCBtX2V2YWxFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJhbmdlRXJy
b3IsIG1fcmFuZ2VFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CkBAIC00OTMsOSAr
NTA0LDEwIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+b2JqZWN0R2V0T3duUHJvcGVydHlTeW1i
b2xzUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jT2JqZWN0R2V0T3duUHJvcGVydHlTeW1ib2xzLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5nZXRUZW1wbGF0ZU9iamVjdFByaXZhdGVOYW1lLCBwcml2
YXRlRnVuY0dldFRlbXBsYXRlT2JqZWN0LCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5lbnF1ZXVl
Sm9iUHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwgU3RyaW5nKCks
IGVucXVldWVKb2IpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0FycmF5Q29uc3RydWN0b3JJ
bkRpZmZlcmVudFJlYWxtUHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywg
MSwgU3RyaW5nKCksIGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0pLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2
bS5wcm9wZXJ0eU5hbWVzLT5UeXBlRXJyb3JQcml2YXRlTmFtZSwgbV90eXBlRXJyb3JDb25zdHJ1
Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+QnVpbHRpbkxvZ1ByaXZhdGVOYW1l
LCBidWlsdGluTG9nLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheVByaXZhdGVOYW1lLCBh
cnJheUNvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheVByaXZhdGVOYW1l
LCBtX2FycmF5Q29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPk51bWJl
clByaXZhdGVOYW1lLCBudW1iZXJDb25zdHJ1Y3RvciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+
U3RyaW5nUHJpdmF0ZU5hbWUsIHN0cmluZ0NvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxl
dGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5h
bWVzLT5hYnNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNBYnMsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKQEAgLTUwMywxMCArNTE1LDEyIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OmluaXQoVk0mIHZtKQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+Z2V0UHJvdG90eXBlT2ZQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNGbG9vciwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+Z2V0T3duUHJvcGVydHlOYW1lc1ByaXZhdGVOYW1lLCBwcml2YXRlRnVu
Y0Zsb29yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0Zpbml0ZVByaXZhdGVOYW1lLCBwcml2
YXRlRnVuY0lzRmluaXRlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5pc0FycmF5UHJpdmF0ZU5h
bWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIGFycmF5Q29uc3Ry
dWN0b3JJc0FycmF5KSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25LaW5k
S2V5UHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleSksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3Bl
cnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZFZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFy
cmF5SXRlcmF0ZVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAg
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YXJyYXlJdGVyYXRpb25L
aW5kS2V5VmFsdWVQcml2YXRlTmFtZSwganNOdW1iZXIoQXJyYXlJdGVyYXRlS2V5VmFsdWUpLCBE
b250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5zeW1ib2xJdGVyYXRvclByaXZhdGVOYW1lLCBTeW1ib2w6
OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5p
dGVyYXRvclN5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkuc3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSgpLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3Rh
dGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5p
bXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3ltYm9sU3Bl
Y2llc1ByaXZhdGVOYW1lKCksIFN5bWJvbDo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxTeW1ib2xJ
bXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5Qcm9taXNlUHJpdmF0ZU5hbWUs
IG1fcHJvbWlzZUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5wcm9t
aXNlUGVuZGluZ1ByaXZhdGVOYW1lLCBqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQ
cm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLApAQCAtNTE2LDYgKzUzMCw4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZt
KQogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkudG9MZW5ndGhQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvTGVuZ3RoLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2
bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS50b0ludGVnZXJQcml2YXRlTmFtZSgpLCBw
cml2YXRlRnVuY1RvSW50ZWdlciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAog
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVz
KCkuaXNPYmplY3RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rp
b24odm0sIGdsb2JhbE9iamVjdElzT2JqZWN0Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250
RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zcGVjaWVzQ29uc3RydWN0b3JQcml2
YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9i
amVjdFNwZWNpZXNDb25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuYXJyYXlTcGVjaWVzQ3JlYXRlUHJpdmF0ZU5h
bWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zQXJy
YXlBcnJheVNwZWNpZXNDcmVhdGVDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnBy
b3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLmlzUHJvbWlzZVByaXZhdGVOYW1lKCksIEpTRnVu
Y3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJc1Byb21p
c2VDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0
aW5OYW1lcygpLm5ld1Byb21pc2VSZWFjdGlvblByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNy
ZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlUmVhY3Rp
b25Db2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0
aW5OYW1lcygpLm5ld1Byb21pc2VDYXBhYmlsaXR5UHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6
Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VDYXBh
YmlsaXR5Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBS
ZWFkT25seSksCkBAIC01MzEsNyArNTQ3LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChW
TSYgdm0pCiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6Q2FsbEZ1bmN0aW9uXSA9IG1f
Y2FsbEZ1bmN0aW9uLmdldCgpOwogICAgIG1fc3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFwcGx5
RnVuY3Rpb25dID0gbV9hcHBseUZ1bmN0aW9uLmdldCgpOwogICAgIG1fc3BlY2lhbFBvaW50ZXJz
W1NwZWNpYWw6Ok9iamVjdENvbnN0cnVjdG9yXSA9IG9iamVjdENvbnN0cnVjdG9yOwotICAgIG1f
c3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3RydWN0b3JdID0gYXJyYXlDb25zdHJ1
Y3RvcjsKKyAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpBcnJheUNvbnN0cnVjdG9yXSA9
IG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKTsKIAogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OkRlZmluZVByb3BlcnR5RnVuY3Rp
b24pXSA9IG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5nZXQoKTsKIApAQCAtNzYxLDYgKzc3Nyw3
IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9nbG9i
YWxUaGlzKTsKIAogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2dsb2JhbENhbGxl
ZSk7CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyYXlDb25zdHJ1Y3Rvcik7
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwQ29uc3RydWN0b3IpOwog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Vycm9yQ29uc3RydWN0b3IpOwogICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2V2YWxFcnJvckNvbnN0cnVjdG9yKTsKQEAg
LTc4Myw2ICs4MDAsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fYXBwbHlGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uKTsKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbik7CiAjaWYgRU5BQkxFKFBST01J
U0VTKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2luaXRpYWxpemVQcm9taXNl
RnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25ld1Byb21pc2VE
ZWZlcnJlZEZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCmluZGV4IDU5NGQ5NjYyMjMzNzhkMWQxYWFiOGY0NzU5NWFkZTA4MjJjMTgy
MjMuLjVkN2VkM2RmNjE3YWFhYmMyZTI3MzNhYjM4Y2M4YzE4NzYyZTJlNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNTUsNiArNTUs
NyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgQXJyYXlDb25zdHJ1Y3RvcjsKIGNsYXNz
IEFycmF5UHJvdG90eXBlOwogY2xhc3MgQm9vbGVhblByb3RvdHlwZTsKIGNsYXNzIENvbnNvbGVD
bGllbnQ7CkBAIC0xNzgsNiArMTc5LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBt
X2dsb2JhbFRoaXM7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fZ2xvYmFsQ2FsbGVl
OworICAgIFdyaXRlQmFycmllcjxBcnJheUNvbnN0cnVjdG9yPiBtX2FycmF5Q29uc3RydWN0b3I7
CiAgICAgV3JpdGVCYXJyaWVyPFJlZ0V4cENvbnN0cnVjdG9yPiBtX3JlZ0V4cENvbnN0cnVjdG9y
OwogICAgIFdyaXRlQmFycmllcjxFcnJvckNvbnN0cnVjdG9yPiBtX2Vycm9yQ29uc3RydWN0b3I7
CiAgICAgV3JpdGVCYXJyaWVyPE5hdGl2ZUVycm9yQ29uc3RydWN0b3I+IG1fZXZhbEVycm9yQ29u
c3RydWN0b3I7CkBAIC0yMDEsNiArMjAzLDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJs
aWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rp
b24+IG1fYXBwbHlGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9kZWZp
bmVQcm9wZXJ0eUZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2FycmF5
UHJvdG9WYWx1ZXNGdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9hcnJh
eVNwZWNpZXNHZXR0ZXJGdW5jdGlvbjsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgV3JpdGVC
YXJyaWVyPEpTRnVuY3Rpb24+IG1faW5pdGlhbGl6ZVByb21pc2VGdW5jdGlvbjsKICAgICBXcml0
ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbjsKQEAgLTM5
Myw2ICszOTYsNyBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0IHsKICAgICAvLyBUaGUgZm9sbG93aW5nIGFjY2Vzc29ycyByZXR1cm4gcHJp
c3RpbmUgdmFsdWVzLCBldmVuIGlmIGEgc2NyaXB0IAogICAgIC8vIHJlcGxhY2VzIHRoZSBnbG9i
YWwgb2JqZWN0J3MgYXNzb2NpYXRlZCBwcm9wZXJ0eS4KIAorICAgIEFycmF5Q29uc3RydWN0b3Iq
IGFycmF5Q29uc3RydWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2FycmF5Q29uc3RydWN0b3IuZ2V0
KCk7IH0KICAgICBSZWdFeHBDb25zdHJ1Y3RvciogcmVnRXhwQ29uc3RydWN0b3IoKSBjb25zdCB7
IHJldHVybiBtX3JlZ0V4cENvbnN0cnVjdG9yLmdldCgpOyB9CiAKICAgICBFcnJvckNvbnN0cnVj
dG9yKiBlcnJvckNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvckNvbnN0cnVjdG9y
LmdldCgpOyB9CkBAIC00MTcsNiArNDIxLDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJs
aWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgSlNGdW5jdGlvbiogYXBwbHlGdW5j
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlGdW5jdGlvbi5nZXQoKTsgfQogICAgIEpTRnVu
Y3Rpb24qIGRlZmluZVByb3BlcnR5RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2RlZmluZVBy
b3BlcnR5RnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBhcnJheVByb3RvVmFsdWVz
RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FycmF5UHJvdG9WYWx1ZXNGdW5jdGlvbi5nZXQo
KTsgfQorICAgIEpTRnVuY3Rpb24qIGFycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbi5nZXQoKTsgfQogI2lmIEVOQUJM
RShQUk9NSVNFUykKICAgICBKU0Z1bmN0aW9uKiBpbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uLmdldCgpOyB9CiAgICAg
SlNGdW5jdGlvbiogbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggZDIwZGFhMjA0NTFkMmZiZWYzM2JjZDkxMzQ5
MTA0ZjFmYmNiNTg3My4uODIxZTZjN2UwNTgyZGVmNTRlMDhkYjJjMmNiZTBhYjkyYTVlNDBmNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtMTc0OCw3
ICsxNzQ4LDcgQEAgYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duSW5kZXhlZFByb3BlcnR5KEV4ZWNT
dGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIGNvbnN0IFAKICAgICAgICAgLy8gc3RhdGUgKGku
ZS4gZGVmaW5lT3duUHJvcGVydHkgY291bGQgYmUgdXNlZCB0byBzZXQgYSB2YWx1ZSB3aXRob3V0
IG5lZWRpbmcgdG8gZW50ZXJpbmcgJ1NwYXJzZU1vZGUnKS4KICAgICAgICAgaWYgKCFkZXNjcmlw
dG9yLmF0dHJpYnV0ZXMoKSkgewogICAgICAgICAgICAgQVNTRVJUKCFkZXNjcmlwdG9yLmlzQWNj
ZXNzb3JEZXNjcmlwdG9yKCkpOwotICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4KGV4
ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZhbHVlKCksIDAsIHRocm93RXhjZXB0aW9uID8gUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAg
ICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZh
bHVlKCksIDAsIHRocm93RXhjZXB0aW9uID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVy
dHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIH0KICAg
ICAgICAgCiAgICAgICAgIGVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFy
eUluZGV4aW5nTW9kZShleGVjLT52bSgpKTsKQEAgLTIxNDQsOSArMjE0NCw5IEBAIGJvb2wgSlNP
YmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZShF
eGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgIGlmIChtb2RlICE9IFB1dERpcmVjdEluZGV4TGlrZVB1
dERpcmVjdCkgewogICAgICAgICAgICAgLy8gUHJvaGliaXQgZ3Jvd2luZyB0aGUgYXJyYXkgaWYg
bGVuZ3RoIGlzIG5vdCB3cml0YWJsZS4KICAgICAgICAgICAgIGlmIChtYXAtPmxlbmd0aElzUmVh
ZE9ubHkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0
RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVy
cm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVBy
b3BlcnR5T3JUaHJvdywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKICAg
ICAgICAgICAgIGlmICghaXNFeHRlbnNpYmxlKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
amVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csICJBdHRlbXB0aW5n
IHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5k
ZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5
T3JUaHJvdywgIkF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlz
IG5vdCBleHRlbnNpYmxlLiIpOwogICAgICAgICB9CiAgICAgICAgIGxlbmd0aCA9IGkgKyAxOwog
ICAgICAgICBzdG9yYWdlLT5zZXRMZW5ndGgobGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNwcAppbmRleCA2ODk1
ZWQ4MmZhZDgwNzdjZDdjZmMzMDQ0MWU0NjkxMDRjYjJlZjJjLi5lNWYwMTcxZWVjZTU1ZWNlYTZi
YjdkNjQ4NTE3MTU5YmZiOTM5NGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAK
ICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkdl
dHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUg
IkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIKQEAgLTYxLDEw
ICs2MiwxMCBAQAogQGVuZAogKi8KIAotSlNQcm9taXNlQ29uc3RydWN0b3IqIEpTUHJvbWlzZUNv
bnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9taXNl
UHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQorSlNQcm9taXNlQ29uc3RydWN0b3IqIEpTUHJv
bWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9taXNlUHJvdG90eXBlKiBwcm9taXNlUHJv
dG90eXBlKQogewogICAgIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTUHJvbWlzZUNvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNQ
cm9taXNlQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgY29uc3RydWN0b3ItPmZpbmlz
aENyZWF0aW9uKHZtLCBwcm9taXNlUHJvdG90eXBlKTsKKyAgICBjb25zdHJ1Y3Rvci0+ZmluaXNo
Q3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgcHJvbWlzZVByb3RvdHlwZSk7CiAgICAgcmV0dXJu
IGNvbnN0cnVjdG9yOwogfQogCkBAIC03OCwxMSArNzksMTQgQEAgU3RydWN0dXJlKiBKU1Byb21p
c2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE8KIHsKIH0KIAotdm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBKU1Byb21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90b3R5cGUpCit2b2lkIEpTUHJv
bWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKIHsKICAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVNDSUlMaXRlcmFsKCJQcm9taXNlIikpOwogICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIHByb21pc2VQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsK
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVu
Z3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOworICAg
IEdldHRlclNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2Jh
bE9iamVjdCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBwcm9taXNlQ29u
c3RydWN0b3JTeW1ib2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdl
dCBbU3ltYm9sLnNwZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0s
IHZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNz
b3IgfCBEb250RW51bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGNvbnN0cnVjdFByb21pc2UoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmgKaW5kZXggZmMwZjA0ZDJi
MmI0MzY5OGE5MDRjNTFlMmZkZGJhN2EzODEyNjZmMi4uM2ZkZDM3MjljOWZmYTljNzIzZjNiNGI1
YjM1NTM0NDk3YTdhZjg2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9taXNlQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oCkBAIC00MCwxMyArNDAsMTMgQEAgY2xhc3MgSlNQ
cm9taXNlQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRl
ZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0
eVNsb3Q7CiAKLSAgICBzdGF0aWMgSlNQcm9taXNlQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0
cnVjdHVyZSosIEpTUHJvbWlzZVByb3RvdHlwZSopOworICAgIHN0YXRpYyBKU1Byb21pc2VDb25z
dHJ1Y3RvciogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU1Byb21p
c2VQcm90b3R5cGUqKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0m
LCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogCiAgICAgREVDTEFSRV9JTkZPOwogCiBwcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTUHJvbWlzZVByb3RvdHlwZSop
OworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTUHJvbWlz
ZVByb3RvdHlwZSopOwogCiBwcml2YXRlOgogICAgIEpTUHJvbWlzZUNvbnN0cnVjdG9yKFZNJiwg
U3RydWN0dXJlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggZmFkNTJjMDU2MDQ4ZTE4YjdlZWM0OThmZjE0OTUzZmQ5MGZjZmVk
ZC4uMDBmZTk4ZTdhYzJkOWM5MjIzNDVlN2ExNTlkZWJmZDU1OTcyZmRjMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcApAQCAtMjcsNyAr
MjcsOSBAQAogI2luY2x1ZGUgIk1hcENvbnN0cnVjdG9yLmgiCiAKICNpbmNsdWRlICJFcnJvci5o
IgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJhdG9yT3BlcmF0aW9u
cy5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmpl
Y3QuaCIKQEAgLTM5LDExICs0MSwxNCBAQAogCiBjb25zdCBDbGFzc0luZm8gTWFwQ29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShNYXBDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKK3ZvaWQgTWFwQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIG1hcFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
bWFwUHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJT
ZXR0ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3Qs
IEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgbWFwQ29uc3RydWN0b3JTeW1i
b2xTcGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNw
ZWNpZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5
TmFtZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51
bSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNYXAoRXhl
Y1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TWFwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0
cnVjdG9yLmgKaW5kZXggMWE4NWRlNWIxNWIwMDdkMWU5ZGZjOGI5Y2I2NTYxMTA4Yzc2Mzc4MC4u
YjY1OTVmODg0NGM5NjRiZThlNjYzOGZmZDQ0YTExZmQ1M2FhOWNkMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYsMTAg
QEAgY2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJs
aWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgTWFw
Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBNYXBQcm90
b3R5cGUqIG1hcFByb3RvdHlwZSkKKyAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE1hcENvbnN0cnVj
dG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE1hcENvbnN0cnVj
dG9yPih2bS5oZWFwKSkgTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNv
bnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBlKTsKKyAgICAgICAgY29u
c3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1hcFByb3RvdHlwZSk7
CiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcgQEAg
Y2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAg
IDogQmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIE1hcFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIE1hcFByb3RvdHlwZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBl
IGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBD
YWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGY4YjFm
N2Y0NDM3MDNhYjQxOThkZDQzMjFlMjA5ZGZlNjY4ODJhM2MuLmE4YjE3MzVhNjA4NmIyMzE5OWI0
YTY3YmYyNjIwNTIyMzNlMzZiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBOdW1iZXJD
b25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVy
bmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8
IEltcGxlbWVudHNIYXNJbnN0YW5jZTsKIAotICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3Rvciog
Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVt
YmVyUHJvdG90eXBlKQorICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBl
KiBudW1iZXJQcm90b3R5cGUpCiAgICAgewogICAgICAgICBOdW1iZXJDb25zdHJ1Y3RvciogY29u
c3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxOdW1iZXJDb25zdHJ1Y3Rvcj4o
dm0uaGVhcCkpIE51bWJlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25z
dHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIG51bWJlclByb3RvdHlwZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCmluZGV4IDNl
YjNmNTgxOGRmYjliOGMyZGExYWY0NWUxN2NhYjU1ZThlZTU1MWYuLjI2MGZjZTg1ZjBkMDAxNjBi
N2IxYWFkOWY4NWExNzA1ZTVjZTk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCkBAIC0yOCw3ICsyOCwxNSBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeyBQdXREaXJlY3RJbmRleExp
a2VQdXREaXJlY3QsIFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3csIFB1dERpcmVjdEluZGV4
U2hvdWxkVGhyb3cgfTsKK2VudW0gUHV0RGlyZWN0SW5kZXhNb2RlIHsKKyAgICBQdXREaXJlY3RJ
bmRleExpa2VQdXREaXJlY3QsCisgICAgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywKKyAg
ICBQdXREaXJlY3RJbmRleFNob3VsZFRocm93LAorCisgICAgLy8gRm9sbG93IHRoZSBFQ01BMjYy
IDZ0aCBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IHNlbWFudGljcy4KKyAgICAvLyBodHRwOi8v
ZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1jcmVhdGVkYXRhcHJvcGVy
dHlvcnRocm93CisgICAgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93LAor
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBlZTFkOGIzZmM2OWY5NDNiOTRh
NTI1OWNmN2MxODZjYWM2MzczZjc0Li4xZTM3YzZhOGI1MDY2YTc0ZjQxMjUzNzUxMWE4NTM2Nzlh
NzQ2NDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuY3BwCkBAIC04OSw3ICs4OSw3IEBACiB7CiB9CiAKLXZvaWQgUmVnRXhwQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQ
cm90b3R5cGUpCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUpCiB7CiAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFByb3RvdHlwZS0+Y2xhc3NJbmZvKCkt
PmNsYXNzTmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggY2FiZWUx
OWM5M2Q5YjI0NmM4MDg4NTFmMmFmZjRlMmFkMTA0NmExYS4uNjQyNDBlZGM1NDBhOTljNjU0NzVl
NmJiMWMwZmQwNjUwMjlkNThiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zNSwxMCArMzUsMTAgQEAgY2xhc3MgUmVnRXhw
Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRl
cm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7
CiAKLSAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKKyAgICBzdGF0
aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFBy
b3RvdHlwZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFJlZ0V4cENvbnN0cnVjdG9yPih2bS5oZWFwKSkg
UmVnRXhwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSwgcmVnRXhwUHJvdG90eXBlKTsKLSAgICAg
ICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCByZWdFeHBQcm90b3R5cGUpOworICAg
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgcmVnRXhw
UHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNjgs
NyArNjgsNyBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0
aW9uIHsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9y
Jik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgUmVnRXhwUHJv
dG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
UmVnRXhwUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAgUmVnRXhwQ29uc3RydWN0b3IoVk0m
LCBTdHJ1Y3R1cmUqLCBSZWdFeHBQcm90b3R5cGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRleCBmYjk3YjZkOWZhMGQwZWU2M2Ex
ZDUyYTk4ODdlYzc3Njk4Zjc1M2RmLi5kMWIwMzUxNDBiMWFkYzc5ZDYxOTAzNmJhYjU3OWQzYjNl
MTY4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3Ry
dWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAiU2V0Q29uc3RydWN0b3IuaCIK
IAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVk
ZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiSlNDQnVpbHRpbnMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIKICNp
bmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtNDAsMTEgKzQyLDE1IEBACiAKIGNvbnN0IENs
YXNzSW5mbyBTZXRDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19p
bmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFNldENvbnN0cnVjdG9yKSB9OwogCi12b2lkIFNl
dENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNldFByb3RvdHlwZSogc2V0UHJv
dG90eXBlKQordm9pZCBTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKIHsK
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2V0UHJvdG90eXBlLT5jbGFzc0luZm8oKS0+
Y2xhc3NOYW1lKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBzZXRQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnRE
ZWxldGUpOworCisgICAgR2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0
ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNzb3ItPnNldEdl
dHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24o
dm0sIHNldENvbnN0cnVjdG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0b3Iodm0pLCBnbG9iYWxP
YmplY3QsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFj
Y2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzQWNjZXNz
b3IsIEFjY2Vzc29yIHwgRG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBjYWxsU2V0KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCmluZGV4IGVmYmQ4OGJiMzIyZmRkYWFiOWI3
NTY0MzkwM2E5N2RlNzg1ZTU4MDAuLmI2ODQxZjczNTBmY2QzMjNjN2YzMzE5MmRiYjlkMTkxMDBi
NjkyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0
b3IuaApAQCAtMzYsMTAgKzM2LDEwIEBAIGNsYXNzIFNldENvbnN0cnVjdG9yIDogcHVibGljIElu
dGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBC
YXNlOwogCi0gICAgc3RhdGljIFNldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCisgICAgc3RhdGljIFNl
dENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiAgICAg
ewogICAgICAgICBTZXRDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxTZXRDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFNldENvbnN0cnVjdG9yKHZtLCBz
dHJ1Y3R1cmUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHNldFBy
b3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFs
T2JqZWN0LCBzZXRQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAg
fQogCkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIFNldENvbnN0cnVjdG9yIDogcHVibGljIEludGVy
bmFsRnVuY3Rpb24gewogICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKICAgICB7CiAgICAg
fQotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBTZXRQcm90b3R5cGUqKTsKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTZXRQcm90b3R5cGUqKTsKICAg
ICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVj
dERhdGEmKTsKICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERh
dGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFy
c2VBcnJheVZhbHVlTWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJz
ZUFycmF5VmFsdWVNYXAuY3BwCmluZGV4IDYyZDM0YmFhZmRkYjQwZWVhMGY2MTVmMDYyMDdhMjlh
YjlmZjk5ODMuLmNiNTM3MGIxYWViMjZmOWY2ZjE4MjYxNmQyMWRhOTA2NjRmNzgyMzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVN
YXAuY3BwCkBAIC0xMTYsNyArMTE2LDI1IEBAIGJvb2wgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6cHV0
RGlyZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGFycmF5LCB1bnNpZ25lZCBpCiAgICAg
Ly8gZXh0ZW5zaWJsZSwgdGhpcyBpcyBub3QgdGhlIHJpZ2h0IHRoaW5nIHRvIGhhdmUgZG9uZSAt
IHNvIHJlbW92ZSBhZ2Fpbi4KICAgICBpZiAobW9kZSAhPSBQdXREaXJlY3RJbmRleExpa2VQdXRE
aXJlY3QgJiYgcmVzdWx0LmlzTmV3RW50cnkgJiYgIWFycmF5LT5pc0V4dGVuc2libGUoKSkgewog
ICAgICAgICByZW1vdmUocmVzdWx0Lml0ZXJhdG9yKTsKLSAgICAgICAgcmV0dXJuIHJlamVjdChl
eGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csICJBdHRlbXB0aW5nIHRvIGRl
ZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKKyAgICAg
ICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cg
fHwgbW9kZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csICJBdHRl
bXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJs
ZS4iKTsKKyAgICB9CisKKyAgICBpZiAobW9kZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQ
cm9wZXJ0eU9yVGhyb3cgJiYgIXJlc3VsdC5pc05ld0VudHJ5KSB7CisgICAgICAgIGlmIChlbnRy
eS5hdHRyaWJ1dGVzICYgRG9udERlbGV0ZSkgeworICAgICAgICAgICAgaWYgKCEoYXR0cmlidXRl
cyAmIERvbnREZWxldGUpKQorICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihl
eGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNv
bmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKworICAgICAgICAgICAgaWYgKChlbnRyeS5hdHRyaWJ1
dGVzICYgRG9udEVudW0pICE9IChhdHRyaWJ1dGVzICYgRG9udEVudW0pKQorICAgICAgICAgICAg
ICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgZW51
bWVyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAg
ICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIEFjY2Vzc29yKQorICAgICAgICAgICAgICAgIHJl
dHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1l
Y2hhbmlzbSBmb3IgYW4gdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAgICBp
ZiAoZW50cnkuYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7CisgICAgICAgICAgICAgICAgaWYgKCEo
YXR0cmlidXRlcyAmIFJlYWRPbmx5KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93
VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB3cml0YWJsZSBhdHRyaWJ1dGUg
b2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAgICAgICAgaWYgKCFzYW1l
VmFsdWUoZXhlYywgZW50cnkuZ2V0KGV4ZWMsIGFycmF5KSwgdmFsdWUpKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdl
IHZhbHVlIG9mIGEgcmVhZG9ubHkgcHJvcGVydHkuIik7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KICAgICB9CiAKICAgICBlbnRyeS5hdHRyaWJ1dGVzID0gYXR0cmlidXRlczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4IDM1
NzUxMWE1NzY1NGUxNjgyNWZkMjJiMGFlNjc3Mzg5ZDIwM2MyMDMuLmQyYTIxNTJkZmY2ZDg4YmJk
ZDZjNWZhZmZkMTIyYjAwNzU5MjYzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBTdHJp
bmdDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIElu
dGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dDsKIAotICAgIHN0YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQorICAgIHN0
YXRpYyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCiAg
ICAgewogICAgICAgICBTdHJpbmdDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxTdHJpbmdDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFN0cmluZ0NvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0sIHN0cmluZ1Byb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAppbmRleCAzNDRhOTc4YWIwYWM3NGUxNTQ4M2IzZWUy
ZTU3OWZhZDAxZDdjZTM0Li4zYjM5M2ZkMWEwYTc0ZjAzMDMzZGZkYTk0MjdkMWFlNGQ3MzVhYjBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVj
dG9yLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgU3ltYm9sQ29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlTbG90IHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgU3ltYm9s
Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1ib2xQ
cm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBzdGF0aWMgU3ltYm9sQ29uc3RydWN0b3IqIGNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN5bWJvbFBy
b3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3ltYm9sQ29uc3RydWN0b3IqIGNv
bnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3ltYm9sQ29uc3RydWN0b3I+
KHZtLmhlYXApKSBTeW1ib2xDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29u
c3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAppbmRleCA2NmVkYmNi
MTZkODlhNWI2NjQ4MGFlZGEzMzYzM2I2ODUyZWU0ODk2Li42YzlhZDM5ZTUxZTU3YmM0NDllMjFl
OGVkN2JmZTYwYTJhZWQ4MWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBXZWFrTWFw
Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgV2Vha01hcENvbnN0cnVj
dG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha01hcFByb3RvdHlw
ZSogcHJvdG90eXBlKQorICAgIHN0YXRpYyBXZWFrTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90b3R5
cGUqIHByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFdlYWtNYXBDb25zdHJ1Y3RvciogY29uc3Ry
dWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrTWFwQ29uc3RydWN0b3I+KHZt
LmhlYXApKSBXZWFrTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0
cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKaW5kZXggN2Y2ZmI2YTVl
NzY4ZWJmNDA4Y2E2Y2U3NWFkNTJlNmVjNTgzOTk2NC4uMjg4OWM5YzA5MDlhOTU0MDZlMDc4Mjc4
OGZjZGEzZDA5NDJmZGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha1NldENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha1NldENv
bnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVk
ZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIFdlYWtTZXRDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtTZXRQcm90b3R5cGUq
IHByb3RvdHlwZSkKKyAgICBzdGF0aWMgV2Vha1NldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90eXBl
KiBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBXZWFrU2V0Q29uc3RydWN0b3IqIGNvbnN0cnVj
dG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8V2Vha1NldENvbnN0cnVjdG9yPih2bS5o
ZWFwKSkgV2Vha1NldENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
OTI3MTQ1MjRhNjJiNjllN2VmOTU4OTNmMGI4ZTA5ZmRiODZkNzg1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcwpA
QCAtMCwwICsxLDQyNCBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkKK3sK
KyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdi
YWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCitmdW5jdGlvbiBzaG91bGRUaHJvdyhmdW5jLCBl
cnJvck1lc3NhZ2UpCit7CisgICAgdmFyIGVycm9yVGhyb3duID0gZmFsc2U7CisgICAgdmFyIGVy
cm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBmdW5jKCk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBlcnJvclRocm93biA9IHRydWU7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9
CisgICAgaWYgKCFlcnJvclRocm93bikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdub3QgdGhy
b3duJyk7CisgICAgaWYgKFN0cmluZyhlcnJvcikgIT09IGVycm9yTWVzc2FnZSkKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKGBiYWQgZXJyb3I6ICR7U3RyaW5nKGVycm9yKX1gKTsKK30KKworc2hv
dWxkQmUodHlwZW9mIFN5bWJvbC5zcGVjaWVzLCAnc3ltYm9sJyk7CisKKy8vIFByb21pc2UgaXMg
dGVzdGVkIGluIERPTSBsYXlvdXQgdGVzdHMuCitzaG91bGRCZShKU09OLnN0cmluZ2lmeShPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51
bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKEpTT04uc3Ry
aW5naWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2ll
cykpLCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hvdWxk
QmUoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwg
U3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1
ZX0nKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNl
dCwgU3ltYm9sLnNwZWNpZXMpLmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZSh0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5nZXQsICdm
dW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKS5nZXQsICdmdW5jdGlvbicpOworc2hvdWxkQmUodHlw
ZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBTeW1ib2wuc3BlY2llcyku
c2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3Nob3Vs
ZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wu
c3BlY2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZShTZXRbU3ltYm9sLnNwZWNpZXNd
LCBTZXQpOworc2hvdWxkQmUoTWFwW1N5bWJvbC5zcGVjaWVzXSwgTWFwKTsKK3Nob3VsZEJlKEFy
cmF5W1N5bWJvbC5zcGVjaWVzXSwgQXJyYXkpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmpl
Y3QpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJv
bC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworc2hvdWxkQmUoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9i
amVjdCksIE9iamVjdCk7CisKKy8vIEFycmF5LgorLy8gQ3VycmVudGx5LCBBcnJheSBpcyBub3Qg
c3ViY2xhc3NhYmxlIGJ5IHVzaW5nIGNsYXNzIHN5bnRheC4KK2Z1bmN0aW9uIEV4dGVuZGVkQXJy
YXkobGVuZ3RoKQoreworICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkobGVuZ3RoKTsKKyAgICBy
ZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK0V4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3Rv
dHlwZTsKK3Nob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRl
bmRlZEFycmF5KTsKK0V4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5z
cGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKK3ZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFy
cmF5KDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMjApOworc2hvdWxkQmUoQXJyYXku
aXNBcnJheShleHRlbmRlZCksIHRydWUpOworCisvLyBtYXAuCit2YXIgZXh0ZW5kZWQgPSBuZXcg
RXh0ZW5kZWRBcnJheSgwKTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7
CitleHRlbmRlZC5wdXNoKDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91
bGRCZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3Vs
ZEJlKGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQubWFwLCAnZnVu
Y3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7IHJl
dHVybiB2YWx1ZSAqIHZhbHVlOyB9KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVu
ZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMyk7CitzaG91bGRCZShy
ZXN1bHRbMF0sIDQwMCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDkwMCk7CitzaG91bGRCZShyZXN1
bHRbMl0sIDE2MDApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKwor
Ly8gZmlsdGVyLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRl
ZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitzaG91
bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3No
b3VsZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hv
dWxkQmUodHlwZW9mIGV4dGVuZGVkLmZpbHRlciwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0g
ZXh0ZW5kZWQuZmlsdGVyKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgPT09IDQwOyB9
KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hv
dWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwKTsKK3Nob3Vs
ZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGNvbmNhdC4KK3ZhciBleHRl
bmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRl
ZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3Ro
LCAzKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwg
MzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRl
ZC5jb25jYXQsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLmNvbmNhdChbNTAs
IDYwLCA3MF0pOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1
ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCA2KTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgMjAp
Oworc2hvdWxkQmUocmVzdWx0WzFdLCAzMCk7CitzaG91bGRCZShyZXN1bHRbMl0sIDQwKTsKK3No
b3VsZEJlKHJlc3VsdFszXSwgNTApOworc2hvdWxkQmUocmVzdWx0WzRdLCA2MCk7CitzaG91bGRC
ZShyZXN1bHRbNV0sIDcwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7
CisKKy8vIHNsaWNlLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRl
bmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7Citl
eHRlbmRlZC5wdXNoKDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hvdWxkQmUoZXh0ZW5kZWQu
bGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRl
ZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVk
WzNdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hvdWxkQmUodHlwZW9mIGV4
dGVuZGVkLnNsaWNlLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5zbGljZSgz
KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hv
dWxkQmUocmVzdWx0Lmxlbmd0aCwgMik7CitzaG91bGRCZShyZXN1bHRbMF0sIDUwKTsKK3Nob3Vs
ZEJlKHJlc3VsdFsxXSwgNjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVl
KTsKKworLy8gc3BsaWNlLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7Citl
eHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7
CitleHRlbmRlZC5wdXNoKDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hvdWxkQmUoZXh0ZW5k
ZWQubGVuZ3RoLCA1KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRl
bmRlZFsxXSwgMzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkWzNdLCA1MCk7CitzaG91bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hvdWxkQmUodHlwZW9m
IGV4dGVuZGVkLnNsaWNlLCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5zcGxp
Y2UoMywgMSwgNDIpOworc2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwg
dHJ1ZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwg
NTApOworc2hvdWxkQmUoZXh0ZW5kZWQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsK
K3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRCZShleHRlbmRlZFswXSwgMjAp
Oworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJdLCA0MCk7
CitzaG91bGRCZShleHRlbmRlZFszXSwgNDIpOworc2hvdWxkQmUoZXh0ZW5kZWRbNF0sIDYwKTsK
K3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIEFycmF5U3BlY2ll
c0NyZWF0ZSBhYnN0cmFjdCBvcGVyYXRpb24gZWRnZSBjYXNlcy4KK3ZhciByZXN1bHQgPSBbXS5t
YXAuY2FsbCh7IDA6IDEwLCBsZW5ndGg6IDEgfSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4g
dmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVl
KTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRC
ZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgMTAwKTsKKworZnVuY3Rp
b24gVGVzdCgpCit7CisgICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHJlc3VsdFswXSA9IDIwOwor
ICAgIHJlc3VsdC5sZW5ndGggPSAxOworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBUZXN0LnByb3Rv
dHlwZTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvdWxkQmUoQXJyYXkuaXNBcnJheShuZXcg
VGVzdCgpKSwgdHJ1ZSk7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1
bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJy
YXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFy
cmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJl
c3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVz
XSA9IFRlc3Q7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9u
ICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNB
cnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIFRlc3QucHJv
dG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBd
LCA0MDApOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gbnVs
bDsKK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVl
KSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJl
c3VsdCksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBl
KTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDAp
OworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gbnVsbDsKK3Zh
ciByZXN1bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJl
dHVybiB2YWx1ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCks
IHRydWUpOworc2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3No
b3VsZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVz
dC5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gIkhlbGxvIjsKK3Nob3Vs
ZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRl
c3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworfSwg
IlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlv
biIpOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3IgPSB1bmRlZmluZWQ7Cit2YXIgcmVzdWx0
ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFs
dWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsK
K3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShy
ZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90
eXBlLmNvbnN0cnVjdG9yID0gbnVsbDsKK3Nob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2
YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyBy
ZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworfSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0
b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpOworVGVzdC5wcm90b3R5cGUuY29uc3Ry
dWN0b3IgPSAiSGVsbG8iOworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgIHZhciByZXN1
bHQgPSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2
YWx1ZSAqIHZhbHVlOyB9KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBjb25zdHJ1Y3RvciBvciBz
cGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIik7CisKKyhmdW5jdGlvbiAoKSB7CisgICAgZnVuY3Rp
b24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFycmF5
KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7
CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAg
IGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIk9VVCIpOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGVu
dW1lcmFibGU6IGZhbHNlLAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQorICAgICAg
ICB9KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRBcnJheS5w
cm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJlKEV4dGVu
ZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAgICBFeHRl
bmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRl
ZEFycmF5OworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgICAg
IChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICB2
YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICAgICAgZXh0ZW5kZWQu
cHVzaCgyMCk7CisgICAgICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRl
ZFswXSwgMCk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93
KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQubWFw
KGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgKiB2
YWx1ZTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0
dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFi
bGUgcHJvcGVydHkuIik7CisgICAgICAgIH0oKSk7CisgICAgfQorCisgICAgKGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBF
eHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRl
bmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRl
ZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBz
aG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgICAgICB2YWx1ZTogMzAKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBhY2Nlc3Mg
bWVjaGFuaXNtIGZvciBhbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOwor
fSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5KCkKKyAg
ICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAgICAgIHJlc3VsdC5f
X3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAgcmVzdWx0LnB1c2go
MTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAgICAg
ICAgICB2YWx1ZTogMTAsCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAg
ICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAg
ICAgICAgfSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJy
YXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShF
eHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAg
RXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0
ZW5kZWRBcnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsK
KyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0
ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91
bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwg
MTApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRC
ZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgewor
ICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworICAgICAgICAgICAgfSk7Cisg
ICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBh
dHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgfSgpKTsKKworICAg
IChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0
ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsK
KyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxl
bmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAxMCk7CisgICAgICAgIHNo
b3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAz
MCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgICAgIHZhbHVlOiAz
MAorICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8g
Y2hhbmdlIHZhbHVlIG9mIGEgcmVhZG9ubHkgcHJvcGVydHkuIik7CisgICAgfSgpKTsKK30oKSk7
CisKKyhmdW5jdGlvbiAoKSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgewor
ICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90
b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsK
KyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAg
dmFsdWU6IDAsCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIGNv
bmZpZ3VyYWJsZTogZmFsc2UsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJv
dG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRl
ZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5k
ZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRB
cnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAg
ICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQu
cHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShl
eHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7Cisg
ICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzJdLCAzMCk7CisgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgIHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fSwgIlR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0
ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOworCisgICAgKGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBleHRlbmRlZCA9
IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAg
ICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAz
KTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShl
eHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAg
ICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgIHZh
bHVlOiAwCisgICAgICAgIH0pOworICAgIH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgewor
ICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9
IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXku
cHJvdG90eXBlOworICAgICAgICByZXN1bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwLAorICAgICAgICAg
ICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsCisg
ICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFy
cmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25z
dHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29u
c3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIChmdW5jdGlv
biAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3
IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4
dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOwor
ICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAg
IHZhciByZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAgICAg
ICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgfSk7CisgICAgfSgpKTsKKworICAgIChm
dW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5k
ZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAg
ICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0
aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxk
QmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsK
KyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAg
ICB2YWx1ZTogMAorICAgICAgICB9KTsKKyAgICB9KCkpOworfSgpKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkODM5NWUz
Y2VmNmZmMDUzY2MwOTlmNzdjNTljYTlmMDZlMTJiM2Y2Li4yN2ZjOTY4NmFlNmZlOTJhNDBlN2Q0
NThjMmI1ZDUzYjBkMzA3N2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTUtMDctMTQgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gU3Vw
cG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCB0ZXN0cyBmb3IgUHJvbWlzZS4KKyAgICAgICAgT3RoZXIgY2FzZXMgbGlrZSBB
cnJheSwgU2V0IGFuZCBNYXAgYXJlIGxvY2F0ZSB1bmRlciBKU0MgZGlyZWN0b3J5LgorCisgICAg
ICAgICogZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2Fs
bHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9PYmpl
Y3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvZG9tL1By
b21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZl
cmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29s
dmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21p
c2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9t
L1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbDogQWRkZWQu
CisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICog
anMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1p
bi1kaWZmZXJlbnQtcmVhbG0uanM6IEFkZGVkLgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9P
YmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qczoKKwogMjAxNS0wNy0xMSAgR3l1eW91bmcgS2lt
ICA8Z3l1eW91bmcua2ltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbRUZMXSBVbnJldmlld2Vk
LCBFRkwgZ2FyZGVuaW5nIG9uIDEydGggSnVsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9u
eW1vdXMtZXhwZWN0ZWQudHh0CmluZGV4IGQxN2ViNThlYTlhMDY3Y2RlOThjMmIxNDI2YWIyZWIy
N2U3MzJmNWUuLjc4YzMzZmI0OTQ4OGEwYzgwYTcxOThhNDM1N2JmMWM4NzQ5ZGEyYzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMt
YW5vbnltb3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1
aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBlY3RlZC50eHQKQEAgLTEyLDYgKzEy
LDEwIEBAIFRocmVhZF8xIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICB0b0ludGVn
ZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIE51bWJlciAobm8gZmlsZSkg
KGxpbmUgMDowKQogICAgICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUp
IChsaW5lIDA6MCkKKyAgICAgICAgIGFycmF5U3BlY2llc0NyZWF0ZSAobm8gZmlsZSkgKGxpbmUg
MDowKQorICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUpIChsaW5lIDA6
MCkKKyAgICAgICAgICAgIGlzT2JqZWN0IChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAg
ICBnZXQgW1N5bWJvbC5zcGVjaWVzXSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgbXlG
dW5jdGlvbiBidWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbCAobGluZSAxNDo0
NSkKICAgICAgICAgICAgIGFycmF5T3BlcmF0b3JGdW5jdGlvbiBwcm9maWxlci10ZXN0LUpTLXJl
c291cmNlcy5qcyAobGluZSAyNTo0NikKICAgICAgIGVuZFRlc3QgcHJvZmlsZXItdGVzdC1KUy1y
ZXNvdXJjZXMuanMgKGxpbmUgMToyMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2Fs
bHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBlN2ZiYTU5YmIwODg4
ZmRjY2RiZGU3M2RiYmUzNDdiMmRjMTQ4YzRiLi45ZTIxYzZkMGEzNjZhMTU0MjFkMmU4MjA2NGEy
ZDc4NjA4MDEzMDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0
LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2Vy
LWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xMiw2ICsxMiwxMCBAQCBUaHJlYWRf
MSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgdG9JbnRlZ2VyIChubyBmaWxlKSAo
bGluZSAwOjApCiAgICAgICAgICAgICAgICBOdW1iZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAg
ICAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAwOjApCisg
ICAgICAgICBhcnJheVNwZWNpZXNDcmVhdGUgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAg
ICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAg
ICBpc09iamVjdCAobm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgICAgZ2V0IFtTeW1ib2wu
c3BlY2llc10gKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgIGFycmF5T3BlcmF0b3JGdW5j
dGlvbiBwcm9maWxlci10ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAyNTo0NikKICAgICAgIGVu
ZFRlc3QgcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMToyMCkKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGIwNTQ0Y2VmZjQ5OGUwZGI3ZTJmYzYyMjQwOGU1ZDBmYjVlYTFmMDguLmQ1MTg2
MjY0M2Q2MThiNTJkNzZlZTIyNWVjZWIyNjQzMzIzZjAwMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQKQEAgLTYx
LDcgKzYxLDcgQEAgUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEVycm9yKSBpcyBbJ2xl
bmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFt
ZXMoRXJyb3IucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScs
ICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoTWF0aCkgaXMgWydF
JywnTE4xMCcsJ0xOMicsJ0xPRzEwRScsJ0xPRzJFJywnUEknLCdTUVJUMV8yJywnU1FSVDInLCdh
YnMnLCdhY29zJywnYWNvc2gnLCdhc2luJywnYXNpbmgnLCdhdGFuJywnYXRhbjInLCdhdGFuaCcs
J2NicnQnLCdjZWlsJywnY2x6MzInLCdjb3MnLCdjb3NoJywnZXhwJywnZXhwbTEnLCdmbG9vcics
J2Zyb3VuZCcsJ2h5cG90JywnaW11bCcsJ2xvZycsJ2xvZzEwJywnbG9nMXAnLCdsb2cyJywnbWF4
JywnbWluJywncG93JywncmFuZG9tJywncm91bmQnLCdzaWduJywnc2luJywnc2luaCcsJ3NxcnQn
LCd0YW4nLCd0YW5oJywndHJ1bmMnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEpT
T04pIGlzIFsncGFyc2UnLCAnc3RyaW5naWZ5J10KLVBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlO
YW1lcyhTeW1ib2wpIGlzIFsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAn
bmFtZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJsZXMnXQorUEFTUyBnZXRTb3J0ZWRPd25Qcm9w
ZXJ0eU5hbWVzKFN5bWJvbCkgaXMgWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0
aCcsICduYW1lJywgJ3Byb3RvdHlwZScsICdzcGVjaWVzJywgJ3Vuc2NvcGFibGVzJ10KIFBBU1Mg
Z2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVj
dG9yJywgJ3RvU3RyaW5nJywgJ3ZhbHVlT2YnXQogUEFTUyBnbG9iYWxQcm9wZXJ0eU5hbWVzLmlu
ZGV4T2YoJ05hTicpICE9IC0xIGlzIHRydWUKIFBBU1MgZ2xvYmFsUHJvcGVydHlOYW1lcy5pbmRl
eE9mKCdJbmZpbml0eScpICE9IC0xIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pz
L2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjllMDE0YzIxZjQ2Y2Q4MDI2NDM5YWJhMWU0NGJhMGZhZjk5OGI2MmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZm
ZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9t
aXNlLmFsbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJv
bWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNl
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0p
IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJv
bWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlu
c3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4g
aW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQ
cm9taXNlIGlzIGZhbHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MDZiZWNjNjk5NzdlNWM5NDdkZTk2MDk2MzQ3NmMyODZiN2M0M2NhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwK
QEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5h
bGwuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBu
ZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNl
KGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7Cisg
ICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJl
dHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQ
cm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9t
aXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlw
ZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2Ui
KTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJl
c29sdmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNl
LmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7
CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVz
b2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFs
dWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4
dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24gKFt2YWx1ZV0pIHsKKyAg
ICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAi
UHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVk
UHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhkZTY1MTM2OTQ0NjY2ZGFlNmYwMTNlZWMyZjQzYjNhZjgwNjk5NGUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UuYWxsLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBF
eHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBp
bnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5j
ZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDc0MmQ5MjViODJlMTFi
YmI2NmUyNWMxNzBkMjRlYzdkOGQwMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLmFsbC4nKTsKKword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRl
ZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4
dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRl
ZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5k
ZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJv
bWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlz
ZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2UiKTsKK3Nob3Vs
ZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIp
XSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsK
K3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJl
c29sdmUoNDIpXSkudGhlbihmdW5jdGlvbiAoW3ZhbHVlXSkgeworICAgIGdsb2JhbFZhbHVlID0g
dmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRlZFByb21pc2Ui
KTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2EwNmU4MDg4YmRjNTJlOGRlMjQxY2Q2YTMxMGJjODFlYTk4OWVh
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3Bl
Y2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Qgc3ViY2xh
c3NlZCBQcm9taXNlLnJhY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBF
eHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNl
IG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5y
ZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9t
aXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlz
ZSBpcyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJl
c29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgdGhl
blJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaW5zdGFu
Y2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmI1NDA3ZGM4Yzc4YTQ3NGRhMWFiNzMzYzYwNmY1MzIyNmQzYWQzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2ll
cy1kaWZmZXJlbnQuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3Vi
Y2xhc3NlZCBQcm9taXNlLnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rp
b24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJv
bWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2Uu
cHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1i
b2wuc3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21p
c2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2
ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yYWNl
KFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZUZh
bHNlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNl
b2YgRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UucmFj
ZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21p
c2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBF
eHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihm
dW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJl
KCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRC
ZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3Vs
dCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVj
aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2ll
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNkMzU4MWViMzA0NTdlYTBkZWNmZmM5YTMyYTEy
ZjFjMmZkN2MzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFz
c2VkIFByb21pc2UucmFjZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4
dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ug
b2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BB
U1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xv
YmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNw
ZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQyYmEwMGJmNDlmYWQ2MzkxMTg3YmU4OGM4ZTIyYzYxYzRmZGY3OWUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMu
aHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9t
aXNlLnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVu
dGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQ
cm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRv
cik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOwor
ICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10g
PSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsK
Kworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQy
KV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2Uu
cmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7
CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5k
ZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rp
b24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xv
YmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBl
KCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1z
cGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1z
cGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWE4YmFiZmE2NzBhM2Y1M2IyNWRiN2Vk
ODM5ZDE1Y2NlMmQwODMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVqZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3Qg
c3ViY2xhc3NlZCBQcm9taXNlLnJlamVjdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVu
ZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJv
bWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1y
ZWplY3Qtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxNTE4YjYwOTQyOTJkOWQwMWM0ZGM2N2Yw
YWVhNjRkNzQ4MzcyYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1yZWplY3Qtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVqZWN0LicpOworCit3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHll
dC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5k
ZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJv
bWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFBy
b21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5kZWRQcm9taXNl
Ll9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJl
amVjdCg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVm
aW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlamVjdCg0MikuY2F0Y2go
ZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRC
ZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxk
QmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
cmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iY2VkYjVkNWE1NTkxNDc5ZWU3MGJhMDAxZjFjODhjNWI4NjlhZTk3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZl
cmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21p
c2UucmVzb2x2ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVk
UHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BB
U1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQg
aW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMg
NDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlm
ZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMt
ZGlmZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkxNjE0ZDA3NTg1MGNmZTkwYTg2M2U4ZmYwZTEy
MjQyM2ZkM2YzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuJyk7CisKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBw
b3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18g
PSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0
ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4
dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNl
Ll9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJl
c29sdmUoNDIpIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRl
ZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKS50aGVu
KGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxk
QmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3Vs
ZEJlVHlwZSgidGhlblJlc3VsdCIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJ0aGVuUmVz
dWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZl
LXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2
ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjZkNWVmNzEwN2VhNzZmNWFmNDhm
NDI3NWMyOTdkODZlMzA4MGJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitU
ZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIGlzIGFuIGluc3RhbmNlIG9m
IEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVu
ZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pz
L2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MmVhNDgwOGQ5YTczY2FlYmNhNjlmMTE5MzBjODk3ODg5YmY3MDM0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVj
aWVzLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3Qgc3ViY2xhc3Nl
ZCBQcm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlkIEBAc3BlY2llcy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBp
bnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGVzdCgpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IGNvbnN0cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5o
dG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jOGU5ZWFlM2E4YWU0ZjIwMDY3YzUzODRiNDVhNzFjZDAwNzIxMzIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1z
cGVjaWVzLWludmFsaWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qg
c3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlkIEBAc3BlY2llcy4nKTsKKwor
Ly8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24g
RXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJv
dG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wu
c3BlY2llc10gPSB7fTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitz
aG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21p
c2UiKTsKKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0
MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHt9KTsKK30KK3Nob3VsZFRocm93KCJ0ZXN0KCkiKTsK
KworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3YzMxMGZiYzQ3NGUzMDdm
MjJhZWUyOTBlNGI2MDI4OWM4ZTY2MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuJyk7CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBz
dXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAg
dmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3Rv
X18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQor
RXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsK
K0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRl
bmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRl
ZFByb21pc2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxW
YWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsK
KyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjhiMGU3NTQ2OGEwZWJhMTgw
N2ZkYzYwZmNkYmMyNWQxYmI1ZTA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBQ
cm9taXNlIGFuZCBAQHNwZWNpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2Us
IFN5bWJvbC5zcGVjaWVzKSkgaXMgIntcImVudW1lcmFibGVcIjpmYWxzZSxcImNvbmZpZ3VyYWJs
ZVwiOnRydWV9IgorUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQ
cm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLnNl
dCBpcyAidW5kZWZpbmVkIgorUEFTUyBQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSBpcyBQcm9taXNl
CitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNw
ZWNpZXMpLmdldC5jYWxsKE9iamVjdCkgaXMgT2JqZWN0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2Utc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3Bl
Y2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MzNhNzA2ODM3ZjZlMDllYjY0OGZlMDI3ZTdhMTljOWNh
MTM3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVj
aWVzLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IFByb21pc2UgYW5k
IEBAc3BlY2llcy4nKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJKU09OLnN0cmluZ2lmeShP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKSki
LCAneyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9t
aXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IiwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5
bWJvbC5zcGVjaWVzKS5zZXQiLCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSgiUHJvbWlzZVtTeW1i
b2wuc3BlY2llc10iLCAiUHJvbWlzZSIpOworc2hvdWxkQmUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCkiLCAi
T2JqZWN0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFs
bS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNlYmQ3YTFlYWVlNGNiMDlmMDUyYmZiMWE3YzM4
MTNlYTRiMjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1z
cGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAor
QXJyYXlTcGVjaWVzQ3JlYXRlIGdlbmVyYXRlIHRoZSBjdXJyZW50IFJlYWxtIGFycmF5IHdoZW4g
dGhlIGdpdmVuIGFycmF5IGlzIGZyb20gdGhlIGRpZmZlcmVudCByZWFsbS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYXJyYXkubGVuZ3RoIGlzIDUKK1BBU1MgYXJyYXkg
aW5zdGFuY2VvZiBBcnJheSBpcyBmYWxzZQorUEFTUyBhcnJheSBpbnN0YW5jZW9mIEFycmF5MiBp
cyB0cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoYXJyYXkpIGlzIHRydWUKK1BBU1MgYXJyYXkuY29u
c3RydWN0b3IgaXMgQXJyYXkyCitQQVNTIGFycmF5LmNvbnN0cnVjdG9yIGlzIG5vdCBBcnJheQor
UEFTUyByZXN1bHQubGVuZ3RoIGlzIDUKK1BBU1MgQXJyYXkuaXNBcnJheShyZXN1bHQpIGlzIHRy
dWUKK0ZBSUwgcmVzdWx0IGluc3RhbmNlb2YgQXJyYXkgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxz
ZS4KK0ZBSUwgcmVzdWx0IGluc3RhbmNlb2YgQXJyYXkyIHNob3VsZCBiZSBmYWxzZS4gV2FzIHRy
dWUuCitQQVNTIHJlc3VsdFswXSBpcyAwCitQQVNTIHJlc3VsdFsxXSBpcyAxCitQQVNTIHJlc3Vs
dFsyXSBpcyA0CitQQVNTIHJlc3VsdFszXSBpcyA5CitQQVNTIHJlc3VsdFs0XSBpcyAxNgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5o
dG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxt
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGY1Mjg1YTc1ZDUzNDBkNDhhNDg2OTQ1NjBjZGZhMjUyYjgyNDA0
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWlu
LWRpZmZlcmVudC1yZWFsbS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXkt
c3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9hcnJheS1zcGVj
aWVzLWluLWRpZmZlcmVudC1yZWFsbS5qcyBiL0xheW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVz
dHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU3NWVm
MWE3ZjE3N2ZlNDRlYjFkY2Y2ODY2ZTc5ZDA4OTljMTE1YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQt
cmVhbG0uanMKQEAgLTAsMCArMSwyNiBAQAorZGVzY3JpcHRpb24oIkFycmF5U3BlY2llc0NyZWF0
ZSBnZW5lcmF0ZSB0aGUgY3VycmVudCBSZWFsbSBhcnJheSB3aGVuIHRoZSBnaXZlbiBhcnJheSBp
cyBmcm9tIHRoZSBkaWZmZXJlbnQgcmVhbG0uIik7CisKK3ZhciBmcmFtZSA9IGZyYW1lc1swXTsK
K3ZhciBBcnJheTIgPSBmcmFtZS5BcnJheTsKKwordmFyIGFycmF5ID0gbmV3IEFycmF5MigwKTsK
K2FycmF5LnB1c2goMCwgMSwgMiwgMywgNCk7CisKK3Nob3VsZEJlKCJhcnJheS5sZW5ndGgiLCAi
NSIpOworc2hvdWxkQmVGYWxzZSgiYXJyYXkgaW5zdGFuY2VvZiBBcnJheSIpOworc2hvdWxkQmVU
cnVlKCJhcnJheSBpbnN0YW5jZW9mIEFycmF5MiIpOworc2hvdWxkQmVUcnVlKCJBcnJheS5pc0Fy
cmF5KGFycmF5KSIpOworc2hvdWxkQmUoImFycmF5LmNvbnN0cnVjdG9yIiwgIkFycmF5MiIpOwor
c2hvdWxkTm90QmUoImFycmF5LmNvbnN0cnVjdG9yIiwgIkFycmF5Iik7Cit2YXIgcmVzdWx0ID0g
YXJyYXkubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOwor
fSk7CitzaG91bGRCZSgicmVzdWx0Lmxlbmd0aCIsICI1Iik7CitzaG91bGRCZVRydWUoIkFycmF5
LmlzQXJyYXkocmVzdWx0KSIpOworc2hvdWxkQmVUcnVlKCJyZXN1bHQgaW5zdGFuY2VvZiBBcnJh
eSIpOworc2hvdWxkQmVGYWxzZSgicmVzdWx0IGluc3RhbmNlb2YgQXJyYXkyIik7CitzaG91bGRC
ZSgicmVzdWx0WzBdIiwgIjAiKTsKK3Nob3VsZEJlKCJyZXN1bHRbMV0iLCAiMSIpOworc2hvdWxk
QmUoInJlc3VsdFsyXSIsICI0Iik7CitzaG91bGRCZSgicmVzdWx0WzNdIiwgIjkiKTsKK3Nob3Vs
ZEJlKCJyZXN1bHRbNF0iLCAiMTYiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3Njcmlw
dC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3Nj
cmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcwppbmRleCBmNzlkZmFiNmE2
YWY4MjhjNDgzMDJkMGE3YWU1YTRiNWNlOWQ5OTI4Li41M2Q1ZjBkYTRjZmZmYmY4MDBkYjJlMDgz
ZmQ5ZWZhZWJmMDY5Y2FmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
T2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0
LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCkBAIC03MCw3ICs3MCw3IEBACiAg
ICAgIkVycm9yLnByb3RvdHlwZSI6ICJbJ2NvbnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScs
ICd0b1N0cmluZyddIiwKICAgICAiTWF0aCI6ICJbJ0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywn
TE9HMkUnLCdQSScsJ1NRUlQxXzInLCdTUVJUMicsJ2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4n
LCdhc2luaCcsJ2F0YW4nLCdhdGFuMicsJ2F0YW5oJywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2Nv
cycsJ2Nvc2gnLCdleHAnLCdleHBtMScsJ2Zsb29yJywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywn
bG9nJywnbG9nMTAnLCdsb2cxcCcsJ2xvZzInLCdtYXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdy
b3VuZCcsJ3NpZ24nLCdzaW4nLCdzaW5oJywnc3FydCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddIiwK
ICAgICAiSlNPTiI6ICJbJ3BhcnNlJywgJ3N0cmluZ2lmeSddIiwKLSAgICAiU3ltYm9sIjogIlsn
Zm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUn
LCAndW5zY29wYWJsZXMnXSIsCisgICAgIlN5bWJvbCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdr
ZXlGb3InLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29w
YWJsZXMnXSIsCiAgICAgIlN5bWJvbC5wcm90b3R5cGUiOiAiWydjb25zdHJ1Y3RvcicsICd0b1N0
cmluZycsICd2YWx1ZU9mJ10iCiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257158</attachid>
            <date>2015-07-20 21:24:03 -0700</date>
            <delta_ts>2015-07-20 21:56:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150720212248.patch</filename>
            <type>text/plain</type>
            <size>130186</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ODFiZGMyYmFhNTczMGVkOTRjZTJhZDFjYmQ2NTM5ZDc0YjM3MjY3Li45Njk1YjA3M2IxMTAyOWQw
ZDc4MjUwZDBiZmE4YjA1MDJkYjEzOWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzQgQEAKKzIwMTUtMDctMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToK
KyAgICAgICAgKiBidWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAoc3ltYm9s
U3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzOgorICAgICAgICAo
c3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBidWlsdGlucy9JdGVyYXRvci5wcm90b3R5
cGUuanM6CisgICAgICAgIChzeW1ib2xJdGVyYXRvcik6CisgICAgICAgIChTeW1ib2xJdGVyYXRv
cik6IERlbGV0ZWQuCisgICAgICAgICogYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanM6IENvcGll
ZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMuCisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9PcGVyYXRp
b25zLkFycmF5LmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
R2xvYmFsT2JqZWN0LmpzLgorICAgICAgICAoYXJyYXlTcGVjaWVzQ3JlYXRlKToKKyAgICAgICAg
KiBidWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qczoKKyAgICAgICAgKiBidWlsdGlucy9Qcm9t
aXNlQ29uc3RydWN0b3IuanM6CisgICAgICAgIChyYWNlKToKKyAgICAgICAgKHN5bWJvbFNwZWNp
ZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAg
ICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJh
eVdpdGhTaXplKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19uZXdBcnJheVdpdGhTaXplKToK
KyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6cHV0
QnlWYWwpOgorICAgICAgICAoSlNDOjpERkc6Om9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwpOgor
ICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6
CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
QXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUp
OgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjph
cnJheVNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3cpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY0NvbmNhdCk6CisgICAgICAg
IChKU0M6OmFycmF5UHJvdG9GdW5jU2xpY2UpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVu
Y1NwbGljZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKEpTQzo6Qm9vbGVhbkNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAoSlNDOjpEYXRlQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmlzQXJyYXlDb25zdHJ1Y3Rv
ckluRGlmZmVyZW50UmVhbG0pOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
OjphcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5
U3BlY2llc0dldHRlckZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhB
cnJheVN0b3JhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBy
dW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9NYXBDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bik6CisgICAgICAgICogcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpN
YXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmg6CisgICAgICAgIChKU0M6Ok51bWJlckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmg6CisgICAgICAgICogcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAg
ICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1l
L1NldENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1NldENvbnN0cnVjdG9yLmg6CisgICAgICAg
IChKU0M6OlNldENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3BhcnNl
QXJyYXlWYWx1ZU1hcC5jcHA6CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5VmFsdWVNYXA6OnB1
dERpcmVjdCk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oOgorICAgICAg
ICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1N5
bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN5bWJvbENvbnN0cnVjdG9yOjpjcmVh
dGUpOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmg6CisgICAgICAgIChK
U0M6OldlYWtNYXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtT
ZXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFrU2V0Q29uc3RydWN0b3I6OmNyZWF0
ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKC5nZXQg
RXh0ZW5kZWRBcnJheSk6CisgICAgICAgICguZ2V0IHNob3VsZEJlKToKKyAgICAgICAgKC5zZXQg
c2hvdWxkQmUpOgorICAgICAgICAoVGVzdCk6CisgICAgICAgICguKToKKwogMjAxNS0wNy0yMCAg
U2FhbSBiYXJhdGkgIDxzYWFtYmFyYXRpMUBnbWFpbC5jb20+CiAKICAgICAgICAgImxldCIgc2Nv
cGluZyBpbnRyb2R1Y2VkIGluY29oZXJlbnQgc3RvcnkgYWJvdXQgc3ltYm9sIHRhYmxlIGNsb25p
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90
b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBl
LmpzCmluZGV4IGFmNDZkZDhmZWZmZTUzNGJjZDQwNTM0ZjM0ZjdiZjI1ZmE1YmU0NDMuLjEyMDlk
NTc2NjExZDhkY2VlMjc4NTA3YzYwZTI4N2VkNjkwZDhmOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTYxLDcgKzE2MSw3
IEBAIGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFjayAvKiwgdGhpc0FyZyAqLykgewogICAgICAgICB0
aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbHRlciBjYWxsYmFjayBtdXN0
IGJlIGEgZnVuY3Rpb24iKTsKICAgICAKICAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5n
dGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOwotICAgIHZhciByZXN1bHQgPSBbXTsK
KyAgICB2YXIgcmVzdWx0ID0gQGFycmF5U3BlY2llc0NyZWF0ZShhcnJheSwgMCk7CiAgICAgdmFy
IG5leHRJbmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewog
ICAgICAgICBpZiAoIShpIGluIGFycmF5KSkKQEAgLTE5MCw3ICsxOTAsNyBAQCBmdW5jdGlvbiBt
YXAoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJy
b3IoIkFycmF5LnByb3RvdHlwZS5tYXAgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAg
ICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sx
XSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9IEBh
cnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIGxlbmd0aCk7CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGxl
bmd0aDsKICAgICB2YXIgbmV4dEluZGV4ID0gMDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxl
bmd0aDsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QXJyYXlDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eUNvbnN0cnVjdG9yLmpzCmluZGV4IDVhNTUxZjczOThmNzhmMGMyOWIwZjQzZDllZmNjMzdlYWEy
MmUzMjUuLjM0ZGY2MjQwMjRiYmRhYzlhYjI3ODA1NmFkYWZjMTZhOTI2MzY5ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCkBA
IC0xMDcsMyArMTA3LDEwIEBAIGZ1bmN0aW9uIGZyb20oaXRlbXMgLyosIG1hcEZuLCB0aGlzQXJn
ICovKSB7CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGFycmF5TGlrZUxlbmd0aDsKICAgICByZXR1cm4g
cmVzdWx0OwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmlj
dCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvR2xvYmFsT2JqZWN0LmpzCmluZGV4IDZhZGFkZWZiZDlhOTcwMTc3OTM2NjBhZmRiMjNh
NzU1MmEyMDdhZjkuLmNjN2IyY2E5MWJmMGJlMDY5ZWU0NDFjY2FkMWIzOThlZDM2M2U5OTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwpAQCAt
NTUsMyArNTUsMjIgQEAgZnVuY3Rpb24gaXNPYmplY3Qob2JqZWN0KQogCiAgICAgcmV0dXJuIChv
YmplY3QgIT09IG51bGwgJiYgdHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIpIHx8IHR5cGVvZiBv
YmplY3QgPT09ICJmdW5jdGlvbiI7CiB9CisKK2Z1bmN0aW9uIHNwZWNpZXNDb25zdHJ1Y3Rvcihv
YmplY3QsIGRlZmF1bHRDb25zdHJ1Y3RvcikKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2
YXIgY29uc3RydWN0b3IgPSBvYmplY3QuY29uc3RydWN0b3I7CisgICAgaWYgKGNvbnN0cnVjdG9y
ID09PSB1bmRlZmluZWQpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJvYmplY3QgZG9l
cyBub3QgaGF2ZSBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiKTsKKworICAgIHZhciBzcGVjaWVz
ID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzID09PSB1bmRl
ZmluZWQgfHwgc3BlY2llcyA9PT0gbnVsbCkKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRDb25zdHJ1
Y3RvcjsKKworICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3RvcihzcGVjaWVzKS4KKyAgICBp
ZiAodHlwZW9mIHNwZWNpZXMgIT09ICdmdW5jdGlvbicpCisgICAgICAgIHRocm93IG5ldyBAVHlw
ZUVycm9yKCJjb25zdHJ1Y3Rvci5AQHNwZWNpZXMgaXMgbm90IGEgY29uc3RydWN0b3IiKTsKKwor
ICAgIHJldHVybiBzcGVjaWVzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMKaW5kZXggZGM3MmE2NDA4YjQzNjcwYTkzNjE5
ZmM2MWYyYmVjMzI3NWUzOTVkNS4uMWU5Yjk4Yzg0M2Q4Njc1NWM0NzYzMzc2NTc5ZjQ5OGE5MjAw
MmRhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9y
LnByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0
b3IucHJvdG90eXBlLmpzCkBAIC0yMyw3ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LWZ1bmN0aW9uIFN5bWJvbEl0ZXJhdG9yKCkKK2Z1bmN0aW9uIHN5bWJvbEl0ZXJhdG9yKCkKIHsK
ICAgICAndXNlIHN0cmljdCc7CiAgICAgcmV0dXJuIHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRk
NjhhNTUzNjE1YjgyZjljMGI0YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJl
dHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L09wZXJhdGlvbnMuQXJyYXkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3Bl
cmF0aW9ucy5BcnJheS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTMwNTJlNjRjMjEwNjllZDQ0ZWYxZjE0NGE5
MDVmNGU4ZTVkNWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanMKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBhcnJheVNw
ZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKQoreworICAgICJ1c2Ugc3RyaWN0IjsK
KworICAgIGlmICghQGlzQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVybiBAbmV3
QXJyYXlXaXRoU2l6ZShsZW5ndGgpOworCisgICAgdmFyIGNvbnN0cnVjdG9yID0gb3JpZ2luYWxB
cnJheS5jb25zdHJ1Y3RvcjsKKworICAgIC8vIEVhcmx5IGNoZWNrIGZvciB0aGUgY29tbW9uIHBh
dGguCisgICAgaWYgKGNvbnN0cnVjdG9yICE9PSBAQXJyYXkpIHsKKyAgICAgICAgLy8gRklYTUU6
IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKS4KKyAgICAgICAgaWYgKHR5cGVvZiBjb25z
dHJ1Y3RvciA9PT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAgaWYgKEBpc0FycmF5Q29uc3Ry
dWN0b3JJbkRpZmZlcmVudFJlYWxtKGNvbnN0cnVjdG9yKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQG5ld0FycmF5V2l0aFNpemUobGVuZ3RoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlm
IChAaXNPYmplY3QoY29uc3RydWN0b3IpKSB7CisgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3Ry
dWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgICAgICBpZiAoY29uc3RydWN0b3IgPT09IG51bGwp
CisgICAgICAgICAgICBjb25zdHJ1Y3RvciA9IHVuZGVmaW5lZDsKKyAgICB9CisKKyAgICBpZiAo
Y29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCB8fCBjb25zdHJ1Y3RvciA9PT0gQEFycmF5KQorICAg
ICAgICByZXR1cm4gQG5ld0FycmF5V2l0aFNpemUobGVuZ3RoKTsKKworICAgIC8vIEZJWE1FOiBV
c2UgaXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikuCisgICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3Rv
ciAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImdpdmVuIGNv
bnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworICAgIHJldHVybiBu
ZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcwppbmRleCA4NTYzZGYwZDkyN2ZiMjMzOTY4
OTM5ZTE0OTQyMzk2ZWM4NWU2NWFhLi5jZjZhMjBmZDgzMjViODNjMWI5MDc1YjU5MTJjNDM1OTA0
MDE2M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlz
ZS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21p
c2UucHJvdG90eXBlLmpzCkBAIC0zNyw5ICszNyw3IEBAIGZ1bmN0aW9uIHRoZW4ob25GdWxmaWxs
ZWQsIG9uUmVqZWN0ZWQpCiAgICAgaWYgKCFAaXNQcm9taXNlKHRoaXMpKQogICAgICAgICB0aHJv
dyBuZXcgQFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklY
TUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFu
ZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2
MjQKLSAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yOworICAgIHZhciBjb25z
dHJ1Y3RvciA9IEBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgQFByb21pc2UpOwogCiAgICAgdmFy
IHJlc3VsdENhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0
cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1
Y3Rvci5qcwppbmRleCAxZjgzYjQ3Zjc5MGE3NWU1YmY4YzkzZDVlNjY0OTYxOGNiMWFlYzY3Li4z
Zjk4ZWJmMzNhZTI5Nzg4MzZjZjE3MjEyODY1ODVjYTE3ZTBmYjEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKQEAgLTMw
LDkgKzMwLDEwIEBAIGZ1bmN0aW9uIGFsbChpdGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0
aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVj
dCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1r
bm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZh
ciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVz
ICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAhPT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3Ig
PSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBh
YmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAtODYsOSArODcsMTAgQEAgZnVuY3Rpb24gcmFjZShp
dGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5
cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0
aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2
YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5
bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAh
PT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3IgPSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21p
c2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAt
MTM3LDMgKzEzOSwxMCBAQCBmdW5jdGlvbiByZXNvbHZlKHZhbHVlKQogCiAgICAgcmV0dXJuIHBy
b21pc2VDYXBhYmlsaXR5LkBwcm9taXNlOwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
N2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOwor
CisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDliMmMyY2RiZGIzNTA3
ZmIxZmE3Mzg3ZTE1MjAyOWZiMjQ1NDA2YzkuLmU2OWM4Yjg2N2E1OGJjNDY4YmRkODdiNmMwMTcy
ZGRjNWQ0MDljYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yMDUyLDYgKzIwNTIsMTUgQEAgUmVn
aXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJheShSZWdpc3RlcklEKiBkc3Qs
IEVsZW1lbnROb2RlKiBlbGVtZW4KICAgICByZXR1cm4gZHN0OwogfQogCitSZWdpc3RlcklEKiBC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdpc3RlcklEKiBsZW5ndGgpCit7CisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyYXlfd2l0aF9z
aXplKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoZHN0LT5pbmRleCgpKTsKKyAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQobGVuZ3RoLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQobmV3QXJyYXlBbGxvY2F0aW9uUHJvZmlsZSgpKTsKKyAgICByZXR1cm4gZHN0OworfQor
CiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uKFJlZ2lzdGVy
SUQqIGRzdCwgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24pCiB7CiAgICAgcmV0dXJuIGVtaXRO
ZXdGdW5jdGlvbkludGVybmFsKGRzdCwgbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRGVjbChtYWtl
RnVuY3Rpb24oZnVuY3Rpb24pKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggNzQ4YjkwZTI5Y2NiOGY0OTBi
MTM4MGU2ZmY3M2NiNTJiMTY1ZTMwZS4uYzMyZmQwZWRiMjMwMmQyNWU0MWFmNWFjODgwYmUyNWY5
OGFjNGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDY5LDYgKzQ2OSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB2b2lkIGxpZnRURFpDaGVja0lmUG9zc2libGUoY29uc3QgVmFyaWFibGUmKTsK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld09iamVjdChSZWdpc3RlcklEKiBkc3QpOwogICAg
ICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyYXkoUmVnaXN0ZXJJRCogZHN0LCBFbGVtZW50Tm9k
ZSosIHVuc2lnbmVkIGxlbmd0aCk7IC8vIHN0b3BzIGF0IGZpcnN0IGVsaXNpb24KKyAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3Rl
cklEKiBsZW5ndGgpOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbihSZWdp
c3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUqKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKaW5kZXggMjdhODQ2ODg3MDkxYTFlMmQ2ZmEwNWE3OGRiNzllY2Q0ZjBhOWRhYi4uMDIxMjc0
NDVhYWM0YTJmYzg4ODZiMTRmYTJhZTlmMGY4NDhjNDUzOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtNzgwLDYgKzc4
MCwxNSBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRCeXRlY29kZShC
eXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZQogICAgIHJldHVybiAodGhpcy0+Km1fZW1p
dHRlcikoZ2VuZXJhdG9yLCBkc3QpOwogfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNp
Y05vZGU6OmVtaXRfaW50cmluc2ljX25ld0FycmF5V2l0aFNpemUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIEFyZ3VtZW50TGlzdE5vZGUqIG5v
ZGUgPSBtX2FyZ3MtPm1fbGlzdE5vZGU7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGxlbmd0aCA9
IGdlbmVyYXRvci5lbWl0Tm9kZShub2RlKTsKKyAgICBBU1NFUlQoIW5vZGUtPm1fbmV4dCk7CisK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBnZW5l
cmF0b3IuZW1pdE5ld0FycmF5V2l0aFNpemUoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3Qp
LCBsZW5ndGguZ2V0KCkpKTsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5zaWNOb2Rl
OjplbWl0X2ludHJpbnNpY19wdXRCeVZhbERpcmVjdChCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJh
dG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogbm9kZSA9IG1f
YXJncy0+bV9saXN0Tm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwCmluZGV4IDk5YmNmZmFkY2YyYzMwZDljYjU0NDU0NTU3ZDY0ZGZlZTNmZWY5YWQuLmQ1
MjRhYzJmZDA0YTI4MGRiMzhlNTg4YmRjYjI3Yzc0ZDU3OWM1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgcHV0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwg
dWludDMyX3QgaW5kZXgsCiAgICAgQVNTRVJUKGlzSW5kZXgoaW5kZXgpKTsKICAgICBpZiAoZGly
ZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKLSAg
ICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZh
bHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5k
ZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVj
dEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGJhc2VWYWx1ZS5pc09iamVjdCgpKSB7CkBA
IC0xMjQsNyArMTI0LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhlY1N0YXRlKiBleGUKICAgICBpZiAoZGlyZWN0
KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICAg
ICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1l
KSkKLSAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMs
IGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBhc09iamVj
dChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwg
MCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0
RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFz
T2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdCgqdm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNs
b3QpOwogICAgIH0gZWxzZQpAQCAtNTAxLDcgKzUwMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcih2bSwgZXhlYyk7CiAgICAgaWYgKGluZGV4ID49IDApIHsKLSAgICAgICAgYXJyYXkt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgMCwgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyk7CisgICAgICAgIGFycmF5LT5wdXREaXJl
Y3RJbmRleChleGVjLCBpbmRleCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIDAsIFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cAppbmRleCBlODRlOTM0Mjk3MWNiZDUxZmZiNjk1NzI5ZThmZTkyMmI2NGMwZDI5Li44NGU2YTI1
Y2FlMzIxZjAxY2EzNDMyZmVkZDc5NTBiZDlkNmM4Y2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBzdGF0aWMgdm9p
ZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmpl
Y3QsIEpTVmFsdWUgcwogICAgICAgICB9CiAKICAgICAgICAgYXJyYXlQcm9maWxlLT5zZXRPdXRP
ZkJvdW5kcygpOwotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUs
IGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJv
dyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2JqZWN0LT5w
dXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8g
UHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhT
aG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU0NCw3ICs1NDQs
NyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNP
YmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICBkb3VibGUgc3Vic2NyaXB0QXNE
b3VibGUgPSBzdWJzY3JpcHQuYXNEb3VibGUoKTsKICAgICAgICAgdWludDMyX3Qgc3Vic2NyaXB0
QXNVSW50MzIgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3Vic2NyaXB0QXNEb3VibGUpOwogICAg
ICAgICBpZiAoc3Vic2NyaXB0QXNEb3VibGUgPT0gc3Vic2NyaXB0QXNVSW50MzIgJiYgaXNJbmRl
eChzdWJzY3JpcHRBc1VJbnQzMikpIHsKLSAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVj
dEluZGV4KGNhbGxGcmFtZSwgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1v
ZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RU
aHJvdyk7CisgICAgICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUs
IHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5k
ZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJv
dyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC01NTUsNyArNTU1
LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
T2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAg
ICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LnZhbHVlKCksIHZh
bHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGly
ZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdElu
ZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hv
dWxkTm90VGhyb3cpOwogICAgIGVsc2UgewogICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChi
YXNlT2JqZWN0LCBpc1N0cmljdE1vZGUpOwogICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3Qo
Y2FsbEZyYW1lLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMTkzNGU1NzA0MzhlM2Ni
ZWM5YTQ4YTE2ZjczMGQ0NTNlZWZiNjViNC4uNGJiZDQ4MmVkZDViMWE0OTc4NGY0ZmY2ZTMyZGMx
NTY2MDlkMzQwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCkBAIC03ODAsNyArNzgwLDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX3B1dF9ieV92YWxfZGlyZWN0KQogICAgIGlmIChMSUtFTFkoc3Vic2NyaXB0LmlzVUludDMy
KCkpKSB7CiAgICAgICAgIC8vIERlc3BpdGUgaXRzIG5hbWUsIEpTVmFsdWU6OmlzVUludDMyIHdp
bGwgcmV0dXJuIHRydWUgb25seSBmb3IgcG9zaXRpdmUgYm94ZWQgaW50MzJfdDsgYWxsIHRob3Nl
IHZhbHVlcyBhcmUgdmFsaWQgYXJyYXkgaW5kaWNlcy4KICAgICAgICAgQVNTRVJUKGlzSW5kZXgo
c3Vic2NyaXB0LmFzVUludDMyKCkpKTsKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5k
ZXgoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdC5hc1VJ
bnQzMigpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRh
UHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAg
IExMSU5UX0VORCgpOwogICAgIH0KIApAQCAtNzg4LDcgKzc4OCw3IEBAIExMSU5UX1NMT1dfUEFU
SF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfdmFsX2RpcmVjdCkKICAgICAgICAgZG91YmxlIHN1YnNj
cmlwdEFzRG91YmxlID0gc3Vic2NyaXB0LmFzRG91YmxlKCk7CiAgICAgICAgIHVpbnQzMl90IHN1
YnNjcmlwdEFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN1YnNjcmlwdEFzRG91Ymxl
KTsKICAgICAgICAgaWYgKHN1YnNjcmlwdEFzRG91YmxlID09IHN1YnNjcmlwdEFzVUludDMyICYm
IGlzSW5kZXgoc3Vic2NyaXB0QXNVSW50MzIpKSB7Ci0gICAgICAgICAgICBiYXNlT2JqZWN0LT5w
dXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlzU3RyaWN0
TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5v
dFRocm93KTsKKyAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1
YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CiAgICAgICAgICAgICBMTElOVF9FTkQoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTc5OSw3ICs3
OTksNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X3ZhbF9kaXJlY3Qp
CiAgICAgICAgIExMSU5UX0VORCgpOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRl
eCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJ
bmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAg
ICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1
ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxzZSB7CiAgICAgICAg
IFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9kZSk7CiAgICAgICAg
IGJhc2VPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9y
LmNwcAppbmRleCAxOTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4ODAwODM2Li4zYjUz
ZDY2NGI2NjhmNGZhMzFiOGRmNmMwNDc2YzNkY2NkOTBmMDA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAtMjksMTcgKzI5
LDEyIEBACiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJyb3Iu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVy
LmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNs
dWRlICJMb29rdXAuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5hbWVzcGFjZSBKU0Mg
ewotCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9y
SXNBcnJheShFeGVjU3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlDb25zdHJ1Y3Rvci5s
dXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAgQXJyYXlDb25zdHJ1
Y3Rvcjo6QXJyYXlDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewog
fQogCi12b2lkIEFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQXJyYXlQ
cm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQordm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5UHJvdG90
eXBlKiBhcnJheVByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgYXJy
YXlQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGFycmF5UHJvdG90
eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSks
IFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNw
ZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOwor
ICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdC0+YXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24oKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5k
ZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0Fj
Y2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogYm9vbCBBcnJheUNvbnN0cnVjdG9y
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKaW5kZXggMDQwZjI2
YzRjOTkwNWE0NTc2OTRjMDVjODU0NDcwNjA3YmI0ODRhNy4uMWQyOTNkYWY5Nzg2M2JkYTc2NDQ5
NDU0NmFhMGRiOGQwODYxODJlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtMzQsMTAgKzM0LDEwIEBAIGNsYXNzIEFycmF5Q29u
c3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5h
bEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0
dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKKyAg
ICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJh
eVByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEFycmF5Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9y
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8QXJyYXlDb25zdHJ1Y3Rvcj4odm0uaGVhcCkp
IEFycmF5Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5m
aW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+
ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgYXJyYXlQcm90b3R5cGUpOwogICAgICAg
ICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEFy
cmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgfQogCiBwcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEFycmF5UHJvdG90eXBlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlQcm90b3R5
cGUqKTsKIAogcHJpdmF0ZToKICAgICBBcnJheUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7
CkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJu
YWxGdW5jdGlvbiB7CiB9OwogCiBKU09iamVjdCogY29uc3RydWN0QXJyYXlXaXRoU2l6ZVF1aXJr
KEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBKU0dsb2JhbE9iamVjdCosIEpT
VmFsdWUpOworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9ySXNB
cnJheShFeGVjU3RhdGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCA4N2NlYWUxY2Jl
ZjU1Y2Y3NmJlODU4MWUxN2MyYjM5Yzc1ODAzYWRlLi40Mzc3ZjI3ZDM5YTFlNGE0MzRmNzhlNzNk
NmRlNjA5MmUwZjZkZTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNCwxMSArMjQsMTMgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJBcnJheVByb3RvdHlwZS5oIgogCisjaW5jbHVkZSAiQXJyYXlDb25zdHJ1
Y3Rvci5oIgogI2luY2x1ZGUgIkJ1dHRlcmZseUlubGluZXMuaCIKICNpbmNsdWRlICJDYWNoZWRD
YWxsLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNp
bmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpTQXJy
YXlJdGVyYXRvci5oIgpAQCAtNDk5LDEzICs1MDEsNzUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRnVuY0pvaW4oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoam9pbigqZXhlYywgdGhpc09iamVjdCwgc2VwYXJhdG9yLT52aWV3KGV4
ZWMpKSk7CiB9CiAKK0FMV0FZU19JTkxJTkUgc3RhdGljIEpTT2JqZWN0KiBhcnJheVNwZWNpZXND
b25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvcmlnaW5hbEFycmF5KQorewor
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCk7CisKKyAgICBpZiAoIWlzSlNBcnJheShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgSlNBcnJheSogYXJy
YXkgPSBqc0Nhc3Q8SlNBcnJheSo+KG9yaWdpbmFsQXJyYXkpOworICAgIEpTVmFsdWUgY29uc3Ry
dWN0b3JWYWx1ZSA9IGFycmF5LT5KU0FycmF5OjpnZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1l
cygpLmNvbnN0cnVjdG9yKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yT2JqZWN0ID0ganNE
eW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpOworICAgIGlmICghY29uc3Ry
dWN0b3JPYmplY3QpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0
b3IoKTsKKworICAgIC8vIFRoZSBtb3N0IGNvbW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1Y3Rv
ck9iamVjdCA9PSBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKSkgeworICAgICAgICBQ
cm9wZXJ0eVNsb3Qgc2xvdChjb25zdHJ1Y3Rvck9iamVjdCk7CisgICAgICAgIGlmIChjb25zdHJ1
Y3Rvck9iamVjdC0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5z
cGVjaWVzU3ltYm9sLCBzbG90KSkgeworICAgICAgICAgICAgaWYgKHNsb3QuaXNBY2Nlc3Nvcigp
KSB7CisgICAgICAgICAgICAgICAgR2V0dGVyU2V0dGVyKiBhY2Nlc3NvciA9IHNsb3QuZ2V0dGVy
U2V0dGVyKCk7CisgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc29yLT5nZXR0ZXIoKSA9PSBnbG9i
YWxPYmplY3QtPmFycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKCkpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGNvbnN0cnVjdG9yVmFsdWUgPSBzbG90LmdldFZhbHVlKGV4ZWMsIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKKyAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0ganNVbmRlZmluZWQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5
cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3JPYmplY3QsIGNv
bnN0cnVjdERhdGEpOworICAgICAgICBpZiAoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBl
Tm9uZSkgeworICAgICAgICAgICAgaWYgKGNvbnN0cnVjdG9yT2JqZWN0LT5nbG9iYWxPYmplY3Qo
KSAhPSBnbG9iYWxPYmplY3QgJiYgY29uc3RydWN0b3JPYmplY3QgPT0gY29uc3RydWN0b3JPYmpl
Y3QtPmdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworICAgICAgICB9CisgICAg
ICAgIGNvbnN0cnVjdG9yVmFsdWUgPSBjb25zdHJ1Y3Rvck9iamVjdC0+Z2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKKyAgICB9CisgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmIChjb25zdHJ1
Y3RvclZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNv
bnN0cnVjdG9yKCk7CisKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5pc1VuZGVmaW5lZCgpKQor
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBy
ZXR1cm4ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpOworfQorCitz
dGF0aWMgYm9vbCBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEV4ZWNTdGF0ZSogZXhlYywgSlNP
YmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0
dXJuIG9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBQdXREaXJl
Y3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jQ29uY2F0KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAg
ICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPnRoaXNWYWx1ZSgpLnRvVGhpcyhleGVjLCBTdHJp
Y3RNb2RlKTsKKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9IHRoaXNWYWx1ZS50b09iamVjdChl
eGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBKU09iamVjdCogY29uc3RydWN0b3Ig
PSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqZWN0KTsKKyAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgYm9vbCBpc0FycmF5Q29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvciA9PSBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpT
VmFsdWUgY3VyQXJnID0gdGhpc09iamVjdDsKICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGV4ZWMt
PmFyZ3VtZW50Q291bnQoKTsKLSAgICBKU1ZhbHVlIGN1ckFyZyA9IHRoaXNWYWx1ZS50b09iamVj
dChleGVjKTsKICAgICBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gZmluYWxBcnJh
eVNpemUgPSAwOwotCiAgICAgSlNBcnJheSogY3VycmVudEFycmF5ID0gbnVsbHB0cjsKICAgICBK
U0FycmF5KiBwcmV2aW91c0FycmF5ID0gbnVsbHB0cjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyA7ICsraSkgewpAQCAtNTI2LDE3ICs1OTAsMzEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGZpbmFs
QXJyYXlTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOwogCi0gICAgaWYgKGFyZ0NvdW50ID09IDEg
JiYgcHJldmlvdXNBcnJheSAmJiBjdXJyZW50QXJyYXkgJiYgZmluYWxBcnJheVNpemUudW5zYWZl
R2V0KCkgPCBNSU5fU1BBUlNFX0FSUkFZX0lOREVYKSB7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1
Y3RvciAmJiBhcmdDb3VudCA9PSAxICYmIHByZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYm
IGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpIDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgewog
ICAgICAgICBJbmRleGluZ1R5cGUgdHlwZSA9IEpTQXJyYXk6OmZhc3RDb25jYXRUeXBlKGV4ZWMt
PnZtKCksICpwcmV2aW91c0FycmF5LCAqY3VycmVudEFycmF5KTsKICAgICAgICAgaWYgKHR5cGUg
IT0gTm9uQXJyYXkpCiAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNBcnJheS0+ZmFzdENvbmNh
dFdpdGgoKmV4ZWMsICpjdXJyZW50QXJyYXkpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIGFyciA9
IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZl
R2V0KCkpOwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVs
bHB0cjsKKyAgICBpZiAoaXNBcnJheUNvbnN0cnVjdG9yKSB7CisgICAgICAgIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0
KCkpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0gZWxzZSB7CisgICAgICAg
IENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25z
dHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7
CisgICAgICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKQorICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxp
dGVyYWwoImdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKSkp
OworCisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgICAgIGFyZ3MuYXBw
ZW5kKGpzTnVtYmVyKDApKTsKKyAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0
cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdzKTsKKyAgICAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9CiAKLSAgICBjdXJBcmcgPSB0aGlzVmFsdWUudG9PYmpl
Y3QoZXhlYyk7CisgICAgY3VyQXJnID0gdGhpc09iamVjdDsKICAgICB1bnNpZ25lZCBuID0gMDsK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyA7ICsraSkgewogICAgICAgICBpZiAoSlNBcnJheSog
Y3VycmVudEFycmF5ID0ganNEeW5hbWljQ2FzdDxKU0FycmF5Kj4oY3VyQXJnKSkgewpAQCAtNTQ4
LDIwICs2MjYsMzAgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVu
Y0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0
UHJvcGVydHkoZXhlYywgY3VycmVudEFycmF5LCBrKTsKICAgICAgICAgICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKHYpCi0gICAgICAgICAg
ICAgICAgICAgIGFyci0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgICAgICAg
ICAgaWYgKHYpIHsKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhleGVjLCByZXN1bHQsIG4sIHYpOworICAgICAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBu
Kys7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBhcnItPnB1
dERpcmVjdEluZGV4KGV4ZWMsIG4sIGN1ckFyZyk7CisgICAgICAgICAgICBjcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgbiwgY3VyQXJnKTsKKyAgICAgICAgICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwogICAgICAgICAgICAgbisrOwogICAgICAgICB9CiAgICAgICAg
IGlmIChpID09IGFyZ0NvdW50KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGN1ckFyZyA9
IGV4ZWMtPnVuY2hlY2tlZEFyZ3VtZW50KGkpOwogICAgIH0KLSAgICBhcnItPnNldExlbmd0aChl
eGVjLCBuKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFycik7CisKKyAgICBpZiAoaXNB
cnJheUNvbnN0cnVjdG9yKQorICAgICAgICBqc0Nhc3Q8SlNBcnJheSo+KHJlc3VsdCktPnNldExl
bmd0aChleGVjLCBuKTsKKyAgICBlbHNlCisgICAgICAgIHB1dExlbmd0aChleGVjLCByZXN1bHQs
IGpzTnVtYmVyKG4pKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0K
IAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1BvcChFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC03MzAsMjMgKzgxOCw1NSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GdW5jU2xpY2UoRXhlY1N0YXRlKiBleGVjKQogCiAgICAgdW5zaWduZWQg
YmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMsIDAsIGxlbmd0
aCk7CiAgICAgdW5zaWduZWQgZW5kID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVu
ZChleGVjLCAxLCBsZW5ndGgsIGxlbmd0aCk7CisgICAgdW5zaWduZWQgY291bnQgPSBlbmQgLSBi
ZWdpbjsKIAotICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpIHsKLSAgICAgICAgaWYgKEpTQXJy
YXkqIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGVu
ZCAtIGJlZ2luKSkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsK
KyAgICBKU09iamVjdCogY29uc3RydWN0b3IgPSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVj
LCB0aGlzT2JqKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBpZiAoY29uc3RydWN0b3Ig
PT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAg
ICAgICAgaWYgKGlzSlNBcnJheSh0aGlzT2JqKSkgeworICAgICAgICAgICAgaWYgKEpTQXJyYXkq
IHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGNvdW50
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAg
ICAgIH0KKworICAgICAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4
ZWMsIG51bGxwdHIsIGNvdW50KTsKKworICAgICAgICB1bnNpZ25lZCBuID0gMDsKKyAgICAgICAg
Zm9yICh1bnNpZ25lZCBrID0gYmVnaW47IGsgPCBlbmQ7IGsrKywgbisrKSB7CisgICAgICAgICAg
ICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKKyAgICAgICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgaWYgKHYpCisgICAgICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgfQorICAg
ICAgICByZXN1bHQtPnNldExlbmd0aChleGVjLCBuKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShyZXN1bHQpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVj
dEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZW5kIC0gYmVnaW4pOworICAgIENvbnN0cnVjdERh
dGEgY29uc3RydWN0RGF0YTsKKyAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRD
b25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKTsKKyAgICBpZiAoY29uc3Ry
dWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdpdmVuIGNvbnN0cnVjdG9y
IG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKSkpOworCisgICAgTWFya2VkQXJndW1lbnRC
dWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVuZChqc051bWJlcihjb3VudCkpOworICAgIEpTT2Jq
ZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUs
IGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIHVuc2ln
bmVkIG4gPSAwOwogICAgIGZvciAodW5zaWduZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4r
KykgewotICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsK
KyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOwog
ICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwotICAgICAgICBpZiAodikKLSAgICAgICAgICAg
IHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgIGlmICh2YWx1ZSkg
eworICAgICAgICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIG4s
IHZhbHVlKTsKKyAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9
CiAgICAgfQotICAgIHJlc3VsdC0+c2V0TGVuZ3RoKGV4ZWMsIG4pOworICAgIHB1dExlbmd0aChl
eGVjLCByZXN1bHQsIGpzTnVtYmVyKG4pKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CiB9CiAKQEAgLTc2MCw5ICs4ODAsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GdW5jU3BsaWNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICB1bnNpZ25lZCBs
ZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwot
ICAgIAotICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQotICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCiAgICAg
dW5zaWduZWQgYmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMs
IDAsIGxlbmd0aCk7CiAKQEAgLTc3NywyMiArODk0LDU4IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAg
ICAgZGVsZXRlQ291bnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVsZXRlRG91YmxlKTsKICAg
ICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBudWxscHRyOworICAgIEpTT2JqZWN0KiBjb25z
dHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKGV4ZWMsIHRoaXNPYmopOworICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBudWxscHRyOworICAgIGlm
IChjb25zdHJ1Y3RvciA9PSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3Ry
dWN0b3IoKSkgeworICAgICAgICBKU0FycmF5KiByZXN1bHRBcnJheSA9IG51bGxwdHI7CisKKyAg
ICAgICAgaWYgKCFleGVjLT5hcmd1bWVudENvdW50KCkpCisgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCi0gICAg
aWYgKGlzSlNBcnJheSh0aGlzT2JqKSkKLSAgICAgICAgcmVzdWx0ID0gYXNBcnJheSh0aGlzT2Jq
KS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgZGVsZXRlQ291bnQpOworICAgICAgICBpZiAoaXNK
U0FycmF5KHRoaXNPYmopKQorICAgICAgICAgICAgcmVzdWx0QXJyYXkgPSBhc0FycmF5KHRoaXNP
YmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBkZWxldGVDb3VudCk7CiAKLSAgICBpZiAoIXJl
c3VsdCkgewotICAgICAgICByZXN1bHQgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVk
KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhp
bmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCBkZWxldGVDb3VudCk7
Ci0gICAgICAgIGlmICghcmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOworICAgICAgICBpZiAoIXJlc3VsdEFycmF5
KSB7CisgICAgICAgICAgICByZXN1bHRBcnJheSA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlh
bGl6ZWQodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmVGb3JJ
bmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIGRlbGV0ZUNv
dW50KTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0QXJyYXkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOworCisgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgZGVsZXRlQ291bnQ7ICsraykgeworICAg
ICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyBi
ZWdpbik7CisgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgICAgIHJlc3VsdEFycmF5LT5pbml0aWFsaXplSW5kZXgodm0sIGssIHYpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJlc3VsdCA9IHJlc3VsdEFycmF5OworICAg
IH0gZWxzZSB7CisgICAgICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAg
Q29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3Rv
ciwgY29uc3RydWN0RGF0YSk7CisgICAgICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVj
dFR5cGVOb25lKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVF
cnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMg
bm90IGEgZnVuY3Rpb24iKSkpOworCisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7
CisgICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIHJl
c3VsdCA9IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3Ry
dWN0RGF0YSwgYXJncyk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICAgICAg
Zm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50OyArK2spIHsKLSAgICAgICAgICAg
IEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyBiZWdpbik7CisgICAg
ICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArICBi
ZWdpbik7CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgICAg
IHJlc3VsdC0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsKKyAgICAgICAgICAgIGlmICh2YWx1
ZSkgeworICAgICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVz
dWx0LCBrLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIHB1dExlbmd0aChleGVjLCBy
ZXN1bHQsIGpzTnVtYmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiAgICAgfQogCiAgICAgdW5zaWduZWQgYWRkaXRpb25hbEFyZ3MgPSBzdGQ6Om1heDxpbnQ+
KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSAtIDIsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAppbmRleCAxNzdmNjllNWNiNDgyY2E1
Y2QzY2Q1MDZhZDFhNDAzMjcwMzg3NzcyLi44ZjE2MDA0YTY1YWM3MDE3YTgxOGJiMDdhMmJiZjY5
M2NhNzI3OTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsNyBAQCBjbGFzcyBCb29sZWFuQ29uc3RydWN0
b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRl
cm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVh
dGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVh
blByb3RvdHlwZSkKKyAgICBzdGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBl
KiBib29sZWFuUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgQm9vbGVhbkNvbnN0cnVjdG9yKiBj
b25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rv
cj4odm0uaGVhcCkpIEJvb2xlYW5Db25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBib29sZWFuUHJvdG90eXBlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4
IDQxYjk0ZjFiZjQ3YmZjNjZkODc2NDUwYzAxMzAxZTU1MjFmZjk1NmQuLmY1NTk5N2YyMzcyZDAx
ZDc5ZmYxYWJhZjliODJlMDkxMDY0MmMwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMjM3LDIyICsyMzcsMjIgQEAKICAg
ICBtYWNybyhtYXRjaCkgXAogICAgIG1hY3JvKHJlcGxhY2UpIFwKICAgICBtYWNybyhzZWFyY2gp
IFwKLSAgICBtYWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8oc3BsaXQpIFwKICAgICBtYWNybyh0
b1ByaW1pdGl2ZSkgXAogICAgIG1hY3JvKHRvU3RyaW5nVGFnKQogCiAjZGVmaW5lIEpTQ19DT01N
T05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKG1hY3JvKSBcCiAg
ICAgbWFjcm8oaXRlcmF0b3IpIFwKKyAgICBtYWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8odW5z
Y29wYWJsZXMpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNTX0VBQ0hf
TkFNRShtYWNybykgXAorICAgIG1hY3JvKG5ld0FycmF5V2l0aFNpemUpIFwKICAgICBtYWNybyhw
dXRCeVZhbERpcmVjdCkgXAogICAgIG1hY3JvKHRvU3RyaW5nKQogCiAjZGVmaW5lIEpTQ19DT01N
T05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUobWFjcm8pIFwKICAgICBK
U0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJQ1NfRUFDSF9OQU1FKG1hY3JvKSBcCi0gICAgbWFj
cm8oc3ltYm9sSXRlcmF0b3IpIFwKICAgICBtYWNybyhpdGVyYXRlZE9iamVjdCkgXAogICAgIG1h
Y3JvKGFycmF5SXRlcmF0b3JOZXh0SW5kZXgpIFwKICAgICBtYWNybyhhcnJheUl0ZXJhdGlvbktp
bmQpIFwKQEAgLTI4MCw2ICsyODAsNyBAQAogICAgIG1hY3JvKGFicykgXAogICAgIG1hY3JvKGZs
b29yKSBcCiAgICAgbWFjcm8oaXNGaW5pdGUpIFwKKyAgICBtYWNybyhpc0FycmF5KSBcCiAgICAg
bWFjcm8oZ2V0UHJvdG90eXBlT2YpIFwKICAgICBtYWNybyhnZXRPd25Qcm9wZXJ0eU5hbWVzKSBc
CiAgICAgbWFjcm8oVHlwZUVycm9yKSBcCkBAIC0yOTcsNiArMjk4LDcgQEAKICAgICBtYWNybyhw
cm9taXNlUmVqZWN0UmVhY3Rpb25zKSBcCiAgICAgbWFjcm8ocHJvbWlzZVJlc3VsdCkgXAogICAg
IG1hY3JvKGNhcGFiaWxpdGllcykgXAorICAgIG1hY3JvKGlzQXJyYXlDb25zdHJ1Y3RvckluRGlm
ZmVyZW50UmVhbG0pIFwKIAogCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggMDU0ZjU3MWQ1NzllOGNlNGYz
NGI1NDA5MTdiOGQwMjhiNTBkZmI5Yi4uNzU5NmZhZDk2MWVhMjhlOGZlNjI5ZjQ1MjQ3ZjU2OTAz
OGQzMTA0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgRGF0ZUNvbnN0cnVjdG9yIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIERhdGVD
b25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90
b3R5cGUqIGRhdGVQcm90b3R5cGUpCisgICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3Rv
dHlwZSogZGF0ZVByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIERhdGVDb25zdHJ1Y3RvciogY29u
c3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxEYXRlQ29uc3RydWN0b3I+KHZt
LmhlYXApKSBEYXRlQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVj
dG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZGF0ZVByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggYjExODk0ZGJlNGI1
NjE0ZmQyMzBiNjBmNmFlM2JjOGJiMzVkMjkyZS4uYmZlZDdjODczNTExY2I1YzliY2E5MWYyYmEy
MzM2ZjcyYjEyN2FhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBFcnJvckNvbnN0cnVjdG9y
IDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJu
YWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5
cGUpCisgICAgc3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3Rv
dHlwZSkKICAgICB7CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJyb3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEVycm9y
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hD
cmVhdGlvbih2bSwgZXJyb3JQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2Qx
NGE5ZWY1NWY0YzMzMGMwZWU3OGYwZjg2Mzc3M2QwNWRjZjhjOS4uMTc5NGI4NGI0ZGJlMjhkZjcz
YmE0YTRjNGRkMWJmOGI1ODk1NjNiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC0yOCw4ICsy
OCwxMCBAQAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJz
LmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5o
IgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKKyNpbmNsdWRlICJKU0NCdWls
dGlucy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgogCkBAIC00NywyMiArNDksMjAgQEAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpKU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKIH0K
IAotdm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQordm9pZCBKU0FycmF5QnVmZmVyQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIkFycmF5QnVmZmVyIikpOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBy
b3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7Ci0KLSAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgSlNDX05BVElW
RV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pc1ZpZXcsIGFycmF5QnVmZmVyRnVuY0lzVmll
dywgRG9udEVudW0sIDEpOwogfQogCi1KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKK0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZSogcHJvdG90eXBlKQogewogICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogcmVzdWx0
ID0KICAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yPih2bS5oZWFwKSkKICAgICAgICAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKHZtLCBz
dHJ1Y3R1cmUpOwotICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7Cisg
ICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUpOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKaW5kZXggYjY1YjUyM2I2NGM0
YmRjN2FlMjE2NTJmMWNlMjAyMzQ5MTU5YjM0MS4uNjQ5MTQ5NDU1NmY4OGEyODg4NWU1OTU3OGJm
ZmRkMTVjNmYyYzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKQEAgLTM4LDEwICszOCwxMCBAQCBjbGFz
cyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAK
IHByb3RlY3RlZDoKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUq
KTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSop
OworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTQXJyYXlC
dWZmZXJQcm90b3R5cGUqKTsKIAogcHVibGljOgotICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUq
KTsKKyAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKICAgICAK
ICAgICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNDE5YzFiMjc3OTk0MjhiNmY2YWY1OTU4MjIx
OWRmOWIzZjE1MTgzZi4uODJiNjQ1MDg4MTU0YzkwOTgyNzY2M2VmOGFiZDAxZDMwYmU0MWJlYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cApAQCAtMTk1LDYgKzE5NSwxNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBlbnF1ZXVlSm9iKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpOworCisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gZXhlYy0+YXJndW1lbnQo
MCk7CisgICAgaWYgKEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SlNPYmpl
Y3QqPihjb25zdHJ1Y3RvclZhbHVlKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c0Jvb2xlYW4oY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAmJiBj
b25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0
b3IoKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7Cit9
CisKIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0TWV0aG9k
VGFibGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIDApCiAgICAgLCBtX3ZtKHZtKQpAQCAt
MjcwLDYgKzI4MCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIG1f
Y2FsbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgY2FsbEZ1bmN0aW9uKTsKICAgICBtX2FwcGx5RnVu
Y3Rpb24uc2V0KHZtLCB0aGlzLCBhcHBseUZ1bmN0aW9uKTsKICAgICBtX2FycmF5UHJvdG9WYWx1
ZXNGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwg
dm0ucHJvcGVydHlOYW1lcy0+dmFsdWVzLnN0cmluZygpLCBhcnJheVByb3RvRnVuY1ZhbHVlcykp
OworICAgIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBKU0Z1bmN0
aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGFycmF5Q29uc3RydWN0b3JTeW1ib2xTcGVj
aWVzQ29kZUdlbmVyYXRvcih2bSksIHRoaXMsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKICNp
ZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uLnNldCh2
bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25z
UHJvbWlzZUluaXRpYWxpemVQcm9taXNlQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpKTsKICAgICBt
X25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3Jl
YXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VEZWZlcnJl
ZENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSk7CkBAIC0zNzcsMTIgKzM4OCwxMiBAQCBtXyAjIyBw
cm9wZXJOYW1lICMjIFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIGluc3RhbmNlVHlwZTo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aAogICAgIG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5zZXQodm0sIHRo
aXMsIGRlZmluZVByb3BlcnR5RnVuY3Rpb24pOwogCiAgICAgSlNDZWxsKiBmdW5jdGlvbkNvbnN0
cnVjdG9yID0gRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBGdW5jdGlvbkNvbnN0cnVj
dG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkp
LCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwqIGFycmF5Q29uc3RydWN0
b3IgPSBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQ
cm90b3R5cGUuZ2V0KCkpOworICAgIG1fYXJyYXlDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEFy
cmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9hcnJheVBy
b3RvdHlwZS5nZXQoKSkpOwogICAgIAotICAgIG1fcmVnRXhwQ29uc3RydWN0b3Iuc2V0KHZtLCB0
aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9yZWdF
eHBQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3JlZ0V4cENvbnN0cnVjdG9yLnNldCh2bSwgdGhp
cywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1f
cmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CiAgICAgCiAjZGVmaW5lIENSRUFURV9DT05TVFJVQ1RP
Ul9GT1JfU0lNUExFX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5z
dGFuY2VUeXBlLCBqc05hbWUpIFwKLWNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5h
bWUgIyMgQ29uc3RydWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZt
LCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5n
ZXQoKSk7IFwKK2NhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5hbWUgIyMgQ29uc3Ry
dWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBjYXBp
dGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0
aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5nZXQoKSk7
IFwKIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgbG93ZXJOYW1lICMjIENvbnN0
cnVjdG9yLCBEb250RW51bSk7IFwKIAogICAgIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUo
Q1JFQVRFX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQRSkKQEAgLTQwMCwxMiArNDExLDEyIEBA
IG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jCiAgICAgbV90eXBlRXJyb3JDb25zdHJ1Y3Rvci5zZXQo
dm0sIHRoaXMsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgbmF0aXZl
RXJyb3JTdHJ1Y3R1cmUsIG5hdGl2ZUVycm9yUHJvdG90eXBlU3RydWN0dXJlLCBBU0NJSUxpdGVy
YWwoIlR5cGVFcnJvciIpKSk7CiAgICAgbV9VUklFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhp
cywgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0
cnVjdHVyZSwgbmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVVJJ
RXJyb3IiKSkpOwogI2lmIEVOQUJMRShQUk9NSVNFUykKLSAgICBtX3Byb21pc2VDb25zdHJ1Y3Rv
ci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3Byb21pc2VDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRo
aXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKICNlbmRp
ZgogICAgIAogICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG9iamVjdENvbnN0cnVjdG9yLCBE
b250RW51bSk7CiAgICAgbV9mdW5jdGlvblByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBmdW5jdGlvbkNvbnN0cnVj
dG9yLCBEb250RW51bSk7Ci0gICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBhcnJheUNvbnN0cnVj
dG9yLCBEb250RW51bSk7CisgICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX2FycmF5Q29uc3Ry
dWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBtX3JlZ0V4cFByb3RvdHlwZS0+cHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Jl
Z0V4cENvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAjaWYgRU5BQkxFKFBST01JU0VTKQog
ICAgIG1fcHJvbWlzZVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5nZXQoKSwg
RG9udEVudW0pOwpAQCAtNDEzLDcgKzQyNCw3IEBAIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jCiAg
ICAgCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pk9iamVjdCwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RnVuY3Rpb24sIGZ1bmN0aW9uQ29u
c3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+QXJyYXksIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXks
IG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SZWdFeHAsIG1fcmVnRXhwQ29uc3Ry
dWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+RXZhbEVycm9yLCBtX2V2YWxFcnJvckNvbnN0cnVjdG9yLmdl
dCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPlJhbmdlRXJyb3IsIG1fcmFuZ2VFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBE
b250RW51bSk7CkBAIC00OTMsOSArNTA0LDEwIEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT4ganNOYW1lLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0CiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5vYmplY3RHZXRPd25Q
cm9wZXJ0eVN5bWJvbHNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNPYmplY3RHZXRPd25Qcm9wZXJ0
eVN5bWJvbHMsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFRlbXBsYXRlT2JqZWN0UHJpdmF0
ZU5hbWUsIHByaXZhdGVGdW5jR2V0VGVtcGxhdGVPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmVucXVldWVKb2JQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAw
LCBTdHJpbmcoKSwgZW5xdWV1ZUpvYiksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlD
b25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG1Qcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwgaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFs
bSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlR5cGVFcnJvclByaXZhdGVOYW1lLCBtX3R5cGVF
cnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5CdWlsdGluTG9n
UHJpdmF0ZU5hbWUsIGJ1aWx0aW5Mb2csIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJp
dmF0ZU5hbWUsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5
UHJpdmF0ZU5hbWUsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+TnVtYmVyUHJpdmF0ZU5hbWUsIG51bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5TdHJpbmdQcml2YXRlTmFtZSwgc3RyaW5nQ29uc3RydWN0b3IsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmFic1ByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0FicywgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTAzLDEwICs1MTUsMTIgQEAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFt
ZSAjIyBDb25zdHJ1Y3QKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmdldFByb3RvdHlwZU9mUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jRmxvb3IsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmdldE93blByb3BlcnR5TmFtZXNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1
bmNGbG9vciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+aXNGaW5pdGVQcml2YXRlTmFtZSwgcHJp
dmF0ZUZ1bmNJc0Zpbml0ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAg
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+aXNBcnJheVByaXZhdGVO
YW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBhcnJheUNvbnN0
cnVjdG9ySXNBcnJheSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2lu
ZEtleVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXkpLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihB
cnJheUl0ZXJhdGVWYWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9u
S2luZEtleVZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleVZhbHVlKSwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8odm0ucHJvcGVydHlOYW1lcy0+c3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSwgU3ltYm9s
OjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+
aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5O
YW1lcygpLnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0
YXRpY19jYXN0PFN5bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wu
aW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbFNw
ZWNpZXNQcml2YXRlTmFtZSgpLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLmltcGwoKSkpLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+UHJvbWlzZVByaXZhdGVOYW1l
LCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+cHJv
bWlzZVBlbmRpbmdQcml2YXRlTmFtZSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
UHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKQEAgLTUxNiw2ICs1MzAsOCBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+IGpzTmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdAogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudG9M
ZW5ndGhQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvTGVuZ3RoLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5idWlsdGluTmFtZXMoKS50b0ludGVnZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVu
Y1RvSW50ZWdlciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNPYmpl
Y3RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGds
b2JhbE9iamVjdElzT2JqZWN0Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zcGVjaWVzQ29uc3RydWN0b3JQcml2YXRlTmFtZSgp
LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdFNwZWNp
ZXNDb25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkuYXJyYXlTcGVjaWVzQ3JlYXRlUHJpdmF0ZU5hbWUoKSwgSlNG
dW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zQXJyYXlBcnJheVNw
ZWNpZXNDcmVhdGVDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmlzUHJvbWlzZVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNy
ZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJc1Byb21pc2VDb2RlR2Vu
ZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
Lm5ld1Byb21pc2VSZWFjdGlvblByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0
aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlUmVhY3Rpb25Db2RlR2Vu
ZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
Lm5ld1Byb21pc2VDYXBhYmlsaXR5UHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVp
bHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VDYXBhYmlsaXR5Q29k
ZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CkBAIC01MzEsNyArNTQ3LDcgQEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3QKICAgICBtX3NwZWNp
YWxQb2ludGVyc1tTcGVjaWFsOjpDYWxsRnVuY3Rpb25dID0gbV9jYWxsRnVuY3Rpb24uZ2V0KCk7
CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6QXBwbHlGdW5jdGlvbl0gPSBtX2FwcGx5
RnVuY3Rpb24uZ2V0KCk7CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6T2JqZWN0Q29u
c3RydWN0b3JdID0gb2JqZWN0Q29uc3RydWN0b3I7Ci0gICAgbV9zcGVjaWFsUG9pbnRlcnNbU3Bl
Y2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBhcnJheUNvbnN0cnVjdG9yOworICAgIG1fc3BlY2lh
bFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3RydWN0b3JdID0gbV9hcnJheUNvbnN0cnVjdG9y
LmdldCgpOwogCiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
TGlua1RpbWVDb25zdGFudDo6RGVmaW5lUHJvcGVydHlGdW5jdGlvbildID0gbV9kZWZpbmVQcm9w
ZXJ0eUZ1bmN0aW9uLmdldCgpOwogCkBAIC03NTgsNiArNzc0LDcgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2dsb2JhbFRoaXMpOwogCiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xvYmFsQ2FsbGVlKTsKKyAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9hcnJheUNvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9yZWdFeHBDb25zdHJ1Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fZXJyb3JDb25zdHJ1Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fZXZhbEVycm9yQ29uc3RydWN0b3IpOwpAQCAtNzgwLDYgKzc5Nyw3IEBAIHZv
aWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcHBseUZ1bmN0
aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9kZWZpbmVQcm9wZXJ0eUZ1
bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJheVByb3RvVmFs
dWVzRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5U3Bl
Y2llc0dldHRlckZ1bmN0aW9uKTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1faW5pdGlhbGl6ZVByb21pc2VGdW5jdGlvbik7CiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXgg
MzM3YmI3NDZhMzJhZTAzNTYwMmU3N2NjN2QyMTk2NDhkYThmM2MwZC4uYjdiN2E1MDM3MjBkODAz
ZDAyZGIwYjQ2OGIxYjkyZTk3YzQ5ZTE5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC01NSw2ICs1NSw3IEBAIGNsYXNzIEpTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjsKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEFy
cmF5Q29uc3RydWN0b3I7CiBjbGFzcyBBcnJheVByb3RvdHlwZTsKIGNsYXNzIEJvb2xlYW5Qcm90
b3R5cGU7CiBjbGFzcyBDb25zb2xlQ2xpZW50OwpAQCAtMTc4LDYgKzE3OSw3IEBAIGNsYXNzIEpT
R2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFdy
aXRlQmFycmllcjxKU09iamVjdD4gbV9nbG9iYWxUaGlzOwogCiAgICAgV3JpdGVCYXJyaWVyPEpT
T2JqZWN0PiBtX2dsb2JhbENhbGxlZTsKKyAgICBXcml0ZUJhcnJpZXI8QXJyYXlDb25zdHJ1Y3Rv
cj4gbV9hcnJheUNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxSZWdFeHBDb25zdHJ1Y3Rv
cj4gbV9yZWdFeHBDb25zdHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8RXJyb3JDb25zdHJ1Y3Rv
cj4gbV9lcnJvckNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxOYXRpdmVFcnJvckNvbnN0
cnVjdG9yPiBtX2V2YWxFcnJvckNvbnN0cnVjdG9yOwpAQCAtMjAxLDYgKzIwMyw3IEBAIGNsYXNz
IEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAg
IFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2FwcGx5RnVuY3Rpb247CiAgICAgV3JpdGVCYXJy
aWVyPEpTRnVuY3Rpb24+IG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJp
ZXI8SlNGdW5jdGlvbj4gbV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb247CisgICAgV3JpdGVCYXJy
aWVyPEpTRnVuY3Rpb24+IG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb247CiAjaWYgRU5BQkxF
KFBST01JU0VTKQogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2luaXRpYWxpemVQcm9t
aXNlRnVuY3Rpb247CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fbmV3UHJvbWlzZURl
ZmVycmVkRnVuY3Rpb247CkBAIC0zODgsNiArMzkxLDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3Qg
OiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgLy8gVGhlIGZvbGxvd2lu
ZyBhY2Nlc3NvcnMgcmV0dXJuIHByaXN0aW5lIHZhbHVlcywgZXZlbiBpZiBhIHNjcmlwdCAKICAg
ICAvLyByZXBsYWNlcyB0aGUgZ2xvYmFsIG9iamVjdCdzIGFzc29jaWF0ZWQgcHJvcGVydHkuCiAK
KyAgICBBcnJheUNvbnN0cnVjdG9yKiBhcnJheUNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4g
bV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOyB9CiAgICAgUmVnRXhwQ29uc3RydWN0b3IqIHJlZ0V4
cENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKTsg
fQogCiAgICAgRXJyb3JDb25zdHJ1Y3RvciogZXJyb3JDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0
dXJuIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQoKTsgfQpAQCAtNDEyLDYgKzQxNiw3IEBAIGNsYXNz
IEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAg
IEpTRnVuY3Rpb24qIGFwcGx5RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FwcGx5RnVuY3Rp
b24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLmdldCgpOyB9CiAgICAgSlNGdW5j
dGlvbiogYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheVBy
b3RvVmFsdWVzRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICBKU0Z1bmN0aW9uKiBhcnJheVNwZWNpZXNH
ZXR0ZXJGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rp
b24uZ2V0KCk7IH0KICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgSlNGdW5jdGlvbiogaW5pdGlh
bGl6ZVByb21pc2VGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbGl6ZVByb21pc2VG
dW5jdGlvbi5nZXQoKTsgfQogICAgIEpTRnVuY3Rpb24qIG5ld1Byb21pc2VEZWZlcnJlZEZ1bmN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbi5nZXQoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGQyMGRh
YTIwNDUxZDJmYmVmMzNiY2Q5MTM0OTEwNGYxZmJjYjU4NzMuLjgyMWU2YzdlMDU4MmRlZjU0ZTA4
ZGIyYzJjYmUwYWI5MmE1ZTQwZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKQEAgLTE3NDgsNyArMTc0OCw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93
bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LCBjb25zdCBQ
CiAgICAgICAgIC8vIHN0YXRlIChpLmUuIGRlZmluZU93blByb3BlcnR5IGNvdWxkIGJlIHVzZWQg
dG8gc2V0IGEgdmFsdWUgd2l0aG91dCBuZWVkaW5nIHRvIGVudGVyaW5nICdTcGFyc2VNb2RlJyku
CiAgICAgICAgIGlmICghZGVzY3JpcHRvci5hdHRyaWJ1dGVzKCkpIHsKICAgICAgICAgICAgIEFT
U0VSVCghZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpKTsKLSAgICAgICAgICAgIHJl
dHVybiBwdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgZGVzY3JpcHRvci52YWx1ZSgpLCAwLCB0
aHJvd0V4Y2VwdGlvbiA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRl
eFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleChleGVj
LCBpbmRleCwgZGVzY3JpcHRvci52YWx1ZSgpLCAwLCB0aHJvd0V4Y2VwdGlvbiA/IFB1dERpcmVj
dEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90
VGhyb3cpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBlbnN1cmVBcnJheVN0b3JhZ2VF
eGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoZXhlYy0+dm0oKSk7CkBAIC0yMTQ0
LDkgKzIxNDQsOSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxl
bmd0aFdpdGhBcnJheVN0b3JhZ2UoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICBpZiAobW9kZSAh
PSBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QpIHsKICAgICAgICAgICAgIC8vIFByb2hpYml0
IGdyb3dpbmcgdGhlIGFycmF5IGlmIGxlbmd0aCBpcyBub3Qgd3JpdGFibGUuCiAgICAgICAgICAg
ICBpZiAobWFwLT5sZW5ndGhJc1JlYWRPbmx5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
amVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csIFN0cmljdE1vZGVS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVj
dChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQdXRE
aXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csIFN0cmljdE1vZGVSZWFkb25seVBy
b3BlcnR5V3JpdGVFcnJvcik7CiAgICAgICAgICAgICBpZiAoIWlzRXh0ZW5zaWJsZSgpKQotICAg
ICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJlY3RJbmRleFNo
b3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRoYXQg
aXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChleGVj
LCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQdXREaXJlY3RJ
bmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csICJBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9w
ZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKICAgICAgICAgfQogICAg
ICAgICBsZW5ndGggPSBpICsgMTsKICAgICAgICAgc3RvcmFnZS0+c2V0TGVuZ3RoKGxlbmd0aCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggNjg5NWVkODJmYWQ4MDc3Y2Q3Y2ZjMzA0NDFlNDY5MTA0Y2IyZWYy
Yy4uZTVmMDE3MWVlY2U1NWVjZWE2YmI3ZDY0ODUxNzE1OWJmYjkzOTRhYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJFeGNl
cHRpb24uaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJdGVyYXRvck9w
ZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFs
dWVJbmxpbmVzLmgiCkBAIC02MSwxMCArNjIsMTAgQEAgY29uc3QgQ2xhc3NJbmZvIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjoK
IEBlbmQKICovCiAKLUpTUHJvbWlzZUNvbnN0cnVjdG9yKiBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6
Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTUHJvbWlzZVByb3RvdHlwZSog
cHJvbWlzZVByb3RvdHlwZSkKK0pTUHJvbWlzZUNvbnN0cnVjdG9yKiBKU1Byb21pc2VDb25zdHJ1
Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKIHsK
ICAgICBKU1Byb21pc2VDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxKU1Byb21pc2VDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTUHJvbWlzZUNvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2
bSwgcHJvbWlzZVByb3RvdHlwZSk7CisgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZt
LCBnbG9iYWxPYmplY3QsIHByb21pc2VQcm90b3R5cGUpOwogICAgIHJldHVybiBjb25zdHJ1Y3Rv
cjsKIH0KIApAQCAtNzgsMTEgKzc5LDE0IEBAIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpKU1Byb21p
c2VDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogfQogCi12b2lk
IEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTUHJvbWlzZVBy
b3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKK3ZvaWQgSlNQcm9taXNlQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9t
aXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCBBU0NJSUxpdGVyYWwoIlByb21pc2UiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvbWlzZVByb3RvdHlw
ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBS
ZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVj
aWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAg
ICBzcGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9u
OjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHByb21pc2VDb25zdHJ1Y3RvclN5bWJvbFNwZWNp
ZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10i
KSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0K
IAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0UHJvbWlzZShF
eGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9taXNlQ29uc3RydWN0b3IuaAppbmRleCBmYzBmMDRkMmIyYjQzNjk4YTkwNGM1MWUyZmRk
YmE3YTM4MTI2NmYyLi4zZmRkMzcyOWM5ZmZhOWM3MjNmM2I0YjViMzU1MzQ0OTdhN2FmODYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0
cnVjdG9yLmgKQEAgLTQwLDEzICs0MCwxMyBAQCBjbGFzcyBKU1Byb21pc2VDb25zdHJ1Y3RvciA6
IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRp
YyBKU1Byb21pc2VDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgU3RydWN0dXJlKiwgSlNQcm9taXNl
UHJvdG90eXBlKik7CisgICAgc3RhdGljIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTUHJvbWlzZVByb3RvdHlwZSopOwogICAg
IHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNWYWx1ZSk7CiAKICAgICBERUNMQVJFX0lORk87CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgSlNQcm9taXNlUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNQcm9taXNlUHJvdG90eXBlKik7CiAKIHBy
aXZhdGU6CiAgICAgSlNQcm9taXNlQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAppbmRleCBm
YWQ1MmMwNTYwNDhlMThiN2VlYzQ5OGZmMTQ5NTNmZDkwZmNmZWRkLi4wMGZlOThlN2FjMmQ5Yzky
MjM0NWU3YTE1OWRlYmZkNTU5NzJmZGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAi
TWFwQ29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVy
U2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiSlND
QnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtMzksMTEgKzQx
LDE0IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gTWFwQ29uc3RydWN0b3I6
OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShNYXBDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKK3ZvaWQgTWFwQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sIG1hcFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbWFw
UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0
ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpT
RnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgbWFwQ29uc3RydWN0b3JTeW1ib2xT
cGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNp
ZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7
CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNYXAoRXhlY1N0
YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFw
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVj
dG9yLmgKaW5kZXggMWE4NWRlNWIxNWIwMDdkMWU5ZGZjOGI5Y2I2NTYxMTA4Yzc2Mzc4MC4uYjY1
OTVmODg0NGM5NjRiZThlNjYzOGZmZDQ0YTExZmQ1M2FhOWNkMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYsMTAgQEAg
Y2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgTWFwQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBNYXBQcm90b3R5
cGUqIG1hcFByb3RvdHlwZSkKKyAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBN
YXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE1hcENvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE1hcENvbnN0cnVjdG9y
Pih2bS5oZWFwKSkgTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0
cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBlKTsKKyAgICAgICAgY29uc3Ry
dWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1hcFByb3RvdHlwZSk7CiAg
ICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcgQEAgY2xh
c3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIE1hcFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCosIE1hcFByb3RvdHlwZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdl
dENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBDYWxs
VHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGY4YjFmN2Y0
NDM3MDNhYjQxOThkZDQzMjFlMjA5ZGZlNjY4ODJhM2MuLmE4YjE3MzVhNjA4NmIyMzE5OWI0YTY3
YmYyNjIwNTIyMzNlMzZiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBOdW1iZXJDb25z
dHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFs
RnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IElt
cGxlbWVudHNIYXNJbnN0YW5jZTsKIAotICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVtYmVy
UHJvdG90eXBlKQorICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBlKiBu
dW1iZXJQcm90b3R5cGUpCiAgICAgewogICAgICAgICBOdW1iZXJDb25zdHJ1Y3RvciogY29uc3Ry
dWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxOdW1iZXJDb25zdHJ1Y3Rvcj4odm0u
aGVhcCkpIE51bWJlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIG51bWJlclByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCmluZGV4IDNlYjNm
NTgxOGRmYjliOGMyZGExYWY0NWUxN2NhYjU1ZThlZTU1MWYuLjI2MGZjZTg1ZjBkMDAxNjBiN2Ix
YWFkOWY4NWExNzA1ZTVjZTk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCkBAIC0yOCw3ICsyOCwxNSBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAotZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeyBQdXREaXJlY3RJbmRleExpa2VQ
dXREaXJlY3QsIFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3csIFB1dERpcmVjdEluZGV4U2hv
dWxkVGhyb3cgfTsKK2VudW0gUHV0RGlyZWN0SW5kZXhNb2RlIHsKKyAgICBQdXREaXJlY3RJbmRl
eExpa2VQdXREaXJlY3QsCisgICAgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywKKyAgICBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93LAorCisgICAgLy8gRm9sbG93IHRoZSBFQ01BMjYyIDZ0
aCBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IHNlbWFudGljcy4KKyAgICAvLyBodHRwOi8vZWNt
YS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1jcmVhdGVkYXRhcHJvcGVydHlv
cnRocm93CisgICAgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93LAorfTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBlZTFkOGIzZmM2OWY5NDNiOTRhNTI1
OWNmN2MxODZjYWM2MzczZjc0Li4xZTM3YzZhOGI1MDY2YTc0ZjQxMjUzNzUxMWE4NTM2NzlhNzQ2
NDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuY3BwCkBAIC04OSw3ICs4OSw3IEBAIFJlZ0V4cENvbnN0cnVjdG9yOjpSZWdFeHBD
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5CiB7
CiB9CiAKLXZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVn
RXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUpCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKiBy
ZWdFeHBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFBy
b3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGlu
Zm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmgKaW5kZXggY2FiZWUxOWM5M2Q5YjI0NmM4MDg4NTFmMmFmZjRlMmFkMTA0NmExYS4u
NjQyNDBlZGM1NDBhOTljNjU0NzVlNmJiMWMwZmQwNjUwMjlkNThiZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zNSwxMCAr
MzUsMTAgQEAgY2xhc3MgUmVnRXhwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4
cFByb3RvdHlwZSkKKyAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdF
eHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cENvbnN0
cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFJlZ0V4cENv
bnN0cnVjdG9yPih2bS5oZWFwKSkgUmVnRXhwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSwgcmVn
RXhwUHJvdG90eXBlKTsKLSAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBy
ZWdFeHBQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0s
IGdsb2JhbE9iamVjdCwgcmVnRXhwUHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVj
dG9yOwogICAgIH0KIApAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6
IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgUmVnRXhwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAg
UmVnRXhwQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqLCBSZWdFeHBQcm90b3R5cGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRl
eCBmYjk3YjZkOWZhMGQwZWU2M2ExZDUyYTk4ODdlYzc3Njk4Zjc1M2RmLi5kMWIwMzUxNDBiMWFk
Yzc5ZDYxOTAzNmJhYjU3OWQzYjNlMTY4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVk
ZSAiU2V0Q29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0
dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAi
SlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTQ2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtNDAsMTEg
KzQyLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gU2V0Q29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShTZXRDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKK3ZvaWQgU2V0Q29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIHNldFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
c2V0UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKworICAgIEdldHRl
clNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVj
dCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBzZXRDb25zdHJ1Y3RvclN5
bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wu
c3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRF
bnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbFNldChF
eGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29u
c3RydWN0b3IuaAppbmRleCBlZmJkODhiYjMyMmZkZGFhYjliNzU2NDM5MDNhOTdkZTc4NWU1ODAw
Li5iNjg0MWY3MzUwZmNkMzIzYzdmMzMxOTJkYmI5ZDE5MTAwYjY5MmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDEwICszNiwx
MCBAQCBjbGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBT
ZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFNldFBy
b3RvdHlwZSogc2V0UHJvdG90eXBlKQorICAgIHN0YXRpYyBTZXRDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU2V0Q29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U2V0Q29uc3Ry
dWN0b3I+KHZtLmhlYXApKSBTZXRDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzZXRQcm90b3R5cGUpOworICAgICAgICBj
b25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgc2V0UHJvdG90eXBl
KTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyArNTUsNyBA
QCBjbGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgU2V0UHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgU2V0UHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGlj
IENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcApp
bmRleCA2MmQzNGJhYWZkZGI0MGVlYTBmNjE1ZjA2MjA3YTI5YWI5ZmY5OTgzLi5jYjUzNzBiMWFl
YjI2ZjlmNmYxODI2MTZkMjFkYTkwNjY0Zjc4MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcApAQCAtMTE2LDcgKzEx
NiwyNSBAQCBib29sIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dERpcmVjdChFeGVjU3RhdGUqIGV4
ZWMsIEpTT2JqZWN0KiBhcnJheSwgdW5zaWduZWQgaQogICAgIC8vIGV4dGVuc2libGUsIHRoaXMg
aXMgbm90IHRoZSByaWdodCB0aGluZyB0byBoYXZlIGRvbmUgLSBzbyByZW1vdmUgYWdhaW4uCiAg
ICAgaWYgKG1vZGUgIT0gUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0ICYmIHJlc3VsdC5pc05l
d0VudHJ5ICYmICFhcnJheS0+aXNFeHRlbnNpYmxlKCkpIHsKICAgICAgICAgcmVtb3ZlKHJlc3Vs
dC5pdGVyYXRvcik7Ci0gICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2Jq
ZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgIHJldHVybiByZWplY3QoZXhl
YywgbW9kZSA9PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0
SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJv
cGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgfQorCisgICAg
aWYgKG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93ICYmICFy
ZXN1bHQuaXNOZXdFbnRyeSkgeworICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIERvbnRE
ZWxldGUpIHsKKyAgICAgICAgICAgIGlmICghKGF0dHJpYnV0ZXMgJiBEb250RGVsZXRlKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8g
Y2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHku
Iik7CisKKyAgICAgICAgICAgIGlmICgoZW50cnkuYXR0cmlidXRlcyAmIERvbnRFbnVtKSAhPSAo
YXR0cmlidXRlcyAmIERvbnRFbnVtKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBl
RXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGVudW1lcmFibGUgYXR0cmlidXRlIG9m
IHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJp
YnV0ZXMgJiBBY2Nlc3NvcikKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3Io
ZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFuIHVuY29u
ZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJpYnV0ZXMg
JiBSZWFkT25seSkgeworICAgICAgICAgICAgICAgIGlmICghKGF0dHJpYnV0ZXMgJiBSZWFkT25s
eSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0
ZW1wdGluZyB0byBjaGFuZ2Ugd3JpdGFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHBy
b3BlcnR5LiIpOworICAgICAgICAgICAgICAgIGlmICghc2FtZVZhbHVlKGV4ZWMsIGVudHJ5Lmdl
dChleGVjLCBhcnJheSksIHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93
VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB2YWx1ZSBvZiBhIHJlYWRvbmx5
IHByb3BlcnR5LiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgZW50
cnkuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAppbmRleCAzNTc1MTFhNTc2NTRlMTY4MjVmZDIy
YjBhZTY3NzM4OWQyMDNjMjAzLi5kMmEyMTUyZGZmNmQ4OGJiZGQ2YzVmYWZmZDEyMmIwMDc1OTI2
M2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0
cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgU3RyaW5nQ29uc3RydWN0b3IgOiBwdWJs
aWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgU3Ry
aW5nQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJp
bmdQcm90b3R5cGUqIHN0cmluZ1Byb3RvdHlwZSkKKyAgICBzdGF0aWMgU3RyaW5nQ29uc3RydWN0
b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3RyaW5n
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3Ry
aW5nQ29uc3RydWN0b3I+KHZtLmhlYXApKSBTdHJpbmdDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJl
KTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzdHJpbmdQcm90b3R5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29u
c3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVj
dG9yLmgKaW5kZXggMzQ0YTk3OGFiMGFjNzRlMTU0ODNiM2VlMmU1NzlmYWQwMWQ3Y2UzNC4uM2Iz
OTNmZDFhMGE3NGYwMzAzM2RmZGE5NDI3ZDFhZTRkNzM1YWIwYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCkBAIC0zOSw3ICszOSw3
IEBAIGNsYXNzIFN5bWJvbENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
ICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEJhc2U6
OlN0cnVjdHVyZUZsYWdzOwogCi0gICAgc3RhdGljIFN5bWJvbENvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUp
CisgICAgc3RhdGljIFN5bWJvbENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1ib2xQcm90b3R5cGUqIHByb3RvdHlwZSkK
ICAgICB7CiAgICAgICAgIFN5bWJvbENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPFN5bWJvbENvbnN0cnVjdG9yPih2bS5oZWFwKSkgU3ltYm9sQ29u
c3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVh
dGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha01hcENvbnN0cnVjdG9yLmgKaW5kZXggNjZlZGJjYjE2ZDg5YTViNjY0ODBhZWRhMzM2
MzNiNjg1MmVlNDg5Ni4uNmM5YWQzOWU1MWU1N2JjNDQ5ZTIxZThlZDdiZmU2MGEyYWVkODFiYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVj
dG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha01hcENvbnN0cnVjdG9yIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlv
biBCYXNlOwogCi0gICAgc3RhdGljIFdlYWtNYXBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBz
dGF0aWMgV2Vha01hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCos
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrTWFwUHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAg
ewogICAgICAgICBXZWFrTWFwQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxs
LCBhbGxvY2F0ZUNlbGw8V2Vha01hcENvbnN0cnVjdG9yPih2bS5oZWFwKSkgV2Vha01hcENvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtTZXRDb25zdHJ1Y3Rvci5oCmluZGV4IDdmNmZiNmE1ZTc2OGViZjQwOGNhNmNlNzVhZDUy
ZTZlYzU4Mzk5NjQuLjI4ODljOWMwOTA5YTk1NDA2ZTA3ODI3ODhmY2RhM2QwOTQyZmRjNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rv
ci5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIFdlYWtTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJ
bnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKIAotICAgIHN0YXRpYyBXZWFrU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90eXBlKiBwcm90b3R5cGUpCisgICAgc3Rh
dGljIFdlYWtTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha1NldFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgV2Vha1NldENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPFdlYWtTZXRDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFdlYWtTZXRDb25zdHJ1
Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9u
KHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkyNzE0NTI0YTYyYjY5ZTdlZjk1
ODkzZjBiOGUwOWZkYjg2ZDc4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMKQEAgLTAsMCArMSw0MjQgQEAKK2Z1
bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpCit7CisgICAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFs
KTsKK30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgZXJyb3JNZXNzYWdlKQoreworICAg
IHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5
IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3JUaHJv
d24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJyb3JUaHJv
d24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicpOworICAgIGlmIChTdHJp
bmcoZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihgYmFk
IGVycm9yOiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK3Nob3VsZEJlKHR5cGVvZiBTeW1ib2wu
c3BlY2llcywgJ3N5bWJvbCcpOworCisvLyBQcm9taXNlIGlzIHRlc3RlZCBpbiBET00gbGF5b3V0
IHRlc3RzLgorc2hvdWxkQmUoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKSksICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25m
aWd1cmFibGUiOnRydWV9Jyk7CitzaG91bGRCZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6
ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKEpTT04uc3RyaW5naWZ5KE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKSksICd7
ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7CitzaG91bGRCZSh0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKS5n
ZXQsICdmdW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJl
KHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wuc3Bl
Y2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVmaW5lZCcpOwor
c2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1i
b2wuc3BlY2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVm
aW5lZCcpOworc2hvdWxkQmUoU2V0W1N5bWJvbC5zcGVjaWVzXSwgU2V0KTsKK3Nob3VsZEJlKE1h
cFtTeW1ib2wuc3BlY2llc10sIE1hcCk7CitzaG91bGRCZShBcnJheVtTeW1ib2wuc3BlY2llc10s
IEFycmF5KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBT
eW1ib2wuc3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0KSwgT2JqZWN0KTsKK3Nob3VsZEJlKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2llcykuZ2V0LmNhbGwo
T2JqZWN0KSwgT2JqZWN0KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworCisv
LyBBcnJheS4KKy8vIEN1cnJlbnRseSwgQXJyYXkgaXMgbm90IHN1YmNsYXNzYWJsZSBieSB1c2lu
ZyBjbGFzcyBzeW50YXguCitmdW5jdGlvbiBFeHRlbmRlZEFycmF5KGxlbmd0aCkKK3sKKyAgICB2
YXIgcmVzdWx0ID0gbmV3IEFycmF5KGxlbmd0aCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4
dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgIHJldHVybiByZXN1bHQ7Cit9CitFeHRlbmRlZEFy
cmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CitzaG91bGRCZShFeHRl
bmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CitFeHRlbmRl
ZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZEFy
cmF5OworCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgyMCk7CitzaG91bGRCZShl
eHRlbmRlZC5sZW5ndGgsIDIwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkoZXh0ZW5kZWQpLCB0
cnVlKTsKKworLy8gbWFwLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7Citl
eHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7
CitzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIw
KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDAp
Oworc2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLm1hcCwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0
ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsg
fSk7CitzaG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3No
b3VsZEJlKHJlc3VsdC5sZW5ndGgsIDMpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworc2hv
dWxkQmUocmVzdWx0WzFdLCA5MDApOworc2hvdWxkQmUocmVzdWx0WzJdLCAxNjAwKTsKK3Nob3Vs
ZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGZpbHRlci4KK3ZhciBleHRl
bmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRl
ZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3Ro
LCAzKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwg
MzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRl
ZC5maWx0ZXIsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLmZpbHRlcihmdW5j
dGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlID09PSA0MDsgfSk7CitzaG91bGRCZShyZXN1bHQg
aW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgs
IDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJl
c3VsdCksIHRydWUpOworCisvLyBjb25jYXQuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRB
cnJheSgwKTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRl
ZC5wdXNoKDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91bGRCZShleHRl
bmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkWzJdLCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQuY29uY2F0LCAnZnVuY3Rpb24n
KTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5jb25jYXQoWzUwLCA2MCwgNzBdKTsKK3Nob3VsZEJl
KHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0
Lmxlbmd0aCwgNik7CitzaG91bGRCZShyZXN1bHRbMF0sIDIwKTsKK3Nob3VsZEJlKHJlc3VsdFsx
XSwgMzApOworc2hvdWxkQmUocmVzdWx0WzJdLCA0MCk7CitzaG91bGRCZShyZXN1bHRbM10sIDUw
KTsKK3Nob3VsZEJlKHJlc3VsdFs0XSwgNjApOworc2hvdWxkQmUocmVzdWx0WzVdLCA3MCk7Citz
aG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworCisvLyBzbGljZS4KK3ZhciBl
eHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRl
bmRlZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworZXh0ZW5kZWQucHVzaCg1MCk7Citl
eHRlbmRlZC5wdXNoKDYwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRC
ZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJl
KGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNTApOworc2hvdWxkQmUo
ZXh0ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5zbGljZSwgJ2Z1bmN0
aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuc2xpY2UoMyk7CitzaG91bGRCZShyZXN1bHQg
aW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgs
IDIpOworc2hvdWxkQmUocmVzdWx0WzBdLCA1MCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDYwKTsK
K3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIHNwbGljZS4KK3Zh
ciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7Citl
eHRlbmRlZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworZXh0ZW5kZWQucHVzaCg1MCk7
CitleHRlbmRlZC5wdXNoKDYwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91
bGRCZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3Vs
ZEJlKGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNTApOworc2hvdWxk
QmUoZXh0ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5zbGljZSwgJ2Z1
bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuc3BsaWNlKDMsIDEsIDQyKTsKK3Nob3Vs
ZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVz
dWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDUwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkIGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShleHRlbmRlZC5s
ZW5ndGgsIDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVk
WzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUoZXh0ZW5kZWRb
M10sIDQyKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRCZShBcnJheS5pc0Fy
cmF5KHJlc3VsdCksIHRydWUpOworCisvLyBBcnJheVNwZWNpZXNDcmVhdGUgYWJzdHJhY3Qgb3Bl
cmF0aW9uIGVkZ2UgY2FzZXMuCit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwoeyAwOiAxMCwgbGVu
Z3RoOiAxIH0sIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsK
K3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQu
X19wcm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7
CitzaG91bGRCZShyZXN1bHRbMF0sIDEwMCk7CisKK2Z1bmN0aW9uIFRlc3QoKQoreworICAgIHZh
ciByZXN1bHQgPSBbXTsKKyAgICByZXN1bHRbMF0gPSAyMDsKKyAgICByZXN1bHQubGVuZ3RoID0g
MTsKKyAgICByZXN1bHQuX19wcm90b19fID0gVGVzdC5wcm90b3R5cGU7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkobmV3IFRlc3QoKSksIHRydWUpOwordmFy
IHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0
dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwg
dHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hv
dWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwMCk7CitUZXN0
LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBUZXN0OwordmFyIHJlc3Vs
dCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZh
bHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7
CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBUZXN0LnByb3RvdHlwZSk7CitzaG91bGRCZShy
ZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90
eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IG51bGw7Cit2YXIgcmVzdWx0ID0gW10u
bWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2
YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3Vs
ZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQu
bGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNv
bnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IG51bGw7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNh
bGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsg
fSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJl
c3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3Ro
LCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVj
dG9yW1N5bWJvbC5zcGVjaWVzXSA9ICJIZWxsbyI7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7
CisgICAgdmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFs
dWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNv
bnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKK1Rlc3QucHJvdG90eXBl
LmNvbnN0cnVjdG9yID0gdW5kZWZpbmVkOwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBU
ZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3No
b3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19w
cm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7Citz
aG91bGRCZShyZXN1bHRbMF0sIDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IG51
bGw7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgdmFyIHJlc3VsdCA9IFtdLm1hcC5j
YWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7
IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90
IGEgZnVuY3Rpb24iKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gIkhlbGxvIjsKK3No
b3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3
IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOwor
fSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5j
dGlvbiIpOworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQor
ICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0
Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBz
ZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJP
VVQiKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAg
ICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9
IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5j
b25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUu
Y29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICAoZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4
dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICAg
ICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5n
dGgsIDMpOworICAgICAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICAg
ICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzJdLCAzMCk7CisgICAgICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBj
b25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAg
ICAgICB9KCkpOworICAgIH0KKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3Ry
aWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAg
ICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAg
c2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7Cisg
ICAgICAgICAgICAgICAgdmFsdWU6IDMwCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlR5
cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5j
b25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlvbiAo
KSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRB
cnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDEwLAorICAg
ICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZh
bHNlLAorICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBBcnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5
cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90
eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAo
ZnVuY3Rpb24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRl
ZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3Ro
LCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDEwKTsKKyAgICAgICAgc2hvdWxk
QmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsK
KyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdmFyIHJlc3Vs
dCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAiVHlwZUVycm9y
OiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmln
dXJhYmxlIHByb3BlcnR5LiIpOworICAgIH0oKSk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAg
ICAgICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVk
QXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1
c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBz
aG91bGRCZShleHRlbmRlZFswXSwgMTApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwg
MjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRU
aHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0
ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgICAgICB2YWx1ZTogMzAKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSB2YWx1ZSBvZiBhIHJl
YWRvbmx5IHByb3BlcnR5LiIpOworICAgIH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgewor
ICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9
IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXku
cHJvdG90eXBlOworICAgICAgICByZXN1bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwLAorICAgICAgICAg
ICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAor
ICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBB
cnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29u
c3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNv
bnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rp
b24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5l
dyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBl
eHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsK
KyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRl
bmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAg
ICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0
ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgIHJldHVybiB2YWx1
ZSAqIHZhbHVlOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVt
cHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUg
cHJvcGVydHkuIik7CisgICAgfSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1
c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgp
OworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7
CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAgICB2YWx1ZTogMAorICAgICAgICB9KTsK
KyAgICB9KCkpOworfSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRl
ZEFycmF5KCkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAg
ICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAg
cmVzdWx0LnB1c2goMTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAw
LCB7CisgICAgICAgICAgICB2YWx1ZTogMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNl
LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgd3JpdGFibGU6
IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBF
eHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CisgICAg
c2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJy
YXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVj
aWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAidXNl
IHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7Cisg
ICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0
ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAg
ICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5k
ZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFs
dWU7CisgICAgICAgIH0pOworICAgIH0oKSk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAg
ICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJy
YXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2go
MzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91
bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7
CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDAKKyAgICAgICAg
fSk7CisgICAgfSgpKTsKK30oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWVjZWUzYjZlOGEyMTRiZGVjODRlOTIyMTFk
YjVhNGQ0ZWY3ZDg2MC4uM2UwNDMzMDUzZjNmNDViYTMzZGYyMTdiNjg0MTZmOWJmYjZjYjc1ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTA3LTIwICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIFN1cHBvcnQgQEBzcGVjaWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IFByb21pc2UuCisgICAgICAgIE90aGVyIGNhc2VzIGxpa2UgQXJyYXksIFNldCBhbmQgTWFwIGFy
ZSBsb2NhdGUgdW5kZXIgSlNDIGRpcmVjdG9yeS4KKworICAgICAgICAqIGZhc3QvY3NzLWludHJp
bnNpYy1kaW1lbnNpb25zL2hlaWdodC1wcm9wZXJ0eS12YWx1ZS5odG1sLm9yaWc6IFJlbW92ZWQu
CisgICAgICAgICoganMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJl
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNw
ZWNpZXMtZGlmZmVyZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJh
Y2Utc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNl
LXJhY2Utc3BlY2llcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZWpl
Y3Qtc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNl
LXJlamVjdC1zcGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJl
c29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBq
cy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVz
LWludmFsaWQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1z
cGVjaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1zcGVjaWVzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFs
bS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9hcnJheS1zcGVjaWVzLWlu
LWRpZmZlcmVudC1yZWFsbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vc2NyaXB0LXRl
c3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBqcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanM6CisKIDIwMTUt
MDctMjAgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogU2VsZWN0
aW9uIGNoYW5nZSBhcyBhIHJlc3VsdCBvZiBmb2N1c2luZyBhbiBlbGVtZW50IG1heSBjYXVzZSBT
YWZhcmkgdG8gY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWludHJpbnNp
Yy1kaW1lbnNpb25zL2hlaWdodC1wcm9wZXJ0eS12YWx1ZS5odG1sLm9yaWcgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1pbnRyaW5zaWMtZGltZW5zaW9ucy9oZWlnaHQtcHJvcGVydHktdmFsdWUuaHRt
bC5vcmlnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDVjZDIxNTQ2ZDZlY2VkYThl
NjE0MjFmNDYwMmU3MGNhMjNlNjA4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWludHJpbnNpYy1kaW1lbnNpb25zL2hl
aWdodC1wcm9wZXJ0eS12YWx1ZS5odG1sLm9yaWcKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCww
IEBACi08IWRvY3R5cGUgaHRtbD4KLTwhLS0KLSAgICBUZXN0cyB0aGF0IHRoZSBoZWlnaHQga2V5
d29yZHMgYXJlIG5vdCByZXNwZWN0ZWQgYnkgdGhlIHBhcnNlciB5ZXQuCi0tLT4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotCi08ZGl2IHN0
eWxlPSJoZWlnaHQ6IC13ZWJraXQtbWluLWNvbnRlbnQ7IG1pbi1oZWlnaHQ6IC13ZWJraXQtbWlu
LWNvbnRlbnQ7IG1heC1oZWlnaHQ6IC13ZWJraXQtbWluLWNvbnRlbnQ7Ij48L2Rpdj4KLTxkaXYg
c3R5bGU9ImhlaWdodDogLXdlYmtpdC1tYXgtY29udGVudDsgbWluLWhlaWdodDogLXdlYmtpdC1t
YXgtY29udGVudDsgbWF4LWhlaWdodDogLXdlYmtpdC1tYXgtY29udGVudDsiPjwvZGl2PgotPGRp
diBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlOyBtaW4taGVpZ2h0OiAtd2Vi
a2l0LWZpbGwtYXZhaWxhYmxlOyBtYXgtaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlOyI+
PC9kaXY+Ci08ZGl2IHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtZml0LWNvbnRlbnQ7IG1pbi1oZWln
aHQ6IC13ZWJraXQtZml0LWNvbnRlbnQ7IG1heC1oZWlnaHQ6IC13ZWJraXQtZml0LWNvbnRlbnQ7
Ij48L2Rpdj4KLQotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCB0aGUgaGVp
Z2h0IGtleXdvcmRzIGFyZSBub3QgZXhwb3NlZCB5ZXQuJyk7Ci0KLSAgICB2YXIgZGl2cyA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdicpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
ZGl2cy5sZW5ndGg7ICsraSkgewotICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCdkaXZzW2ld
LnN0eWxlLmhlaWdodCcpOwotICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCdkaXZzW2ldLnN0
eWxlLm1pbkhlaWdodCcpOwotICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCdkaXZzW2ldLnN0
eWxlLm1heEhlaWdodCcpOwotICAgIH0KLQotICAgIHZhciBQUkVGSVggPSAnLXdlYmtpdC0nOwot
ICAgIHZhciBLRVlXT1JEUyA9IFsnbWluLWNvbnRlbnQnLCAnbWF4LWNvbnRlbnQnLCAnZmlsbC1h
dmFpbGFibGUnLCAgJ2ZpdC1jb250ZW50J107Ci0gICAgdmFyIGRpdjsKLQotICAgIEtFWVdPUkRT
LmZvckVhY2goZnVuY3Rpb24oa2V5d29yZCkgewotICAgICAgICBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgZGl2LnN0eWxlLmhlaWdodCA9IFBSRUZJWCArIGtl
eXdvcmQ7Ci0gICAgICAgIGRpdi5zdHlsZS5taW5IZWlnaHQgPSBQUkVGSVggKyBrZXl3b3JkOwot
ICAgICAgICBkaXYuc3R5bGUubWF4SGVpZ2h0ID0gUFJFRklYICsga2V5d29yZDsKLSAgICAgICAg
c2hvdWxkQmVFbXB0eVN0cmluZygnZGl2LnN0eWxlLmhlaWdodCcpOwotICAgICAgICBzaG91bGRC
ZUVtcHR5U3RyaW5nKCdkaXYuc3R5bGUubWluSGVpZ2h0Jyk7Ci0gICAgICAgIHNob3VsZEJlRW1w
dHlTdHJpbmcoJ2Rpdi5zdHlsZS5tYXhIZWlnaHQnKTsKLSAgICB9KTsKLTwvc2NyaXB0PgotCi08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBl
Y3RlZC50eHQKaW5kZXggYjA1NDRjZWZmNDk4ZTBkYjdlMmZjNjIyNDA4ZTVkMGZiNWVhMWYwOC4u
ZDUxODYyNjQzZDYxOGI1MmQ3NmVlMjI1ZWNlYjI2NDMzMjNmMDAxNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dApA
QCAtNjEsNyArNjEsNyBAQCBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRXJyb3IpIGlz
IFsnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVy
dHlOYW1lcyhFcnJvci5wcm90b3R5cGUpIGlzIFsnY29uc3RydWN0b3InLCAnbWVzc2FnZScsICdu
YW1lJywgJ3RvU3RyaW5nJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhNYXRoKSBp
cyBbJ0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywnTE9HMkUnLCdQSScsJ1NRUlQxXzInLCdTUVJU
MicsJ2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4nLCdhc2luaCcsJ2F0YW4nLCdhdGFuMicsJ2F0
YW5oJywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2NvcycsJ2Nvc2gnLCdleHAnLCdleHBtMScsJ2Zs
b29yJywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywnbG9nJywnbG9nMTAnLCdsb2cxcCcsJ2xvZzIn
LCdtYXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdyb3VuZCcsJ3NpZ24nLCdzaW4nLCdzaW5oJywn
c3FydCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFt
ZXMoSlNPTikgaXMgWydwYXJzZScsICdzdHJpbmdpZnknXQotUEFTUyBnZXRTb3J0ZWRPd25Qcm9w
ZXJ0eU5hbWVzKFN5bWJvbCkgaXMgWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0
aCcsICduYW1lJywgJ3Byb3RvdHlwZScsICd1bnNjb3BhYmxlcyddCitQQVNTIGdldFNvcnRlZE93
blByb3BlcnR5TmFtZXMoU3ltYm9sKSBpcyBbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3InLCAn
bGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29wYWJsZXMnXQog
UEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN5bWJvbC5wcm90b3R5cGUpIGlzIFsnY29u
c3RydWN0b3InLCAndG9TdHJpbmcnLCAndmFsdWVPZiddCiBQQVNTIGdsb2JhbFByb3BlcnR5TmFt
ZXMuaW5kZXhPZignTmFOJykgIT0gLTEgaXMgdHJ1ZQogUEFTUyBnbG9iYWxQcm9wZXJ0eU5hbWVz
LmluZGV4T2YoJ0luZmluaXR5JykgIT0gLTEgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWUwMTRjMjFmNDZjZDgwMjY0MzlhYmExZTQ0YmEwZmFmOTk4YjYyZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVz
LWRpZmZlcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBzdWJjbGFzc2Vk
IFByb21pc2UuYWxsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5k
ZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFBy
b21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxs
KFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFs
c2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIp
XSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgdGhlblJlc3VsdCBp
cyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRl
bmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRtbCBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUwNmJlY2M2OTk3N2U1Yzk0N2RlOTYwOTYzNDc2YzI4NmI3YzQzY2EKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQu
aHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9t
aXNlLmFsbC4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50
bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFBy
b21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9y
KTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7Cisg
ICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9
IFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxk
QmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJv
bWlzZSIpOworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFBy
b21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21p
c2UiKTsKK3Nob3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9i
YWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLmFs
bChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihmdW5jdGlvbiAoW3ZhbHVlXSkg
eworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwg
IjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3Vs
dCIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJ0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0
ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGRlNjUxMzY5NDQ2NjZkYWU2ZjAxM2VlYzJmNDNiM2FmODA2OTk0ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtQ
cm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlz
IGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGlu
c3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNzQyZDkyNWI4
MmUxMWJiYjY2ZTI1YzE3MGQyNGVjN2Q4ZDAxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UuYWxsLicpOworCit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3Vw
cG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZh
ciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19f
ID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4
dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitF
eHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5k
ZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQ
cm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOwor
c2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2
ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZp
bmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MildKS50aGVuKGZ1bmN0aW9uIChbdmFsdWVdKSB7CisgICAgZ2xvYmFsVmFs
dWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJv
bWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTA2ZTgwODhiZGM1MmU4ZGUyNDFjZDZhMzEwYmM4MWVh
OTg5ZWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFj
ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBz
dWJjbGFzc2VkIFByb21pc2UucmFjZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5z
dGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9t
aXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRl
ZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQ
cm9taXNlIGlzIGZhbHNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFT
UyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBp
bnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0
MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJl
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYjU0MDdkYzhjNzhhNDc0ZGExYWI3MzNjNjA2ZjUzMjI2ZDNh
ZDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1z
cGVjaWVzLWRpZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dCBzdWJjbGFzc2VkIFByb21pc2UucmFjZS4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitm
dW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJv
bWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2Uu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNl
W1N5bWJvbC5zcGVjaWVzXSA9IFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0g
UHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5y
ZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNl
LnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsKK3Nob3Vs
ZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5z
dGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoIkV4dGVuZGVkUHJvbWlz
ZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVk
UHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3Vs
dCA9IEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKS50
aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hv
dWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3No
b3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJ0aGVu
UmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNl
LXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1z
cGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2QzNTgxZWIzMDQ1N2VhMGRlY2ZmYzlh
MzJhMTJmMWMyZmQ3YzM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmFjZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IHN1
YmNsYXNzZWQgUHJvbWlzZS5yYWNlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlz
ZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFT
UyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJh
Y2Utc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDJiYTAwYmY0OWZhZDYzOTExODdiZTg4YzhlMjJjNjFjNGZkZjc5
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3Bl
Y2llcy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2Vk
IFByb21pc2UucmFjZS4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBD
dXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRl
bmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4
ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5
cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVj
aWVzXSA9IEV4dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9t
aXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29s
dmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJv
bWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21p
c2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBF
eHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihm
dW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJl
KCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRC
ZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVq
ZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVq
ZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5YThiYWJmYTY3MGEzZjUzYjI1
ZGI3ZWQ4MzlkMTVjY2UyZDA4MzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
VGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVqZWN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlamVjdCg0MikgaXMgYW4gaW5zdGFuY2Ugb2Yg
RXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5k
ZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJlamVjdC1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE1MThiNjA5NDI5MmQ5ZDAxYzRk
YzY3ZjBhZWE2NGQ3NDgzNzJhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZWplY3QuJyk7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0
ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBF
eHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5k
ZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVu
ZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFBy
b21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21p
c2UucmVqZWN0KDQyKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2JhbFZhbHVlID0g
dW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UucmVqZWN0KDQyKS5j
YXRjaChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNo
b3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Citz
aG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJjZWRiNWQ1YTU1OTE0NzllZTcwYmEwMDFmMWM4OGM1Yjg2OWFlOTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMt
ZGlmZmVyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IHN1YmNsYXNzZWQg
UHJvbWlzZS5yZXNvbHZlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0
ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlz
ZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgdGhlblJl
c3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBnbG9iYWxWYWx1
ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2ll
cy1kaWZmZXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3Bl
Y2llcy1kaWZmZXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTE2MTRkMDc1ODUwY2ZlOTBhODYzZThm
ZjBlMTIyNDIzZmQzZjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4nKTsKKword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90
IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAg
ICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJv
dG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9
CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBl
OworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IFByb21pc2U7CitFeHRlbmRlZFBy
b21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9
IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIp
LnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBz
aG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwor
c2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoInRo
ZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJl
c29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1y
ZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmNmQ1ZWY3MTA3ZWE3NmY1
YWY0OGY0Mjc1YzI5N2Q4NmUzMDgwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMgYW4gaW5zdGFu
Y2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2Yg
RXh0ZW5kZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyZWE0ODA4ZDlhNzNjYWViY2E2OWYxMTkzMGM4OTc4ODliZjcw
MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZl
LXNwZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBzdWJj
bGFzc2VkIFByb21pc2UucmVzb2x2ZSB3aXRoIGludmFsaWQgQEBzcGVjaWVzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIGlz
IGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyB0ZXN0KCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogY29uc3RydWN0b3IuQEBzcGVjaWVzIGlzIG5vdCBhIGNvbnN0cnVjdG9y
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZh
bGlkLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52
YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4ZTllYWUzYThhZTRmMjAwNjdjNTM4NGI0NWE3MWNkMDA3
MjEzMjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNv
bHZlLXNwZWNpZXMtaW52YWxpZC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZSB3aXRoIGludmFsaWQgQEBzcGVjaWVzLicp
OworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCitmdW5j
dGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQ
cm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlz
ZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFByb21pc2UucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5
bWJvbC5zcGVjaWVzXSA9IHt9OworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7
CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwgIkV4dGVuZGVk
UHJvbWlzZSIpOworCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIEV4dGVuZGVkUHJvbWlzZS5yZXNv
bHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkge30pOworfQorc2hvdWxkVGhyb3coInRlc3Qo
KSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdjMzEwZmJjNDc0
ZTMwN2YyMmFlZTI5MGU0YjYwMjg5YzhlNjYyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzggQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4nKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMg
bm90IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsK
KyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9f
cHJvdG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7
Cit9CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90
eXBlOworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlzZTsK
K0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4
dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGds
b2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2Uu
cmVzb2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZh
bHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0ZW5kZWRQcm9taXNlIik7
CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiOGIwZTc1NDY4YTBl
YmExODA3ZmRjNjBmY2RiYzI1ZDFiYjVlMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitU
ZXN0IFByb21pc2UgYW5kIEBAc3BlY2llcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIEpTT04uc3RyaW5naWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJv
bWlzZSwgU3ltYm9sLnNwZWNpZXMpKSBpcyAie1wiZW51bWVyYWJsZVwiOmZhbHNlLFwiY29uZmln
dXJhYmxlXCI6dHJ1ZX0iCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQgaXMgImZ1bmN0aW9uIgorUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2ll
cykuc2V0IGlzICJ1bmRlZmluZWQiCitQQVNTIFByb21pc2VbU3ltYm9sLnNwZWNpZXNdIGlzIFBy
b21pc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1i
b2wuc3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0KSBpcyBPYmplY3QKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkzM2E3MDY4MzdmNmUwOWViNjQ4ZmUwMjdlN2Ex
OWM5Y2ExMzc2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgUHJvbWlz
ZSBhbmQgQEBzcGVjaWVzLicpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIkpTT04uc3RyaW5n
aWZ5KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNp
ZXMpKSIsICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQiLCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygidHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlz
ZSwgU3ltYm9sLnNwZWNpZXMpLnNldCIsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKCJQcm9taXNl
W1N5bWJvbC5zcGVjaWVzXSIsICJQcm9taXNlIik7CitzaG91bGRCZSgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0
KSIsICJPYmplY3QiKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50
LXJlYWxtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjFlYjMzODU3MWI4MjJjZGJlZmM5NDQ1
ZmY0ZTZhOWU5ZDdhZjNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2Fy
cmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4
IEBACitBcnJheVNwZWNpZXNDcmVhdGUgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgUmVhbG0gYXJyYXkg
d2hlbiB0aGUgZ2l2ZW4gYXJyYXkgaXMgZnJvbSB0aGUgZGlmZmVyZW50IHJlYWxtLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhcnJheS5sZW5ndGggaXMgNQorUEFTUyBh
cnJheSBpbnN0YW5jZW9mIEFycmF5IGlzIGZhbHNlCitQQVNTIGFycmF5IGluc3RhbmNlb2YgQXJy
YXkyIGlzIHRydWUKK1BBU1MgQXJyYXkuaXNBcnJheShhcnJheSkgaXMgdHJ1ZQorUEFTUyBhcnJh
eS5jb25zdHJ1Y3RvciBpcyBBcnJheTIKK1BBU1MgYXJyYXkuY29uc3RydWN0b3IgaXMgbm90IEFy
cmF5CitQQVNTIHJlc3VsdC5sZW5ndGggaXMgNQorUEFTUyBBcnJheS5pc0FycmF5KHJlc3VsdCkg
aXMgdHJ1ZQorUEFTUyByZXN1bHQgaW5zdGFuY2VvZiBBcnJheSBpcyBmYWxzZQorUEFTUyByZXN1
bHQgaW5zdGFuY2VvZiBBcnJheTIgaXMgdHJ1ZQorUEFTUyByZXN1bHQubGVuZ3RoIGlzIDUKK1BB
U1MgQXJyYXkuaXNBcnJheShyZXN1bHQpIGlzIHRydWUKK1BBU1MgcmVzdWx0IGluc3RhbmNlb2Yg
QXJyYXkgaXMgdHJ1ZQorUEFTUyByZXN1bHQgaW5zdGFuY2VvZiBBcnJheTIgaXMgZmFsc2UKK1BB
U1MgcmVzdWx0WzBdIGlzIDAKK1BBU1MgcmVzdWx0WzFdIGlzIDEKK1BBU1MgcmVzdWx0WzJdIGlz
IDQKK1BBU1MgcmVzdWx0WzNdIGlzIDkKK1BBU1MgcmVzdWx0WzRdIGlzIDE2CitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmh0bWwgYi9M
YXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wZjUyODVhNzVkNTM0MGQ0OGE0ODY5NDU2MGNkZmEyNTJiODI0MDRiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVy
ZW50LXJlYWxtLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
aWZyYW1lPjwvaWZyYW1lPgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcnJheS1zcGVjaWVz
LWluLWRpZmZlcmVudC1yZWFsbS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3RzL2FycmF5LXNwZWNpZXMtaW4t
ZGlmZmVyZW50LXJlYWxtLmpzIGIvTGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9hcnJh
eS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTZlZTUwNDUxNGJj
YjBlM2VjODdiMmUyZTUyOGM1YTc1MTBlNTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvanMvZG9tL3NjcmlwdC10ZXN0cy9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5q
cwpAQCAtMCwwICsxLDM3IEBACitkZXNjcmlwdGlvbigiQXJyYXlTcGVjaWVzQ3JlYXRlIGdlbmVy
YXRlIHRoZSBjdXJyZW50IFJlYWxtIGFycmF5IHdoZW4gdGhlIGdpdmVuIGFycmF5IGlzIGZyb20g
dGhlIGRpZmZlcmVudCByZWFsbS4iKTsKKwordmFyIGZyYW1lID0gZnJhbWVzWzBdOwordmFyIEFy
cmF5MiA9IGZyYW1lLkFycmF5OworCit2YXIgYXJyYXkgPSBuZXcgQXJyYXkyKDApOworYXJyYXku
cHVzaCgwLCAxLCAyLCAzLCA0KTsKKworc2hvdWxkQmUoImFycmF5Lmxlbmd0aCIsICI1Iik7Citz
aG91bGRCZUZhbHNlKCJhcnJheSBpbnN0YW5jZW9mIEFycmF5Iik7CitzaG91bGRCZVRydWUoImFy
cmF5IGluc3RhbmNlb2YgQXJyYXkyIik7CitzaG91bGRCZVRydWUoIkFycmF5LmlzQXJyYXkoYXJy
YXkpIik7CitzaG91bGRCZSgiYXJyYXkuY29uc3RydWN0b3IiLCAiQXJyYXkyIik7CitzaG91bGRO
b3RCZSgiYXJyYXkuY29uc3RydWN0b3IiLCAiQXJyYXkiKTsKK3ZhciByZXN1bHQgPSBhcnJheS5t
YXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7Cit9KTsKK3No
b3VsZEJlKCJyZXN1bHQubGVuZ3RoIiwgIjUiKTsKK3Nob3VsZEJlVHJ1ZSgiQXJyYXkuaXNBcnJh
eShyZXN1bHQpIik7CitzaG91bGRCZUZhbHNlKCJyZXN1bHQgaW5zdGFuY2VvZiBBcnJheSIpOwor
c2hvdWxkQmVUcnVlKCJyZXN1bHQgaW5zdGFuY2VvZiBBcnJheTIiKTsKKwordmFyIG1hcCA9IFtd
Lm1hcDsKKwordmFyIHJlc3VsdCA9IG1hcC5jYWxsKGFycmF5LCBmdW5jdGlvbiAodmFsdWUpIHsK
KyAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKK30pOworc2hvdWxkQmUoInJlc3VsdC5sZW5ndGgi
LCAiNSIpOworc2hvdWxkQmVUcnVlKCJBcnJheS5pc0FycmF5KHJlc3VsdCkiKTsKK3Nob3VsZEJl
VHJ1ZSgicmVzdWx0IGluc3RhbmNlb2YgQXJyYXkiKTsKK3Nob3VsZEJlRmFsc2UoInJlc3VsdCBp
bnN0YW5jZW9mIEFycmF5MiIpOworCitzaG91bGRCZSgicmVzdWx0WzBdIiwgIjAiKTsKK3Nob3Vs
ZEJlKCJyZXN1bHRbMV0iLCAiMSIpOworc2hvdWxkQmUoInJlc3VsdFsyXSIsICI0Iik7CitzaG91
bGRCZSgicmVzdWx0WzNdIiwgIjkiKTsKK3Nob3VsZEJlKCJyZXN1bHRbNF0iLCAiMTYiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVy
dHlOYW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJv
cGVydHlOYW1lcy5qcwppbmRleCBmNzlkZmFiNmE2YWY4MjhjNDgzMDJkMGE3YWU1YTRiNWNlOWQ5
OTI4Li41M2Q1ZjBkYTRjZmZmYmY4MDBkYjJlMDgzZmQ5ZWZhZWJmMDY5Y2FmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMu
anMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0
eU5hbWVzLmpzCkBAIC03MCw3ICs3MCw3IEBACiAgICAgIkVycm9yLnByb3RvdHlwZSI6ICJbJ2Nv
bnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0b1N0cmluZyddIiwKICAgICAiTWF0aCI6
ICJbJ0UnLCdMTjEwJywnTE4yJywnTE9HMTBFJywnTE9HMkUnLCdQSScsJ1NRUlQxXzInLCdTUVJU
MicsJ2FicycsJ2Fjb3MnLCdhY29zaCcsJ2FzaW4nLCdhc2luaCcsJ2F0YW4nLCdhdGFuMicsJ2F0
YW5oJywnY2JydCcsJ2NlaWwnLCdjbHozMicsJ2NvcycsJ2Nvc2gnLCdleHAnLCdleHBtMScsJ2Zs
b29yJywnZnJvdW5kJywnaHlwb3QnLCdpbXVsJywnbG9nJywnbG9nMTAnLCdsb2cxcCcsJ2xvZzIn
LCdtYXgnLCdtaW4nLCdwb3cnLCdyYW5kb20nLCdyb3VuZCcsJ3NpZ24nLCdzaW4nLCdzaW5oJywn
c3FydCcsJ3RhbicsJ3RhbmgnLCd0cnVuYyddIiwKICAgICAiSlNPTiI6ICJbJ3BhcnNlJywgJ3N0
cmluZ2lmeSddIiwKLSAgICAiU3ltYm9sIjogIlsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcics
ICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJsZXMnXSIsCisgICAgIlN5
bWJvbCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3InLCAnbGVuZ3RoJywgJ25hbWUnLCAn
cHJvdG90eXBlJywgJ3NwZWNpZXMnLCAndW5zY29wYWJsZXMnXSIsCiAgICAgIlN5bWJvbC5wcm90
b3R5cGUiOiAiWydjb25zdHJ1Y3RvcicsICd0b1N0cmluZycsICd2YWx1ZU9mJ10iCiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257159</attachid>
            <date>2015-07-20 21:56:44 -0700</date>
            <delta_ts>2015-07-28 15:27:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150720215529.patch</filename>
            <type>text/plain</type>
            <size>132360</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ODFiZGMyYmFhNTczMGVkOTRjZTJhZDFjYmQ2NTM5ZDc0YjM3MjY3Li45Njk1YjA3M2IxMTAyOWQw
ZDc4MjUwZDBiZmE4YjA1MDJkYjEzOWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzQgQEAKKzIwMTUtMDctMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToK
KyAgICAgICAgKiBidWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAoc3ltYm9s
U3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzOgorICAgICAgICAo
c3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBidWlsdGlucy9JdGVyYXRvci5wcm90b3R5
cGUuanM6CisgICAgICAgIChzeW1ib2xJdGVyYXRvcik6CisgICAgICAgIChTeW1ib2xJdGVyYXRv
cik6IERlbGV0ZWQuCisgICAgICAgICogYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanM6IENvcGll
ZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMuCisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9PcGVyYXRp
b25zLkFycmF5LmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
R2xvYmFsT2JqZWN0LmpzLgorICAgICAgICAoYXJyYXlTcGVjaWVzQ3JlYXRlKToKKyAgICAgICAg
KiBidWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qczoKKyAgICAgICAgKiBidWlsdGlucy9Qcm9t
aXNlQ29uc3RydWN0b3IuanM6CisgICAgICAgIChyYWNlKToKKyAgICAgICAgKHN5bWJvbFNwZWNp
ZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAg
ICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJh
eVdpdGhTaXplKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19uZXdBcnJheVdpdGhTaXplKToK
KyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6cHV0
QnlWYWwpOgorICAgICAgICAoSlNDOjpERkc6Om9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwpOgor
ICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6
CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
QXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUp
OgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjph
cnJheVNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3cpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY0NvbmNhdCk6CisgICAgICAg
IChKU0M6OmFycmF5UHJvdG9GdW5jU2xpY2UpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVu
Y1NwbGljZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKEpTQzo6Qm9vbGVhbkNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAoSlNDOjpEYXRlQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmlzQXJyYXlDb25zdHJ1Y3Rv
ckluRGlmZmVyZW50UmVhbG0pOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
OjphcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5
U3BlY2llc0dldHRlckZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhB
cnJheVN0b3JhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBy
dW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9NYXBDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bik6CisgICAgICAgICogcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpN
YXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmg6CisgICAgICAgIChKU0M6Ok51bWJlckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmg6CisgICAgICAgICogcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAg
ICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1l
L1NldENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1NldENvbnN0cnVjdG9yLmg6CisgICAgICAg
IChKU0M6OlNldENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3BhcnNl
QXJyYXlWYWx1ZU1hcC5jcHA6CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5VmFsdWVNYXA6OnB1
dERpcmVjdCk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oOgorICAgICAg
ICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1N5
bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN5bWJvbENvbnN0cnVjdG9yOjpjcmVh
dGUpOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmg6CisgICAgICAgIChK
U0M6OldlYWtNYXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtT
ZXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFrU2V0Q29uc3RydWN0b3I6OmNyZWF0
ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKC5nZXQg
RXh0ZW5kZWRBcnJheSk6CisgICAgICAgICguZ2V0IHNob3VsZEJlKToKKyAgICAgICAgKC5zZXQg
c2hvdWxkQmUpOgorICAgICAgICAoVGVzdCk6CisgICAgICAgICguKToKKwogMjAxNS0wNy0yMCAg
U2FhbSBiYXJhdGkgIDxzYWFtYmFyYXRpMUBnbWFpbC5jb20+CiAKICAgICAgICAgImxldCIgc2Nv
cGluZyBpbnRyb2R1Y2VkIGluY29oZXJlbnQgc3RvcnkgYWJvdXQgc3ltYm9sIHRhYmxlIGNsb25p
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90
b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBl
LmpzCmluZGV4IGFmNDZkZDhmZWZmZTUzNGJjZDQwNTM0ZjM0ZjdiZjI1ZmE1YmU0NDMuLjEyMDlk
NTc2NjExZDhkY2VlMjc4NTA3YzYwZTI4N2VkNjkwZDhmOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTYxLDcgKzE2MSw3
IEBAIGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFjayAvKiwgdGhpc0FyZyAqLykgewogICAgICAgICB0
aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbHRlciBjYWxsYmFjayBtdXN0
IGJlIGEgZnVuY3Rpb24iKTsKICAgICAKICAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5n
dGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOwotICAgIHZhciByZXN1bHQgPSBbXTsK
KyAgICB2YXIgcmVzdWx0ID0gQGFycmF5U3BlY2llc0NyZWF0ZShhcnJheSwgMCk7CiAgICAgdmFy
IG5leHRJbmRleCA9IDA7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewog
ICAgICAgICBpZiAoIShpIGluIGFycmF5KSkKQEAgLTE5MCw3ICsxOTAsNyBAQCBmdW5jdGlvbiBt
YXAoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJy
b3IoIkFycmF5LnByb3RvdHlwZS5tYXAgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAg
ICAgCiAgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sx
XSA6IHVuZGVmaW5lZDsKLSAgICB2YXIgcmVzdWx0ID0gW107CisgICAgdmFyIHJlc3VsdCA9IEBh
cnJheVNwZWNpZXNDcmVhdGUoYXJyYXksIGxlbmd0aCk7CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGxl
bmd0aDsKICAgICB2YXIgbmV4dEluZGV4ID0gMDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxl
bmd0aDsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QXJyYXlDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eUNvbnN0cnVjdG9yLmpzCmluZGV4IDVhNTUxZjczOThmNzhmMGMyOWIwZjQzZDllZmNjMzdlYWEy
MmUzMjUuLjM0ZGY2MjQwMjRiYmRhYzlhYjI3ODA1NmFkYWZjMTZhOTI2MzY5ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzCkBA
IC0xMDcsMyArMTA3LDEwIEBAIGZ1bmN0aW9uIGZyb20oaXRlbXMgLyosIG1hcEZuLCB0aGlzQXJn
ICovKSB7CiAgICAgcmVzdWx0Lmxlbmd0aCA9IGFycmF5TGlrZUxlbmd0aDsKICAgICByZXR1cm4g
cmVzdWx0OwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkKK3sKKyAgICAidXNlIHN0cmlj
dCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvR2xvYmFsT2JqZWN0LmpzCmluZGV4IDZhZGFkZWZiZDlhOTcwMTc3OTM2NjBhZmRiMjNh
NzU1MmEyMDdhZjkuLmNjN2IyY2E5MWJmMGJlMDY5ZWU0NDFjY2FkMWIzOThlZDM2M2U5OTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcwpAQCAt
NTUsMyArNTUsMjIgQEAgZnVuY3Rpb24gaXNPYmplY3Qob2JqZWN0KQogCiAgICAgcmV0dXJuIChv
YmplY3QgIT09IG51bGwgJiYgdHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIpIHx8IHR5cGVvZiBv
YmplY3QgPT09ICJmdW5jdGlvbiI7CiB9CisKK2Z1bmN0aW9uIHNwZWNpZXNDb25zdHJ1Y3Rvcihv
YmplY3QsIGRlZmF1bHRDb25zdHJ1Y3RvcikKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2
YXIgY29uc3RydWN0b3IgPSBvYmplY3QuY29uc3RydWN0b3I7CisgICAgaWYgKGNvbnN0cnVjdG9y
ID09PSB1bmRlZmluZWQpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJvYmplY3QgZG9l
cyBub3QgaGF2ZSBcImNvbnN0cnVjdG9yXCIgcHJvcGVydHkiKTsKKworICAgIHZhciBzcGVjaWVz
ID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzID09PSB1bmRl
ZmluZWQgfHwgc3BlY2llcyA9PT0gbnVsbCkKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRDb25zdHJ1
Y3RvcjsKKworICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1Y3RvcihzcGVjaWVzKS4KKyAgICBp
ZiAodHlwZW9mIHNwZWNpZXMgIT09ICdmdW5jdGlvbicpCisgICAgICAgIHRocm93IG5ldyBAVHlw
ZUVycm9yKCJjb25zdHJ1Y3Rvci5AQHNwZWNpZXMgaXMgbm90IGEgY29uc3RydWN0b3IiKTsKKwor
ICAgIHJldHVybiBzcGVjaWVzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0l0ZXJhdG9yLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUuanMKaW5kZXggZGM3MmE2NDA4YjQzNjcwYTkzNjE5
ZmM2MWYyYmVjMzI3NWUzOTVkNS4uMWU5Yjk4Yzg0M2Q4Njc1NWM0NzYzMzc2NTc5ZjQ5OGE5MjAw
MmRhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0l0ZXJhdG9y
LnByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0
b3IucHJvdG90eXBlLmpzCkBAIC0yMyw3ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LWZ1bmN0aW9uIFN5bWJvbEl0ZXJhdG9yKCkKK2Z1bmN0aW9uIHN5bWJvbEl0ZXJhdG9yKCkKIHsK
ICAgICAndXNlIHN0cmljdCc7CiAgICAgcmV0dXJuIHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRk
NjhhNTUzNjE1YjgyZjljMGI0YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJl
dHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L09wZXJhdGlvbnMuQXJyYXkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3Bl
cmF0aW9ucy5BcnJheS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTMwNTJlNjRjMjEwNjllZDQ0ZWYxZjE0NGE5
MDVmNGU4ZTVkNWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL09wZXJhdGlvbnMuQXJyYXkuanMKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBhcnJheVNw
ZWNpZXNDcmVhdGUob3JpZ2luYWxBcnJheSwgbGVuZ3RoKQoreworICAgICJ1c2Ugc3RyaWN0IjsK
KworICAgIGlmICghQGlzQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVybiBAbmV3
QXJyYXlXaXRoU2l6ZShsZW5ndGgpOworCisgICAgdmFyIGNvbnN0cnVjdG9yID0gb3JpZ2luYWxB
cnJheS5jb25zdHJ1Y3RvcjsKKworICAgIC8vIEVhcmx5IGNoZWNrIGZvciB0aGUgY29tbW9uIHBh
dGguCisgICAgaWYgKGNvbnN0cnVjdG9yICE9PSBAQXJyYXkpIHsKKyAgICAgICAgLy8gRklYTUU6
IFVzZSBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKS4KKyAgICAgICAgaWYgKHR5cGVvZiBjb25z
dHJ1Y3RvciA9PT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAgaWYgKEBpc0FycmF5Q29uc3Ry
dWN0b3JJbkRpZmZlcmVudFJlYWxtKGNvbnN0cnVjdG9yKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gQG5ld0FycmF5V2l0aFNpemUobGVuZ3RoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlm
IChAaXNPYmplY3QoY29uc3RydWN0b3IpKSB7CisgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3Ry
dWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgICAgICBpZiAoY29uc3RydWN0b3IgPT09IG51bGwp
CisgICAgICAgICAgICBjb25zdHJ1Y3RvciA9IHVuZGVmaW5lZDsKKyAgICB9CisKKyAgICBpZiAo
Y29uc3RydWN0b3IgPT09IHVuZGVmaW5lZCB8fCBjb25zdHJ1Y3RvciA9PT0gQEFycmF5KQorICAg
ICAgICByZXR1cm4gQG5ld0FycmF5V2l0aFNpemUobGVuZ3RoKTsKKworICAgIC8vIEZJWE1FOiBV
c2UgaXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikuCisgICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3Rv
ciAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImdpdmVuIGNv
bnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworICAgIHJldHVybiBu
ZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcwppbmRleCA4NTYzZGYwZDkyN2ZiMjMzOTY4
OTM5ZTE0OTQyMzk2ZWM4NWU2NWFhLi5jZjZhMjBmZDgzMjViODNjMWI5MDc1YjU5MTJjNDM1OTA0
MDE2M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlz
ZS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21p
c2UucHJvdG90eXBlLmpzCkBAIC0zNyw5ICszNyw3IEBAIGZ1bmN0aW9uIHRoZW4ob25GdWxmaWxs
ZWQsIG9uUmVqZWN0ZWQpCiAgICAgaWYgKCFAaXNQcm9taXNlKHRoaXMpKQogICAgICAgICB0aHJv
dyBuZXcgQFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklY
TUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFu
ZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2
MjQKLSAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yOworICAgIHZhciBjb25z
dHJ1Y3RvciA9IEBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgQFByb21pc2UpOwogCiAgICAgdmFy
IHJlc3VsdENhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0b3IpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0
cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VDb25zdHJ1
Y3Rvci5qcwppbmRleCAxZjgzYjQ3Zjc5MGE3NWU1YmY4YzkzZDVlNjY0OTYxOGNiMWFlYzY3Li4z
Zjk4ZWJmMzNhZTI5Nzg4MzZjZjE3MjEyODY1ODVjYTE3ZTBmYjEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMKQEAgLTMw
LDkgKzMwLDEwIEBAIGZ1bmN0aW9uIGFsbChpdGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0
aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVj
dCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1r
bm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZh
ciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVz
ICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAhPT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3Ig
PSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBh
YmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAtODYsOSArODcsMTAgQEAgZnVuY3Rpb24gcmFjZShp
dGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5
cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0
aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2
YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5
bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAh
PT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3IgPSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21p
c2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAt
MTM3LDMgKzEzOSwxMCBAQCBmdW5jdGlvbiByZXNvbHZlKHZhbHVlKQogCiAgICAgcmV0dXJuIHBy
b21pc2VDYXBhYmlsaXR5LkBwcm9taXNlOwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVjaWVzKCkK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
N2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVraSA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJpY3QiOwor
CisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDliMmMyY2RiZGIzNTA3
ZmIxZmE3Mzg3ZTE1MjAyOWZiMjQ1NDA2YzkuLmU2OWM4Yjg2N2E1OGJjNDY4YmRkODdiNmMwMTcy
ZGRjNWQ0MDljYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yMDUyLDYgKzIwNTIsMTUgQEAgUmVn
aXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJheShSZWdpc3RlcklEKiBkc3Qs
IEVsZW1lbnROb2RlKiBlbGVtZW4KICAgICByZXR1cm4gZHN0OwogfQogCitSZWdpc3RlcklEKiBC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdpc3RlcklEKiBsZW5ndGgpCit7CisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyYXlfd2l0aF9z
aXplKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoZHN0LT5pbmRleCgpKTsKKyAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQobGVuZ3RoLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQobmV3QXJyYXlBbGxvY2F0aW9uUHJvZmlsZSgpKTsKKyAgICByZXR1cm4gZHN0OworfQor
CiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uKFJlZ2lzdGVy
SUQqIGRzdCwgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24pCiB7CiAgICAgcmV0dXJuIGVtaXRO
ZXdGdW5jdGlvbkludGVybmFsKGRzdCwgbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRGVjbChtYWtl
RnVuY3Rpb24oZnVuY3Rpb24pKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggNzQ4YjkwZTI5Y2NiOGY0OTBi
MTM4MGU2ZmY3M2NiNTJiMTY1ZTMwZS4uYzMyZmQwZWRiMjMwMmQyNWU0MWFmNWFjODgwYmUyNWY5
OGFjNGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDY5LDYgKzQ2OSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB2b2lkIGxpZnRURFpDaGVja0lmUG9zc2libGUoY29uc3QgVmFyaWFibGUmKTsK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld09iamVjdChSZWdpc3RlcklEKiBkc3QpOwogICAg
ICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyYXkoUmVnaXN0ZXJJRCogZHN0LCBFbGVtZW50Tm9k
ZSosIHVuc2lnbmVkIGxlbmd0aCk7IC8vIHN0b3BzIGF0IGZpcnN0IGVsaXNpb24KKyAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3Rl
cklEKiBsZW5ndGgpOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbihSZWdp
c3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUqKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKaW5kZXggMjdhODQ2ODg3MDkxYTFlMmQ2ZmEwNWE3OGRiNzllY2Q0ZjBhOWRhYi4uMDIxMjc0
NDVhYWM0YTJmYzg4ODZiMTRmYTJhZTlmMGY4NDhjNDUzOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtNzgwLDYgKzc4
MCwxNSBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRCeXRlY29kZShC
eXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZQogICAgIHJldHVybiAodGhpcy0+Km1fZW1p
dHRlcikoZ2VuZXJhdG9yLCBkc3QpOwogfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNp
Y05vZGU6OmVtaXRfaW50cmluc2ljX25ld0FycmF5V2l0aFNpemUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIEFyZ3VtZW50TGlzdE5vZGUqIG5v
ZGUgPSBtX2FyZ3MtPm1fbGlzdE5vZGU7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGxlbmd0aCA9
IGdlbmVyYXRvci5lbWl0Tm9kZShub2RlKTsKKyAgICBBU1NFUlQoIW5vZGUtPm1fbmV4dCk7CisK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBnZW5l
cmF0b3IuZW1pdE5ld0FycmF5V2l0aFNpemUoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3Qp
LCBsZW5ndGguZ2V0KCkpKTsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5zaWNOb2Rl
OjplbWl0X2ludHJpbnNpY19wdXRCeVZhbERpcmVjdChCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJh
dG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogbm9kZSA9IG1f
YXJncy0+bV9saXN0Tm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwCmluZGV4IDk5YmNmZmFkY2YyYzMwZDljYjU0NDU0NTU3ZDY0ZGZlZTNmZWY5YWQuLmQ1
MjRhYzJmZDA0YTI4MGRiMzhlNTg4YmRjYjI3Yzc0ZDU3OWM1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgcHV0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwg
dWludDMyX3QgaW5kZXgsCiAgICAgQVNTRVJUKGlzSW5kZXgoaW5kZXgpKTsKICAgICBpZiAoZGly
ZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKLSAg
ICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZh
bHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5k
ZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVj
dEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGJhc2VWYWx1ZS5pc09iamVjdCgpKSB7CkBA
IC0xMjQsNyArMTI0LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhlY1N0YXRlKiBleGUKICAgICBpZiAoZGlyZWN0
KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICAg
ICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1l
KSkKLSAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMs
IGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBhc09iamVj
dChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwg
MCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0
RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFz
T2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdCgqdm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNs
b3QpOwogICAgIH0gZWxzZQpAQCAtNTAxLDcgKzUwMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcih2bSwgZXhlYyk7CiAgICAgaWYgKGluZGV4ID49IDApIHsKLSAgICAgICAgYXJyYXkt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgMCwgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyk7CisgICAgICAgIGFycmF5LT5wdXREaXJl
Y3RJbmRleChleGVjLCBpbmRleCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIDAsIFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cAppbmRleCBlODRlOTM0Mjk3MWNiZDUxZmZiNjk1NzI5ZThmZTkyMmI2NGMwZDI5Li44NGU2YTI1
Y2FlMzIxZjAxY2EzNDMyZmVkZDc5NTBiZDlkNmM4Y2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBzdGF0aWMgdm9p
ZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJhc2VPYmpl
Y3QsIEpTVmFsdWUgcwogICAgICAgICB9CiAKICAgICAgICAgYXJyYXlQcm9maWxlLT5zZXRPdXRP
ZkJvdW5kcygpOwotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUs
IGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJv
dyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2JqZWN0LT5w
dXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8g
UHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhT
aG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU0NCw3ICs1NDQs
NyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNP
YmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICBkb3VibGUgc3Vic2NyaXB0QXNE
b3VibGUgPSBzdWJzY3JpcHQuYXNEb3VibGUoKTsKICAgICAgICAgdWludDMyX3Qgc3Vic2NyaXB0
QXNVSW50MzIgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3Vic2NyaXB0QXNEb3VibGUpOwogICAg
ICAgICBpZiAoc3Vic2NyaXB0QXNEb3VibGUgPT0gc3Vic2NyaXB0QXNVSW50MzIgJiYgaXNJbmRl
eChzdWJzY3JpcHRBc1VJbnQzMikpIHsKLSAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVj
dEluZGV4KGNhbGxGcmFtZSwgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0cmljdE1v
ZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RU
aHJvdyk7CisgICAgICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUs
IHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5k
ZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJv
dyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC01NTUsNyArNTU1
LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
T2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAg
ICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LnZhbHVlKCksIHZh
bHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGly
ZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdElu
ZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9kZSA/IFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hv
dWxkTm90VGhyb3cpOwogICAgIGVsc2UgewogICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChi
YXNlT2JqZWN0LCBpc1N0cmljdE1vZGUpOwogICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3Qo
Y2FsbEZyYW1lLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMTkzNGU1NzA0MzhlM2Ni
ZWM5YTQ4YTE2ZjczMGQ0NTNlZWZiNjViNC4uNGJiZDQ4MmVkZDViMWE0OTc4NGY0ZmY2ZTMyZGMx
NTY2MDlkMzQwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCkBAIC03ODAsNyArNzgwLDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX3B1dF9ieV92YWxfZGlyZWN0KQogICAgIGlmIChMSUtFTFkoc3Vic2NyaXB0LmlzVUludDMy
KCkpKSB7CiAgICAgICAgIC8vIERlc3BpdGUgaXRzIG5hbWUsIEpTVmFsdWU6OmlzVUludDMyIHdp
bGwgcmV0dXJuIHRydWUgb25seSBmb3IgcG9zaXRpdmUgYm94ZWQgaW50MzJfdDsgYWxsIHRob3Nl
IHZhbHVlcyBhcmUgdmFsaWQgYXJyYXkgaW5kaWNlcy4KICAgICAgICAgQVNTRVJUKGlzSW5kZXgo
c3Vic2NyaXB0LmFzVUludDMyKCkpKTsKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0SW5k
ZXgoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlwdC5hc1VJ
bnQzMigpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRh
UHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAg
IExMSU5UX0VORCgpOwogICAgIH0KIApAQCAtNzg4LDcgKzc4OCw3IEBAIExMSU5UX1NMT1dfUEFU
SF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfdmFsX2RpcmVjdCkKICAgICAgICAgZG91YmxlIHN1YnNj
cmlwdEFzRG91YmxlID0gc3Vic2NyaXB0LmFzRG91YmxlKCk7CiAgICAgICAgIHVpbnQzMl90IHN1
YnNjcmlwdEFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN1YnNjcmlwdEFzRG91Ymxl
KTsKICAgICAgICAgaWYgKHN1YnNjcmlwdEFzRG91YmxlID09IHN1YnNjcmlwdEFzVUludDMyICYm
IGlzSW5kZXgoc3Vic2NyaXB0QXNVSW50MzIpKSB7Ci0gICAgICAgICAgICBiYXNlT2JqZWN0LT5w
dXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlzU3RyaWN0
TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNob3VsZE5v
dFRocm93KTsKKyAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1
YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhD
cmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7
CiAgICAgICAgICAgICBMTElOVF9FTkQoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTc5OSw3ICs3
OTksNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X3ZhbF9kaXJlY3Qp
CiAgICAgICAgIExMSU5UX0VORCgpOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRl
eCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJ
bmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGly
ZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAg
ICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1
ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRo
cm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxzZSB7CiAgICAgICAg
IFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9kZSk7CiAgICAgICAg
IGJhc2VPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3Qp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1
Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9y
LmNwcAppbmRleCAxOTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4ODAwODM2Li4zYjUz
ZDY2NGI2NjhmNGZhMzFiOGRmNmMwNDc2YzNkY2NkOTBmMDA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAtMjksMTcgKzI5
LDEyIEBACiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJyb3Iu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVy
LmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNs
dWRlICJMb29rdXAuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5hbWVzcGFjZSBKU0Mg
ewotCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9y
SXNBcnJheShFeGVjU3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlDb25zdHJ1Y3Rvci5s
dXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAgQXJyYXlDb25zdHJ1
Y3Rvcjo6QXJyYXlDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewog
fQogCi12b2lkIEFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQXJyYXlQ
cm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQordm9pZCBBcnJheUNvbnN0cnVjdG9yOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5UHJvdG90
eXBlKiBhcnJheVByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgYXJy
YXlQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGFycmF5UHJvdG90
eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSks
IFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIHNw
ZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QpOwor
ICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdC0+YXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24oKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5k
ZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0Fj
Y2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogYm9vbCBBcnJheUNvbnN0cnVjdG9y
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKaW5kZXggMDQwZjI2
YzRjOTkwNWE0NTc2OTRjMDVjODU0NDcwNjA3YmI0ODRhNy4uMWQyOTNkYWY5Nzg2M2JkYTc2NDQ5
NDU0NmFhMGRiOGQwODYxODJlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtMzQsMTAgKzM0LDEwIEBAIGNsYXNzIEFycmF5Q29u
c3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5h
bEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0
dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKKyAg
ICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJh
eVByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEFycmF5Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9y
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8QXJyYXlDb25zdHJ1Y3Rvcj4odm0uaGVhcCkp
IEFycmF5Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVjdG9yLT5m
aW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+
ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgYXJyYXlQcm90b3R5cGUpOwogICAgICAg
ICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIEFy
cmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgfQogCiBwcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEFycmF5UHJvdG90eXBlKik7Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlQcm90b3R5
cGUqKTsKIAogcHJpdmF0ZToKICAgICBBcnJheUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0dXJlKik7
CkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJu
YWxGdW5jdGlvbiB7CiB9OwogCiBKU09iamVjdCogY29uc3RydWN0QXJyYXlXaXRoU2l6ZVF1aXJr
KEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBKU0dsb2JhbE9iamVjdCosIEpT
VmFsdWUpOworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVjdG9ySXNB
cnJheShFeGVjU3RhdGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCA4N2NlYWUxY2Jl
ZjU1Y2Y3NmJlODU4MWUxN2MyYjM5Yzc1ODAzYWRlLi40Mzc3ZjI3ZDM5YTFlNGE0MzRmNzhlNzNk
NmRlNjA5MmUwZjZkZTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNCwxMSArMjQsMTMgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJBcnJheVByb3RvdHlwZS5oIgogCisjaW5jbHVkZSAiQXJyYXlDb25zdHJ1
Y3Rvci5oIgogI2luY2x1ZGUgIkJ1dHRlcmZseUlubGluZXMuaCIKICNpbmNsdWRlICJDYWNoZWRD
YWxsLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNp
bmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpTQXJy
YXlJdGVyYXRvci5oIgpAQCAtNDk5LDEzICs1MDEsNzUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRnVuY0pvaW4oRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoam9pbigqZXhlYywgdGhpc09iamVjdCwgc2VwYXJhdG9yLT52aWV3KGV4
ZWMpKSk7CiB9CiAKK0FMV0FZU19JTkxJTkUgc3RhdGljIEpTT2JqZWN0KiBhcnJheVNwZWNpZXND
b25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvcmlnaW5hbEFycmF5KQorewor
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCk7CisKKyAgICBpZiAoIWlzSlNBcnJheShvcmlnaW5hbEFycmF5KSkKKyAgICAgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgSlNBcnJheSogYXJy
YXkgPSBqc0Nhc3Q8SlNBcnJheSo+KG9yaWdpbmFsQXJyYXkpOworICAgIEpTVmFsdWUgY29uc3Ry
dWN0b3JWYWx1ZSA9IGFycmF5LT5KU0FycmF5OjpnZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1l
cygpLmNvbnN0cnVjdG9yKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yT2JqZWN0ID0ganNE
eW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpOworICAgIGlmICghY29uc3Ry
dWN0b3JPYmplY3QpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0
b3IoKTsKKworICAgIC8vIFRoZSBtb3N0IGNvbW1vbiBwYXRoLgorICAgIGlmIChjb25zdHJ1Y3Rv
ck9iamVjdCA9PSBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKSkgeworICAgICAgICBQ
cm9wZXJ0eVNsb3Qgc2xvdChjb25zdHJ1Y3Rvck9iamVjdCk7CisgICAgICAgIGlmIChjb25zdHJ1
Y3Rvck9iamVjdC0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5z
cGVjaWVzU3ltYm9sLCBzbG90KSkgeworICAgICAgICAgICAgaWYgKHNsb3QuaXNBY2Nlc3Nvcigp
KSB7CisgICAgICAgICAgICAgICAgR2V0dGVyU2V0dGVyKiBhY2Nlc3NvciA9IHNsb3QuZ2V0dGVy
U2V0dGVyKCk7CisgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc29yLT5nZXR0ZXIoKSA9PSBnbG9i
YWxPYmplY3QtPmFycmF5U3BlY2llc0dldHRlckZ1bmN0aW9uKCkpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGNvbnN0cnVjdG9yVmFsdWUgPSBzbG90LmdldFZhbHVlKGV4ZWMsIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKKyAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0ganNVbmRlZmluZWQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5
cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3JPYmplY3QsIGNv
bnN0cnVjdERhdGEpOworICAgICAgICBpZiAoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBl
Tm9uZSkgeworICAgICAgICAgICAgaWYgKGNvbnN0cnVjdG9yT2JqZWN0LT5nbG9iYWxPYmplY3Qo
KSAhPSBnbG9iYWxPYmplY3QgJiYgY29uc3RydWN0b3JPYmplY3QgPT0gY29uc3RydWN0b3JPYmpl
Y3QtPmdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworICAgICAgICB9CisgICAg
ICAgIGNvbnN0cnVjdG9yVmFsdWUgPSBjb25zdHJ1Y3Rvck9iamVjdC0+Z2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKKyAgICB9CisgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmIChjb25zdHJ1
Y3RvclZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNv
bnN0cnVjdG9yKCk7CisKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5pc1VuZGVmaW5lZCgpKQor
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBy
ZXR1cm4ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yVmFsdWUpOworfQorCitz
dGF0aWMgYm9vbCBjcmVhdGVEYXRhUHJvcGVydHlPclRocm93KEV4ZWNTdGF0ZSogZXhlYywgSlNP
YmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0
dXJuIG9iamVjdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgsIHZhbHVlLCAwLCBQdXREaXJl
Y3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jQ29uY2F0KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAg
ICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPnRoaXNWYWx1ZSgpLnRvVGhpcyhleGVjLCBTdHJp
Y3RNb2RlKTsKKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9IHRoaXNWYWx1ZS50b09iamVjdChl
eGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBKU09iamVjdCogY29uc3RydWN0b3Ig
PSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVjLCB0aGlzT2JqZWN0KTsKKyAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CisgICAgYm9vbCBpc0FycmF5Q29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvciA9PSBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpT
VmFsdWUgY3VyQXJnID0gdGhpc09iamVjdDsKICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGV4ZWMt
PmFyZ3VtZW50Q291bnQoKTsKLSAgICBKU1ZhbHVlIGN1ckFyZyA9IHRoaXNWYWx1ZS50b09iamVj
dChleGVjKTsKICAgICBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gZmluYWxBcnJh
eVNpemUgPSAwOwotCiAgICAgSlNBcnJheSogY3VycmVudEFycmF5ID0gbnVsbHB0cjsKICAgICBK
U0FycmF5KiBwcmV2aW91c0FycmF5ID0gbnVsbHB0cjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyA7ICsraSkgewpAQCAtNTI2LDE3ICs1OTAsMzEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKGZpbmFs
QXJyYXlTaXplLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOwogCi0gICAgaWYgKGFyZ0NvdW50ID09IDEg
JiYgcHJldmlvdXNBcnJheSAmJiBjdXJyZW50QXJyYXkgJiYgZmluYWxBcnJheVNpemUudW5zYWZl
R2V0KCkgPCBNSU5fU1BBUlNFX0FSUkFZX0lOREVYKSB7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1
Y3RvciAmJiBhcmdDb3VudCA9PSAxICYmIHByZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYm
IGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgpIDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgewog
ICAgICAgICBJbmRleGluZ1R5cGUgdHlwZSA9IEpTQXJyYXk6OmZhc3RDb25jYXRUeXBlKGV4ZWMt
PnZtKCksICpwcmV2aW91c0FycmF5LCAqY3VycmVudEFycmF5KTsKICAgICAgICAgaWYgKHR5cGUg
IT0gTm9uQXJyYXkpCiAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNBcnJheS0+ZmFzdENvbmNh
dFdpdGgoKmV4ZWMsICpjdXJyZW50QXJyYXkpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIGFyciA9
IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZl
R2V0KCkpOwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gbnVs
bHB0cjsKKyAgICBpZiAoaXNBcnJheUNvbnN0cnVjdG9yKSB7CisgICAgICAgIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZmluYWxBcnJheVNpemUudW5zYWZlR2V0
KCkpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0gZWxzZSB7CisgICAgICAg
IENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAgQ29uc3RydWN0VHlwZSBjb25z
dHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7
CisgICAgICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKQorICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxp
dGVyYWwoImdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKSkp
OworCisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgICAgIGFyZ3MuYXBw
ZW5kKGpzTnVtYmVyKDApKTsKKyAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0
cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBjb25zdHJ1Y3REYXRhLCBhcmdzKTsKKyAgICAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9CiAKLSAgICBjdXJBcmcgPSB0aGlzVmFsdWUudG9PYmpl
Y3QoZXhlYyk7CisgICAgY3VyQXJnID0gdGhpc09iamVjdDsKICAgICB1bnNpZ25lZCBuID0gMDsK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyA7ICsraSkgewogICAgICAgICBpZiAoSlNBcnJheSog
Y3VycmVudEFycmF5ID0ganNEeW5hbWljQ2FzdDxKU0FycmF5Kj4oY3VyQXJnKSkgewpAQCAtNTQ4
LDIwICs2MjYsMzAgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVu
Y0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0
UHJvcGVydHkoZXhlYywgY3VycmVudEFycmF5LCBrKTsKICAgICAgICAgICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKHYpCi0gICAgICAgICAg
ICAgICAgICAgIGFyci0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgICAgICAg
ICAgaWYgKHYpIHsKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJv
dyhleGVjLCByZXN1bHQsIG4sIHYpOworICAgICAgICAgICAgICAgICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBu
Kys7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBhcnItPnB1
dERpcmVjdEluZGV4KGV4ZWMsIG4sIGN1ckFyZyk7CisgICAgICAgICAgICBjcmVhdGVEYXRhUHJv
cGVydHlPclRocm93KGV4ZWMsIHJlc3VsdCwgbiwgY3VyQXJnKTsKKyAgICAgICAgICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwogICAgICAgICAgICAgbisrOwogICAgICAgICB9CiAgICAgICAg
IGlmIChpID09IGFyZ0NvdW50KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGN1ckFyZyA9
IGV4ZWMtPnVuY2hlY2tlZEFyZ3VtZW50KGkpOwogICAgIH0KLSAgICBhcnItPnNldExlbmd0aChl
eGVjLCBuKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFycik7CisKKyAgICBpZiAoaXNB
cnJheUNvbnN0cnVjdG9yKQorICAgICAgICBqc0Nhc3Q8SlNBcnJheSo+KHJlc3VsdCktPnNldExl
bmd0aChleGVjLCBuKTsKKyAgICBlbHNlCisgICAgICAgIHB1dExlbmd0aChleGVjLCByZXN1bHQs
IGpzTnVtYmVyKG4pKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0K
IAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1BvcChFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC03MzAsMjMgKzgxOCw1NSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GdW5jU2xpY2UoRXhlY1N0YXRlKiBleGVjKQogCiAgICAgdW5zaWduZWQg
YmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMsIDAsIGxlbmd0
aCk7CiAgICAgdW5zaWduZWQgZW5kID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVu
ZChleGVjLCAxLCBsZW5ndGgsIGxlbmd0aCk7CisgICAgdW5zaWduZWQgY291bnQgPSBlbmQgLSBi
ZWdpbjsKIAotICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpIHsKLSAgICAgICAgaWYgKEpTQXJy
YXkqIHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGVu
ZCAtIGJlZ2luKSkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsK
KyAgICBKU09iamVjdCogY29uc3RydWN0b3IgPSBhcnJheVNwZWNpZXNDb25zdHJ1Y3RvcihleGVj
LCB0aGlzT2JqKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKKyAgICBpZiAoY29uc3RydWN0b3Ig
PT0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAg
ICAgICAgaWYgKGlzSlNBcnJheSh0aGlzT2JqKSkgeworICAgICAgICAgICAgaWYgKEpTQXJyYXkq
IHJlc3VsdCA9IGFzQXJyYXkodGhpc09iaiktPmZhc3RTbGljZSgqZXhlYywgYmVnaW4sIGNvdW50
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAg
ICAgIH0KKworICAgICAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4
ZWMsIG51bGxwdHIsIGNvdW50KTsKKworICAgICAgICB1bnNpZ25lZCBuID0gMDsKKyAgICAgICAg
Zm9yICh1bnNpZ25lZCBrID0gYmVnaW47IGsgPCBlbmQ7IGsrKywgbisrKSB7CisgICAgICAgICAg
ICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKKyAgICAgICAgICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgaWYgKHYpCisgICAgICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBuLCB2KTsKKyAgICAgICAgfQorICAg
ICAgICByZXN1bHQtPnNldExlbmd0aChleGVjLCBuKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShyZXN1bHQpOwogICAgIH0KIAotICAgIEpTQXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVj
dEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0ciwgZW5kIC0gYmVnaW4pOworICAgIENvbnN0cnVjdERh
dGEgY29uc3RydWN0RGF0YTsKKyAgICBDb25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRD
b25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3REYXRhKTsKKyAgICBpZiAoY29uc3Ry
dWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdpdmVuIGNvbnN0cnVjdG9y
IG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKSkpOworCisgICAgTWFya2VkQXJndW1lbnRC
dWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVuZChqc051bWJlcihjb3VudCkpOworICAgIEpTT2Jq
ZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3QoZXhlYywgY29uc3RydWN0b3IsIGNvbnN0cnVjdFR5cGUs
IGNvbnN0cnVjdERhdGEsIGFyZ3MpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIHVuc2ln
bmVkIG4gPSAwOwogICAgIGZvciAodW5zaWduZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4r
KykgewotICAgICAgICBKU1ZhbHVlIHYgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsK
KyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGspOwog
ICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwotICAgICAgICBpZiAodikKLSAgICAgICAgICAg
IHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgIGlmICh2YWx1ZSkg
eworICAgICAgICAgICAgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIG4s
IHZhbHVlKTsKKyAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICB9
CiAgICAgfQotICAgIHJlc3VsdC0+c2V0TGVuZ3RoKGV4ZWMsIG4pOworICAgIHB1dExlbmd0aChl
eGVjLCByZXN1bHQsIGpzTnVtYmVyKG4pKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CiB9CiAKQEAgLTc2MCw5ICs4ODAsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GdW5jU3BsaWNlKEV4ZWNTdGF0ZSogZXhlYykKICAgICB1bnNpZ25lZCBs
ZW5ndGggPSBnZXRMZW5ndGgoZXhlYywgdGhpc09iaik7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwot
ICAgIAotICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKQotICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCiAgICAg
dW5zaWduZWQgYmVnaW4gPSBhcmd1bWVudENsYW1wZWRJbmRleEZyb21TdGFydE9yRW5kKGV4ZWMs
IDAsIGxlbmd0aCk7CiAKQEAgLTc3NywyMiArODk0LDU4IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAg
ICAgZGVsZXRlQ291bnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVsZXRlRG91YmxlKTsKICAg
ICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBudWxscHRyOworICAgIEpTT2JqZWN0KiBjb25z
dHJ1Y3RvciA9IGFycmF5U3BlY2llc0NvbnN0cnVjdG9yKGV4ZWMsIHRoaXNPYmopOworICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKworICAgIEpTT2JqZWN0KiByZXN1bHQgPSBudWxscHRyOworICAgIGlm
IChjb25zdHJ1Y3RvciA9PSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3Ry
dWN0b3IoKSkgeworICAgICAgICBKU0FycmF5KiByZXN1bHRBcnJheSA9IG51bGxwdHI7CisKKyAg
ICAgICAgaWYgKCFleGVjLT5hcmd1bWVudENvdW50KCkpCisgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCi0gICAg
aWYgKGlzSlNBcnJheSh0aGlzT2JqKSkKLSAgICAgICAgcmVzdWx0ID0gYXNBcnJheSh0aGlzT2Jq
KS0+ZmFzdFNsaWNlKCpleGVjLCBiZWdpbiwgZGVsZXRlQ291bnQpOworICAgICAgICBpZiAoaXNK
U0FycmF5KHRoaXNPYmopKQorICAgICAgICAgICAgcmVzdWx0QXJyYXkgPSBhc0FycmF5KHRoaXNP
YmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBkZWxldGVDb3VudCk7CiAKLSAgICBpZiAoIXJl
c3VsdCkgewotICAgICAgICByZXN1bHQgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVk
KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlRm9ySW5kZXhp
bmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCBkZWxldGVDb3VudCk7
Ci0gICAgICAgIGlmICghcmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOworICAgICAgICBpZiAoIXJlc3VsdEFycmF5
KSB7CisgICAgICAgICAgICByZXN1bHRBcnJheSA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlh
bGl6ZWQodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmVGb3JJ
bmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIGRlbGV0ZUNv
dW50KTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0QXJyYXkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYykpOworCisgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgZGVsZXRlQ291bnQ7ICsraykgeworICAg
ICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyBi
ZWdpbik7CisgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAg
ICAgICAgICAgICAgIHJlc3VsdEFycmF5LT5pbml0aWFsaXplSW5kZXgodm0sIGssIHYpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJlc3VsdCA9IHJlc3VsdEFycmF5OworICAg
IH0gZWxzZSB7CisgICAgICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKKyAgICAgICAg
Q29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShjb25zdHJ1Y3Rv
ciwgY29uc3RydWN0RGF0YSk7CisgICAgICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVj
dFR5cGVOb25lKQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVF
cnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMg
bm90IGEgZnVuY3Rpb24iKSkpOworCisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7
CisgICAgICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIHJl
c3VsdCA9IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3Ry
dWN0RGF0YSwgYXJncyk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICAgICAg
Zm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGRlbGV0ZUNvdW50OyArK2spIHsKLSAgICAgICAgICAg
IEpTVmFsdWUgdiA9IGdldFByb3BlcnR5KGV4ZWMsIHRoaXNPYmosIGsgKyBiZWdpbik7CisgICAg
ICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayArICBi
ZWdpbik7CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgICAg
IHJlc3VsdC0+aW5pdGlhbGl6ZUluZGV4KHZtLCBrLCB2KTsKKyAgICAgICAgICAgIGlmICh2YWx1
ZSkgeworICAgICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVz
dWx0LCBrLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIHB1dExlbmd0aChleGVjLCBy
ZXN1bHQsIGpzTnVtYmVyKGRlbGV0ZUNvdW50KSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNl
cHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiAgICAgfQogCiAgICAgdW5zaWduZWQgYWRkaXRpb25hbEFyZ3MgPSBzdGQ6Om1heDxpbnQ+
KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSAtIDIsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaAppbmRleCAxNzdmNjllNWNiNDgyY2E1
Y2QzY2Q1MDZhZDFhNDAzMjcwMzg3NzcyLi44ZjE2MDA0YTY1YWM3MDE3YTgxOGJiMDdhMmJiZjY5
M2NhNzI3OTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsNyBAQCBjbGFzcyBCb29sZWFuQ29uc3RydWN0
b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRl
cm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVh
dGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQm9vbGVhblByb3RvdHlwZSogYm9vbGVh
blByb3RvdHlwZSkKKyAgICBzdGF0aWMgQm9vbGVhbkNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBl
KiBib29sZWFuUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgQm9vbGVhbkNvbnN0cnVjdG9yKiBj
b25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEJvb2xlYW5Db25zdHJ1Y3Rv
cj4odm0uaGVhcCkpIEJvb2xlYW5Db25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBib29sZWFuUHJvdG90eXBlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4
IDQxYjk0ZjFiZjQ3YmZjNjZkODc2NDUwYzAxMzAxZTU1MjFmZjk1NmQuLmY1NTk5N2YyMzcyZDAx
ZDc5ZmYxYWJhZjliODJlMDkxMDY0MmMwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMjM3LDIyICsyMzcsMjIgQEAKICAg
ICBtYWNybyhtYXRjaCkgXAogICAgIG1hY3JvKHJlcGxhY2UpIFwKICAgICBtYWNybyhzZWFyY2gp
IFwKLSAgICBtYWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8oc3BsaXQpIFwKICAgICBtYWNybyh0
b1ByaW1pdGl2ZSkgXAogICAgIG1hY3JvKHRvU3RyaW5nVGFnKQogCiAjZGVmaW5lIEpTQ19DT01N
T05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKG1hY3JvKSBcCiAg
ICAgbWFjcm8oaXRlcmF0b3IpIFwKKyAgICBtYWNybyhzcGVjaWVzKSBcCiAgICAgbWFjcm8odW5z
Y29wYWJsZXMpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9CWVRFQ09ERV9JTlRSSU5TSUNTX0VBQ0hf
TkFNRShtYWNybykgXAorICAgIG1hY3JvKG5ld0FycmF5V2l0aFNpemUpIFwKICAgICBtYWNybyhw
dXRCeVZhbERpcmVjdCkgXAogICAgIG1hY3JvKHRvU3RyaW5nKQogCiAjZGVmaW5lIEpTQ19DT01N
T05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUobWFjcm8pIFwKICAgICBK
U0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJQ1NfRUFDSF9OQU1FKG1hY3JvKSBcCi0gICAgbWFj
cm8oc3ltYm9sSXRlcmF0b3IpIFwKICAgICBtYWNybyhpdGVyYXRlZE9iamVjdCkgXAogICAgIG1h
Y3JvKGFycmF5SXRlcmF0b3JOZXh0SW5kZXgpIFwKICAgICBtYWNybyhhcnJheUl0ZXJhdGlvbktp
bmQpIFwKQEAgLTI4MCw2ICsyODAsNyBAQAogICAgIG1hY3JvKGFicykgXAogICAgIG1hY3JvKGZs
b29yKSBcCiAgICAgbWFjcm8oaXNGaW5pdGUpIFwKKyAgICBtYWNybyhpc0FycmF5KSBcCiAgICAg
bWFjcm8oZ2V0UHJvdG90eXBlT2YpIFwKICAgICBtYWNybyhnZXRPd25Qcm9wZXJ0eU5hbWVzKSBc
CiAgICAgbWFjcm8oVHlwZUVycm9yKSBcCkBAIC0yOTcsNiArMjk4LDcgQEAKICAgICBtYWNybyhw
cm9taXNlUmVqZWN0UmVhY3Rpb25zKSBcCiAgICAgbWFjcm8ocHJvbWlzZVJlc3VsdCkgXAogICAg
IG1hY3JvKGNhcGFiaWxpdGllcykgXAorICAgIG1hY3JvKGlzQXJyYXlDb25zdHJ1Y3RvckluRGlm
ZmVyZW50UmVhbG0pIFwKIAogCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggMDU0ZjU3MWQ1NzllOGNlNGYz
NGI1NDA5MTdiOGQwMjhiNTBkZmI5Yi4uNzU5NmZhZDk2MWVhMjhlOGZlNjI5ZjQ1MjQ3ZjU2OTAz
OGQzMTA0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0
cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgRGF0ZUNvbnN0cnVjdG9yIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAgc3RhdGljIERhdGVD
b25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERhdGVQcm90
b3R5cGUqIGRhdGVQcm90b3R5cGUpCisgICAgc3RhdGljIERhdGVDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3Rv
dHlwZSogZGF0ZVByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIERhdGVDb25zdHJ1Y3RvciogY29u
c3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxEYXRlQ29uc3RydWN0b3I+KHZt
LmhlYXApKSBEYXRlQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVj
dG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZGF0ZVByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXggYjExODk0ZGJlNGI1
NjE0ZmQyMzBiNjBmNmFlM2JjOGJiMzVkMjkyZS4uYmZlZDdjODczNTExY2I1YzliY2E5MWYyYmEy
MzM2ZjcyYjEyN2FhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBFcnJvckNvbnN0cnVjdG9y
IDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJu
YWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShW
TSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFcnJvclByb3RvdHlwZSogZXJyb3JQcm90b3R5
cGUpCisgICAgc3RhdGljIEVycm9yQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3Rv
dHlwZSkKICAgICB7CiAgICAgICAgIEVycm9yQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RXJyb3JDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEVycm9y
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hD
cmVhdGlvbih2bSwgZXJyb3JQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2Qx
NGE5ZWY1NWY0YzMzMGMwZWU3OGYwZjg2Mzc3M2QwNWRjZjhjOS4uMTc5NGI4NGI0ZGJlMjhkZjcz
YmE0YTRjNGRkMWJmOGI1ODk1NjNiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC0yOCw4ICsy
OCwxMCBAQAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJz
LmgiCisjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5o
IgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKKyNpbmNsdWRlICJKU0NCdWls
dGlucy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgogCkBAIC00NywyMiArNDksMjAgQEAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpKU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKIH0K
IAotdm9pZCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQordm9pZCBKU0FycmF5QnVmZmVyQ29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogcHJvdG90eXBlKQogewogICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtLCBBU0NJSUxpdGVyYWwoIkFycmF5QnVmZmVyIikpOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBy
b3RvdHlwZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVy
KDEpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7Ci0KLSAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgSlNDX05BVElW
RV9GVU5DVElPTih2bS5wcm9wZXJ0eU5hbWVzLT5pc1ZpZXcsIGFycmF5QnVmZmVyRnVuY0lzVmll
dywgRG9udEVudW0sIDEpOwogfQogCi1KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3RvdHlwZSkKK0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZSogcHJvdG90eXBlKQogewogICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogcmVzdWx0
ID0KICAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yPih2bS5oZWFwKSkKICAgICAgICAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKHZtLCBz
dHJ1Y3R1cmUpOwotICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24odm0sIHByb3RvdHlwZSk7Cisg
ICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUpOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKaW5kZXggYjY1YjUyM2I2NGM0
YmRjN2FlMjE2NTJmMWNlMjAyMzQ5MTU5YjM0MS4uNjQ5MTQ5NDU1NmY4OGEyODg4NWU1OTU3OGJm
ZmRkMTVjNmYyYzQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgKQEAgLTM4LDEwICszOCwxMCBAQCBjbGFz
cyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAK
IHByb3RlY3RlZDoKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUq
KTsKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSop
OworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTQXJyYXlC
dWZmZXJQcm90b3R5cGUqKTsKIAogcHVibGljOgotICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUq
KTsKKyAgICBzdGF0aWMgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKICAgICAK
ICAgICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNDE5YzFiMjc3OTk0MjhiNmY2YWY1OTU4MjIx
OWRmOWIzZjE1MTgzZi4uODJiNjQ1MDg4MTU0YzkwOTgyNzY2M2VmOGFiZDAxZDMwYmU0MWJlYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cApAQCAtMTk1LDYgKzE5NSwxNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBlbnF1ZXVlSm9iKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOwogfQogCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBpc0FycmF5Q29uc3RydWN0b3JJbkRpZmZlcmVudFJlYWxtKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpOworCisgICAgSlNWYWx1ZSBjb25zdHJ1Y3RvclZhbHVlID0gZXhlYy0+YXJndW1lbnQo
MCk7CisgICAgaWYgKEpTT2JqZWN0KiBjb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SlNPYmpl
Y3QqPihjb25zdHJ1Y3RvclZhbHVlKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c0Jvb2xlYW4oY29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpICE9IGdsb2JhbE9iamVjdCAmJiBj
b25zdHJ1Y3RvciA9PSBjb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPmFycmF5Q29uc3RydWN0
b3IoKSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7Cit9
CisKIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSogZ2xvYmFsT2JqZWN0TWV0aG9k
VGFibGUpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIDApCiAgICAgLCBtX3ZtKHZtKQpAQCAt
MjcwLDYgKzI4MCw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIG1f
Y2FsbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgY2FsbEZ1bmN0aW9uKTsKICAgICBtX2FwcGx5RnVu
Y3Rpb24uc2V0KHZtLCB0aGlzLCBhcHBseUZ1bmN0aW9uKTsKICAgICBtX2FycmF5UHJvdG9WYWx1
ZXNGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMCwg
dm0ucHJvcGVydHlOYW1lcy0+dmFsdWVzLnN0cmluZygpLCBhcnJheVByb3RvRnVuY1ZhbHVlcykp
OworICAgIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBKU0Z1bmN0
aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGFycmF5Q29uc3RydWN0b3JTeW1ib2xTcGVj
aWVzQ29kZUdlbmVyYXRvcih2bSksIHRoaXMsICJnZXQgW1N5bWJvbC5zcGVjaWVzXSIpKTsKICNp
ZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uLnNldCh2
bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25z
UHJvbWlzZUluaXRpYWxpemVQcm9taXNlQ29kZUdlbmVyYXRvcih2bSksIHRoaXMpKTsKICAgICBt
X25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3Jl
YXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VEZWZlcnJl
ZENvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSk7CkBAIC0zNzcsMTIgKzM4OCwxMiBAQCBtXyAjIyBw
cm9wZXJOYW1lICMjIFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIGluc3RhbmNlVHlwZTo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aAogICAgIG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbi5zZXQodm0sIHRo
aXMsIGRlZmluZVByb3BlcnR5RnVuY3Rpb24pOwogCiAgICAgSlNDZWxsKiBmdW5jdGlvbkNvbnN0
cnVjdG9yID0gRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBGdW5jdGlvbkNvbnN0cnVj
dG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkp
LCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwqIGFycmF5Q29uc3RydWN0
b3IgPSBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQ
cm90b3R5cGUuZ2V0KCkpOworICAgIG1fYXJyYXlDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEFy
cmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9hcnJheVBy
b3RvdHlwZS5nZXQoKSkpOwogICAgIAotICAgIG1fcmVnRXhwQ29uc3RydWN0b3Iuc2V0KHZtLCB0
aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9yZWdF
eHBQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3JlZ0V4cENvbnN0cnVjdG9yLnNldCh2bSwgdGhp
cywgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgUmVnRXhwQ29uc3RydWN0b3I6
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1f
cmVnRXhwUHJvdG90eXBlLmdldCgpKSk7CiAgICAgCiAjZGVmaW5lIENSRUFURV9DT05TVFJVQ1RP
Ul9GT1JfU0lNUExFX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5z
dGFuY2VUeXBlLCBqc05hbWUpIFwKLWNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5h
bWUgIyMgQ29uc3RydWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZt
LCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5n
ZXQoKSk7IFwKK2NhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5hbWUgIyMgQ29uc3Ry
dWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBjYXBp
dGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0
aW9uUHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5nZXQoKSk7
IFwKIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0
aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgbG93ZXJOYW1lICMjIENvbnN0
cnVjdG9yLCBEb250RW51bSk7IFwKIAogICAgIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUo
Q1JFQVRFX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQRSkKQEAgLTQwMCwxMiArNDExLDEyIEBA
IG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jCiAgICAgbV90eXBlRXJyb3JDb25zdHJ1Y3Rvci5zZXQo
dm0sIHRoaXMsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgbmF0aXZl
RXJyb3JTdHJ1Y3R1cmUsIG5hdGl2ZUVycm9yUHJvdG90eXBlU3RydWN0dXJlLCBBU0NJSUxpdGVy
YWwoIlR5cGVFcnJvciIpKSk7CiAgICAgbV9VUklFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhp
cywgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0
cnVjdHVyZSwgbmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVVJJ
RXJyb3IiKSkpOwogI2lmIEVOQUJMRShQUk9NSVNFUykKLSAgICBtX3Byb21pc2VDb25zdHJ1Y3Rv
ci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBtX3Byb21pc2VDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRo
aXMsIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKICNlbmRp
ZgogICAgIAogICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIG9iamVjdENvbnN0cnVjdG9yLCBE
b250RW51bSk7CiAgICAgbV9mdW5jdGlvblByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBmdW5jdGlvbkNvbnN0cnVj
dG9yLCBEb250RW51bSk7Ci0gICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBhcnJheUNvbnN0cnVj
dG9yLCBEb250RW51bSk7CisgICAgbV9hcnJheVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX2FycmF5Q29uc3Ry
dWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBtX3JlZ0V4cFByb3RvdHlwZS0+cHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Jl
Z0V4cENvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAjaWYgRU5BQkxFKFBST01JU0VTKQog
ICAgIG1fcHJvbWlzZVByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZt
LnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5nZXQoKSwg
RG9udEVudW0pOwpAQCAtNDEzLDcgKzQyNCw3IEBAIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jCiAg
ICAgCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
Pk9iamVjdCwgb2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+RnVuY3Rpb24sIGZ1bmN0aW9uQ29u
c3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+QXJyYXksIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXks
IG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SZWdFeHAsIG1fcmVnRXhwQ29uc3Ry
dWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+RXZhbEVycm9yLCBtX2V2YWxFcnJvckNvbnN0cnVjdG9yLmdl
dCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPlJhbmdlRXJyb3IsIG1fcmFuZ2VFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBE
b250RW51bSk7CkBAIC00OTMsOSArNTA0LDEwIEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT4ganNOYW1lLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0CiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5vYmplY3RHZXRPd25Q
cm9wZXJ0eVN5bWJvbHNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNPYmplY3RHZXRPd25Qcm9wZXJ0
eVN5bWJvbHMsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFRlbXBsYXRlT2JqZWN0UHJpdmF0
ZU5hbWUsIHByaXZhdGVGdW5jR2V0VGVtcGxhdGVPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmVucXVldWVKb2JQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAw
LCBTdHJpbmcoKSwgZW5xdWV1ZUpvYiksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlD
b25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG1Qcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwgaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFs
bSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlR5cGVFcnJvclByaXZhdGVOYW1lLCBtX3R5cGVF
cnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5CdWlsdGluTG9n
UHJpdmF0ZU5hbWUsIGJ1aWx0aW5Mb2csIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJp
dmF0ZU5hbWUsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5
UHJpdmF0ZU5hbWUsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+TnVtYmVyUHJpdmF0ZU5hbWUsIG51bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5TdHJpbmdQcml2YXRlTmFtZSwgc3RyaW5nQ29uc3RydWN0b3IsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmFic1ByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0FicywgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtNTAzLDEwICs1MTUsMTIgQEAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFt
ZSAjIyBDb25zdHJ1Y3QKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmdldFByb3RvdHlwZU9mUHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jRmxvb3IsIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmdldE93blByb3BlcnR5TmFtZXNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1
bmNGbG9vciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+aXNGaW5pdGVQcml2YXRlTmFtZSwgcHJp
dmF0ZUZ1bmNJc0Zpbml0ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAg
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+aXNBcnJheVByaXZhdGVO
YW1lLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBhcnJheUNvbnN0
cnVjdG9ySXNBcnJheSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2lu
ZEtleVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVLZXkpLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5hcnJheUl0ZXJhdGlvbktpbmRWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihB
cnJheUl0ZXJhdGVWYWx1ZSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9u
S2luZEtleVZhbHVlUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleVZhbHVlKSwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8odm0ucHJvcGVydHlOYW1lcy0+c3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSwgU3ltYm9s
OjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PFN5bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+
aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5O
YW1lcygpLnN5bWJvbEl0ZXJhdG9yUHJpdmF0ZU5hbWUoKSwgU3ltYm9sOjpjcmVhdGUodm0sIHN0
YXRpY19jYXN0PFN5bWJvbEltcGwmPigqdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wu
aW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN5bWJvbFNw
ZWNpZXNQcml2YXRlTmFtZSgpLCBTeW1ib2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLmltcGwoKSkpLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+UHJvbWlzZVByaXZhdGVOYW1l
LCBtX3Byb21pc2VDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+cHJv
bWlzZVBlbmRpbmdQcml2YXRlTmFtZSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
UHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKQEAgLTUxNiw2ICs1MzAsOCBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+IGpzTmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdAogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudG9M
ZW5ndGhQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvTGVuZ3RoLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5idWlsdGluTmFtZXMoKS50b0ludGVnZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVu
Y1RvSW50ZWdlciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNPYmpl
Y3RQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGds
b2JhbE9iamVjdElzT2JqZWN0Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERv
bnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zcGVjaWVzQ29uc3RydWN0b3JQcml2YXRlTmFtZSgp
LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdFNwZWNp
ZXNDb25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkuYXJyYXlTcGVjaWVzQ3JlYXRlUHJpdmF0ZU5hbWUoKSwgSlNG
dW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zQXJyYXlBcnJheVNw
ZWNpZXNDcmVhdGVDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmlzUHJvbWlzZVByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNy
ZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJc1Byb21pc2VDb2RlR2Vu
ZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
Lm5ld1Byb21pc2VSZWFjdGlvblByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0
aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VOZXdQcm9taXNlUmVhY3Rpb25Db2RlR2Vu
ZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
Lm5ld1Byb21pc2VDYXBhYmlsaXR5UHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVp
bHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VDYXBhYmlsaXR5Q29k
ZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CkBAIC01MzEsNyArNTQ3LDcgQEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnBy
b3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3QKICAgICBtX3NwZWNp
YWxQb2ludGVyc1tTcGVjaWFsOjpDYWxsRnVuY3Rpb25dID0gbV9jYWxsRnVuY3Rpb24uZ2V0KCk7
CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6QXBwbHlGdW5jdGlvbl0gPSBtX2FwcGx5
RnVuY3Rpb24uZ2V0KCk7CiAgICAgbV9zcGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6T2JqZWN0Q29u
c3RydWN0b3JdID0gb2JqZWN0Q29uc3RydWN0b3I7Ci0gICAgbV9zcGVjaWFsUG9pbnRlcnNbU3Bl
Y2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBhcnJheUNvbnN0cnVjdG9yOworICAgIG1fc3BlY2lh
bFBvaW50ZXJzW1NwZWNpYWw6OkFycmF5Q29uc3RydWN0b3JdID0gbV9hcnJheUNvbnN0cnVjdG9y
LmdldCgpOwogCiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
TGlua1RpbWVDb25zdGFudDo6RGVmaW5lUHJvcGVydHlGdW5jdGlvbildID0gbV9kZWZpbmVQcm9w
ZXJ0eUZ1bmN0aW9uLmdldCgpOwogCkBAIC03NTgsNiArNzc0LDcgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2dsb2JhbFRoaXMpOwogCiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xvYmFsQ2FsbGVlKTsKKyAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9hcnJheUNvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9yZWdFeHBDb25zdHJ1Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fZXJyb3JDb25zdHJ1Y3Rvcik7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fZXZhbEVycm9yQ29uc3RydWN0b3IpOwpAQCAtNzgwLDYgKzc5Nyw3IEBAIHZv
aWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcHBseUZ1bmN0
aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9kZWZpbmVQcm9wZXJ0eUZ1
bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJheVByb3RvVmFs
dWVzRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5U3Bl
Y2llc0dldHRlckZ1bmN0aW9uKTsKICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1faW5pdGlhbGl6ZVByb21pc2VGdW5jdGlvbik7CiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmV3UHJvbWlzZURlZmVycmVkRnVuY3Rpb24pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXgg
MzM3YmI3NDZhMzJhZTAzNTYwMmU3N2NjN2QyMTk2NDhkYThmM2MwZC4uYjdiN2E1MDM3MjBkODAz
ZDAyZGIwYjQ2OGIxYjkyZTk3YzQ5ZTE5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC01NSw2ICs1NSw3IEBAIGNsYXNzIEpTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjsKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEFy
cmF5Q29uc3RydWN0b3I7CiBjbGFzcyBBcnJheVByb3RvdHlwZTsKIGNsYXNzIEJvb2xlYW5Qcm90
b3R5cGU7CiBjbGFzcyBDb25zb2xlQ2xpZW50OwpAQCAtMTc4LDYgKzE3OSw3IEBAIGNsYXNzIEpT
R2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFdy
aXRlQmFycmllcjxKU09iamVjdD4gbV9nbG9iYWxUaGlzOwogCiAgICAgV3JpdGVCYXJyaWVyPEpT
T2JqZWN0PiBtX2dsb2JhbENhbGxlZTsKKyAgICBXcml0ZUJhcnJpZXI8QXJyYXlDb25zdHJ1Y3Rv
cj4gbV9hcnJheUNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxSZWdFeHBDb25zdHJ1Y3Rv
cj4gbV9yZWdFeHBDb25zdHJ1Y3RvcjsKICAgICBXcml0ZUJhcnJpZXI8RXJyb3JDb25zdHJ1Y3Rv
cj4gbV9lcnJvckNvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxOYXRpdmVFcnJvckNvbnN0
cnVjdG9yPiBtX2V2YWxFcnJvckNvbnN0cnVjdG9yOwpAQCAtMjAxLDYgKzIwMyw3IEBAIGNsYXNz
IEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAg
IFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2FwcGx5RnVuY3Rpb247CiAgICAgV3JpdGVCYXJy
aWVyPEpTRnVuY3Rpb24+IG1fZGVmaW5lUHJvcGVydHlGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJp
ZXI8SlNGdW5jdGlvbj4gbV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb247CisgICAgV3JpdGVCYXJy
aWVyPEpTRnVuY3Rpb24+IG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb247CiAjaWYgRU5BQkxF
KFBST01JU0VTKQogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2luaXRpYWxpemVQcm9t
aXNlRnVuY3Rpb247CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fbmV3UHJvbWlzZURl
ZmVycmVkRnVuY3Rpb247CkBAIC0zODgsNiArMzkxLDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3Qg
OiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgLy8gVGhlIGZvbGxvd2lu
ZyBhY2Nlc3NvcnMgcmV0dXJuIHByaXN0aW5lIHZhbHVlcywgZXZlbiBpZiBhIHNjcmlwdCAKICAg
ICAvLyByZXBsYWNlcyB0aGUgZ2xvYmFsIG9iamVjdCdzIGFzc29jaWF0ZWQgcHJvcGVydHkuCiAK
KyAgICBBcnJheUNvbnN0cnVjdG9yKiBhcnJheUNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4g
bV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOyB9CiAgICAgUmVnRXhwQ29uc3RydWN0b3IqIHJlZ0V4
cENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKTsg
fQogCiAgICAgRXJyb3JDb25zdHJ1Y3RvciogZXJyb3JDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0
dXJuIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQoKTsgfQpAQCAtNDEyLDYgKzQxNiw3IEBAIGNsYXNz
IEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAg
IEpTRnVuY3Rpb24qIGFwcGx5RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FwcGx5RnVuY3Rp
b24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uLmdldCgpOyB9CiAgICAgSlNGdW5j
dGlvbiogYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheVBy
b3RvVmFsdWVzRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICBKU0Z1bmN0aW9uKiBhcnJheVNwZWNpZXNH
ZXR0ZXJGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rp
b24uZ2V0KCk7IH0KICNpZiBFTkFCTEUoUFJPTUlTRVMpCiAgICAgSlNGdW5jdGlvbiogaW5pdGlh
bGl6ZVByb21pc2VGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbGl6ZVByb21pc2VG
dW5jdGlvbi5nZXQoKTsgfQogICAgIEpTRnVuY3Rpb24qIG5ld1Byb21pc2VEZWZlcnJlZEZ1bmN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbi5nZXQoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCmluZGV4IGQyMGRh
YTIwNDUxZDJmYmVmMzNiY2Q5MTM0OTEwNGYxZmJjYjU4NzMuLjgyMWU2YzdlMDU4MmRlZjU0ZTA4
ZGIyYzJjYmUwYWI5MmE1ZTQwZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKQEAgLTE3NDgsNyArMTc0OCw3IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93
bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGluZGV4LCBjb25zdCBQ
CiAgICAgICAgIC8vIHN0YXRlIChpLmUuIGRlZmluZU93blByb3BlcnR5IGNvdWxkIGJlIHVzZWQg
dG8gc2V0IGEgdmFsdWUgd2l0aG91dCBuZWVkaW5nIHRvIGVudGVyaW5nICdTcGFyc2VNb2RlJyku
CiAgICAgICAgIGlmICghZGVzY3JpcHRvci5hdHRyaWJ1dGVzKCkpIHsKICAgICAgICAgICAgIEFT
U0VSVCghZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpKTsKLSAgICAgICAgICAgIHJl
dHVybiBwdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgZGVzY3JpcHRvci52YWx1ZSgpLCAwLCB0
aHJvd0V4Y2VwdGlvbiA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRl
eFNob3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleChleGVj
LCBpbmRleCwgZGVzY3JpcHRvci52YWx1ZSgpLCAwLCB0aHJvd0V4Y2VwdGlvbiA/IFB1dERpcmVj
dEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90
VGhyb3cpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBlbnN1cmVBcnJheVN0b3JhZ2VF
eGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoZXhlYy0+dm0oKSk7CkBAIC0yMTQ0
LDkgKzIxNDQsOSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxl
bmd0aFdpdGhBcnJheVN0b3JhZ2UoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICBpZiAobW9kZSAh
PSBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QpIHsKICAgICAgICAgICAgIC8vIFByb2hpYml0
IGdyb3dpbmcgdGhlIGFycmF5IGlmIGxlbmd0aCBpcyBub3Qgd3JpdGFibGUuCiAgICAgICAgICAg
ICBpZiAobWFwLT5sZW5ndGhJc1JlYWRPbmx5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
amVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csIFN0cmljdE1vZGVS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVj
dChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQdXRE
aXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csIFN0cmljdE1vZGVSZWFkb25seVBy
b3BlcnR5V3JpdGVFcnJvcik7CiAgICAgICAgICAgICBpZiAoIWlzRXh0ZW5zaWJsZSgpKQotICAg
ICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJlY3RJbmRleFNo
b3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRoYXQg
aXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChleGVj
LCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQdXREaXJlY3RJ
bmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csICJBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9w
ZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKICAgICAgICAgfQogICAg
ICAgICBsZW5ndGggPSBpICsgMTsKICAgICAgICAgc3RvcmFnZS0+c2V0TGVuZ3RoKGxlbmd0aCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25z
dHJ1Y3Rvci5jcHAKaW5kZXggNjg5NWVkODJmYWQ4MDc3Y2Q3Y2ZjMzA0NDFlNDY5MTA0Y2IyZWYy
Yy4uZTVmMDE3MWVlY2U1NWVjZWE2YmI3ZDY0ODUxNzE1OWJmYjkzOTRhYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJFeGNl
cHRpb24uaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJdGVyYXRvck9w
ZXJhdGlvbnMuaCIKICNpbmNsdWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFs
dWVJbmxpbmVzLmgiCkBAIC02MSwxMCArNjIsMTAgQEAgY29uc3QgQ2xhc3NJbmZvIEpTUHJvbWlz
ZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjoK
IEBlbmQKICovCiAKLUpTUHJvbWlzZUNvbnN0cnVjdG9yKiBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6
Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTUHJvbWlzZVByb3RvdHlwZSog
cHJvbWlzZVByb3RvdHlwZSkKK0pTUHJvbWlzZUNvbnN0cnVjdG9yKiBKU1Byb21pc2VDb25zdHJ1
Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEpTUHJvbWlzZVByb3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKIHsK
ICAgICBKU1Byb21pc2VDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxKU1Byb21pc2VDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIEpTUHJvbWlzZUNvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2
bSwgcHJvbWlzZVByb3RvdHlwZSk7CisgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZt
LCBnbG9iYWxPYmplY3QsIHByb21pc2VQcm90b3R5cGUpOwogICAgIHJldHVybiBjb25zdHJ1Y3Rv
cjsKIH0KIApAQCAtNzgsMTEgKzc5LDE0IEBAIEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpKU1Byb21p
c2VDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogfQogCi12b2lk
IEpTUHJvbWlzZUNvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTUHJvbWlzZVBy
b3RvdHlwZSogcHJvbWlzZVByb3RvdHlwZSkKK3ZvaWQgSlNQcm9taXNlQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9t
aXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtLCBBU0NJSUxpdGVyYWwoIlByb21pc2UiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvbWlzZVByb3RvdHlw
ZSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOwogICAgIHB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBS
ZWFkT25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CisgICAgR2V0dGVyU2V0dGVyKiBzcGVj
aWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KTsKKyAg
ICBzcGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9u
OjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHByb21pc2VDb25zdHJ1Y3RvclN5bWJvbFNwZWNp
ZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wuc3BlY2llc10i
KSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0K
IAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0UHJvbWlzZShF
eGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9taXNlQ29uc3RydWN0b3IuaAppbmRleCBmYzBmMDRkMmIyYjQzNjk4YTkwNGM1MWUyZmRk
YmE3YTM4MTI2NmYyLi4zZmRkMzcyOWM5ZmZhOWM3MjNmM2I0YjViMzU1MzQ0OTdhN2FmODYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNvbnN0
cnVjdG9yLmgKQEAgLTQwLDEzICs0MCwxMyBAQCBjbGFzcyBKU1Byb21pc2VDb25zdHJ1Y3RvciA6
IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRp
YyBKU1Byb21pc2VDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiwgU3RydWN0dXJlKiwgSlNQcm9taXNl
UHJvdG90eXBlKik7CisgICAgc3RhdGljIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTUHJvbWlzZVByb3RvdHlwZSopOwogICAg
IHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNWYWx1ZSk7CiAKICAgICBERUNMQVJFX0lORk87CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgSlNQcm9taXNlUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNQcm9taXNlUHJvdG90eXBlKik7CiAKIHBy
aXZhdGU6CiAgICAgSlNQcm9taXNlQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAppbmRleCBm
YWQ1MmMwNTYwNDhlMThiN2VlYzQ5OGZmMTQ5NTNmZDkwZmNmZWRkLi4wMGZlOThlN2FjMmQ5Yzky
MjM0NWU3YTE1OWRlYmZkNTU5NzJmZGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVkZSAi
TWFwQ29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0dGVy
U2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiSlND
QnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtMzksMTEgKzQx
LDE0IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gTWFwQ29uc3RydWN0b3I6
OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShNYXBDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBNYXBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKK3ZvaWQgTWFwQ29uc3Ry
dWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgTWFwUHJvdG90eXBlKiBtYXBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0sIG1hcFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbWFw
UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0
ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpT
RnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgbWFwQ29uc3RydWN0b3JTeW1ib2xT
cGVjaWVzQ29kZUdlbmVyYXRvcih2bSksIGdsb2JhbE9iamVjdCwgImdldCBbU3ltYm9sLnNwZWNp
ZXNdIikpOworICAgIHB1dERpcmVjdE5vbkluZGV4QWNjZXNzb3Iodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnNwZWNpZXNTeW1ib2wsIHNwZWNpZXNBY2Nlc3NvciwgQWNjZXNzb3IgfCBEb250RW51bSk7
CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxNYXAoRXhlY1N0
YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFw
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVj
dG9yLmgKaW5kZXggMWE4NWRlNWIxNWIwMDdkMWU5ZGZjOGI5Y2I2NTYxMTA4Yzc2Mzc4MC4uYjY1
OTVmODg0NGM5NjRiZThlNjYzOGZmZDQ0YTExZmQ1M2FhOWNkMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCkBAIC0zNiwxMCArMzYsMTAgQEAg
Y2xhc3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgTWFwQ29u
c3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBNYXBQcm90b3R5
cGUqIG1hcFByb3RvdHlwZSkKKyAgICBzdGF0aWMgTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBN
YXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE1hcENvbnN0cnVjdG9y
KiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE1hcENvbnN0cnVjdG9y
Pih2bS5oZWFwKSkgTWFwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0
cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbWFwUHJvdG90eXBlKTsKKyAgICAgICAgY29uc3Ry
dWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1hcFByb3RvdHlwZSk7CiAg
ICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjsKICAgICB9CiAKQEAgLTU1LDcgKzU1LDcgQEAgY2xh
c3MgTWFwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgICAgIDog
QmFzZSh2bSwgc3RydWN0dXJlKQogICAgIHsKICAgICB9Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIE1hcFByb3RvdHlwZSopOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCosIE1hcFByb3RvdHlwZSopOwogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdl
dENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgIHN0YXRpYyBDYWxs
VHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGY4YjFmN2Y0
NDM3MDNhYjQxOThkZDQzMjFlMjA5ZGZlNjY4ODJhM2MuLmE4YjE3MzVhNjA4NmIyMzE5OWI0YTY3
YmYyNjIwNTIyMzNlMzZiMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBOdW1iZXJDb25z
dHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFs
RnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IElt
cGxlbWVudHNIYXNJbnN0YW5jZTsKIAotICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE51bWJlclByb3RvdHlwZSogbnVtYmVy
UHJvdG90eXBlKQorICAgIHN0YXRpYyBOdW1iZXJDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBlKiBu
dW1iZXJQcm90b3R5cGUpCiAgICAgewogICAgICAgICBOdW1iZXJDb25zdHJ1Y3RvciogY29uc3Ry
dWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxOdW1iZXJDb25zdHJ1Y3Rvcj4odm0u
aGVhcCkpIE51bWJlckNvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIG51bWJlclByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdXREaXJlY3RJbmRleE1vZGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCmluZGV4IDNlYjNm
NTgxOGRmYjliOGMyZGExYWY0NWUxN2NhYjU1ZThlZTU1MWYuLjI2MGZjZTg1ZjBkMDAxNjBiN2Ix
YWFkOWY4NWExNzA1ZTVjZTk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oCkBAIC0yOCw3ICsyOCwxNSBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAotZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeyBQdXREaXJlY3RJbmRleExpa2VQ
dXREaXJlY3QsIFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3csIFB1dERpcmVjdEluZGV4U2hv
dWxkVGhyb3cgfTsKK2VudW0gUHV0RGlyZWN0SW5kZXhNb2RlIHsKKyAgICBQdXREaXJlY3RJbmRl
eExpa2VQdXREaXJlY3QsCisgICAgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywKKyAgICBQ
dXREaXJlY3RJbmRleFNob3VsZFRocm93LAorCisgICAgLy8gRm9sbG93IHRoZSBFQ01BMjYyIDZ0
aCBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IHNlbWFudGljcy4KKyAgICAvLyBodHRwOi8vZWNt
YS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1jcmVhdGVkYXRhcHJvcGVydHlv
cnRocm93CisgICAgUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93LAorfTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBlZTFkOGIzZmM2OWY5NDNiOTRhNTI1
OWNmN2MxODZjYWM2MzczZjc0Li4xZTM3YzZhOGI1MDY2YTc0ZjQxMjUzNzUxMWE4NTM2NzlhNzQ2
NDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuY3BwCkBAIC04OSw3ICs4OSw3IEBAIFJlZ0V4cENvbnN0cnVjdG9yOjpSZWdFeHBD
b25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5CiB7
CiB9CiAKLXZvaWQgUmVnRXhwQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUmVn
RXhwUHJvdG90eXBlKiByZWdFeHBQcm90b3R5cGUpCit2b2lkIFJlZ0V4cENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKiBy
ZWdFeHBQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHJlZ0V4cFBy
b3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGlu
Zm8oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmgKaW5kZXggY2FiZWUxOWM5M2Q5YjI0NmM4MDg4NTFmMmFmZjRlMmFkMTA0NmExYS4u
NjQyNDBlZGM1NDBhOTljNjU0NzVlNmJiMWMwZmQwNjUwMjlkNThiZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zNSwxMCAr
MzUsMTAgQEAgY2xhc3MgUmVnRXhwQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4
cFByb3RvdHlwZSkKKyAgICBzdGF0aWMgUmVnRXhwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWdF
eHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIFJlZ0V4cENvbnN0
cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFJlZ0V4cENv
bnN0cnVjdG9yPih2bS5oZWFwKSkgUmVnRXhwQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSwgcmVn
RXhwUHJvdG90eXBlKTsKLSAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBy
ZWdFeHBQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0s
IGdsb2JhbE9iamVjdCwgcmVnRXhwUHJvdG90eXBlKTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVj
dG9yOwogICAgIH0KIApAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6
IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgUmVnRXhwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgUmVnRXhwUHJvdG90eXBlKik7CiAKIHByaXZhdGU6CiAgICAg
UmVnRXhwQ29uc3RydWN0b3IoVk0mLCBTdHJ1Y3R1cmUqLCBSZWdFeHBQcm90b3R5cGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAppbmRl
eCBmYjk3YjZkOWZhMGQwZWU2M2ExZDUyYTk4ODdlYzc3Njk4Zjc1M2RmLi5kMWIwMzUxNDBiMWFk
Yzc5ZDYxOTAzNmJhYjU3OWQzYjNlMTY4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5jbHVk
ZSAiU2V0Q29uc3RydWN0b3IuaCIKIAogI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiR2V0
dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSXRlcmF0b3JPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAi
SlNDQnVpbHRpbnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTQ2VsbElubGluZXMuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtNDAsMTEg
KzQyLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gU2V0Q29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShTZXRDb25zdHJ1Y3RvcikgfTsKIAotdm9pZCBTZXRDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKK3ZvaWQgU2V0Q29u
c3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0sIHNldFByb3RvdHlwZS0+Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
c2V0UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNO
dW1iZXIoMCksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKworICAgIEdldHRl
clNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVj
dCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBzZXRDb25zdHJ1Y3RvclN5
bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wu
c3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRF
bnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbFNldChF
eGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29u
c3RydWN0b3IuaAppbmRleCBlZmJkODhiYjMyMmZkZGFhYjliNzU2NDM5MDNhOTdkZTc4NWU1ODAw
Li5iNjg0MWY3MzUwZmNkMzIzYzdmMzMxOTJkYmI5ZDE5MTAwYjY5MmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmgKQEAgLTM2LDEwICszNiwx
MCBAQCBjbGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBT
ZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFNldFBy
b3RvdHlwZSogc2V0UHJvdG90eXBlKQorICAgIHN0YXRpYyBTZXRDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU2V0Q29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U2V0Q29uc3Ry
dWN0b3I+KHZtLmhlYXApKSBTZXRDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzZXRQcm90b3R5cGUpOworICAgICAgICBj
b25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgc2V0UHJvdG90eXBl
KTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyArNTUsNyBA
QCBjbGFzcyBTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgU2V0UHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgU2V0UHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGlj
IENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcApp
bmRleCA2MmQzNGJhYWZkZGI0MGVlYTBmNjE1ZjA2MjA3YTI5YWI5ZmY5OTgzLi5jYjUzNzBiMWFl
YjI2ZjlmNmYxODI2MTZkMjFkYTkwNjY0Zjc4MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcApAQCAtMTE2LDcgKzEx
NiwyNSBAQCBib29sIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dERpcmVjdChFeGVjU3RhdGUqIGV4
ZWMsIEpTT2JqZWN0KiBhcnJheSwgdW5zaWduZWQgaQogICAgIC8vIGV4dGVuc2libGUsIHRoaXMg
aXMgbm90IHRoZSByaWdodCB0aGluZyB0byBoYXZlIGRvbmUgLSBzbyByZW1vdmUgYWdhaW4uCiAg
ICAgaWYgKG1vZGUgIT0gUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0ICYmIHJlc3VsdC5pc05l
d0VudHJ5ICYmICFhcnJheS0+aXNFeHRlbnNpYmxlKCkpIHsKICAgICAgICAgcmVtb3ZlKHJlc3Vs
dC5pdGVyYXRvcik7Ci0gICAgICAgIHJldHVybiByZWplY3QoZXhlYywgbW9kZSA9PSBQdXREaXJl
Y3RJbmRleFNob3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2Jq
ZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgIHJldHVybiByZWplY3QoZXhl
YywgbW9kZSA9PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IHx8IG1vZGUgPT0gUHV0RGlyZWN0
SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJv
cGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgfQorCisgICAg
aWYgKG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93ICYmICFy
ZXN1bHQuaXNOZXdFbnRyeSkgeworICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIERvbnRE
ZWxldGUpIHsKKyAgICAgICAgICAgIGlmICghKGF0dHJpYnV0ZXMgJiBEb250RGVsZXRlKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8g
Y2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHku
Iik7CisKKyAgICAgICAgICAgIGlmICgoZW50cnkuYXR0cmlidXRlcyAmIERvbnRFbnVtKSAhPSAo
YXR0cmlidXRlcyAmIERvbnRFbnVtKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBl
RXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGVudW1lcmFibGUgYXR0cmlidXRlIG9m
IHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJp
YnV0ZXMgJiBBY2Nlc3NvcikKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3Io
ZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFuIHVuY29u
ZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJpYnV0ZXMg
JiBSZWFkT25seSkgeworICAgICAgICAgICAgICAgIGlmICghKGF0dHJpYnV0ZXMgJiBSZWFkT25s
eSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0
ZW1wdGluZyB0byBjaGFuZ2Ugd3JpdGFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHBy
b3BlcnR5LiIpOworICAgICAgICAgICAgICAgIGlmICghc2FtZVZhbHVlKGV4ZWMsIGVudHJ5Lmdl
dChleGVjLCBhcnJheSksIHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93
VHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB2YWx1ZSBvZiBhIHJlYWRvbmx5
IHByb3BlcnR5LiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgZW50
cnkuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAppbmRleCAzNTc1MTFhNTc2NTRlMTY4MjVmZDIy
YjBhZTY3NzM4OWQyMDNjMjAzLi5kMmEyMTUyZGZmNmQ4OGJiZGQ2YzVmYWZmZDEyMmIwMDc1OTI2
M2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0
cnVjdG9yLmgKQEAgLTMyLDcgKzMyLDcgQEAgY2xhc3MgU3RyaW5nQ29uc3RydWN0b3IgOiBwdWJs
aWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgU3Ry
aW5nQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJp
bmdQcm90b3R5cGUqIHN0cmluZ1Byb3RvdHlwZSkKKyAgICBzdGF0aWMgU3RyaW5nQ29uc3RydWN0
b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgU3RyaW5n
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3Ry
aW5nQ29uc3RydWN0b3I+KHZtLmhlYXApKSBTdHJpbmdDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJl
KTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBzdHJpbmdQcm90b3R5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29u
c3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVj
dG9yLmgKaW5kZXggMzQ0YTk3OGFiMGFjNzRlMTU0ODNiM2VlMmU1NzlmYWQwMWQ3Y2UzNC4uM2Iz
OTNmZDFhMGE3NGYwMzAzM2RmZGE5NDI3ZDFhZTRkNzM1YWIwYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCkBAIC0zOSw3ICszOSw3
IEBAIGNsYXNzIFN5bWJvbENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
ICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEJhc2U6
OlN0cnVjdHVyZUZsYWdzOwogCi0gICAgc3RhdGljIFN5bWJvbENvbnN0cnVjdG9yKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3ltYm9sUHJvdG90eXBlKiBwcm90b3R5cGUp
CisgICAgc3RhdGljIFN5bWJvbENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1ib2xQcm90b3R5cGUqIHByb3RvdHlwZSkK
ICAgICB7CiAgICAgICAgIFN5bWJvbENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPFN5bWJvbENvbnN0cnVjdG9yPih2bS5oZWFwKSkgU3ltYm9sQ29u
c3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVh
dGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1dlYWtNYXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha01hcENvbnN0cnVjdG9yLmgKaW5kZXggNjZlZGJjYjE2ZDg5YTViNjY0ODBhZWRhMzM2
MzNiNjg1MmVlNDg5Ni4uNmM5YWQzOWU1MWU1N2JjNDQ5ZTIxZThlZDdiZmU2MGEyYWVkODFiYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVj
dG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha01hcENvbnN0cnVjdG9yIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlv
biBCYXNlOwogCi0gICAgc3RhdGljIFdlYWtNYXBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAgICBz
dGF0aWMgV2Vha01hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCos
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrTWFwUHJvdG90eXBlKiBwcm90b3R5cGUpCiAgICAg
ewogICAgICAgICBXZWFrTWFwQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxs
LCBhbGxvY2F0ZUNlbGw8V2Vha01hcENvbnN0cnVjdG9yPih2bS5oZWFwKSkgV2Vha01hcENvbnN0
cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9XZWFrU2V0Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtTZXRDb25zdHJ1Y3Rvci5oCmluZGV4IDdmNmZiNmE1ZTc2OGViZjQwOGNhNmNlNzVhZDUy
ZTZlYzU4Mzk5NjQuLjI4ODljOWMwOTA5YTk1NDA2ZTA3ODI3ODhmY2RhM2QwOTQyZmRjNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rv
ci5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIFdlYWtTZXRDb25zdHJ1Y3RvciA6IHB1YmxpYyBJ
bnRlcm5hbEZ1bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKIAotICAgIHN0YXRpYyBXZWFrU2V0Q29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90eXBlKiBwcm90b3R5cGUpCisgICAgc3Rh
dGljIFdlYWtTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha1NldFByb3RvdHlwZSogcHJvdG90eXBlKQogICAgIHsK
ICAgICAgICAgV2Vha1NldENvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPFdlYWtTZXRDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFdlYWtTZXRDb25zdHJ1
Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9u
KHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkyNzE0NTI0YTYyYjY5ZTdlZjk1
ODkzZjBiOGUwOWZkYjg2ZDc4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3Mvc3ltYm9sLXNwZWNpZXMuanMKQEAgLTAsMCArMSw0MjQgQEAKK2Z1
bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpCit7CisgICAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFs
KTsKK30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgZXJyb3JNZXNzYWdlKQoreworICAg
IHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5
IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3JUaHJv
d24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJyb3JUaHJv
d24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicpOworICAgIGlmIChTdHJp
bmcoZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihgYmFk
IGVycm9yOiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK3Nob3VsZEJlKHR5cGVvZiBTeW1ib2wu
c3BlY2llcywgJ3N5bWJvbCcpOworCisvLyBQcm9taXNlIGlzIHRlc3RlZCBpbiBET00gbGF5b3V0
IHRlc3RzLgorc2hvdWxkQmUoSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKSksICd7ImVudW1lcmFibGUiOmZhbHNlLCJjb25m
aWd1cmFibGUiOnRydWV9Jyk7CitzaG91bGRCZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKE1hcCwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6
ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKEpTT04uc3RyaW5naWZ5KE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKSksICd7
ImVudW1lcmFibGUiOmZhbHNlLCJjb25maWd1cmFibGUiOnRydWV9Jyk7CitzaG91bGRCZSh0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTZXQsIFN5bWJvbC5zcGVjaWVzKS5n
ZXQsICdmdW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJl
KHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wuc3Bl
Y2llcykuZ2V0LCAnZnVuY3Rpb24nKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVmaW5lZCcpOwor
c2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1i
b2wuc3BlY2llcykuc2V0LCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLnNldCwgJ3VuZGVm
aW5lZCcpOworc2hvdWxkQmUoU2V0W1N5bWJvbC5zcGVjaWVzXSwgU2V0KTsKK3Nob3VsZEJlKE1h
cFtTeW1ib2wuc3BlY2llc10sIE1hcCk7CitzaG91bGRCZShBcnJheVtTeW1ib2wuc3BlY2llc10s
IEFycmF5KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBT
eW1ib2wuc3BlY2llcykuZ2V0LmNhbGwoT2JqZWN0KSwgT2JqZWN0KTsKK3Nob3VsZEJlKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2llcykuZ2V0LmNhbGwo
T2JqZWN0KSwgT2JqZWN0KTsKK3Nob3VsZEJlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoQXJyYXksIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworCisv
LyBBcnJheS4KKy8vIEN1cnJlbnRseSwgQXJyYXkgaXMgbm90IHN1YmNsYXNzYWJsZSBieSB1c2lu
ZyBjbGFzcyBzeW50YXguCitmdW5jdGlvbiBFeHRlbmRlZEFycmF5KGxlbmd0aCkKK3sKKyAgICB2
YXIgcmVzdWx0ID0gbmV3IEFycmF5KGxlbmd0aCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4
dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgIHJldHVybiByZXN1bHQ7Cit9CitFeHRlbmRlZEFy
cmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CitzaG91bGRCZShFeHRl
bmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CitFeHRlbmRl
ZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZEFy
cmF5OworCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgyMCk7CitzaG91bGRCZShl
eHRlbmRlZC5sZW5ndGgsIDIwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkoZXh0ZW5kZWQpLCB0
cnVlKTsKKworLy8gbWFwLgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7Citl
eHRlbmRlZC5wdXNoKDIwKTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7
CitzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIw
KTsKK3Nob3VsZEJlKGV4dGVuZGVkWzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDAp
Oworc2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLm1hcCwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0
ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsg
fSk7CitzaG91bGRCZShyZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3No
b3VsZEJlKHJlc3VsdC5sZW5ndGgsIDMpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworc2hv
dWxkQmUocmVzdWx0WzFdLCA5MDApOworc2hvdWxkQmUocmVzdWx0WzJdLCAxNjAwKTsKK3Nob3Vs
ZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGZpbHRlci4KK3ZhciBleHRl
bmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRl
ZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3Ro
LCAzKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwg
MzApOworc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRl
ZC5maWx0ZXIsICdmdW5jdGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLmZpbHRlcihmdW5j
dGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlID09PSA0MDsgfSk7CitzaG91bGRCZShyZXN1bHQg
aW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgs
IDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MCk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJl
c3VsdCksIHRydWUpOworCisvLyBjb25jYXQuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRB
cnJheSgwKTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRl
ZC5wdXNoKDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91bGRCZShleHRl
bmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkWzJdLCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQuY29uY2F0LCAnZnVuY3Rpb24n
KTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5jb25jYXQoWzUwLCA2MCwgNzBdKTsKK3Nob3VsZEJl
KHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0
Lmxlbmd0aCwgNik7CitzaG91bGRCZShyZXN1bHRbMF0sIDIwKTsKK3Nob3VsZEJlKHJlc3VsdFsx
XSwgMzApOworc2hvdWxkQmUocmVzdWx0WzJdLCA0MCk7CitzaG91bGRCZShyZXN1bHRbM10sIDUw
KTsKK3Nob3VsZEJlKHJlc3VsdFs0XSwgNjApOworc2hvdWxkQmUocmVzdWx0WzVdLCA3MCk7Citz
aG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworCisvLyBzbGljZS4KK3ZhciBl
eHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRl
bmRlZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworZXh0ZW5kZWQucHVzaCg1MCk7Citl
eHRlbmRlZC5wdXNoKDYwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91bGRC
ZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJl
KGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNTApOworc2hvdWxkQmUo
ZXh0ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5zbGljZSwgJ2Z1bmN0
aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuc2xpY2UoMyk7CitzaG91bGRCZShyZXN1bHQg
aW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5sZW5ndGgs
IDIpOworc2hvdWxkQmUocmVzdWx0WzBdLCA1MCk7CitzaG91bGRCZShyZXN1bHRbMV0sIDYwKTsK
K3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIHNwbGljZS4KK3Zh
ciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7Citl
eHRlbmRlZC5wdXNoKDMwKTsKK2V4dGVuZGVkLnB1c2goNDApOworZXh0ZW5kZWQucHVzaCg1MCk7
CitleHRlbmRlZC5wdXNoKDYwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgNSk7CitzaG91
bGRCZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3Vs
ZEJlKGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRlbmRlZFszXSwgNTApOworc2hvdWxk
QmUoZXh0ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5zbGljZSwgJ2Z1
bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuc3BsaWNlKDMsIDEsIDQyKTsKK3Nob3Vs
ZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVz
dWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDUwKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkIGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShleHRlbmRlZC5s
ZW5ndGgsIDUpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVk
WzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUoZXh0ZW5kZWRb
M10sIDQyKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzRdLCA2MCk7CitzaG91bGRCZShBcnJheS5pc0Fy
cmF5KHJlc3VsdCksIHRydWUpOworCisvLyBBcnJheVNwZWNpZXNDcmVhdGUgYWJzdHJhY3Qgb3Bl
cmF0aW9uIGVkZ2UgY2FzZXMuCit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwoeyAwOiAxMCwgbGVu
Z3RoOiAxIH0sIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsK
K3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQu
X19wcm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7
CitzaG91bGRCZShyZXN1bHRbMF0sIDEwMCk7CisKK2Z1bmN0aW9uIFRlc3QoKQoreworICAgIHZh
ciByZXN1bHQgPSBbXTsKKyAgICByZXN1bHRbMF0gPSAyMDsKKyAgICByZXN1bHQubGVuZ3RoID0g
MTsKKyAgICByZXN1bHQuX19wcm90b19fID0gVGVzdC5wcm90b3R5cGU7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkobmV3IFRlc3QoKSksIHRydWUpOwordmFy
IHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0
dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwg
dHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hv
dWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwMCk7CitUZXN0
LnByb3RvdHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBUZXN0OwordmFyIHJlc3Vs
dCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZh
bHVlICogdmFsdWU7IH0pKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7
CitzaG91bGRCZShyZXN1bHQuX19wcm90b19fLCBUZXN0LnByb3RvdHlwZSk7CitzaG91bGRCZShy
ZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90
eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IG51bGw7Cit2YXIgcmVzdWx0ID0gW10u
bWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2
YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3Vs
ZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQu
bGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNv
bnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IG51bGw7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNh
bGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsg
fSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJl
c3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3Ro
LCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVj
dG9yW1N5bWJvbC5zcGVjaWVzXSA9ICJIZWxsbyI7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7
CisgICAgdmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFs
dWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNv
bnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKK1Rlc3QucHJvdG90eXBl
LmNvbnN0cnVjdG9yID0gdW5kZWZpbmVkOwordmFyIHJlc3VsdCA9IFtdLm1hcC5jYWxsKG5ldyBU
ZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7IH0pKTsKK3No
b3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CitzaG91bGRCZShyZXN1bHQuX19w
cm90b19fLCBBcnJheS5wcm90b3R5cGUpOworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMSk7Citz
aG91bGRCZShyZXN1bHRbMF0sIDQwMCk7CitUZXN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IG51
bGw7CitzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgdmFyIHJlc3VsdCA9IFtdLm1hcC5j
YWxsKG5ldyBUZXN0KCksIChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHZhbHVlICogdmFsdWU7
IH0pKTsKK30sICJUeXBlRXJyb3I6IGdpdmVuIGNvbnN0cnVjdG9yIG9yIHNwZWNpZXMgaXMgbm90
IGEgZnVuY3Rpb24iKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gIkhlbGxvIjsKK3No
b3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3
IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOwor
fSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5j
dGlvbiIpOworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQor
ICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0
Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBz
ZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJP
VVQiKTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAg
ICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9
IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5j
b25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUu
Y29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICAoZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgInVzZSBzdHJpY3QiOworICAgICAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4
dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICAg
ICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5n
dGgsIDMpOworICAgICAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICAg
ICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzJdLCAzMCk7CisgICAgICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBj
b25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5LiIpOworICAg
ICAgICB9KCkpOworICAgIH0KKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3Ry
aWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgpOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7CisgICAg
ICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJlKGV4dGVu
ZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAg
c2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7Cisg
ICAgICAgICAgICAgICAgdmFsdWU6IDMwCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlR5
cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5j
b25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlvbiAo
KSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRB
cnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDEwLAorICAg
ICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZh
bHNlLAorICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBBcnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5
cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90
eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAo
ZnVuY3Rpb24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRl
ZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAg
ICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3Ro
LCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDEwKTsKKyAgICAgICAgc2hvdWxk
QmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsK
KyAgICAgICAgc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdmFyIHJlc3Vs
dCA9IGV4dGVuZGVkLm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAiVHlwZUVycm9y
OiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmln
dXJhYmxlIHByb3BlcnR5LiIpOworICAgIH0oKSk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAg
ICAgICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVk
QXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1
c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBz
aG91bGRCZShleHRlbmRlZFswXSwgMTApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwg
MjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRU
aHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0
ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgICAgICB2YWx1ZTogMzAKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSB2YWx1ZSBvZiBhIHJl
YWRvbmx5IHByb3BlcnR5LiIpOworICAgIH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgewor
ICAgIGZ1bmN0aW9uIEV4dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9
IG5ldyBBcnJheSgwKTsKKyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXku
cHJvdG90eXBlOworICAgICAgICByZXN1bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwLAorICAgICAgICAg
ICAgZW51bWVyYWJsZTogZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLAor
ICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyAgICBFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBB
cnJheS5wcm90b3R5cGU7CisgICAgc2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29u
c3RydWN0b3IsIEV4dGVuZGVkQXJyYXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNv
bnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rp
b24gKCkgeworICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5l
dyBFeHRlbmRlZEFycmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBl
eHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsK
KyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRl
bmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAg
ICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0
ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAgIHJldHVybiB2YWx1
ZSAqIHZhbHVlOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVt
cHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUg
cHJvcGVydHkuIik7CisgICAgfSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1
c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgp
OworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgzMCk7
CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDIwKTsKKyAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAgICB2YWx1ZTogMAorICAgICAgICB9KTsK
KyAgICB9KCkpOworfSgpKTsKKworKGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRl
ZEFycmF5KCkKKyAgICB7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAg
ICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRlbmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAg
cmVzdWx0LnB1c2goMTApOworICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAw
LCB7CisgICAgICAgICAgICB2YWx1ZTogMCwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNl
LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgICAgICAgICAgd3JpdGFibGU6
IGZhbHNlCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBF
eHRlbmRlZEFycmF5LnByb3RvdHlwZS5fX3Byb3RvX18gPSBBcnJheS5wcm90b3R5cGU7CisgICAg
c2hvdWxkQmUoRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IsIEV4dGVuZGVkQXJy
YXkpOworICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVj
aWVzXSA9IEV4dGVuZGVkQXJyYXk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAidXNl
IHN0cmljdCI7CisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7Cisg
ICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAg
ICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0
ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAg
ICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5k
ZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogdmFs
dWU7CisgICAgICAgIH0pOworICAgIH0oKSk7CisKKyAgICAoZnVuY3Rpb24gKCkgeworICAgICAg
ICAidXNlIHN0cmljdCI7CisKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJy
YXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2go
MzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91
bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7
CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDAKKyAgICAgICAg
fSk7CisgICAgfSgpKTsKK30oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWVjZWUzYjZlOGEyMTRiZGVjODRlOTIyMTFk
YjVhNGQ0ZWY3ZDg2MC4uNGM5NGYwZGEwYmVhMzdhMGU5OTk1YzY0NzE3OWU5NmQ2NWIyZGVlNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA3LTIwICBZdXN1a2UgU3V6dWtpICA8dXRhdGFu
ZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIFN1cHBvcnQgQEBzcGVjaWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9y
IFByb21pc2UuCisgICAgICAgIE90aGVyIGNhc2VzIGxpa2UgQXJyYXksIFNldCBhbmQgTWFwIGFy
ZSBsb2NhdGUgdW5kZXIgSlNDIGRpcmVjdG9yeS4KKworICAgICAgICAqIGZhc3QvY3NzLWludHJp
bnNpYy1kaW1lbnNpb25zL2hlaWdodC1wcm9wZXJ0eS12YWx1ZS5odG1sLm9yaWc6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1v
dXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rp
b24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBq
cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMv
ZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbDogQWRkZWQuCisg
ICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJl
bnQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNp
ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVz
LWRpZmZlcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNl
LXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9t
L1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
anMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbDogQWRkZWQuCisgICAg
ICAgICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJl
YWxtLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3Bl
Y2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanM6IEFkZGVkLgorICAgICAgICAqIGpzL3NjcmlwdC10
ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qczoKKwogMjAxNS0wNy0yMCAgTmFuIFdh
bmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBTZWxlY3Rpb24gY2hhbmdlIGFz
IGEgcmVzdWx0IG9mIGZvY3VzaW5nIGFuIGVsZW1lbnQgbWF5IGNhdXNlIFNhZmFyaSB0byBjcmFz
aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtaW50cmluc2ljLWRpbWVuc2lvbnMv
aGVpZ2h0LXByb3BlcnR5LXZhbHVlLmh0bWwub3JpZyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWlu
dHJpbnNpYy1kaW1lbnNpb25zL2hlaWdodC1wcm9wZXJ0eS12YWx1ZS5odG1sLm9yaWcKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0NWNkMjE1NDZkNmVjZWRhOGU2MTQyMWY0NjAyZTcw
Y2EyM2U2MDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtaW50cmluc2ljLWRpbWVuc2lvbnMvaGVpZ2h0LXByb3BlcnR5
LXZhbHVlLmh0bWwub3JpZworKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTwhZG9jdHlw
ZSBodG1sPgotPCEtLQotICAgIFRlc3RzIHRoYXQgdGhlIGhlaWdodCBrZXl3b3JkcyBhcmUgbm90
IHJlc3BlY3RlZCBieSB0aGUgcGFyc2VyIHlldC4KLS0tPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0KLTxkaXYgc3R5bGU9ImhlaWdodDog
LXdlYmtpdC1taW4tY29udGVudDsgbWluLWhlaWdodDogLXdlYmtpdC1taW4tY29udGVudDsgbWF4
LWhlaWdodDogLXdlYmtpdC1taW4tY29udGVudDsiPjwvZGl2PgotPGRpdiBzdHlsZT0iaGVpZ2h0
OiAtd2Via2l0LW1heC1jb250ZW50OyBtaW4taGVpZ2h0OiAtd2Via2l0LW1heC1jb250ZW50OyBt
YXgtaGVpZ2h0OiAtd2Via2l0LW1heC1jb250ZW50OyI+PC9kaXY+Ci08ZGl2IHN0eWxlPSJoZWln
aHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7IG1pbi1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFp
bGFibGU7IG1heC1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7Ij48L2Rpdj4KLTxkaXYg
c3R5bGU9ImhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDsgbWluLWhlaWdodDogLXdlYmtpdC1m
aXQtY29udGVudDsgbWF4LWhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDsiPjwvZGl2PgotCi08
c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHRoZSBoZWlnaHQga2V5d29yZHMg
YXJlIG5vdCBleHBvc2VkIHlldC4nKTsKLQotICAgIHZhciBkaXZzID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgnZGl2Jyk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXZzLmxlbmd0aDsg
KytpKSB7Ci0gICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoJ2RpdnNbaV0uc3R5bGUuaGVpZ2h0
Jyk7Ci0gICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoJ2RpdnNbaV0uc3R5bGUubWluSGVpZ2h0
Jyk7Ci0gICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoJ2RpdnNbaV0uc3R5bGUubWF4SGVpZ2h0
Jyk7Ci0gICAgfQotCi0gICAgdmFyIFBSRUZJWCA9ICctd2Via2l0LSc7Ci0gICAgdmFyIEtFWVdP
UkRTID0gWydtaW4tY29udGVudCcsICdtYXgtY29udGVudCcsICdmaWxsLWF2YWlsYWJsZScsICAn
Zml0LWNvbnRlbnQnXTsKLSAgICB2YXIgZGl2OwotCi0gICAgS0VZV09SRFMuZm9yRWFjaChmdW5j
dGlvbihrZXl3b3JkKSB7Ci0gICAgICAgIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotICAgICAgICBkaXYuc3R5bGUuaGVpZ2h0ID0gUFJFRklYICsga2V5d29yZDsKLSAgICAg
ICAgZGl2LnN0eWxlLm1pbkhlaWdodCA9IFBSRUZJWCArIGtleXdvcmQ7Ci0gICAgICAgIGRpdi5z
dHlsZS5tYXhIZWlnaHQgPSBQUkVGSVggKyBrZXl3b3JkOwotICAgICAgICBzaG91bGRCZUVtcHR5
U3RyaW5nKCdkaXYuc3R5bGUuaGVpZ2h0Jyk7Ci0gICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmco
J2Rpdi5zdHlsZS5taW5IZWlnaHQnKTsKLSAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygnZGl2
LnN0eWxlLm1heEhlaWdodCcpOwotICAgIH0pOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3Vz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rp
b24tY2FsbHMtYW5vbnltb3VzLWV4cGVjdGVkLnR4dAppbmRleCA2M2FiN2EzZDhhZTEzZjY3N2Mz
YjUwNGExMTZmYTU0YTIyMjE5OTkzLi4zYTFjZjkzNTYxN2I0NTZkY2UzMjU5NDNlOWIxYzkxZjcy
ZDUwOTJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1
bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0
CkBAIC0xMiw2ICsxMiwxMCBAQCBUaHJlYWRfMSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAg
ICAgICAgdG9JbnRlZ2VyIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICAgICBOdW1i
ZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rp
b24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICBhcnJheVNwZWNpZXNDcmVhdGUgKG5v
IGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBm
aWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBpc09iamVjdCAobm8gZmlsZSkgKGxpbmUgMDow
KQorICAgICAgICAgICAgZ2V0IFtTeW1ib2wuc3BlY2llc10gKG5vIGZpbGUpIChsaW5lIDA6MCkK
ICAgICAgICAgIG15RnVuY3Rpb24gYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLmh0
bWwgKGxpbmUgMTQ6MzApCiAgICAgICAgICAgICBhcnJheU9wZXJhdG9yRnVuY3Rpb24gcHJvZmls
ZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMjU6MzEpCiAgICAgICBlbmRUZXN0IHByb2Zp
bGVyLXRlc3QtSlMtcmVzb3VyY2VzLmpzIChsaW5lIDE6MTcpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1m
dW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWlu
LWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHQKaW5kZXgg
MmY4ODhkNGJlZWQ1YmQyNDc4MTk2ZTI2YTRlZWQxMGFjNzk0NDYxMi4uYmM5MDYzZTU0YTdiMDA3
NjA2MjYzMjViNmZiYjI3YTFhOTgwZWQ4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9w
cm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rp
b24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTIsNiArMTIs
MTAgQEAgVGhyZWFkXzEgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgIHRvSW50ZWdl
ciAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgICAgTnVtYmVyIChubyBmaWxlKSAo
bGluZSAwOjApCiAgICAgICAgICAgICAgICAoYW5vbnltb3VzIGZ1bmN0aW9uKSAobm8gZmlsZSkg
KGxpbmUgMDowKQorICAgICAgICAgYXJyYXlTcGVjaWVzQ3JlYXRlIChubyBmaWxlKSAobGluZSAw
OjApCisgICAgICAgICAgICAoYW5vbnltb3VzIGZ1bmN0aW9uKSAobm8gZmlsZSkgKGxpbmUgMDow
KQorICAgICAgICAgICAgaXNPYmplY3QgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAg
IGdldCBbU3ltYm9sLnNwZWNpZXNdIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICBhcnJh
eU9wZXJhdG9yRnVuY3Rpb24gcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMjU6
MzEpCiAgICAgICBlbmRUZXN0IHByb2ZpbGVyLXRlc3QtSlMtcmVzb3VyY2VzLmpzIChsaW5lIDE6
MTcpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5h
bWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5h
bWVzLWV4cGVjdGVkLnR4dAppbmRleCBiMDU0NGNlZmY0OThlMGRiN2UyZmM2MjI0MDhlNWQwZmI1
ZWExZjA4Li5kNTE4NjI2NDNkNjE4YjUyZDc2ZWUyMjVlY2ViMjY0MzMyM2YwMDE3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0
ZWQudHh0CkBAIC02MSw3ICs2MSw3IEBAIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhF
cnJvcikgaXMgWydsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnXQogUEFTUyBnZXRTb3J0ZWRP
d25Qcm9wZXJ0eU5hbWVzKEVycm9yLnByb3RvdHlwZSkgaXMgWydjb25zdHJ1Y3RvcicsICdtZXNz
YWdlJywgJ25hbWUnLCAndG9TdHJpbmcnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVz
KE1hdGgpIGlzIFsnRScsJ0xOMTAnLCdMTjInLCdMT0cxMEUnLCdMT0cyRScsJ1BJJywnU1FSVDFf
MicsJ1NRUlQyJywnYWJzJywnYWNvcycsJ2Fjb3NoJywnYXNpbicsJ2FzaW5oJywnYXRhbicsJ2F0
YW4yJywnYXRhbmgnLCdjYnJ0JywnY2VpbCcsJ2NsejMyJywnY29zJywnY29zaCcsJ2V4cCcsJ2V4
cG0xJywnZmxvb3InLCdmcm91bmQnLCdoeXBvdCcsJ2ltdWwnLCdsb2cnLCdsb2cxMCcsJ2xvZzFw
JywnbG9nMicsJ21heCcsJ21pbicsJ3BvdycsJ3JhbmRvbScsJ3JvdW5kJywnc2lnbicsJ3Npbics
J3NpbmgnLCdzcXJ0JywndGFuJywndGFuaCcsJ3RydW5jJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJv
cGVydHlOYW1lcyhKU09OKSBpcyBbJ3BhcnNlJywgJ3N0cmluZ2lmeSddCi1QQVNTIGdldFNvcnRl
ZE93blByb3BlcnR5TmFtZXMoU3ltYm9sKSBpcyBbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3In
LCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3Vuc2NvcGFibGVzJ10KK1BBU1MgZ2V0
U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wpIGlzIFsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tl
eUZvcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnLCAnc3BlY2llcycsICd1bnNjb3Bh
YmxlcyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoU3ltYm9sLnByb3RvdHlwZSkg
aXMgWydjb25zdHJ1Y3RvcicsICd0b1N0cmluZycsICd2YWx1ZU9mJ10KIFBBU1MgZ2xvYmFsUHJv
cGVydHlOYW1lcy5pbmRleE9mKCdOYU4nKSAhPSAtMSBpcyB0cnVlCiBQQVNTIGdsb2JhbFByb3Bl
cnR5TmFtZXMuaW5kZXhPZignSW5maW5pdHknKSAhPSAtMSBpcyB0cnVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTAxNGMyMWY0NmNkODAyNjQzOWFiYTFlNDRiYTBmYWY5
OThiNjJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxs
LXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0IHN1
YmNsYXNzZWQgUHJvbWlzZS5hbGwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBFeHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFu
Y2Ugb2YgUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2Uu
cmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJv
bWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlz
ZSBpcyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVz
b2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyB0aGVu
UmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpbnN0YW5j
ZW9mIEV4dGVuZGVkUHJvbWlzZSBpcyBmYWxzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTA2YmVjYzY5OTc3ZTVjOTQ3ZGU5NjA5NjM0NzZjMjg2YjdjNDNjYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRp
ZmZlcmVudC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBzdWJjbGFz
c2VkIFByb21pc2UuYWxsLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8v
IEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4
dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2Uo
ZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3Rv
dHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUu
X19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNw
ZWNpZXNdID0gUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOwor
CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0Mild
KSIsICJQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoIkV4
dGVuZGVkUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVu
ZGVkUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5k
ZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKwor
dmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFBy
b21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKS50aGVuKGZ1bmN0aW9uIChb
dmFsdWVdKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFs
VmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0
aGVuUmVzdWx0IiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFsc2UoInRoZW5SZXN1bHQgaW5zdGFu
Y2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44ZGU2NTEzNjk0NDY2NmRhZTZmMDEzZWVjMmY0M2IzYWY4MDY5OTRl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNp
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNl
LmFsbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlz
ZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFBy
b21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQg
aXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQy
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ3
NDJkOTI1YjgyZTExYmJiNjZlMjVjMTcwZDI0ZWM3ZDhkMDE5NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLWFsbC1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwz
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwuJyk7CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlz
IG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7
CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5f
X3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNl
OworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3Rv
dHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7
CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJF
eHRlbmRlZFByb21pc2UuYWxsKFtQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9t
aXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUg
PSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24gKFt2YWx1ZV0pIHsKKyAgICBn
bG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiRXh0
ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZm
ZXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMDZlODA4OGJkYzUyZThkZTI0MWNkNmEz
MTBiYzgxZWE5ODllYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBp
cyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRl
bmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNT
IEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBF
eHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZh
bHNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVu
UmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIGdsb2JhbFZh
bHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVz
LWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVz
LWRpZmZlcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiNTQwN2RjOGM3OGE0NzRkYTFhYjczM2M2MDZm
NTMyMjZkM2FkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yYWNlLicpOworCit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVk
IHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9t
aXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0
ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVk
UHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRl
ZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlzZS5fX3By
b3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtQ
cm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVUeXBlKCJFeHRlbmRl
ZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiUHJvbWlzZSIp
Oworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0
MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5k
ZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2Yg
RXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0
aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZl
KDQyKV0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsK
KyAgICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIlByb21pc2UiKTsKK3Nob3VsZEJlRmFs
c2UoInRoZW5SZXN1bHQgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UiKTsKKworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJhY2Utc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yYWNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzZDM1ODFlYjMwNDU3ZWEw
ZGVjZmZjOWEzMmExMmYxYzJmZDdjMzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAK
K1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJhY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlz
IGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBFeHRlbmRlZFByb21pc2UucmFj
ZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5k
ZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9t
aXNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmFjZS1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNl
LXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmJhMDBiZjQ5ZmFkNjM5MTE4N2JlODhjOGUyMmM2
MWM0ZmRmNzllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Ut
cmFjZS1zcGVjaWVzLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1
YmNsYXNzZWQgUHJvbWlzZS5yYWNlLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0
aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFBy
b21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNl
LnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90
b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3lt
Ym9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9f
XyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21p
c2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2UiKTsKK3Nob3VsZEJlVHlwZSgiRXh0
ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIkV4dGVu
ZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJl
c3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0Mild
KS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAg
c2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
K3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRlZFByb21pc2UiKTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJv
bWlzZS1yZWplY3Qtc3BlY2llcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlhOGJhYmZhNjcw
YTNmNTNiMjVkYjdlZDgzOWQxNWNjZTJkMDgzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZWplY3QuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVqZWN0KDQyKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBv
ZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yZWplY3Qtc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTUxOGI2MDk0Mjky
ZDlkMDFjNGRjNjdmMGFlYTY0ZDc0ODM3MmE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlamVjdC4nKTsKKword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90
IHN1cHBvcnRlZCB5ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAg
ICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJv
dG9fXyA9IEV4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9
CitFeHRlbmRlZFByb21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBl
OworRXh0ZW5kZWRQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlzZTsKK0V4
dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVu
ZGVkUHJvbWlzZS5yZWplY3QoNDIpIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFs
VmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yZWpl
Y3QoNDIpLmNhdGNoKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7
CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRlZFByb21pc2UiKTsKKwor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pz
L2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmNlZGI1ZDVhNTU5MTQ3OWVlNzBiYTAwMWYxYzg4YzViODY5YWU5
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUt
c3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qgc3Vi
Y2xhc3NlZCBQcm9taXNlLnJlc29sdmUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5k
ZWRQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFT
UyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIGds
b2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2
ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVz
b2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5MTYxNGQwNzU4NTBjZmU5
MGE4NjNlOGZmMGUxMjI0MjNmZDNmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKQEAgLTAsMCArMSwz
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlLicpOwor
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdl
dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRv
cikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21p
c2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJv
bWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5w
cm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gUHJvbWlzZTsKK0V4
dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21pc2UiKTsKKwordmFyIGdsb2Jh
bFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRlbmRlZFByb21pc2UucmVz
b2x2ZSg0MikudGhlbihmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVl
OworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVG
YWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Q
cm9taXNlLXJlc29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmY2ZDVlZjcx
MDdlYTc2ZjVhZjQ4ZjQyNzVjMjk3ZDg2ZTMwODBiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UucmVzb2x2ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBh
biBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxp
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlYTQ4MDhkOWE3M2NhZWJjYTY5ZjExOTMwYzg5
Nzg4OWJmNzAzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNl
LXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitU
ZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlIHdpdGggaW52YWxpZCBAQHNwZWNpZXMuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRlbmRlZFByb21pc2UucmVzb2x2
ZSg0MikgaXMgYW4gaW5zdGFuY2Ugb2YgRXh0ZW5kZWRQcm9taXNlCitQQVNTIHRlc3QoKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBjb25zdHJ1Y3Rvci5AQHNwZWNpZXMgaXMgbm90IGEgY29u
c3RydWN0b3IuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVj
aWVzLWludmFsaWQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3Bl
Y2llcy1pbnZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzhlOWVhZTNhOGFlNGYyMDA2N2M1Mzg0YjQ1
YTcxY2QwMDcyMTMyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlIHdpdGggaW52YWxpZCBAQHNw
ZWNpZXMuJyk7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHll
dC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNl
ID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5k
ZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJv
bWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFBy
b21pc2VbU3ltYm9sLnNwZWNpZXNdID0ge307CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0g
UHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MikiLCAi
RXh0ZW5kZWRQcm9taXNlIik7CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgRXh0ZW5kZWRQcm9t
aXNlLnJlc29sdmUoNDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7fSk7Cit9CitzaG91bGRUaHJv
dygidGVzdCgpIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2Mz
MTBmYmM0NzRlMzA3ZjIyYWVlMjkwZTRiNjAyODljOGU2NjI5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLmh0bWwKQEAgLTAsMCAr
MSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlLicp
OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRh
cmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4KK2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVj
dXRvcikgeworICAgIHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHBy
b21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4g
cHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlzZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlz
ZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21pc2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQ
cm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJl
VHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIiwgIkV4dGVuZGVkUHJvbWlzZSIpOwor
Cit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVk
UHJvbWlzZS5yZXNvbHZlKDQyKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZh
bHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRlZFBy
b21pc2UiKTsKKworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvanMvZG9tL1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I4YjBl
NzU0NjhhMGViYTE4MDdmZGM2MGZjZGJjMjVkMWJiNWUwOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTMgQEAKK1Rlc3QgUHJvbWlzZSBhbmQgQEBzcGVjaWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgSlNPTi5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykpIGlzICJ7XCJlbnVtZXJhYmxlXCI6ZmFsc2Us
XCJjb25maWd1cmFibGVcIjp0cnVlfSIKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldCBpcyAiZnVuY3Rpb24iCitQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJv
bC5zcGVjaWVzKS5zZXQgaXMgInVuZGVmaW5lZCIKK1BBU1MgUHJvbWlzZVtTeW1ib2wuc3BlY2ll
c10gaXMgUHJvbWlzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21p
c2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpIGlzIE9iamVjdAorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTMzYTcwNjgzN2Y2ZTA5ZWI2NDhm
ZTAyN2U3YTE5YzljYTEzNzY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2Utc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dCBQcm9taXNlIGFuZCBAQHNwZWNpZXMuJyk7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiSlNP
Ti5zdHJpbmdpZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNlLCBTeW1i
b2wuc3BlY2llcykpIiwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0n
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldCIsICdmdW5jdGlvbicpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihQcm9taXNlLCBTeW1ib2wuc3BlY2llcykuc2V0IiwgJ3VuZGVmaW5lZCcpOworc2hvdWxkQmUo
IlByb21pc2VbU3ltYm9sLnNwZWNpZXNdIiwgIlByb21pc2UiKTsKK3Nob3VsZEJlKCJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2Fs
bChPYmplY3QpIiwgIk9iamVjdCIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1y
ZWFsbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1k
aWZmZXJlbnQtcmVhbG0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2MWViMzM4NTcxYjgyMmNk
YmVmYzk0NDVmZjRlNmE5ZTlkN2FmM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjggQEAKK0FycmF5U3BlY2llc0NyZWF0ZSBnZW5lcmF0ZSB0aGUgY3VycmVudCBSZWFs
bSBhcnJheSB3aGVuIHRoZSBnaXZlbiBhcnJheSBpcyBmcm9tIHRoZSBkaWZmZXJlbnQgcmVhbG0u
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGFycmF5Lmxlbmd0aCBpcyA1
CitQQVNTIGFycmF5IGluc3RhbmNlb2YgQXJyYXkgaXMgZmFsc2UKK1BBU1MgYXJyYXkgaW5zdGFu
Y2VvZiBBcnJheTIgaXMgdHJ1ZQorUEFTUyBBcnJheS5pc0FycmF5KGFycmF5KSBpcyB0cnVlCitQ
QVNTIGFycmF5LmNvbnN0cnVjdG9yIGlzIEFycmF5MgorUEFTUyBhcnJheS5jb25zdHJ1Y3RvciBp
cyBub3QgQXJyYXkKK1BBU1MgcmVzdWx0Lmxlbmd0aCBpcyA1CitQQVNTIEFycmF5LmlzQXJyYXko
cmVzdWx0KSBpcyB0cnVlCitQQVNTIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5IGlzIGZhbHNlCitQ
QVNTIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5MiBpcyB0cnVlCitQQVNTIHJlc3VsdC5sZW5ndGgg
aXMgNQorUEFTUyBBcnJheS5pc0FycmF5KHJlc3VsdCkgaXMgdHJ1ZQorUEFTUyByZXN1bHQgaW5z
dGFuY2VvZiBBcnJheSBpcyB0cnVlCitQQVNTIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5MiBpcyBm
YWxzZQorUEFTUyByZXN1bHRbMF0gaXMgMAorUEFTUyByZXN1bHRbMV0gaXMgMQorUEFTUyByZXN1
bHRbMl0gaXMgNAorUEFTUyByZXN1bHRbM10gaXMgOQorUEFTUyByZXN1bHRbNF0gaXMgMTYKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0u
aHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFs
bS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBmNTI4NWE3NWQ1MzQwZDQ4YTQ4Njk0NTYwY2RmYTI1MmI4MjQw
NGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vYXJyYXktc3BlY2llcy1p
bi1kaWZmZXJlbnQtcmVhbG0uaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxpZnJhbWU+PC9pZnJhbWU+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FycmF5
LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3Bl
Y2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMgYi9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRl
c3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NmVl
NTA0NTE0YmNiMGUzZWM4N2IyZTJlNTI4YzVhNzUxMGU1NmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3RzL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50
LXJlYWxtLmpzCkBAIC0wLDAgKzEsMzcgQEAKK2Rlc2NyaXB0aW9uKCJBcnJheVNwZWNpZXNDcmVh
dGUgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgUmVhbG0gYXJyYXkgd2hlbiB0aGUgZ2l2ZW4gYXJyYXkg
aXMgZnJvbSB0aGUgZGlmZmVyZW50IHJlYWxtLiIpOworCit2YXIgZnJhbWUgPSBmcmFtZXNbMF07
Cit2YXIgQXJyYXkyID0gZnJhbWUuQXJyYXk7CisKK3ZhciBhcnJheSA9IG5ldyBBcnJheTIoMCk7
CithcnJheS5wdXNoKDAsIDEsIDIsIDMsIDQpOworCitzaG91bGRCZSgiYXJyYXkubGVuZ3RoIiwg
IjUiKTsKK3Nob3VsZEJlRmFsc2UoImFycmF5IGluc3RhbmNlb2YgQXJyYXkiKTsKK3Nob3VsZEJl
VHJ1ZSgiYXJyYXkgaW5zdGFuY2VvZiBBcnJheTIiKTsKK3Nob3VsZEJlVHJ1ZSgiQXJyYXkuaXNB
cnJheShhcnJheSkiKTsKK3Nob3VsZEJlKCJhcnJheS5jb25zdHJ1Y3RvciIsICJBcnJheTIiKTsK
K3Nob3VsZE5vdEJlKCJhcnJheS5jb25zdHJ1Y3RvciIsICJBcnJheSIpOwordmFyIHJlc3VsdCA9
IGFycmF5Lm1hcChmdW5jdGlvbiAodmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsK
K30pOworc2hvdWxkQmUoInJlc3VsdC5sZW5ndGgiLCAiNSIpOworc2hvdWxkQmVUcnVlKCJBcnJh
eS5pc0FycmF5KHJlc3VsdCkiKTsKK3Nob3VsZEJlRmFsc2UoInJlc3VsdCBpbnN0YW5jZW9mIEFy
cmF5Iik7CitzaG91bGRCZVRydWUoInJlc3VsdCBpbnN0YW5jZW9mIEFycmF5MiIpOworCit2YXIg
bWFwID0gW10ubWFwOworCit2YXIgcmVzdWx0ID0gbWFwLmNhbGwoYXJyYXksIGZ1bmN0aW9uICh2
YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworfSk7CitzaG91bGRCZSgicmVzdWx0
Lmxlbmd0aCIsICI1Iik7CitzaG91bGRCZVRydWUoIkFycmF5LmlzQXJyYXkocmVzdWx0KSIpOwor
c2hvdWxkQmVUcnVlKCJyZXN1bHQgaW5zdGFuY2VvZiBBcnJheSIpOworc2hvdWxkQmVGYWxzZSgi
cmVzdWx0IGluc3RhbmNlb2YgQXJyYXkyIik7CisKK3Nob3VsZEJlKCJyZXN1bHRbMF0iLCAiMCIp
Oworc2hvdWxkQmUoInJlc3VsdFsxXSIsICIxIik7CitzaG91bGRCZSgicmVzdWx0WzJdIiwgIjQi
KTsKK3Nob3VsZEJlKCJyZXN1bHRbM10iLCAiOSIpOworc2hvdWxkQmUoInJlc3VsdFs0XSIsICIx
NiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRP
d25Qcm9wZXJ0eU5hbWVzLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1n
ZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCmluZGV4IGY3OWRmYWI2YTZhZjgyOGM0ODMwMmQwYTdhZTVh
NGI1Y2U5ZDk5MjguLjUzZDVmMGRhNGNmZmZiZjgwMGRiMmUwODNmZDllZmFlYmYwNjljYWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVy
dHlOYW1lcy5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93
blByb3BlcnR5TmFtZXMuanMKQEAgLTcwLDcgKzcwLDcgQEAKICAgICAiRXJyb3IucHJvdG90eXBl
IjogIlsnY29uc3RydWN0b3InLCAnbWVzc2FnZScsICduYW1lJywgJ3RvU3RyaW5nJ10iLAogICAg
ICJNYXRoIjogIlsnRScsJ0xOMTAnLCdMTjInLCdMT0cxMEUnLCdMT0cyRScsJ1BJJywnU1FSVDFf
MicsJ1NRUlQyJywnYWJzJywnYWNvcycsJ2Fjb3NoJywnYXNpbicsJ2FzaW5oJywnYXRhbicsJ2F0
YW4yJywnYXRhbmgnLCdjYnJ0JywnY2VpbCcsJ2NsejMyJywnY29zJywnY29zaCcsJ2V4cCcsJ2V4
cG0xJywnZmxvb3InLCdmcm91bmQnLCdoeXBvdCcsJ2ltdWwnLCdsb2cnLCdsb2cxMCcsJ2xvZzFw
JywnbG9nMicsJ21heCcsJ21pbicsJ3BvdycsJ3JhbmRvbScsJ3JvdW5kJywnc2lnbicsJ3Npbics
J3NpbmgnLCdzcXJ0JywndGFuJywndGFuaCcsJ3RydW5jJ10iLAogICAgICJKU09OIjogIlsncGFy
c2UnLCAnc3RyaW5naWZ5J10iLAotICAgICJTeW1ib2wiOiAiWydmb3InLCAnaXRlcmF0b3InLCAn
a2V5Rm9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZScsICd1bnNjb3BhYmxlcyddIiwK
KyAgICAiU3ltYm9sIjogIlsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAn
bmFtZScsICdwcm90b3R5cGUnLCAnc3BlY2llcycsICd1bnNjb3BhYmxlcyddIiwKICAgICAiU3lt
Ym9sLnByb3RvdHlwZSI6ICJbJ2NvbnN0cnVjdG9yJywgJ3RvU3RyaW5nJywgJ3ZhbHVlT2YnXSIK
IH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257693</attachid>
            <date>2015-07-28 15:27:20 -0700</date>
            <delta_ts>2015-07-28 15:27:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146624-20150728152559.patch</filename>
            <type>text/plain</type>
            <size>134396</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NWMzM2MwMjg1MWEyZTUwOGNjYzczZmNlNGU2YTUzNWI3YzI1YzhhLi45N2E5ZTkxNmMyZDU3MmE3
OThhYmYyZWYxNTM4OThiNjc5MGQyYTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzQgQEAKKzIwMTUtMDctMjAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBA
QHNwZWNpZXMuCisgICAgICAgIEl0IGVuYWJsZXMgc29tZSBtZXRob2RzIChsaWtlIEFycmF5LnBy
b3RvdHlwZS57bWFwLGZpbHRlcn0gZXRjLikgdG8gcmV0dXJuIHN1YmNsYXNzZWQgb2JqZWN0cy4K
KworICAgICAgICBDdXJyZW50IGltcGxlbWVudGF0aW9uIGhhcyBzb21lIGxpbWl0YXRpb25zLgor
CisgICAgICAgIDEuIFR5cGVkQXJyYXksIEFycmF5QnVmZmVyIGFyZSBub3QgaW1wbGVtZW50ZWQg
YmVjYXVzZSBjdXJyZW50IGZvcm0gb2YgdGhlbSBhcmUgZGlmZmVyZW50IGZyb20gRVM2IGFuZCBt
YW55IG1pc3NpbmcgbWV0aG9kcy4KKyAgICAgICAgICAgV2hlbiBpbXBsZW1lbnRpbmcgdGhlbSwg
QEBzcGVjaWVzIHNob3VsZCBiZSBhbHNvIHN1cHBvcnRlZC4KKyAgICAgICAgMi4gUmVnRXhwIGlz
IGFsc28gbm90IHN1cHBvcnRlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnRseSB0aGVyZSdzIG5v
IEBAc3BsaXQgc3VwcG9ydCB3aGljaCB1c2luZyBAQHNwZWNpZXMgY29uc3RydWN0b3IuCisgICAg
ICAgICAgIFdoZW4gaW1wbGVtZW50aW5nIEBAc3BsaXQsIEBAc3BlY2llcyBzaG91bGQgYmUgYWxz
byBzdXBwb3J0ZWQuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgcGFydHMgYXJlLAorCisgICAgICAg
IDEuIEFycmF5IG1ldGhvZHMuCisgICAgICAgIDIuIFByb21pc2UgbWV0aG9kcy4KKyAgICAgICAg
My4gTWFwIGFuZCBTZXQgQEBzcGVjaWVzIHN1cHBvcnQuCisKKyAgICAgICAgQW5kIG5vdywgQXJy
YXkucHJvdG90eXBlLnttYXAsIGZpbHRlcn0gZ2VuZXJhdGUgdGhlIHJlc3VsdCBvYmplY3Qgd2l0
aCB0aGUgdXNlci1wcm92aWRlZCBjb25zdHJ1Y3Rvci4KKyAgICAgICAgSW4gdGhlIHByZXZpb3Vz
IGNhc2UsIHRoaXMgcmVzdWx0IG9iamVjdCBpcyBsaW1pdGVkIHRvIEFycmF5LiBTbyBpdCBpcyBl
bnN1cmVkIHRoYXQgdGhlcmUncyBubyBvd24gcHJvcGVydGllcyBvdGhlciB0aGFuICJsZW5ndGgi
LgorICAgICAgICBIb3dldmVyLCBub3cgdGhlIHVzZXItcHJvdmlkZWQgY29uc3RydWN0b3IgbWF5
IGNyZWF0ZSB0aGUgb2JqZWN0IHRoYXQgaGFzIG93biBwcm9wZXJ0aWVzIGNvbmZpZ3VyZWQgaW4g
dGhlIGNvbnN0cnVjdG9yLgorICAgICAgICBTbyBAcHV0QnlWYWxEaXJlY3QgdXNlZCBpbiB0aGVz
ZSBtZXRob2RzIHNob3VsZCBzZWUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgYW5kIHJhaXNlIHRo
ZSBUeXBlRXJyb3Igd2hlbiB0aGUgY29uZmlndXJlZCBwcm9wZXJ0eQorICAgICAgICBoYXMgc29t
ZSBjb25mbGljdGluZyBjb25kaXRpb24gKGxpa2Ugd3JpdGFibGU6IGZhbHNlIGV0Yy4pCisgICAg
ICAgIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkZWQgbmV3IFB1dERpcmVjdEluZGV4TW9kZSwgYFB1
dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvd2AuCisgICAgICAgIFdoZW4gdGhp
cyBpcyBzcGVjaWZpZWQsIGBwdXREaXJlY3RJbmRleGAgYmVoYXZlcyBhcyB0aGUgc2FtZSB0byB0
aGUgc3BlYydzIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanM6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAobWFwKToK
KyAgICAgICAgKiBidWlsdGlucy9BcnJheUNvbnN0cnVjdG9yLmpzOgorICAgICAgICAoc3ltYm9s
U3BlY2llcyk6CisgICAgICAgICogYnVpbHRpbnMvR2xvYmFsT2JqZWN0LmpzOgorICAgICAgICAo
c3BlY2llc0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBidWlsdGlucy9JdGVyYXRvci5wcm90b3R5
cGUuanM6CisgICAgICAgIChzeW1ib2xJdGVyYXRvcik6CisgICAgICAgIChTeW1ib2xJdGVyYXRv
cik6IERlbGV0ZWQuCisgICAgICAgICogYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanM6IENvcGll
ZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9JdGVyYXRvci5wcm90b3R5cGUu
anMuCisgICAgICAgIChzeW1ib2xTcGVjaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9PcGVyYXRp
b25zLkFycmF5LmpzOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
R2xvYmFsT2JqZWN0LmpzLgorICAgICAgICAoYXJyYXlTcGVjaWVzQ3JlYXRlKToKKyAgICAgICAg
KiBidWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qczoKKyAgICAgICAgKiBidWlsdGlucy9Qcm9t
aXNlQ29uc3RydWN0b3IuanM6CisgICAgICAgIChyYWNlKToKKyAgICAgICAgKHN5bWJvbFNwZWNp
ZXMpOgorICAgICAgICAqIGJ1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpzOiBDb3BpZWQgZnJvbSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvSXRlcmF0b3IucHJvdG90eXBlLmpzLgorICAg
ICAgICAoc3ltYm9sU3BlY2llcyk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJh
eVdpdGhTaXplKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19uZXdBcnJheVdpdGhTaXplKToK
KyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6cHV0
QnlWYWwpOgorICAgICAgICAoSlNDOjpERkc6Om9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwpOgor
ICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6
CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
QXJyYXlDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJy
YXlDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUp
OgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjph
cnJheVNwZWNpZXNDb25zdHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OmNyZWF0ZURhdGFQcm9wZXJ0
eU9yVGhyb3cpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY0NvbmNhdCk6CisgICAgICAg
IChKU0M6OmFycmF5UHJvdG9GdW5jU2xpY2UpOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVu
Y1NwbGljZSk6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuaDoKKyAgICAg
ICAgKEpTQzo6Qm9vbGVhbkNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5o
OgorICAgICAgICAoSlNDOjpEYXRlQ29uc3RydWN0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcnVu
dGltZS9FcnJvckNvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OkVycm9yQ29uc3RydWN0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmlzQXJyYXlDb25zdHJ1Y3Rv
ckluRGlmZmVyZW50UmVhbG0pOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
OjphcnJheUNvbnN0cnVjdG9yKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5
U3BlY2llc0dldHRlckZ1bmN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhB
cnJheVN0b3JhZ2UpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBy
dW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9NYXBDb25z
dHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok1hcENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlv
bik6CisgICAgICAgICogcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpN
YXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmg6CisgICAgICAgIChKU0M6Ok51bWJlckNvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmg6CisgICAgICAgICogcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OlJlZ0V4cENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oOgorICAg
ICAgICAoSlNDOjpSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1l
L1NldENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2V0Q29uc3RydWN0b3I6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1NldENvbnN0cnVjdG9yLmg6CisgICAgICAg
IChKU0M6OlNldENvbnN0cnVjdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3BhcnNl
QXJyYXlWYWx1ZU1hcC5jcHA6CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5VmFsdWVNYXA6OnB1
dERpcmVjdCk6CisgICAgICAgICogcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oOgorICAgICAg
ICAoSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1N5
bWJvbENvbnN0cnVjdG9yLmg6CisgICAgICAgIChKU0M6OlN5bWJvbENvbnN0cnVjdG9yOjpjcmVh
dGUpOgorICAgICAgICAqIHJ1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmg6CisgICAgICAgIChK
U0M6OldlYWtNYXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtT
ZXRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoSlNDOjpXZWFrU2V0Q29uc3RydWN0b3I6OmNyZWF0
ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKC5nZXQg
RXh0ZW5kZWRBcnJheSk6CisgICAgICAgICguZ2V0IHNob3VsZEJlKToKKyAgICAgICAgKC5zZXQg
c2hvdWxkQmUpOgorICAgICAgICAoVGVzdCk6CisgICAgICAgICguKToKKwogMjAxNS0wNy0yNyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVz
ZSBOaW5qYSBvbiBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9BcnJheS5wcm90b3R5cGUuanMKaW5kZXggYWY0NmRkOGZlZmZlNTM0YmNkNDA1MzRmMzRmN2Jm
MjVmYTViZTQ0My4uMmVhZTdlYWU4YWEwNDhjNGIyNTFlMWM5YjFkZjdhMzFkNTRjNmIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5q
cworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpz
CkBAIC0xNjEsNyArMTYxLDcgQEAgZnVuY3Rpb24gZmlsdGVyKGNhbGxiYWNrIC8qLCB0aGlzQXJn
ICovKSB7CiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuZmls
dGVyIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpOwogICAgIAogICAgIHZhciB0aGlzQXJn
ID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7Ci0gICAg
dmFyIHJlc3VsdCA9IFtdOworICAgIHZhciByZXN1bHQgPSBAYXJyYXlTcGVjaWVzQ3JlYXRlKGFy
cmF5LCAwKTsKICAgICB2YXIgbmV4dEluZGV4ID0gMDsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgIGlmICghKGkgaW4gYXJyYXkpKQpAQCAtMTkwLDcgKzE5
MCw3IEBAIGZ1bmN0aW9uIG1hcChjYWxsYmFjayAvKiwgdGhpc0FyZyAqLykgewogICAgICAgICB0
aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLm1hcCBjYWxsYmFjayBtdXN0IGJl
IGEgZnVuY3Rpb24iKTsKICAgICAKICAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5ndGgg
PiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOwotICAgIHZhciByZXN1bHQgPSBbXTsKKyAg
ICB2YXIgcmVzdWx0ID0gQGFycmF5U3BlY2llc0NyZWF0ZShhcnJheSwgbGVuZ3RoKTsKICAgICBy
ZXN1bHQubGVuZ3RoID0gbGVuZ3RoOwogICAgIHZhciBuZXh0SW5kZXggPSAwOwogICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKQEAgLTY0MiwzICs2NDIsOTMgQEAgZnVuY3Rp
b24gbWluV2l0aE1heWJlTmVnYXRpdmVaZXJvQW5kUG9zaXRpdmUobWF5YmVOZWdhdGl2ZVplcm8s
IHBvc2l0aXZlKQogCiAgICAgcmV0dXJuIHRoaXNPYmplY3Q7CiB9CisKK2Z1bmN0aW9uIHNwbGlj
ZShzdGFydCwgZGVsZXRlQ291bnQgLyogLCAuLi5pdGVtcyAqLykKK3sKKyAgICAidXNlIHN0cmlj
dCI7CisKKyAgICB2YXIgYXJyYXkgPSBAT2JqZWN0KHRoaXMpOworCisgICAgdmFyIGxlbmd0aCA9
IEB0b0xlbmd0aChhcnJheS5sZW5ndGgpOworICAgIHZhciByZWxhdGl2ZVN0YXJ0ID0gQHRvSW50
ZWdlcihzdGFydCk7CisgICAgdmFyIGFjdHVhbFN0YXJ0ID0gMDsKKyAgICBpZiAocmVsYXRpdmVT
dGFydCA8IDApIHsKKyAgICAgICAgYWN0dWFsU3RhcnQgPSBsZW5ndGggKyByZWxhdGl2ZVN0YXJ0
OworICAgICAgICBpZiAoYWN0dWFsU3RhcnQgPD0gMCkKKyAgICAgICAgICAgIGFjdHVhbFN0YXJ0
ID0gMDsKKyAgICB9IGVsc2UKKyAgICAgICAgYWN0dWFsU3RhcnQgPSAocmVsYXRpdmVTdGFydCA8
IGxlbmd0aCkgPyByZWxhdGl2ZVN0YXJ0IDogbGVuZ3RoOworCisgICAgdmFyIGl0ZW1PZmZzZXQg
PSAyOworICAgIHZhciBhcmd1bWVudHNMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoOworICAgIHZh
ciBpdGVtQ291bnQgPSAwOworICAgIHZhciBhY3R1YWxEZWxldGVDb3VudCA9IDA7CisgICAgaWYg
KGFyZ3VtZW50c0xlbmd0aCA9PT0gMCkgeworICAgICAgICBpdGVtQ291bnQgPSAwOworICAgICAg
ICBhY3R1YWxEZWxldGVDb3VudCA9IDA7CisgICAgfSBlbHNlIGlmIChhcmd1bWVudHNMZW5ndGgg
PT09IDEpIHsKKyAgICAgICAgaXRlbUNvdW50ID0gMDsKKyAgICAgICAgYWN0dWFsRGVsZXRlQ291
bnQgPSBsZW5ndGggLSBhY3R1YWxTdGFydDsKKyAgICB9IGVsc2UgeworICAgICAgICBpdGVtQ291
bnQgPSBhcmd1bWVudHNMZW5ndGggLSBpdGVtT2Zmc2V0OworICAgICAgICB2YXIgZGMgPSBAdG9J
bnRlZ2VyKGRlbGV0ZUNvdW50KTsKKyAgICAgICAgZGMgPSAoZGMgPiAwKSA/IGRjIDogMDsKKyAg
ICAgICAgYWN0dWFsRGVsZXRlQ291bnQgPSBsZW5ndGggLSBhY3R1YWxTdGFydDsKKyAgICAgICAg
aWYgKGFjdHVhbERlbGV0ZUNvdW50ID4gZGMpCisgICAgICAgICAgICBhY3R1YWxEZWxldGVDb3Vu
dCA9IGRjOworICAgIH0KKworICAgIGlmICgobGVuZ3RoICsgaXRlbUNvdW50IC0gYWN0dWFsRGVs
ZXRlQ291bnQpID4gMHgxRkZGRkZGRkZGRkZGRikKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJy
b3IoKTsKKworICAgIHZhciBjb25zdHJ1Y3RvciA9IEBhcnJheVNwZWNpZXNDb25zdHJ1Y3Rvcihh
cnJheSk7CisgICAgaWYgKGNvbnN0cnVjdG9yID09PSBAQXJyYXkpCisgICAgICAgIHJldHVybiBA
YXJyYXlTcGxpY2VGYXN0LkBhcHBseSh0aGlzLCBhcmd1bWVudHMpOworCisgICAgdmFyIHJlc3Vs
dCA9IG5ldyBjb25zdHJ1Y3RvcihhY3R1YWxEZWxldGVDb3VudCk7CisKKyAgICBmb3IgKHZhciBr
ID0gMDsgayA8IGFjdHVhbERlbGV0ZUNvdW50OyArK2spIHsKKyAgICAgICAgdmFyIGZyb20gPSBh
Y3R1YWxTdGFydCArIGs7CisgICAgICAgIGlmIChmcm9tIGluIGFycmF5KQorICAgICAgICAgICAg
QHB1dEJ5VmFsRGlyZWN0KHJlc3VsdCwgaywgYXJyYXlbZnJvbV0pOworICAgIH0KKworICAgIHJl
c3VsdC5sZW5ndGggPSBhY3R1YWxEZWxldGVDb3VudDsKKworICAgIGZ1bmN0aW9uIHNoaWZ0KGFy
cmF5LCBsZW5ndGgsIGFjdHVhbFN0YXJ0LCBhY3R1YWxEZWxldGVDb3VudCwgaXRlbUNvdW50KQor
ICAgIHsKKyAgICAgICAgZm9yICh2YXIgayA9IGFjdHVhbFN0YXJ0LCBreiA9IChsZW5ndGggLSBh
Y3R1YWxEZWxldGVDb3VudCk7IGsgPCBrejsgKytrKSB7CisgICAgICAgICAgICB2YXIgZnJvbSA9
IGsgKyBhY3R1YWxEZWxldGVDb3VudDsKKyAgICAgICAgICAgIHZhciB0byA9IGsgKyBpdGVtQ291
bnQ7CisgICAgICAgICAgICBpZiAoZnJvbSBpbiBhcnJheSkKKyAgICAgICAgICAgICAgICBhcnJh
eVt0b10gPSBhcnJheVtmcm9tXTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBk
ZWxldGUgYXJyYXlbdG9dOworICAgICAgICB9CisgICAgICAgIGZvciAodmFyIGsgPSBsZW5ndGgs
IGt6ID0gKGxlbmd0aCAtIGFjdHVhbERlbGV0ZUNvdW50ICsgaXRlbUNvdW50KTsgayA+IGt6OyAt
LWspCisgICAgICAgICAgICBkZWxldGUgYXJyYXlbayAtIDFdOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHVuc2hpZnQoYXJyYXksIGxlbmd0aCwgYWN0dWFsU3RhcnQsIGFjdHVhbERlbGV0ZUNvdW50
LCBpdGVtQ291bnQpCisgICAgeworICAgICAgICBmb3IgKHZhciBrID0gKGxlbmd0aCAtIGFjdHVh
bERlbGV0ZUNvdW50KTsgayA+IGFjdHVhbFN0YXJ0OyAtLWspIHsKKyAgICAgICAgICAgIHZhciBm
cm9tID0gayArIGFjdHVhbERlbGV0ZUNvdW50IC0gMTsKKyAgICAgICAgICAgIHZhciB0byA9IGsg
KyBpdGVtQ291bnQgLSAxOworICAgICAgICAgICAgaWYgKGZyb20gaW4gYXJyYXkpCisgICAgICAg
ICAgICAgICAgYXJyYXlbZnJvbV0gPSBhcnJheVt0b107CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgZGVsZXRlIGFycmF5W3RvXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlm
IChpdGVtQ291bnQgPCBhY3R1YWxEZWxldGVDb3VudCkKKyAgICAgICAgc2hpZnQoYXJyYXksIGxl
bmd0aCwgYWN0dWFsU3RhcnQsIGFjdHVhbERlbGV0ZUNvdW50LCBpdGVtQ291bnQpOworICAgIGVs
c2UgaWYgKGl0ZW1Db3VudCA+IGFjdHVhbERlbGV0ZUNvdW50KQorICAgICAgICB1bnNoaWZ0KGFy
cmF5LCBsZW5ndGgsIGFjdHVhbFN0YXJ0LCBhY3R1YWxEZWxldGVDb3VudCwgaXRlbUNvdW50KTsK
KworICAgIGZvciAodmFyIGsgPSAwOyBrIDwgaXRlbUNvdW50OyArK2spCisgICAgICAgIGFycmF5
W2sgKyBhY3R1YWxTdGFydF0gPSBhcmd1bWVudHNbayArIGl0ZW1PZmZzZXRdOworICAgIGFycmF5
Lmxlbmd0aCA9IGxlbmd0aCAtIGFjdHVhbERlbGV0ZUNvdW50ICsgaXRlbUNvdW50OworCisgICAg
cmV0dXJuIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9BcnJheUNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0FycmF5Q29uc3RydWN0b3IuanMKaW5kZXggNWE1NTFmNzM5OGY3OGYwYzI5YjBmNDNkOWVmY2Mz
N2VhYTIyZTMyNS4uMzRkZjYyNDAyNGJiZGFjOWFiMjc4MDU2YWRhZmMxNmE5MjYzNjlmNSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKQEAgLTEwNywzICsxMDcsMTAgQEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRo
aXNBcmcgKi8pIHsKICAgICByZXN1bHQubGVuZ3RoID0gYXJyYXlMaWtlTGVuZ3RoOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CisKK2Z1bmN0aW9uIHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ug
c3RyaWN0IjsKKworICAgIHJldHVybiB0aGlzOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9HbG9iYWxPYmplY3QuanMKaW5kZXggNmFkYWRlZmJkOWE5NzAxNzc5MzY2MGFm
ZGIyM2E3NTUyYTIwN2FmOS4uY2M3YjJjYTkxYmYwYmUwNjllZTQ0MWNjYWQxYjM5OGVkMzYzZTk5
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9iamVj
dC5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT2JqZWN0Lmpz
CkBAIC01NSwzICs1NSwyMiBAQCBmdW5jdGlvbiBpc09iamVjdChvYmplY3QpCiAKICAgICByZXR1
cm4gKG9iamVjdCAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IikgfHwgdHlw
ZW9mIG9iamVjdCA9PT0gImZ1bmN0aW9uIjsKIH0KKworZnVuY3Rpb24gc3BlY2llc0NvbnN0cnVj
dG9yKG9iamVjdCwgZGVmYXVsdENvbnN0cnVjdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKwor
ICAgIHZhciBjb25zdHJ1Y3RvciA9IG9iamVjdC5jb25zdHJ1Y3RvcjsKKyAgICBpZiAoY29uc3Ry
dWN0b3IgPT09IHVuZGVmaW5lZCkKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIm9iamVj
dCBkb2VzIG5vdCBoYXZlIFwiY29uc3RydWN0b3JcIiBwcm9wZXJ0eSIpOworCisgICAgdmFyIHNw
ZWNpZXMgPSBjb25zdHJ1Y3RvcltAc3ltYm9sU3BlY2llc107CisgICAgaWYgKHNwZWNpZXMgPT09
IHVuZGVmaW5lZCB8fCBzcGVjaWVzID09PSBudWxsKQorICAgICAgICByZXR1cm4gZGVmYXVsdENv
bnN0cnVjdG9yOworCisgICAgLy8gRklYTUU6IFVzZSBpc0NvbnN0cnVjdG9yKHNwZWNpZXMpLgor
ICAgIGlmICh0eXBlb2Ygc3BlY2llcyAhPT0gJ2Z1bmN0aW9uJykKKyAgICAgICAgdGhyb3cgbmV3
IEBUeXBlRXJyb3IoImNvbnN0cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3RvciIp
OworCisgICAgcmV0dXJuIHNwZWNpZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvTWFwQ29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkODdhOWRkNjhhNTUzNjE1
YjgyZjljMGI0YzkxZmQ3ZWZhM2QyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9NYXBDb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IFl1c3VrZSBTdXp1a2kgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0aW9u
IHN5bWJvbFNwZWNpZXMoKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIHJldHVybiB0aGlz
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09wZXJhdGlv
bnMuQXJyYXkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvT3BlcmF0aW9ucy5B
cnJheS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZDdiYTFmYmJjODBmYWQ1MTJjZjQ1M2M3NjA3MGIxYTM1YTE4
MjNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL09w
ZXJhdGlvbnMuQXJyYXkuanMKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBZdXN1a2UgU3V6dWtpIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitmdW5jdGlvbiBhcnJheVNwZWNpZXNDb25z
dHJ1Y3RvcihvcmlnaW5hbEFycmF5KQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIGlmICgh
QGlzQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVybiBAQXJyYXk7CisKKyAgICB2
YXIgY29uc3RydWN0b3IgPSBvcmlnaW5hbEFycmF5LmNvbnN0cnVjdG9yOworCisgICAgLy8gRWFy
bHkgY2hlY2sgZm9yIHRoZSBjb21tb24gcGF0aC4KKyAgICBpZiAoY29uc3RydWN0b3IgIT09IEBB
cnJheSkgeworICAgICAgICAvLyBGSVhNRTogVXNlIGlzQ29uc3RydWN0b3IoY29uc3RydWN0b3Ip
LgorICAgICAgICBpZiAodHlwZW9mIGNvbnN0cnVjdG9yID09PSAiZnVuY3Rpb24iKSB7CisgICAg
ICAgICAgICBpZiAoQGlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVyZW50UmVhbG0oY29uc3RydWN0
b3IpKQorICAgICAgICAgICAgICAgIHJldHVybiBAQXJyYXk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBpZiAoQGlzT2JqZWN0KGNvbnN0cnVjdG9yKSkgeworICAgICAgICBjb25zdHJ1Y3RvciA9
IGNvbnN0cnVjdG9yW0BzeW1ib2xTcGVjaWVzXTsKKyAgICAgICAgaWYgKGNvbnN0cnVjdG9yID09
PSBudWxsKQorICAgICAgICAgICAgY29uc3RydWN0b3IgPSB1bmRlZmluZWQ7CisgICAgfQorCisg
ICAgaWYgKGNvbnN0cnVjdG9yID09PSB1bmRlZmluZWQgfHwgY29uc3RydWN0b3IgPT09IEBBcnJh
eSkKKyAgICAgICAgcmV0dXJuIEBBcnJheTsKKworICAgIC8vIEZJWE1FOiBVc2UgaXNDb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikuCisgICAgaWYgKHR5cGVvZiBjb25zdHJ1Y3RvciAhPT0gImZ1bmN0
aW9uIikKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImdpdmVuIGNvbnN0cnVjdG9yIG9y
IHNwZWNpZXMgaXMgbm90IGEgZnVuY3Rpb24iKTsKKworICAgIHJldHVybiBjb25zdHJ1Y3RvcjsK
K30KKworZnVuY3Rpb24gYXJyYXlTcGVjaWVzQ3JlYXRlKG9yaWdpbmFsQXJyYXksIGxlbmd0aCkK
K3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICB2YXIgY29uc3RydWN0b3IgPSBAYXJyYXlTcGVj
aWVzQ29uc3RydWN0b3Iob3JpZ2luYWxBcnJheSk7CisgICAgaWYgKGNvbnN0cnVjdG9yID09PSBA
QXJyYXkpCisgICAgICAgIHJldHVybiBAbmV3QXJyYXlXaXRoU2l6ZShsZW5ndGgpOworICAgIHJl
dHVybiBuZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9Qcm9taXNlLnByb3RvdHlwZS5qcwppbmRleCA4NTYzZGYwZDkyN2Zi
MjMzOTY4OTM5ZTE0OTQyMzk2ZWM4NWU2NWFhLi5jZjZhMjBmZDgzMjViODNjMWI5MDc1YjU5MTJj
NDM1OTA0MDE2M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
UHJvbWlzZS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L1Byb21pc2UucHJvdG90eXBlLmpzCkBAIC0zNyw5ICszNyw3IEBAIGZ1bmN0aW9uIHRoZW4ob25G
dWxmaWxsZWQsIG9uUmVqZWN0ZWQpCiAgICAgaWYgKCFAaXNQcm9taXNlKHRoaXMpKQogICAgICAg
ICB0aHJvdyBuZXcgQFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAg
Ly8gRklYTUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wg
aXMgbGFuZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDY2MjQKLSAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yOworICAgIHZh
ciBjb25zdHJ1Y3RvciA9IEBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgQFByb21pc2UpOwogCiAg
ICAgdmFyIHJlc3VsdENhcGFiaWxpdHkgPSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoY29uc3RydWN0
b3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlz
ZUNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VD
b25zdHJ1Y3Rvci5qcwppbmRleCAxZjgzYjQ3Zjc5MGE3NWU1YmY4YzkzZDVlNjY0OTYxOGNiMWFl
YzY3Li4zZjk4ZWJmMzNhZTI5Nzg4MzZjZjE3MjEyODY1ODVjYTE3ZTBmYjEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUHJvbWlzZUNvbnN0cnVjdG9yLmpzCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlQ29uc3RydWN0b3IuanMK
QEAgLTMwLDkgKzMwLDEwIEBAIGZ1bmN0aW9uIGFsbChpdGVyYWJsZSkKICAgICBpZiAoIUBpc09i
amVjdCh0aGlzKSkKICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBh
IG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMg
d2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQKICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzOwor
ICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChz
cGVjaWVzICE9PSB1bmRlZmluZWQgJiYgc3BlY2llcyAhPT0gbnVsbCkKKyAgICAgICAgY29uc3Ry
dWN0b3IgPSBzcGVjaWVzOwogCiAgICAgdmFyIHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21p
c2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsKIApAQCAtODYsOSArODcsMTAgQEAgZnVuY3Rpb24g
cmFjZShpdGVyYWJsZSkKICAgICBpZiAoIUBpc09iamVjdCh0aGlzKSkKICAgICAgICAgdGhyb3cg
bmV3IFR5cGVFcnJvcigifHRoaXN8IGlzIG5vdCBhIG9iamVjdCIpOwogCi0gICAgLy8gRklYTUU6
IEZpeCB0aGlzIGNvZGUgd2hlbiBAQHNwZWNpZXMgd2VsbC1rbm93biBzeW1ib2wgaXMgbGFuZGVk
LgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY2MjQK
ICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzOworICAgIHZhciBzcGVjaWVzID0gY29uc3RydWN0
b3JbQHN5bWJvbFNwZWNpZXNdOworICAgIGlmIChzcGVjaWVzICE9PSB1bmRlZmluZWQgJiYgc3Bl
Y2llcyAhPT0gbnVsbCkKKyAgICAgICAgY29uc3RydWN0b3IgPSBzcGVjaWVzOwogCiAgICAgdmFy
IHByb21pc2VDYXBhYmlsaXR5ID0gQG5ld1Byb21pc2VDYXBhYmlsaXR5KGNvbnN0cnVjdG9yKTsK
IApAQCAtMTM3LDMgKzEzOSwxMCBAQCBmdW5jdGlvbiByZXNvbHZlKHZhbHVlKQogCiAgICAgcmV0
dXJuIHByb21pc2VDYXBhYmlsaXR5LkBwcm9taXNlOwogfQorCitmdW5jdGlvbiBzeW1ib2xTcGVj
aWVzKCkKK3sKKyAgICAidXNlIHN0cmljdCI7CisKKyAgICByZXR1cm4gdGhpczsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRDb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iN2Q4N2E5ZGQ2OGE1NTM2MTViODJmOWMwYjRjOTFmZDdlZmEzZDIyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1NldENvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgWXVzdWtlIFN1enVr
aSA8dXRhdGFuZS50ZWFAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworZnVuY3Rpb24gc3ltYm9sU3BlY2llcygpCit7CisgICAgInVzZSBzdHJp
Y3QiOworCisgICAgcmV0dXJuIHRoaXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDdmMzEyNzQx
ZGQ3NWMwOGVjYWRiZjI2YTlhZmU5YjkwZGVkM2E3NGIuLmM5MDg3ZjNmZjhjMDg2MzI5MjQyMjAy
MDZhZmQyMDllYmRhZjhhOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yMTU2LDYgKzIxNTYsMTUg
QEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJheShSZWdpc3RlcklE
KiBkc3QsIEVsZW1lbnROb2RlKiBlbGVtZW4KICAgICByZXR1cm4gZHN0OwogfQogCitSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCog
ZHN0LCBSZWdpc3RlcklEKiBsZW5ndGgpCit7CisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyYXlf
d2l0aF9zaXplKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoZHN0LT5pbmRleCgpKTsKKyAg
ICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobGVuZ3RoLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQobmV3QXJyYXlBbGxvY2F0aW9uUHJvZmlsZSgpKTsKKyAgICByZXR1cm4gZHN0
OworfQorCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uKFJl
Z2lzdGVySUQqIGRzdCwgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24pCiB7CiAgICAgcmV0dXJu
IGVtaXROZXdGdW5jdGlvbkludGVybmFsKGRzdCwgbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRGVj
bChtYWtlRnVuY3Rpb24oZnVuY3Rpb24pKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggM2FkYzUxMGFiYzBh
ZTdjM2FkMjUyYjY3NWNiMThiOTlkYzdkMmI2My4uY2YyODA5MjQ4Yzk3NTljZjI5MTE1MjU4YzY0
OTUxNDQzZjgwYzBlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDY5LDYgKzQ2OSw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB2b2lkIGxpZnRURFpDaGVja0lmUG9zc2libGUoY29uc3QgVmFyaWFi
bGUmKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld09iamVjdChSZWdpc3RlcklEKiBkc3Qp
OwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyYXkoUmVnaXN0ZXJJRCogZHN0LCBFbGVt
ZW50Tm9kZSosIHVuc2lnbmVkIGxlbmd0aCk7IC8vIHN0b3BzIGF0IGZpcnN0IGVsaXNpb24KKyAg
ICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0FycmF5V2l0aFNpemUoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdpc3RlcklEKiBsZW5ndGgpOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlv
bihSZWdpc3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUqKTsKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRl
eCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKaW5kZXggZGE0NmI5ZjE0NzIwNTBjY2M0ZDcwZGFjYjA5NWFlOWExNmQ1OTk3Yi4u
MGQyNjc3MzBkNDMxYjdmZjkyYzkxYTczMjUyNzFlNWUwZDBkNzBhOSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtNzkw
LDYgKzc5MCwxNSBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRCeXRl
Y29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZQogICAgIHJldHVybiAodGhpcy0+
Km1fZW1pdHRlcikoZ2VuZXJhdG9yLCBkc3QpOwogfQogCitSZWdpc3RlcklEKiBCeXRlY29kZUlu
dHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX25ld0FycmF5V2l0aFNpemUoQnl0ZWNvZGVHZW5l
cmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIEFyZ3VtZW50TGlzdE5v
ZGUqIG5vZGUgPSBtX2FyZ3MtPm1fbGlzdE5vZGU7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGxl
bmd0aCA9IGdlbmVyYXRvci5lbWl0Tm9kZShub2RlKTsKKyAgICBBU1NFUlQoIW5vZGUtPm1fbmV4
dCk7CisKKyAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0
LCBnZW5lcmF0b3IuZW1pdE5ld0FycmF5V2l0aFNpemUoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlv
bihkc3QpLCBsZW5ndGguZ2V0KCkpKTsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5z
aWNOb2RlOjplbWl0X2ludHJpbnNpY19wdXRCeVZhbERpcmVjdChCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgQXJndW1lbnRMaXN0Tm9kZSogbm9k
ZSA9IG1fYXJncy0+bV9saXN0Tm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuY3BwCmluZGV4IDk5YmNmZmFkY2YyYzMwZDljYjU0NDU0NTU3ZDY0ZGZlZTNmZWY5
YWQuLmQ1MjRhYzJmZDA0YTI4MGRiMzhlNTg4YmRjYjI3Yzc0ZDU3OWM1MjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtNzIsNyArNzIsNyBAQCBz
dGF0aWMgaW5saW5lIHZvaWQgcHV0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VW
YWx1ZSwgdWludDMyX3QgaW5kZXgsCiAgICAgQVNTRVJUKGlzSW5kZXgoaW5kZXgpKTsKICAgICBp
ZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgp
KTsKLSAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5k
ZXgsIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGly
ZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1
dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5k
ZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJv
dyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGJhc2VWYWx1ZS5pc09iamVjdCgp
KSB7CkBAIC0xMjQsNyArMTI0LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhlY1N0YXRlKiBleGUKICAgICBpZiAo
ZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsK
ICAgICAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVy
dHlOYW1lKSkKLSAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdEluZGV4
KGV4ZWMsIGluZGV4LnZhbHVlKCksIHZhbHVlLCAwLCBzdHJpY3QgPyBQdXREaXJlY3RJbmRleFNo
b3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgICAgICBh
c09iamVjdChiYXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2
YWx1ZSwgMCwgc3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93
IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdCgqdm0sIHByb3BlcnR5TmFtZSwgdmFs
dWUsIHNsb3QpOwogICAgIH0gZWxzZQpAQCAtNTAxLDcgKzUwMSw3IEBAIHZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0KEV4ZWNT
dGF0ZSogZXhlCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAgICAgaWYgKGluZGV4ID49IDApIHsKLSAgICAgICAg
YXJyYXktPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZFZhbHVlKSwgMCwgUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyk7CisgICAgICAgIGFycmF5LT5w
dXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSks
IDAsIFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmNwcAppbmRleCA0MWMxNGI2YWEwMmUzYjU2Y2JhMDZjNjFlY2EzNzY2YjUyOWEyN2YwLi5k
ZjA3Y2QyNDE2MjY1ZWVjZDgxODExNzdlNzJkNjcwMjUxMzY0YmJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBzdGF0
aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNPYmplY3QqIGJh
c2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICB9CiAKICAgICAgICAgYXJyYXlQcm9maWxlLT5z
ZXRPdXRPZkJvdW5kcygpOwotICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxs
RnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhTaG91
bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LCB2YWx1ZSwgMCwgaXNTdHJpY3RN
b2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0
SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU0NCw3
ICs1NDQsNyBAQCBzdGF0aWMgdm9pZCBkaXJlY3RQdXRCeVZhbChDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgcwogICAgICAgICBkb3VibGUgc3Vic2Ny
aXB0QXNEb3VibGUgPSBzdWJzY3JpcHQuYXNEb3VibGUoKTsKICAgICAgICAgdWludDMyX3Qgc3Vi
c2NyaXB0QXNVSW50MzIgPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3Vic2NyaXB0QXNEb3VibGUp
OwogICAgICAgICBpZiAoc3Vic2NyaXB0QXNEb3VibGUgPT0gc3Vic2NyaXB0QXNVSW50MzIgJiYg
aXNJbmRleChzdWJzY3JpcHRBc1VJbnQzMikpIHsKLSAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1
dERpcmVjdEluZGV4KGNhbGxGcmFtZSwgc3Vic2NyaXB0QXNVSW50MzIsIHZhbHVlLCAwLCBpc1N0
cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91
bGROb3RUaHJvdyk7CisgICAgICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxs
RnJhbWUsIHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGly
ZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGRO
b3RUaHJvdyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC01NTUs
NyArNTU1LDcgQEAgc3RhdGljIHZvaWQgZGlyZWN0UHV0QnlWYWwoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHMKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQot
ICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChjYWxsRnJhbWUsIGluZGV4LnZhbHVl
KCksIHZhbHVlLCAwLCBpc1N0cmljdE1vZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDog
UHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERp
cmVjdEluZGV4KGNhbGxGcmFtZSwgaW5kZXgudmFsdWUoKSwgdmFsdWUsIDAsIGlzU3RyaWN0TW9k
ZSA/IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyA6IFB1dERpcmVjdElu
ZGV4U2hvdWxkTm90VGhyb3cpOwogICAgIGVsc2UgewogICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlT2JqZWN0LCBpc1N0cmljdE1vZGUpOwogICAgICAgICBiYXNlT2JqZWN0LT5wdXRE
aXJlY3QoY2FsbEZyYW1lLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUsIHNsb3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggZjVkYTg5OGNh
MjhmNDc4YTk0ODA5NGFkMWM2NzI2YjBhNmI5YjBlNi4uNjhjM2I2ZThmNGVjYTIyNGI2NzBlN2Y1
ZDQ1ZTMyNjk0YTc4ZmYzYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCkBAIC03ODAsNyArNzgwLDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0wo
c2xvd19wYXRoX3B1dF9ieV92YWxfZGlyZWN0KQogICAgIGlmIChMSUtFTFkoc3Vic2NyaXB0Lmlz
VUludDMyKCkpKSB7CiAgICAgICAgIC8vIERlc3BpdGUgaXRzIG5hbWUsIEpTVmFsdWU6OmlzVUlu
dDMyIHdpbGwgcmV0dXJuIHRydWUgb25seSBmb3IgcG9zaXRpdmUgYm94ZWQgaW50MzJfdDsgYWxs
IHRob3NlIHZhbHVlcyBhcmUgdmFsaWQgYXJyYXkgaW5kaWNlcy4KICAgICAgICAgQVNTRVJUKGlz
SW5kZXgoc3Vic2NyaXB0LmFzVUludDMyKCkpKTsKLSAgICAgICAgYmFzZU9iamVjdC0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCksIHZhbHVlLCAwLCBpc1N0cmljdE1v
ZGUgPyBQdXREaXJlY3RJbmRleFNob3VsZFRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RU
aHJvdyk7CisgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHN1YnNjcmlw
dC5hc1VJbnQzMigpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVh
dGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAg
ICAgICAgIExMSU5UX0VORCgpOwogICAgIH0KIApAQCAtNzg4LDcgKzc4OCw3IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfdmFsX2RpcmVjdCkKICAgICAgICAgZG91Ymxl
IHN1YnNjcmlwdEFzRG91YmxlID0gc3Vic2NyaXB0LmFzRG91YmxlKCk7CiAgICAgICAgIHVpbnQz
Ml90IHN1YnNjcmlwdEFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN1YnNjcmlwdEFz
RG91YmxlKTsKICAgICAgICAgaWYgKHN1YnNjcmlwdEFzRG91YmxlID09IHN1YnNjcmlwdEFzVUlu
dDMyICYmIGlzSW5kZXgoc3Vic2NyaXB0QXNVSW50MzIpKSB7Ci0gICAgICAgICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBzdWJzY3JpcHRBc1VJbnQzMiwgdmFsdWUsIDAsIGlz
U3RyaWN0TW9kZSA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQdXREaXJlY3RJbmRleFNo
b3VsZE5vdFRocm93KTsKKyAgICAgICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdEluZGV4KGV4
ZWMsIHN1YnNjcmlwdEFzVUludDMyLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0
SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RU
aHJvdyk7CiAgICAgICAgICAgICBMTElOVF9FTkQoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTc5
OSw3ICs3OTksNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X3ZhbF9k
aXJlY3QpCiAgICAgICAgIExMSU5UX0VORCgpOwogCiAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90
PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHkpKQotICAgICAgICBiYXNlT2JqZWN0LT5wdXRE
aXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8g
UHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3cp
OworICAgICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgp
LCB2YWx1ZSwgMCwgaXNTdHJpY3RNb2RlID8gUHV0RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVy
dHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdyk7CiAgICAgZWxzZSB7CiAg
ICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGlzU3RyaWN0TW9kZSk7CiAg
ICAgICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBwcm9wZXJ0eSwgdmFsdWUs
IHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0
cnVjdG9yLmNwcAppbmRleCAxOTRmOTIxN2MxYzIxODYwMzY5ZWMwZTRlZTQ0ZDg3Yzk4ODAwODM2
Li4zYjUzZDY2NGI2NjhmNGZhMzFiOGRmNmMwNDc2YzNkY2NkOTBmMDA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcApAQCAtMjks
MTcgKzI5LDEyIEBACiAjaW5jbHVkZSAiQ29waWVkU3BhY2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAi
RXJyb3IuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiR2V0dGVy
U2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJMb29rdXAuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKLW5hbWVzcGFj
ZSBKU0MgewotCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0
cnVjdG9ySXNBcnJheShFeGVjU3RhdGUqKTsKLQotfQotCiAjaW5jbHVkZSAiQXJyYXlDb25zdHJ1
Y3Rvci5sdXQuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02MSwxMSArNTYsMTQgQEAgQXJyYXlD
b25zdHJ1Y3Rvcjo6QXJyYXlDb25zdHJ1Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogewogfQogCi12b2lkIEFycmF5Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
QXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlKQordm9pZCBBcnJheUNvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5
UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSwgYXJyYXlQcm90b3R5cGUtPmNsYXNzSW5mbygpLT5jbGFzc05hbWUpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGFycmF5
UHJvdG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1i
ZXIoMSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0
ZXIqIHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QpOworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIGds
b2JhbE9iamVjdC0+YXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24oKSk7CisgICAgcHV0RGlyZWN0
Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3Bl
Y2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRFbnVtKTsKIH0KIAogYm9vbCBBcnJheUNvbnN0
cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBl
eGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNsb3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKaW5kZXgg
MDQwZjI2YzRjOTkwNWE0NTc2OTRjMDVjODU0NDcwNjA3YmI0ODRhNy4uMWQyOTNkYWY5Nzg2M2Jk
YTc2NDQ5NDU0NmFhMGRiOGQwODYxODJlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaApAQCAtMzQsMTAgKzM0LDEwIEBAIGNsYXNzIEFy
cmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgdHlwZWRlZiBJ
bnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW50ZXJuYWxGdW5jdGlvbjo6
U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlw
ZSkKKyAgICBzdGF0aWMgQXJyYXlDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEFycmF5UHJvdG90eXBl
KiBhcnJheVByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIEFycmF5Q29uc3RydWN0b3IqIGNvbnN0
cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8QXJyYXlDb25zdHJ1Y3Rvcj4odm0u
aGVhcCkpIEFycmF5Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGNvbnN0cnVj
dG9yLT5maW5pc2hDcmVhdGlvbih2bSwgYXJyYXlQcm90b3R5cGUpOworICAgICAgICBjb25zdHJ1
Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgYXJyYXlQcm90b3R5cGUpOwog
ICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBAIC00OSw3ICs0OSw3IEBAIGNs
YXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAgfQog
CiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEFycmF5UHJvdG90eXBl
Kik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgQXJyYXlQ
cm90b3R5cGUqKTsKIAogcHJpdmF0ZToKICAgICBBcnJheUNvbnN0cnVjdG9yKFZNJiwgU3RydWN0
dXJlKik7CkBAIC02MCw2ICs2MCw3IEBAIGNsYXNzIEFycmF5Q29uc3RydWN0b3IgOiBwdWJsaWMg
SW50ZXJuYWxGdW5jdGlvbiB7CiB9OwogCiBKU09iamVjdCogY29uc3RydWN0QXJyYXlXaXRoU2l6
ZVF1aXJrKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBKU0dsb2JhbE9iamVj
dCosIEpTVmFsdWUpOworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheUNvbnN0cnVj
dG9ySXNBcnJheShFeGVjU3RhdGUqKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCAzY2Mz
NTFiMzFkN2FmMTNlMWM1Yjg4ZGM0NWVkMjQ2NDgwNGFiMzJlLi4xMTEyYTM0ODFjNTk0MzgzOTIw
MjkxMDI2OGQxNTM5YTZmZWVkYWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNCwxMSArMjQsMTMgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBcnJheVByb3RvdHlwZS5oIgogCisjaW5jbHVkZSAiQXJyYXlD
b25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkJ1dHRlcmZseUlubGluZXMuaCIKICNpbmNsdWRlICJD
YWNoZWRDYWxsLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29waWVkU3Bh
Y2VJbmxpbmVzLmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIu
aCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUg
IkpTQXJyYXlJdGVyYXRvci5oIgpAQCAtMTAxLDcgKzEwMyw4IEBAIHZvaWQgQXJyYXlQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
ICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKCJzaGlmdCIsIGFycmF5UHJvdG9GdW5jU2hpZnQsIERv
bnRFbnVtLCAwKTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKHZtLnByb3BlcnR5TmFtZXMtPnNs
aWNlLCBhcnJheVByb3RvRnVuY1NsaWNlLCBEb250RW51bSwgMik7CiAgICAgSlNDX0JVSUxUSU5f
RlVOQ1RJT04oInNvcnQiLCBhcnJheVByb3RvdHlwZVNvcnRDb2RlR2VuZXJhdG9yLCBEb250RW51
bSk7Ci0gICAgSlNDX05BVElWRV9GVU5DVElPTigic3BsaWNlIiwgYXJyYXlQcm90b0Z1bmNTcGxp
Y2UsIERvbnRFbnVtLCAyKTsKKyAgICAvLyBKU0NfTkFUSVZFX0ZVTkNUSU9OKCJzcGxpY2UiLCBh
cnJheVByb3RvRnVuY1NwbGljZSwgRG9udEVudW0sIDIpOworICAgIEpTQ19CVUlMVElOX0ZVTkNU
SU9OKCJzcGxpY2UiLCBhcnJheVByb3RvdHlwZVNwbGljZUNvZGVHZW5lcmF0b3IsIERvbnRFbnVt
KTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKCJ1bnNoaWZ0IiwgYXJyYXlQcm90b0Z1bmNVblNo
aWZ0LCBEb250RW51bSwgMSk7CiAgICAgSlNDX0JVSUxUSU5fRlVOQ1RJT04oImV2ZXJ5IiwgYXJy
YXlQcm90b3R5cGVFdmVyeUNvZGVHZW5lcmF0b3IsIERvbnRFbnVtKTsKICAgICBKU0NfQlVJTFRJ
Tl9GVU5DVElPTigiZm9yRWFjaCIsIGFycmF5UHJvdG90eXBlRm9yRWFjaENvZGVHZW5lcmF0b3Is
IERvbnRFbnVtKTsKQEAgLTQ5NywxMyArNTAwLDc1IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgYXJyYXlQcm90b0Z1bmNKb2luKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpvaW4oKmV4ZWMsIHRoaXNPYmplY3QsIHNlcGFyYXRvci0+dmlldyhleGVj
KSkpOwogfQogCitBTFdBWVNfSU5MSU5FIHN0YXRpYyBKU09iamVjdCogYXJyYXlTcGVjaWVzQ29u
c3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogb3JpZ2luYWxBcnJheSkKK3sKKyAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpOworCisgICAgaWYgKCFpc0pTQXJyYXkob3JpZ2luYWxBcnJheSkpCisgICAgICAgIHJldHVy
biBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKworICAgIEpTQXJyYXkqIGFycmF5
ID0ganNDYXN0PEpTQXJyYXkqPihvcmlnaW5hbEFycmF5KTsKKyAgICBKU1ZhbHVlIGNvbnN0cnVj
dG9yVmFsdWUgPSBhcnJheS0+SlNBcnJheTo6Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMo
KS5jb25zdHJ1Y3Rvcik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3Rvck9iamVjdCA9IGpzRHlu
YW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKKyAgICBpZiAoIWNvbnN0cnVj
dG9yT2JqZWN0KQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9y
KCk7CisKKyAgICAvLyBUaGUgbW9zdCBjb21tb24gcGF0aC4KKyAgICBpZiAoY29uc3RydWN0b3JP
YmplY3QgPT0gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCkpIHsKKyAgICAgICAgUHJv
cGVydHlTbG90IHNsb3QoY29uc3RydWN0b3JPYmplY3QpOworICAgICAgICBpZiAoY29uc3RydWN0
b3JPYmplY3QtPmdldFByb3BlcnR5U2xvdChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3Bl
Y2llc1N5bWJvbCwgc2xvdCkpIHsKKyAgICAgICAgICAgIGlmIChzbG90LmlzQWNjZXNzb3IoKSkg
eworICAgICAgICAgICAgICAgIEdldHRlclNldHRlciogYWNjZXNzb3IgPSBzbG90LmdldHRlclNl
dHRlcigpOworICAgICAgICAgICAgICAgIGlmIChhY2Nlc3Nvci0+Z2V0dGVyKCkgPT0gZ2xvYmFs
T2JqZWN0LT5hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbigpKQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBjb25zdHJ1Y3RvclZhbHVlID0gc2xvdC5nZXRWYWx1ZShleGVjLCBleGVj
LT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CisgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgY29uc3RydWN0b3JWYWx1ZSA9IGpzVW5kZWZpbmVkKCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOworICAgICAgICBDb25zdHJ1Y3RUeXBl
IGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNvbnN0cnVjdG9yT2JqZWN0LCBjb25z
dHJ1Y3REYXRhKTsKKyAgICAgICAgaWYgKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlwZU5v
bmUpIHsKKyAgICAgICAgICAgIGlmIChjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFsT2JqZWN0KCkg
IT0gZ2xvYmFsT2JqZWN0ICYmIGNvbnN0cnVjdG9yT2JqZWN0ID09IGNvbnN0cnVjdG9yT2JqZWN0
LT5nbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBnbG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKTsKKyAgICAgICAgfQorICAgICAg
ICBjb25zdHJ1Y3RvclZhbHVlID0gY29uc3RydWN0b3JPYmplY3QtPmdldChleGVjLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CisgICAgfQorICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoY29uc3RydWN0
b3JWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25z
dHJ1Y3RvcigpOworCisgICAgaWYgKGNvbnN0cnVjdG9yVmFsdWUuaXNVbmRlZmluZWQoKSkKKyAg
ICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+YXJyYXlDb25zdHJ1Y3RvcigpOworCisgICAgcmV0
dXJuIGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3RvclZhbHVlKTsKK30KKworc3Rh
dGljIGJvb2wgY3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2Jq
ZWN0KiBvYmplY3QsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIHJldHVy
biBvYmplY3QtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgMCwgUHV0RGlyZWN0
SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KTsKK30KKwogRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0NvbmNhdChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAg
SlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT50aGlzVmFsdWUoKS50b1RoaXMoZXhlYywgU3RyaWN0
TW9kZSk7CisgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhl
Yyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yID0g
YXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoZXhlYywgdGhpc09iamVjdCk7CisgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworICAgIGJvb2wgaXNBcnJheUNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IgPT0gZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheUNvbnN0cnVjdG9yKCk7CisKKyAgICBKU1Zh
bHVlIGN1ckFyZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBleGVjLT5h
cmd1bWVudENvdW50KCk7Ci0gICAgSlNWYWx1ZSBjdXJBcmcgPSB0aGlzVmFsdWUudG9PYmplY3Qo
ZXhlYyk7CiAgICAgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IGZpbmFsQXJyYXlT
aXplID0gMDsKLQogICAgIEpTQXJyYXkqIGN1cnJlbnRBcnJheSA9IG51bGxwdHI7CiAgICAgSlNB
cnJheSogcHJldmlvdXNBcnJheSA9IG51bGxwdHI7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
OyArK2kpIHsKQEAgLTUyNCwxNyArNTg5LDMxIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgYXJyYXlQcm90b0Z1bmNDb25jYXQoRXhlY1N0YXRlKiBleGVjKQogICAgIGlmIChmaW5hbEFy
cmF5U2l6ZS5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpKTsKIAotICAgIGlmIChhcmdDb3VudCA9PSAxICYm
IHByZXZpb3VzQXJyYXkgJiYgY3VycmVudEFycmF5ICYmIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdl
dCgpIDwgTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgeworICAgIGlmIChpc0FycmF5Q29uc3RydWN0
b3IgJiYgYXJnQ291bnQgPT0gMSAmJiBwcmV2aW91c0FycmF5ICYmIGN1cnJlbnRBcnJheSAmJiBm
aW5hbEFycmF5U2l6ZS51bnNhZmVHZXQoKSA8IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVgpIHsKICAg
ICAgICAgSW5kZXhpbmdUeXBlIHR5cGUgPSBKU0FycmF5OjpmYXN0Q29uY2F0VHlwZShleGVjLT52
bSgpLCAqcHJldmlvdXNBcnJheSwgKmN1cnJlbnRBcnJheSk7CiAgICAgICAgIGlmICh0eXBlICE9
IE5vbkFycmF5KQogICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzQXJyYXktPmZhc3RDb25jYXRX
aXRoKCpleGVjLCAqY3VycmVudEFycmF5KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiBhcnIgPSBj
b25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdl
dCgpKTsKLSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgSlNPYmplY3QqIHJlc3VsdCA9IG51bGxw
dHI7CisgICAgaWYgKGlzQXJyYXlDb25zdHJ1Y3RvcikgeworICAgICAgICByZXN1bHQgPSBjb25z
dHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGZpbmFsQXJyYXlTaXplLnVuc2FmZUdldCgp
KTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBD
b25zdHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CisgICAgICAgIENvbnN0cnVjdFR5cGUgY29uc3Ry
dWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY29uc3RydWN0b3IsIGNvbnN0cnVjdERhdGEpOwor
ICAgICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSkKKyAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRl
cmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsK
KworICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgICAgICBhcmdzLmFwcGVu
ZChqc051bWJlcigwKSk7CisgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdChleGVjLCBjb25zdHJ1
Y3RvciwgY29uc3RydWN0VHlwZSwgY29uc3RydWN0RGF0YSwgYXJncyk7CisgICAgICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgfQogCi0gICAgY3VyQXJnID0gdGhpc1ZhbHVlLnRvT2JqZWN0
KGV4ZWMpOworICAgIGN1ckFyZyA9IHRoaXNPYmplY3Q7CiAgICAgdW5zaWduZWQgbiA9IDA7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgOyArK2kpIHsKICAgICAgICAgaWYgKEpTQXJyYXkqIGN1
cnJlbnRBcnJheSA9IGpzRHluYW1pY0Nhc3Q8SlNBcnJheSo+KGN1ckFyZykpIHsKQEAgLTU0Niwy
MCArNjI1LDMwIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmND
b25jYXQoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGdldFBy
b3BlcnR5KGV4ZWMsIGN1cnJlbnRBcnJheSwgayk7CiAgICAgICAgICAgICAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwotICAgICAgICAgICAgICAgIGlmICh2KQotICAgICAgICAgICAg
ICAgICAgICBhcnItPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICAgICAgICAg
IGlmICh2KSB7CisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3co
ZXhlYywgcmVzdWx0LCBuLCB2KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbisr
OwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgYXJyLT5wdXRE
aXJlY3RJbmRleChleGVjLCBuLCBjdXJBcmcpOworICAgICAgICAgICAgY3JlYXRlRGF0YVByb3Bl
cnR5T3JUaHJvdyhleGVjLCByZXN1bHQsIG4sIGN1ckFyZyk7CisgICAgICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgICAgIG4rKzsKICAgICAgICAgfQogICAgICAgICBp
ZiAoaSA9PSBhcmdDb3VudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjdXJBcmcgPSBl
eGVjLT51bmNoZWNrZWRBcmd1bWVudChpKTsKICAgICB9Ci0gICAgYXJyLT5zZXRMZW5ndGgoZXhl
Yywgbik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhcnIpOworCisgICAgaWYgKGlzQXJy
YXlDb25zdHJ1Y3RvcikKKyAgICAgICAganNDYXN0PEpTQXJyYXkqPihyZXN1bHQpLT5zZXRMZW5n
dGgoZXhlYywgbik7CisgICAgZWxzZQorICAgICAgICBwdXRMZW5ndGgoZXhlYywgcmVzdWx0LCBq
c051bWJlcihuKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAK
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNQb3AoRXhlY1N0YXRl
KiBleGVjKQpAQCAtNzI4LDIzICs4MTcsNTUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBhcnJheVByb3RvRnVuY1NsaWNlKEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIHVuc2lnbmVkIGJl
Z2luID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAwLCBsZW5ndGgp
OwogICAgIHVuc2lnbmVkIGVuZCA9IGFyZ3VtZW50Q2xhbXBlZEluZGV4RnJvbVN0YXJ0T3JFbmQo
ZXhlYywgMSwgbGVuZ3RoLCBsZW5ndGgpOworICAgIHVuc2lnbmVkIGNvdW50ID0gZW5kIC0gYmVn
aW47CiAKLSAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKSB7Ci0gICAgICAgIGlmIChKU0FycmF5
KiByZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBlbmQg
LSBiZWdpbikpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cisg
ICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yID0gYXJyYXlTcGVjaWVzQ29uc3RydWN0b3IoZXhlYywg
dGhpc09iaik7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgaWYgKGNvbnN0cnVjdG9yID09
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSB7CisgICAg
ICAgIGlmIChpc0pTQXJyYXkodGhpc09iaikpIHsKKyAgICAgICAgICAgIGlmIChKU0FycmF5KiBy
ZXN1bHQgPSBhc0FycmF5KHRoaXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBjb3VudCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgICAg
ICB9CisKKyAgICAgICAgSlNBcnJheSogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlBcnJheShleGVj
LCBudWxscHRyLCBjb3VudCk7CisKKyAgICAgICAgdW5zaWduZWQgbiA9IDA7CisgICAgICAgIGZv
ciAodW5zaWduZWQgayA9IGJlZ2luOyBrIDwgZW5kOyBrKyssIG4rKykgeworICAgICAgICAgICAg
SlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7CisgICAgICAgICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIGlmICh2KQorICAgICAgICAgICAg
ICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgbiwgdik7CisgICAgICAgIH0KKyAgICAg
ICAgcmVzdWx0LT5zZXRMZW5ndGgoZXhlYywgbik7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUocmVzdWx0KTsKICAgICB9CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RF
bXB0eUFycmF5KGV4ZWMsIG51bGxwdHIsIGVuZCAtIGJlZ2luKTsKKyAgICBDb25zdHJ1Y3REYXRh
IGNvbnN0cnVjdERhdGE7CisgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29u
c3RydWN0RGF0YShjb25zdHJ1Y3RvciwgY29uc3RydWN0RGF0YSk7CisgICAgaWYgKGNvbnN0cnVj
dFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJnaXZlbiBjb25zdHJ1Y3RvciBv
ciBzcGVjaWVzIGlzIG5vdCBhIGZ1bmN0aW9uIikpKTsKKworICAgIE1hcmtlZEFyZ3VtZW50QnVm
ZmVyIGFyZ3M7CisgICAgYXJncy5hcHBlbmQoanNOdW1iZXIoY291bnQpKTsKKyAgICBKU09iamVj
dCogcmVzdWx0ID0gY29uc3RydWN0KGV4ZWMsIGNvbnN0cnVjdG9yLCBjb25zdHJ1Y3RUeXBlLCBj
b25zdHJ1Y3REYXRhLCBhcmdzKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAKICAgICB1bnNpZ25l
ZCBuID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGsgPSBiZWdpbjsgayA8IGVuZDsgaysrLCBuKysp
IHsKLSAgICAgICAgSlNWYWx1ZSB2ID0gZ2V0UHJvcGVydHkoZXhlYywgdGhpc09iaiwgayk7Cisg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBnZXRQcm9wZXJ0eShleGVjLCB0aGlzT2JqLCBrKTsKICAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgaWYgKHYpCi0gICAgICAgICAgICBy
ZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIG4sIHYpOworICAgICAgICBpZiAodmFsdWUpIHsK
KyAgICAgICAgICAgIGNyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coZXhlYywgcmVzdWx0LCBuLCB2
YWx1ZSk7CisgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgfQog
ICAgIH0KLSAgICByZXN1bHQtPnNldExlbmd0aChleGVjLCBuKTsKKyAgICBwdXRMZW5ndGgoZXhl
YywgcmVzdWx0LCBqc051bWJlcihuKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1
bHQpOwogfQogCkBAIC03NTgsOSArODc5LDYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBhcnJheVByb3RvRnVuY1NwbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgdW5zaWduZWQgbGVu
Z3RoID0gZ2V0TGVuZ3RoKGV4ZWMsIHRoaXNPYmopOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAg
ICAKLSAgICBpZiAoIWV4ZWMtPmFyZ3VtZW50Q291bnQoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIG51bGxwdHIpKTsKIAogICAgIHVu
c2lnbmVkIGJlZ2luID0gYXJndW1lbnRDbGFtcGVkSW5kZXhGcm9tU3RhcnRPckVuZChleGVjLCAw
LCBsZW5ndGgpOwogCkBAIC03NzUsOCArODkzLDEwIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgYXJyYXlQcm90b0Z1bmNTcGxpY2UoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAg
ZGVsZXRlQ291bnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVsZXRlRG91YmxlKTsKICAgICB9
CiAKLSAgICBKU0FycmF5KiByZXN1bHQgPSBudWxscHRyOworICAgIGlmICghZXhlYy0+YXJndW1l
bnRDb3VudCgpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEVtcHR5
QXJyYXkoZXhlYywgbnVsbHB0cikpOwogCisgICAgSlNBcnJheSogcmVzdWx0ID0gbnVsbHB0cjsK
ICAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmopKQogICAgICAgICByZXN1bHQgPSBhc0FycmF5KHRo
aXNPYmopLT5mYXN0U2xpY2UoKmV4ZWMsIGJlZ2luLCBkZWxldGVDb3VudCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5oCmluZGV4IDM5NDEyYzIy
MDViZGM3YWUyM2QzZDIyZTRhNWQ5ZTg0MjkyNTBjMmEuLjc3NjlkMDY5ZTVhMGVhMWQyNzE5M2M1
MzczOWNmZGY5ZmFjMGQ5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuaApAQCAtNDcsNiArNDcsNyBAQCBjbGFzcyBBcnJheVByb3RvdHlwZSA6
IHB1YmxpYyBKU0FycmF5IHsKIH07CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJy
YXlQcm90b0Z1bmNWYWx1ZXMoRXhlY1N0YXRlKik7CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GdW5jU3BsaWNlKEV4ZWNTdGF0ZSogZXhlYyk7CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29s
ZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5oCmluZGV4IDE3N2Y2OWU1Y2I0ODJjYTVjZDNjZDUwNmFkMWE0MDMyNzAzODc3
NzIuLjhmMTYwMDRhNjVhYzcwMTdhODE4YmIwN2EyYmJmNjkzY2E3Mjc5NWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5oCkBAIC0z
MSw3ICszMSw3IEBAIGNsYXNzIEJvb2xlYW5Db25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1
bmN0aW9uIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAot
ICAgIHN0YXRpYyBCb29sZWFuQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBCb29sZWFuUHJvdG90eXBlKiBib29sZWFuUHJvdG90eXBlKQorICAgIHN0YXRp
YyBCb29sZWFuQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEJvb2xlYW5Qcm90b3R5cGUqIGJvb2xlYW5Qcm90b3R5cGUpCiAg
ICAgewogICAgICAgICBCb29sZWFuQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8Qm9vbGVhbkNvbnN0cnVjdG9yPih2bS5oZWFwKSkgQm9vbGVhbkNv
bnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3Jl
YXRpb24odm0sIGJvb2xlYW5Qcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggNDMyZmI2YzFiMTZmY2YyZjIyNzEx
M2QyNzZlYzA4MjVmYzUyOWJkNC4uNjA5M2EwNjMxNWZmYWFjMmIyN2IxYTRjMGUyZmRjYjQ1ZDJl
Zjc3ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC0yMzksMTYgKzIzOSwxNyBAQAogICAgIG1hY3JvKG1hdGNoKSBcCiAgICAg
bWFjcm8ocmVwbGFjZSkgXAogICAgIG1hY3JvKHNlYXJjaCkgXAotICAgIG1hY3JvKHNwZWNpZXMp
IFwKICAgICBtYWNybyhzcGxpdCkgXAogICAgIG1hY3JvKHRvUHJpbWl0aXZlKSBcCiAgICAgbWFj
cm8odG9TdHJpbmdUYWcpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJT
X0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wobWFjcm8pIFwKICAgICBtYWNybyhpdGVyYXRvcikgXAor
ICAgIG1hY3JvKHNwZWNpZXMpIFwKICAgICBtYWNybyh1bnNjb3BhYmxlcykKIAogI2RlZmluZSBK
U0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJTlNJQ1NfRUFDSF9OQU1FKG1hY3JvKSBcCisgICAgbWFj
cm8obmV3QXJyYXlXaXRoU2l6ZSkgXAogICAgIG1hY3JvKHB1dEJ5VmFsRGlyZWN0KSBcCiAgICAg
bWFjcm8odG9TdHJpbmcpCiAKQEAgLTI2MCw2ICsyNjEsNyBAQAogICAgIG1hY3JvKGFycmF5SXRl
cmF0aW9uS2luZEtleSkgXAogICAgIG1hY3JvKGFycmF5SXRlcmF0aW9uS2luZFZhbHVlKSBcCiAg
ICAgbWFjcm8oYXJyYXlJdGVyYXRpb25LaW5kS2V5VmFsdWUpIFwKKyAgICBtYWNybyhhcnJheVNw
bGljZUZhc3QpIFwKICAgICBtYWNybyhjaGFyQ29kZUF0KSBcCiAgICAgbWFjcm8oaXRlcmF0ZWRT
dHJpbmcpIFwKICAgICBtYWNybyhzdHJpbmdJdGVyYXRvck5leHRJbmRleCkgXApAQCAtMjc5LDYg
KzI4MSw3IEBACiAgICAgbWFjcm8oYWJzKSBcCiAgICAgbWFjcm8oZmxvb3IpIFwKICAgICBtYWNy
byhpc0Zpbml0ZSkgXAorICAgIG1hY3JvKGlzQXJyYXkpIFwKICAgICBtYWNybyhnZXRQcm90b3R5
cGVPZikgXAogICAgIG1hY3JvKGdldE93blByb3BlcnR5TmFtZXMpIFwKICAgICBtYWNybyhUeXBl
RXJyb3IpIFwKQEAgLTI5Niw2ICsyOTksNyBAQAogICAgIG1hY3JvKHByb21pc2VSZWplY3RSZWFj
dGlvbnMpIFwKICAgICBtYWNybyhwcm9taXNlUmVzdWx0KSBcCiAgICAgbWFjcm8oY2FwYWJpbGl0
aWVzKSBcCisgICAgbWFjcm8oaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSkgXAog
CiAKIG5hbWVzcGFjZSBKU0MgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlQ29uc3RydWN0b3IuaAppbmRleCAwNTRmNTcxZDU3OWU4Y2U0ZjM0YjU0MDkxN2I4ZDAyOGI1
MGRmYjliLi43NTk2ZmFkOTYxZWEyOGU4ZmU2MjlmNDUyNDdmNTY5MDM4ZDMxMDQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaApAQCAtMzIs
NyArMzIsNyBAQCBjbGFzcyBEYXRlQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiAKLSAgICBzdGF0aWMgRGF0ZUNvbnN0cnVjdG9yKiBjcmVh
dGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGF0ZVByb3RvdHlwZSogZGF0ZVByb3Rv
dHlwZSkKKyAgICBzdGF0aWMgRGF0ZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEYXRlUHJvdG90eXBlKiBkYXRlUHJvdG90
eXBlKQogICAgIHsKICAgICAgICAgRGF0ZUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPERhdGVDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIERhdGVDb25z
dHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0
aW9uKHZtLCBkYXRlUHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9yQ29uc3RydWN0b3IuaAppbmRleCBiMTE4OTRkYmU0YjU2MTRmZDIzMGI2MGY2YWUz
YmM4YmIzNWQyOTJlLi5iZmVkN2M4NzM1MTFjYjVjOWJjYTkxZjJiYTIzMzZmNzJiMTI3YWFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5o
CkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIEVycm9yQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJu
YWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7
CiAKLSAgICBzdGF0aWMgRXJyb3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEVycm9yUHJvdG90eXBlKiBlcnJvclByb3RvdHlwZSkKKyAgICBzdGF0aWMg
RXJyb3JDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgRXJyb3JQcm90b3R5cGUqIGVycm9yUHJvdG90eXBlKQogICAgIHsKICAg
ICAgICAgRXJyb3JDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9j
YXRlQ2VsbDxFcnJvckNvbnN0cnVjdG9yPih2bS5oZWFwKSkgRXJyb3JDb25zdHJ1Y3Rvcih2bSwg
c3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBlcnJv
clByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAppbmRleCAzZDE0YTllZjU1ZjRjMzMwYzBl
ZTc4ZjBmODYzNzczZDA1ZGNmOGM5Li4xNzk0Yjg0YjRkYmUyOGRmNzNiYTRhNGM0ZGQxYmY4YjU4
OTU2M2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKQEAgLTI4LDggKzI4LDEwIEBACiAKICNpbmNs
dWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJH
ZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNB
cnJheUJ1ZmZlclByb3RvdHlwZS5oIgorI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVk
ZSAiSlNHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKQEAgLTQ3LDIy
ICs0OSwyMCBAQCBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OkpTQXJyYXlCdWZmZXJDb25zdHJ1
Y3RvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogfQogCi12b2lkIEpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0FycmF5QnVmZmVyUHJv
dG90eXBlKiBwcm90b3R5cGUpCit2b2lkIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0FycmF5QnVm
ZmVyUHJvdG90eXBlKiBwcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
IEFTQ0lJTGl0ZXJhbCgiQXJyYXlCdWZmZXIiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgcHJvdG90eXBlLCBEb250RW51
bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMSksIERvbnRFbnVtIHwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKLQotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKICAgICBKU0NfTkFUSVZFX0ZVTkNUSU9OKHZtLnBy
b3BlcnR5TmFtZXMtPmlzVmlldywgYXJyYXlCdWZmZXJGdW5jSXNWaWV3LCBEb250RW51bSwgMSk7
CiB9CiAKLUpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
OjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNBcnJheUJ1ZmZlclByb3Rv
dHlwZSogcHJvdG90eXBlKQorSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBKU0FycmF5QnVmZmVy
Q29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5cGUp
CiB7CiAgICAgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiByZXN1bHQgPQogICAgICAgICBuZXcg
KE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I+KHZtLmhlYXAp
KQogICAgICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAg
cmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSwgcHJvdG90eXBlKTsKKyAgICByZXN1bHQtPmZpbmlz
aENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IuaAppbmRleCBiNjViNTIzYjY0YzRiZGM3YWUyMTY1MmYxY2Uy
MDIzNDkxNTliMzQxLi42NDkxNDk0NTU2Zjg4YTI4ODg1ZTU5NTc4YmZmZGQxNWM2ZjJjNDkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3IuaApAQCAtMzgsMTAgKzM4LDEwIEBAIGNsYXNzIEpTQXJyYXlCdWZmZXJD
b25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIAogcHJvdGVjdGVkOgogICAg
IEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSop
OwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiwgU3RydWN0dXJlKiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOworICAgIHN0YXRpYyBK
U0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOwogICAgIAogICAgIERFQ0xBUkVfSU5G
TzsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcAppbmRleCAzZWZhNjY3MDBmMDM0ZDcxNTFiNjJjODcxMDE4OWVjNDRlM2Q4MzQwLi5m
YzJjNjBkYTVjMmJhOTk0N2U0MGI1ZDc2Nzc3MDg1YjI2MjdhM2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0xOTMsNiArMTkz
LDE2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGVucXVldWVKb2IoRXhl
Y1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CiB9CiAKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGlzQXJyYXlDb25zdHJ1
Y3RvckluRGlmZmVyZW50UmVhbG0oRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisKKyAgICBK
U1ZhbHVlIGNvbnN0cnVjdG9yVmFsdWUgPSBleGVjLT5hcmd1bWVudCgwKTsKKyAgICBpZiAoSlNP
YmplY3QqIGNvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9y
VmFsdWUpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihjb25zdHJ1
Y3Rvci0+Z2xvYmFsT2JqZWN0KCkgIT0gZ2xvYmFsT2JqZWN0ICYmIGNvbnN0cnVjdG9yID09IGNv
bnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKS0+YXJyYXlDb25zdHJ1Y3RvcigpKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oZmFsc2UpKTsKK30KKwogSlNHbG9iYWxPYmpl
Y3Q6OkpTR2xvYmFsT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IEds
b2JhbE9iamVjdE1ldGhvZFRhYmxlKiBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKICAgICA6IEJh
c2Uodm0sIHN0cnVjdHVyZSwgMCkKICAgICAsIG1fdm0odm0pCkBAIC0yNjgsNiArMjc4LDcgQEAg
dm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgbV9jYWxsRnVuY3Rpb24uc2V0
KHZtLCB0aGlzLCBjYWxsRnVuY3Rpb24pOwogICAgIG1fYXBwbHlGdW5jdGlvbi5zZXQodm0sIHRo
aXMsIGFwcGx5RnVuY3Rpb24pOwogICAgIG1fYXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uLnNldCh2
bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCB2bS5wcm9wZXJ0eU5hbWVz
LT52YWx1ZXMuc3RyaW5nKCksIGFycmF5UHJvdG9GdW5jVmFsdWVzKSk7CisgICAgbV9hcnJheVNw
ZWNpZXNHZXR0ZXJGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0
aW5GdW5jdGlvbih2bSwgYXJyYXlDb25zdHJ1Y3RvclN5bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9y
KHZtKSwgdGhpcywgImdldCBbU3ltYm9sLnNwZWNpZXNdIikpOwogICAgIG1faW5pdGlhbGl6ZVBy
b21pc2VGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5j
dGlvbih2bSwgb3BlcmF0aW9uc1Byb21pc2VJbml0aWFsaXplUHJvbWlzZUNvZGVHZW5lcmF0b3Io
dm0pLCB0aGlzKSk7CiAgICAgbV9uZXdQcm9taXNlRGVmZXJyZWRGdW5jdGlvbi5zZXQodm0sIHRo
aXMsIEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgb3BlcmF0aW9uc1Byb21p
c2VOZXdQcm9taXNlRGVmZXJyZWRDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcykpOwogICAgIG1fbnVs
bEdldHRlckZ1bmN0aW9uLnNldCh2bSwgdGhpcywgTnVsbEdldHRlckZ1bmN0aW9uOjpjcmVhdGUo
dm0sIE51bGxHZXR0ZXJGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0
aW9uUHJvdG90eXBlLmdldCgpKSkpOwpAQCAtMzcxLDEyICszODIsMTIgQEAgbV8gIyMgcHJvcGVy
TmFtZSAjIyBTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBpbnN0YW5jZVR5cGU6OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGgKICAgICBtX2RlZmluZVByb3BlcnR5RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBk
ZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKTsKIAogICAgIEpTQ2VsbCogZnVuY3Rpb25Db25zdHJ1Y3Rv
ciA9IEZ1bmN0aW9uQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6
Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9m
dW5jdGlvblByb3RvdHlwZS5nZXQoKSk7Ci0gICAgSlNDZWxsKiBhcnJheUNvbnN0cnVjdG9yID0g
QXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5UHJvdG90
eXBlLmdldCgpKTsKKyAgICBtX2FycmF5Q29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBBcnJheUNv
bnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fYXJyYXlQcm90b3R5
cGUuZ2V0KCkpKTsKICAgICAKLSAgICBtX3JlZ0V4cENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywg
UmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZVN0
cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJv
dG90eXBlLmdldCgpKSk7CisgICAgbV9yZWdFeHBDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIFJl
Z0V4cENvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4
cFByb3RvdHlwZS5nZXQoKSkpOwogICAgIAogI2RlZmluZSBDUkVBVEVfQ09OU1RSVUNUT1JfRk9S
X1NJTVBMRV9UWVBFKGNhcGl0YWxOYW1lLCBsb3dlck5hbWUsIHByb3Blck5hbWUsIGluc3RhbmNl
VHlwZSwganNOYW1lKSBcCi1jYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3RvciogbG93ZXJOYW1lICMj
IENvbnN0cnVjdG9yID0gY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgY2Fw
aXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkp
OyBcCitjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9y
ID0gY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgY2FwaXRhbE5h
bWUgIyMgQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCiBt
XyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3Rv
ciwgRG9udEVudW0pOyBcCiAKICAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKENSRUFU
RV9DT05TVFJVQ1RPUl9GT1JfU0lNUExFX1RZUEUpCkBAIC0zOTMsMTcgKzQwNCwxNyBAQCBtXyAj
IyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+YwogICAgIG1fc3ludGF4RXJyb3JDb25zdHJ1Y3Rvci5zZXQodm0s
IHRoaXMsIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgdGhpcywgbmF0aXZlRXJy
b3JTdHJ1Y3R1cmUsIG5hdGl2ZUVycm9yUHJvdG90eXBlU3RydWN0dXJlLCBBU0NJSUxpdGVyYWwo
IlN5bnRheEVycm9yIikpKTsKICAgICBtX3R5cGVFcnJvckNvbnN0cnVjdG9yLnNldCh2bSwgdGhp
cywgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBuYXRpdmVFcnJvclN0
cnVjdHVyZSwgbmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1Y3R1cmUsIEFTQ0lJTGl0ZXJhbCgiVHlw
ZUVycm9yIikpKTsKICAgICBtX1VSSUVycm9yQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBOYXRp
dmVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIHRoaXMsIG5hdGl2ZUVycm9yU3RydWN0dXJl
LCBuYXRpdmVFcnJvclByb3RvdHlwZVN0cnVjdHVyZSwgQVNDSUlMaXRlcmFsKCJVUklFcnJvciIp
KSk7Ci0gICAgbV9wcm9taXNlQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBKU1Byb21pc2VDb25z
dHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9wcm9taXNlUHJvdG90eXBl
LmdldCgpKSk7CisgICAgbV9wcm9taXNlQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBKU1Byb21p
c2VDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCB0aGlzLCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9wcm9t
aXNlUHJvdG90eXBlLmdldCgpKSk7CiAgICAgCiAgICAgbV9vYmplY3RQcm90b3R5cGUtPnB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rvciwg
b2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5w
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0
b3IsIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBtX2FycmF5UHJvdG90eXBl
LT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3Ry
dWN0b3IsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKKyAgICBtX2FycmF5UHJvdG90eXBl
LT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3Ry
dWN0b3IsIG1fYXJyYXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIG1fcmVnRXhw
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAg
ICBtX3Byb21pc2VQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgbV9wcm9taXNlQ29uc3RydWN0b3IuZ2V0KCksIERv
bnRFbnVtKTsKICAgICAKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+T2JqZWN0LCBvYmplY3RDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5GdW5jdGlvbiwg
ZnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5BcnJheSwgbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPlJlZ0V4cCwgbV9y
ZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5FdmFsRXJyb3IsIG1fZXZhbEVycm9yQ29u
c3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bih2bSwgdm0ucHJvcGVydHlOYW1lcy0+UmFuZ2VFcnJvciwgbV9yYW5nZUVycm9yQ29uc3RydWN0
b3IuZ2V0KCksIERvbnRFbnVtKTsKQEAgLTQ3Myw5ICs0ODQsMTAgQEAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFtZSAjIyBD
b25zdHJ1Y3QKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPm93
bkVudW1lcmFibGVQcm9wZXJ0eUtleXNQcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCB0aGlzLCAwLCBTdHJpbmcoKSwgb3duRW51bWVyYWJsZVByb3BlcnR5S2V5cyksIERvbnRFbnVt
IHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmdldFRlbXBsYXRlT2JqZWN0UHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5j
R2V0VGVtcGxhdGVPYmplY3QsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmVucXVldWVKb2JQcml2
YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgZW5xdWV1
ZUpvYiksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmlzQXJyYXlDb25zdHJ1Y3RvckluRGlmZmVy
ZW50UmVhbG1Qcml2YXRlTmFtZSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJp
bmcoKSwgaXNBcnJheUNvbnN0cnVjdG9ySW5EaWZmZXJlbnRSZWFsbSksIERvbnRFbnVtIHwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3Bl
cnR5TmFtZXMtPlR5cGVFcnJvclByaXZhdGVOYW1lLCBtX3R5cGVFcnJvckNvbnN0cnVjdG9yLmdl
dCgpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5CdWlsdGluTG9nUHJpdmF0ZU5hbWUsIGJ1aWx0
aW5Mb2csIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJpdmF0ZU5hbWUsIGFycmF5Q29u
c3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPkFycmF5UHJpdmF0ZU5hbWUsIG1fYXJy
YXlDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAog
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+TnVtYmVyUHJpdmF0
ZU5hbWUsIG51bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5TdHJpbmdQ
cml2YXRlTmFtZSwgc3RyaW5nQ29uc3RydWN0b3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFi
c1ByaXZhdGVOYW1lLCBwcml2YXRlRnVuY0FicywgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVh
ZE9ubHkpLApAQCAtNDgzLDEwICs0OTUsMTMgQEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3QKICAg
ICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdldFByb3RvdHlwZU9m
UHJpdmF0ZU5hbWUsIHByaXZhdGVGdW5jRmxvb3IsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmdl
dE93blByb3BlcnR5TmFtZXNQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNGbG9vciwgRG9udEVudW0g
fCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+aXNGaW5pdGVQcml2YXRlTmFtZSwgcHJpdmF0ZUZ1bmNJc0Zpbml0ZSwg
RG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8odm0ucHJvcGVydHlOYW1lcy0+aXNBcnJheVByaXZhdGVOYW1lLCBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBhcnJheUNvbnN0cnVjdG9ySXNBcnJheSksIERv
bnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVByaXZhdGVOYW1lLCBq
c051bWJlcihBcnJheUl0ZXJhdGVLZXkpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5hcnJheUl0
ZXJhdGlvbktpbmRWYWx1ZVByaXZhdGVOYW1lLCBqc051bWJlcihBcnJheUl0ZXJhdGVWYWx1ZSks
IERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmFycmF5SXRlcmF0aW9uS2luZEtleVZhbHVlUHJpdmF0
ZU5hbWUsIGpzTnVtYmVyKEFycmF5SXRlcmF0ZUtleVZhbHVlKSwgRG9udEVudW0gfCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+YXJyYXlTcGxpY2VGYXN0UHJpdmF0ZU5hbWUsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwg
dGhpcywgMSwgU3RyaW5nKCksIGFycmF5UHJvdG9GdW5jU3BsaWNlKSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3ltYm9sSXRlcmF0b3JQcml2YXRlTmFtZSgpLCBTeW1i
b2w6OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KCp2bS5wcm9wZXJ0eU5hbWVz
LT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkuc3ltYm9sU3BlY2llc1ByaXZhdGVOYW1lKCksIFN5bWJvbDo6Y3JlYXRlKHZtLCBz
dGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oKnZtLnByb3BlcnR5TmFtZXMtPnNwZWNpZXNTeW1ib2wu
aW1wbCgpKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPlByb21pc2VQcml2YXRlTmFtZSwgbV9w
cm9taXNlQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPnByb21pc2VQ
ZW5kaW5nUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21p
c2U6OlN0YXR1czo6UGVuZGluZykpLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSks
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5wcm9taXNlRnVs
ZmlsbGVkUHJpdmF0ZU5hbWUsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21p
c2U6OlN0YXR1czo6RnVsZmlsbGVkKSksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKQEAgLTQ5NCw2ICs1MDksOSBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+IGpzTmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdAogICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudG9MZW5n
dGhQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1RvTGVuZ3RoLCBEb250RW51bSB8IERvbnREZWxl
dGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5h
bWVzLT5idWlsdGluTmFtZXMoKS50b0ludGVnZXJQcml2YXRlTmFtZSgpLCBwcml2YXRlRnVuY1Rv
SW50ZWdlciwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNPYmplY3RQ
cml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2Jh
bE9iamVjdElzT2JqZWN0Q29kZUdlbmVyYXRvcih2bSksIHRoaXMpLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0
eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zcGVjaWVzQ29uc3RydWN0b3JQcml2YXRlTmFtZSgpLCBK
U0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdFNwZWNpZXND
b25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1l
cy0+YnVpbHRpbk5hbWVzKCkuYXJyYXlTcGVjaWVzQ3JlYXRlUHJpdmF0ZU5hbWUoKSwgSlNGdW5j
dGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zQXJyYXlBcnJheVNwZWNp
ZXNDcmVhdGVDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMt
PmJ1aWx0aW5OYW1lcygpLmFycmF5U3BlY2llc0NvbnN0cnVjdG9yUHJpdmF0ZU5hbWUoKSwgSlNG
dW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zQXJyYXlBcnJheVNw
ZWNpZXNDb25zdHJ1Y3RvckNvZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuaXNQcm9taXNlUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlv
bjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZUlzUHJvbWlzZUNv
ZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkubmV3UHJvbWlzZVJlYWN0aW9uUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRl
QnVpbHRpbkZ1bmN0aW9uKHZtLCBvcGVyYXRpb25zUHJvbWlzZU5ld1Byb21pc2VSZWFjdGlvbkNv
ZGVHZW5lcmF0b3Iodm0pLCB0aGlzKSwgRG9udEVudW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5h
bWVzKCkubmV3UHJvbWlzZUNhcGFiaWxpdHlQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVh
dGVCdWlsdGluRnVuY3Rpb24odm0sIG9wZXJhdGlvbnNQcm9taXNlTmV3UHJvbWlzZUNhcGFiaWxp
dHlDb2RlR2VuZXJhdG9yKHZtKSwgdGhpcyksIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKQEAgLTUwOSw3ICs1MjcsNyBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+IGpzTmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdAogICAgIG1f
c3BlY2lhbFBvaW50ZXJzW1NwZWNpYWw6OkNhbGxGdW5jdGlvbl0gPSBtX2NhbGxGdW5jdGlvbi5n
ZXQoKTsKICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpBcHBseUZ1bmN0aW9uXSA9IG1f
YXBwbHlGdW5jdGlvbi5nZXQoKTsKICAgICBtX3NwZWNpYWxQb2ludGVyc1tTcGVjaWFsOjpPYmpl
Y3RDb25zdHJ1Y3Rvcl0gPSBvYmplY3RDb25zdHJ1Y3RvcjsKLSAgICBtX3NwZWNpYWxQb2ludGVy
c1tTcGVjaWFsOjpBcnJheUNvbnN0cnVjdG9yXSA9IGFycmF5Q29uc3RydWN0b3I7CisgICAgbV9z
cGVjaWFsUG9pbnRlcnNbU3BlY2lhbDo6QXJyYXlDb25zdHJ1Y3Rvcl0gPSBtX2FycmF5Q29uc3Ry
dWN0b3IuZ2V0KCk7CiAKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2ln
bmVkPihMaW5rVGltZUNvbnN0YW50OjpEZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKV0gPSBtX2RlZmlu
ZVByb3BlcnR5RnVuY3Rpb24uZ2V0KCk7CiAKQEAgLTczNiw2ICs3NTQsNyBAQCB2b2lkIEpTR2xv
YmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZ2xvYmFsVGhpcyk7CiAKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9nbG9iYWxDYWxsZWUpOworICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5Q29uc3RydWN0b3IpOwogICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cENvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9lcnJvckNvbnN0cnVjdG9yKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9ldmFsRXJyb3JDb25zdHJ1Y3Rvcik7CkBAIC03NTYsNiArNzc1LDcg
QEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FwcGx5
RnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2RlZmluZVByb3Bl
cnR5RnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5UHJv
dG9WYWx1ZXNGdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJy
YXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX2luaXRpYWxpemVQcm9taXNlRnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV90aHJvd1R5cGVFcnJvckdldHRlclNldHRlcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA2ZTY5NWQ0MWI5
MDFlMDk1MGE1YTM1ODUzMWZkZTU2NWUyYzgxNmIxLi5hZWI3OGUzMDk2ZTgyMzY4Mjc0ZDAxODY4
NDIwNDc5Nzg1YWQxNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKQEAgLTU1LDYgKzU1LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3RJbnNw
ZWN0b3JDb250cm9sbGVyOwogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgQXJyYXlDb25zdHJ1
Y3RvcjsKIGNsYXNzIEFycmF5UHJvdG90eXBlOwogY2xhc3MgQm9vbGVhblByb3RvdHlwZTsKIGNs
YXNzIENvbnNvbGVDbGllbnQ7CkBAIC0xNzUsNiArMTc2LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmpl
Y3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVy
PEpTT2JqZWN0PiBtX2dsb2JhbFRoaXM7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1f
Z2xvYmFsQ2FsbGVlOworICAgIFdyaXRlQmFycmllcjxBcnJheUNvbnN0cnVjdG9yPiBtX2FycmF5
Q29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPFJlZ0V4cENvbnN0cnVjdG9yPiBtX3JlZ0V4
cENvbnN0cnVjdG9yOwogICAgIFdyaXRlQmFycmllcjxFcnJvckNvbnN0cnVjdG9yPiBtX2Vycm9y
Q29uc3RydWN0b3I7CiAgICAgV3JpdGVCYXJyaWVyPE5hdGl2ZUVycm9yQ29uc3RydWN0b3I+IG1f
ZXZhbEVycm9yQ29uc3RydWN0b3I7CkBAIC0xOTYsNiArMTk4LDcgQEAgY2xhc3MgSlNHbG9iYWxP
YmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJy
aWVyPEpTRnVuY3Rpb24+IG1fYXBwbHlGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNGdW5j
dGlvbj4gbV9kZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0
aW9uPiBtX2FycmF5UHJvdG9WYWx1ZXNGdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8SlNGdW5j
dGlvbj4gbV9hcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNG
dW5jdGlvbj4gbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxK
U0Z1bmN0aW9uPiBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmll
cjxHZXR0ZXJTZXR0ZXI+IG1fdGhyb3dUeXBlRXJyb3JHZXR0ZXJTZXR0ZXI7CkBAIC0zNzQsNiAr
Mzc3LDcgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdCB7CiAgICAgLy8gVGhlIGZvbGxvd2luZyBhY2Nlc3NvcnMgcmV0dXJuIHByaXN0aW5l
IHZhbHVlcywgZXZlbiBpZiBhIHNjcmlwdCAKICAgICAvLyByZXBsYWNlcyB0aGUgZ2xvYmFsIG9i
amVjdCdzIGFzc29jaWF0ZWQgcHJvcGVydHkuCiAKKyAgICBBcnJheUNvbnN0cnVjdG9yKiBhcnJh
eUNvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheUNvbnN0cnVjdG9yLmdldCgpOyB9
CiAgICAgUmVnRXhwQ29uc3RydWN0b3IqIHJlZ0V4cENvbnN0cnVjdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKTsgfQogCiAgICAgRXJyb3JDb25zdHJ1Y3Rvciog
ZXJyb3JDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQo
KTsgfQpAQCAtMzk2LDYgKzQwMCw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIEpTRnVuY3Rpb24qIGFwcGx5RnVuY3Rpb24o
KSBjb25zdCB7IHJldHVybiBtX2FwcGx5RnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9u
KiBkZWZpbmVQcm9wZXJ0eUZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kZWZpbmVQcm9wZXJ0
eUZ1bmN0aW9uLmdldCgpOyB9CiAgICAgSlNGdW5jdGlvbiogYXJyYXlQcm90b1ZhbHVlc0Z1bmN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheVByb3RvVmFsdWVzRnVuY3Rpb24uZ2V0KCk7IH0K
KyAgICBKU0Z1bmN0aW9uKiBhcnJheVNwZWNpZXNHZXR0ZXJGdW5jdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fYXJyYXlTcGVjaWVzR2V0dGVyRnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9u
KiBpbml0aWFsaXplUHJvbWlzZUZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXpl
UHJvbWlzZUZ1bmN0aW9uLmdldCgpOyB9CiAgICAgSlNGdW5jdGlvbiogbmV3UHJvbWlzZURlZmVy
cmVkRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX25ld1Byb21pc2VEZWZlcnJlZEZ1bmN0aW9u
LmdldCgpOyB9CiAgICAgR2V0dGVyU2V0dGVyKiB0aHJvd1R5cGVFcnJvckdldHRlclNldHRlcihW
TSYgdm0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXgg
OWQ0OTg0OWVkMzBhZTgyMGQ5ODRiMTNjOWNhNTg5MWJlOTBiMGQxMS4uNTE2YWM5NjhlNGJhZjZm
ZTI3ODRiNzY2YmEyNTYzMGYwMDMzOGU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcApAQCAtMTc1MCw3ICsxNzUwLDcgQEAgYm9vbCBKU09iamVjdDo6ZGVm
aW5lT3duSW5kZXhlZFByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIGNv
bnN0IFAKICAgICAgICAgLy8gc3RhdGUgKGkuZS4gZGVmaW5lT3duUHJvcGVydHkgY291bGQgYmUg
dXNlZCB0byBzZXQgYSB2YWx1ZSB3aXRob3V0IG5lZWRpbmcgdG8gZW50ZXJpbmcgJ1NwYXJzZU1v
ZGUnKS4KICAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmF0dHJpYnV0ZXMoKSkgewogICAgICAgICAg
ICAgQVNTRVJUKCFkZXNjcmlwdG9yLmlzQWNjZXNzb3JEZXNjcmlwdG9yKCkpOwotICAgICAgICAg
ICAgcmV0dXJuIHB1dERpcmVjdEluZGV4KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZhbHVlKCks
IDAsIHRocm93RXhjZXB0aW9uID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVj
dEluZGV4U2hvdWxkTm90VGhyb3cpOworICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4
KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZhbHVlKCksIDAsIHRocm93RXhjZXB0aW9uID8gUHV0
RGlyZWN0SW5kZXhDcmVhdGVEYXRhUHJvcGVydHlPclRocm93IDogUHV0RGlyZWN0SW5kZXhTaG91
bGROb3RUaHJvdyk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGVuc3VyZUFycmF5U3Rv
cmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShleGVjLT52bSgpKTsKQEAg
LTIxNDYsOSArMjE0Niw5IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVj
dG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZShFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgIGlmICht
b2RlICE9IFB1dERpcmVjdEluZGV4TGlrZVB1dERpcmVjdCkgewogICAgICAgICAgICAgLy8gUHJv
aGliaXQgZ3Jvd2luZyB0aGUgYXJyYXkgaWYgbGVuZ3RoIGlzIG5vdCB3cml0YWJsZS4KICAgICAg
ICAgICAgIGlmIChtYXAtPmxlbmd0aElzUmVhZE9ubHkoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgU3RyaWN0
TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
cmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09
IFB1dERpcmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdywgU3RyaWN0TW9kZVJlYWRv
bmx5UHJvcGVydHlXcml0ZUVycm9yKTsKICAgICAgICAgICAgIGlmICghaXNFeHRlbnNpYmxlKCkp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdElu
ZGV4U2hvdWxkVGhyb3csICJBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3Qg
dGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0
KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyB8fCBtb2RlID09IFB1dERp
cmVjdEluZGV4Q3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdywgIkF0dGVtcHRpbmcgdG8gZGVmaW5l
IHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLiIpOwogICAgICAgICB9
CiAgICAgICAgIGxlbmd0aCA9IGkgKyAxOwogICAgICAgICBzdG9yYWdlLT5zZXRMZW5ndGgobGVu
Z3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlz
ZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlz
ZUNvbnN0cnVjdG9yLmNwcAppbmRleCA0NGUxZTczY2FiYTU1YjBiZjU0MDkyZWM1ODRmZTY1N2U1
NDYxYWU1Li44NzEyMTdhODMzNmU4NDUyNTE4NzY5NTY4YjhlZWI0ZDQ1N2VlMjIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlQ29uc3RydWN0
b3IuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUg
IkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkl0ZXJh
dG9yT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkpTQ0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiSlND
SlNWYWx1ZUlubGluZXMuaCIKQEAgLTU5LDEwICs2MCwxMCBAQCBjb25zdCBDbGFzc0luZm8gSlNQ
cm9taXNlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rp
b246OgogQGVuZAogKi8KIAotSlNQcm9taXNlQ29uc3RydWN0b3IqIEpTUHJvbWlzZUNvbnN0cnVj
dG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9taXNlUHJvdG90
eXBlKiBwcm9taXNlUHJvdG90eXBlKQorSlNQcm9taXNlQ29uc3RydWN0b3IqIEpTUHJvbWlzZUNv
bnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNQcm9taXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBl
KQogewogICAgIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjb25zdHJ1Y3RvciA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEpTUHJvbWlzZUNvbnN0cnVjdG9yPih2bS5oZWFwKSkgSlNQcm9taXNl
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAgY29uc3RydWN0b3ItPmZpbmlzaENyZWF0
aW9uKHZtLCBwcm9taXNlUHJvdG90eXBlKTsKKyAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRp
b24odm0sIGdsb2JhbE9iamVjdCwgcHJvbWlzZVByb3RvdHlwZSk7CiAgICAgcmV0dXJuIGNvbnN0
cnVjdG9yOwogfQogCkBAIC03NiwxMSArNzcsMTQgQEAgSlNQcm9taXNlQ29uc3RydWN0b3I6OkpT
UHJvbWlzZUNvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiB9CiAK
LXZvaWQgSlNQcm9taXNlQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNQcm9t
aXNlUHJvdG90eXBlKiBwcm9taXNlUHJvdG90eXBlKQordm9pZCBKU1Byb21pc2VDb25zdHJ1Y3Rv
cjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U1Byb21pc2VQcm90b3R5cGUqIHByb21pc2VQcm90b3R5cGUpCiB7CiAgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiUHJvbWlzZSIpKTsKICAgICBwdXREaXJlY3RXaXRo
b3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBwcm9taXNlUHJv
dG90eXBlLCBEb250RW51bSB8IERvbnREZWxldGUgfCBSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIo
MSksIFJlYWRPbmx5IHwgRG9udEVudW0gfCBEb250RGVsZXRlKTsKKyAgICBHZXR0ZXJTZXR0ZXIq
IHNwZWNpZXNBY2Nlc3NvciA9IEdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qp
OworICAgIHNwZWNpZXNBY2Nlc3Nvci0+c2V0R2V0dGVyKHZtLCBnbG9iYWxPYmplY3QsIEpTRnVu
Y3Rpb246OmNyZWF0ZUJ1aWx0aW5GdW5jdGlvbih2bSwgcHJvbWlzZUNvbnN0cnVjdG9yU3ltYm9s
U3BlY2llc0NvZGVHZW5lcmF0b3Iodm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5bWJvbC5zcGVj
aWVzXSIpKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwgRG9udEVudW0p
OwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RQcm9t
aXNlKEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTUHJvbWlzZUNvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb21pc2VDb25zdHJ1Y3Rvci5oCmluZGV4IDU4ODFlMTYzMGNlODUxNGQxMGRiYjA2
ZDdmMDQ0YzMxZmUxZWY3MjEuLjM2YWFhZmY1YTU3MzY2OTMxYmY0NzczNzIwYmZhNTg2NGNiNzYw
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZUNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNl
Q29uc3RydWN0b3IuaApAQCAtMzgsMTMgKzM4LDEzIEBAIGNsYXNzIEpTUHJvbWlzZUNvbnN0cnVj
dG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5j
dGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJh
c2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogCi0gICAg
c3RhdGljIEpTUHJvbWlzZUNvbnN0cnVjdG9yKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqLCBKU1By
b21pc2VQcm90b3R5cGUqKTsKKyAgICBzdGF0aWMgSlNQcm9taXNlQ29uc3RydWN0b3IqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNQcm9taXNlUHJvdG90eXBlKik7
CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1ZhbHVlKTsKIAogICAgIERFQ0xBUkVfSU5GTzsKIAogcHJvdGVjdGVkOgotICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU1Byb21pc2VQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1Byb21pc2VQcm90b3R5cGUqKTsK
IAogcHJpdmF0ZToKICAgICBKU1Byb21pc2VDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29uc3RydWN0b3IuY3BwCmlu
ZGV4IGZhZDUyYzA1NjA0OGUxOGI3ZWVjNDk4ZmYxNDk1M2ZkOTBmY2ZlZGQuLjAwZmU5OGU3YWMy
ZDljOTIyMzQ1ZTdhMTU5ZGViZmQ1NTk3MmZkYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5jcHAKQEAgLTI3LDcgKzI3LDkgQEAKICNpbmNs
dWRlICJNYXBDb25zdHJ1Y3Rvci5oIgogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJH
ZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJdGVyYXRvck9wZXJhdGlvbnMuaCIKKyNpbmNsdWRl
ICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSlNDZWxsSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCkBAIC0zOSwx
MSArNDEsMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5mbyBNYXBDb25zdHJ1
Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKE1hcENvbnN0cnVjdG9yKSB9OwogCi12b2lkIE1hcENvbnN0cnVjdG9yOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQordm9pZCBNYXBD
b25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBNYXBQcm90b3R5cGUqIG1hcFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSwgbWFwUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCBtYXBQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAgICBw
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBq
c051bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOworICAgIEdldHRl
clNldHRlciogc3BlY2llc0FjY2Vzc29yID0gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCk7CisgICAgc3BlY2llc0FjY2Vzc29yLT5zZXRHZXR0ZXIodm0sIGdsb2JhbE9iamVj
dCwgSlNGdW5jdGlvbjo6Y3JlYXRlQnVpbHRpbkZ1bmN0aW9uKHZtLCBtYXBDb25zdHJ1Y3RvclN5
bWJvbFNwZWNpZXNDb2RlR2VuZXJhdG9yKHZtKSwgZ2xvYmFsT2JqZWN0LCAiZ2V0IFtTeW1ib2wu
c3BlY2llc10iKSk7CisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+c3BlY2llc1N5bWJvbCwgc3BlY2llc0FjY2Vzc29yLCBBY2Nlc3NvciB8IERvbnRF
bnVtKTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY2FsbE1hcChF
eGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFwQ29u
c3RydWN0b3IuaAppbmRleCAxYTg1ZGU1YjE1YjAwN2QxZTlkZmM4YjljYjY1NjExMDhjNzYzNzgw
Li5iNjU5NWY4ODQ0Yzk2NGJlOGU2NjM4ZmZkNDRhMTFmZDUzYWE5Y2QxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcENvbnN0cnVjdG9yLmgKQEAgLTM2LDEwICszNiwx
MCBAQCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKIAotICAgIHN0YXRpYyBN
YXBDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE1hcFBy
b3RvdHlwZSogbWFwUHJvdG90eXBlKQorICAgIHN0YXRpYyBNYXBDb25zdHJ1Y3RvciogY3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIE1hcFByb3RvdHlwZSogbWFwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgTWFwQ29uc3Ry
dWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8TWFwQ29uc3Ry
dWN0b3I+KHZtLmhlYXApKSBNYXBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKLSAgICAgICAg
Y29uc3RydWN0b3ItPmZpbmlzaENyZWF0aW9uKHZtLCBtYXBQcm90b3R5cGUpOworICAgICAgICBj
b25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWFwUHJvdG90eXBl
KTsKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yOwogICAgIH0KIApAQCAtNTUsNyArNTUsNyBA
QCBjbGFzcyBNYXBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAg
ICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAgewogICAgIH0KLSAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKFZNJiwgTWFwUHJvdG90eXBlKik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgTWFwUHJvdG90eXBlKik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgc3RhdGlj
IENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmgKaW5kZXggZjhi
MWY3ZjQ0MzcwM2FiNDE5OGRkNDMyMWUyMDlkZmU2Njg4MmEzYy4uYThiMTczNWE2MDg2YjIzMTk5
YjRhNjdiZjI2MjA1MjIzM2UzNmIwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIE51bWJl
ckNvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHR5cGVkZWYgSW50
ZXJuYWxGdW5jdGlvbiBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlOwogCi0gICAgc3RhdGljIE51bWJlckNvbnN0cnVjdG9y
KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgTnVtYmVyUHJvdG90eXBlKiBu
dW1iZXJQcm90b3R5cGUpCisgICAgc3RhdGljIE51bWJlckNvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBOdW1iZXJQcm90b3R5
cGUqIG51bWJlclByb3RvdHlwZSkKICAgICB7CiAgICAgICAgIE51bWJlckNvbnN0cnVjdG9yKiBj
b25zdHJ1Y3RvciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPE51bWJlckNvbnN0cnVjdG9y
Pih2bS5oZWFwKSkgTnVtYmVyQ29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNv
bnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgbnVtYmVyUHJvdG90eXBlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1B1dERpcmVjdEluZGV4TW9kZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKaW5kZXgg
M2ViM2Y1ODE4ZGZiOWI4YzJkYTFhZjQ1ZTE3Y2FiNTVlOGVlNTUxZi4uMjYwZmNlODVmMGQwMDE2
MGI3YjFhYWQ5Zjg1YTE3MDVlNWNlOTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHV0RGlyZWN0SW5kZXhNb2RlLmgKQEAgLTI4LDcgKzI4LDE1IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi1lbnVtIFB1dERpcmVjdEluZGV4TW9kZSB7IFB1dERpcmVjdEluZGV4
TGlrZVB1dERpcmVjdCwgUHV0RGlyZWN0SW5kZXhTaG91bGROb3RUaHJvdywgUHV0RGlyZWN0SW5k
ZXhTaG91bGRUaHJvdyB9OworZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeworICAgIFB1dERpcmVj
dEluZGV4TGlrZVB1dERpcmVjdCwKKyAgICBQdXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93LAor
ICAgIFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3csCisKKyAgICAvLyBGb2xsb3cgdGhlIEVDTUEy
NjIgNnRoIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cgc2VtYW50aWNzLgorICAgIC8vIGh0dHA6
Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLWNyZWF0ZWRhdGFwcm9w
ZXJ0eW9ydGhyb3cKKyAgICBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cs
Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCmluZGV4IGVlMWQ4YjNmYzY5Zjk0M2I5
NGE1MjU5Y2Y3YzE4NmNhYzYzNzNmNzQuLjFlMzdjNmE4YjUwNjZhNzRmNDEyNTM3NTExYTg1MzY3
OWE3NDY0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgUmVnRXhwQ29uc3RydWN0b3I6OlJl
Z0V4cENvbnN0cnVjdG9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3Rv
dHkKIHsKIH0KIAotdm9pZCBSZWdFeHBDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBSZWdFeHBQcm90b3R5cGUqIHJlZ0V4cFByb3RvdHlwZSkKK3ZvaWQgUmVnRXhwQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBSZWdFeHBQcm90b3R5
cGUqIHJlZ0V4cFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgcmVn
RXhwUHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAgICBBU1NFUlQoaW5oZXJp
dHMoaW5mbygpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaAppbmRleCBjYWJlZTE5YzkzZDliMjQ2YzgwODg1MWYyYWZmNGUyYWQxMDQ2
YTFhLi42NDI0MGVkYzU0MGE5OWM2NTQ3NWU2YmIxYzBmZDA2NTAyOWQ1OGJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTM1
LDEwICszNSwxMCBAQCBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvciA6IHB1YmxpYyBJbnRlcm5hbEZ1
bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24gQmFzZTsKICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92
ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3Rv
ciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZ0V4cFByb3RvdHlwZSog
cmVnRXhwUHJvdG90eXBlKQorICAgIHN0YXRpYyBSZWdFeHBDb25zdHJ1Y3RvciogY3JlYXRlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFJlZ0V4cFByb3RvdHlwZSogcmVnRXhwUHJvdG90eXBlKQogICAgIHsKICAgICAgICAgUmVnRXhw
Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8UmVn
RXhwQ29uc3RydWN0b3I+KHZtLmhlYXApKSBSZWdFeHBDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJl
LCByZWdFeHBQcm90b3R5cGUpOwotICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24o
dm0sIHJlZ0V4cFByb3RvdHlwZSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlv
bih2bSwgZ2xvYmFsT2JqZWN0LCByZWdFeHBQcm90b3R5cGUpOwogICAgICAgICByZXR1cm4gY29u
c3RydWN0b3I7CiAgICAgfQogCkBAIC02OCw3ICs2OCw3IEBAIGNsYXNzIFJlZ0V4cENvbnN0cnVj
dG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBSZWdFeHBQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBSZWdFeHBQcm90b3R5cGUqKTsKIAogcHJpdmF0ZToK
ICAgICBSZWdFeHBDb25zdHJ1Y3RvcihWTSYsIFN0cnVjdHVyZSosIFJlZ0V4cFByb3RvdHlwZSop
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuY3Bw
CmluZGV4IGZiOTdiNmQ5ZmEwZDBlZTYzYTFkNTJhOTg4N2VjNzc2OThmNzUzZGYuLmQxYjAzNTE0
MGIxYWRjNzlkNjE5MDM2YmFiNTc5ZDNiM2UxNjhhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TZXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTI3LDcgKzI3LDkgQEAKICNp
bmNsdWRlICJTZXRDb25zdHJ1Y3Rvci5oIgogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRl
ICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJdGVyYXRvck9wZXJhdGlvbnMuaCIKKyNpbmNs
dWRlICJKU0NCdWlsdGlucy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNDZWxsSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCkBAIC00
MCwxMSArNDIsMTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5mbyBTZXRDb25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKFNldENvbnN0cnVjdG9yKSB9OwogCi12b2lkIFNldENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIFNldFByb3RvdHlwZSogc2V0UHJvdG90eXBlKQordm9pZCBT
ZXRDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTZXRQcm90b3R5cGUqIHNldFByb3RvdHlwZSkKIHsKICAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSwgc2V0UHJvdG90eXBlLT5jbGFzc0luZm8oKS0+Y2xhc3NOYW1lKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlLCBzZXRQcm90b3R5cGUsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUmVhZE9ubHkgfCBEb250RW51bSB8IERvbnREZWxldGUpOworCisgICAg
R2V0dGVyU2V0dGVyKiBzcGVjaWVzQWNjZXNzb3IgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwg
Z2xvYmFsT2JqZWN0KTsKKyAgICBzcGVjaWVzQWNjZXNzb3ItPnNldEdldHRlcih2bSwgZ2xvYmFs
T2JqZWN0LCBKU0Z1bmN0aW9uOjpjcmVhdGVCdWlsdGluRnVuY3Rpb24odm0sIHNldENvbnN0cnVj
dG9yU3ltYm9sU3BlY2llc0NvZGVHZW5lcmF0b3Iodm0pLCBnbG9iYWxPYmplY3QsICJnZXQgW1N5
bWJvbC5zcGVjaWVzXSIpKTsKKyAgICBwdXREaXJlY3ROb25JbmRleEFjY2Vzc29yKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5zcGVjaWVzU3ltYm9sLCBzcGVjaWVzQWNjZXNzb3IsIEFjY2Vzc29yIHwg
RG9udEVudW0pOwogfQogCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxs
U2V0KEV4ZWNTdGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NldENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
ZXRDb25zdHJ1Y3Rvci5oCmluZGV4IGVmYmQ4OGJiMzIyZmRkYWFiOWI3NTY0MzkwM2E5N2RlNzg1
ZTU4MDAuLmI2ODQxZjczNTBmY2QzMjNjN2YzMzE5MmRiYjlkMTkxMDBiNjkyZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NldENvbnN0cnVjdG9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2V0Q29uc3RydWN0b3IuaApAQCAtMzYsMTAg
KzM2LDEwIEBAIGNsYXNzIFNldENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24g
ewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBCYXNlOwogCi0gICAgc3Rh
dGljIFNldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCisgICAgc3RhdGljIFNldENvbnN0cnVjdG9yKiBj
cmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgU2V0UHJvdG90eXBlKiBzZXRQcm90b3R5cGUpCiAgICAgewogICAgICAgICBTZXRD
b25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTZXRD
b25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFNldENvbnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwotICAg
ICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHNldFByb3RvdHlwZSk7CisgICAg
ICAgIGNvbnN0cnVjdG9yLT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBzZXRQcm90
b3R5cGUpOwogICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7CiAgICAgfQogCkBAIC01NSw3ICs1
NSw3IEBAIGNsYXNzIFNldENvbnN0cnVjdG9yIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewog
ICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKICAgICB7CiAgICAgfQotICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBTZXRQcm90b3R5cGUqKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTZXRQcm90b3R5cGUqKTsKICAgICBzdGF0aWMgQ29uc3Ry
dWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICBz
dGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFw
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAu
Y3BwCmluZGV4IDYyZDM0YmFhZmRkYjQwZWVhMGY2MTVmMDYyMDdhMjlhYjlmZjk5ODMuLmNiNTM3
MGIxYWViMjZmOWY2ZjE4MjYxNmQyMWRhOTA2NjRmNzgyMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCkBAIC0xMTYs
NyArMTE2LDI1IEBAIGJvb2wgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6cHV0RGlyZWN0KEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIGFycmF5LCB1bnNpZ25lZCBpCiAgICAgLy8gZXh0ZW5zaWJsZSwg
dGhpcyBpcyBub3QgdGhlIHJpZ2h0IHRoaW5nIHRvIGhhdmUgZG9uZSAtIHNvIHJlbW92ZSBhZ2Fp
bi4KICAgICBpZiAobW9kZSAhPSBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QgJiYgcmVzdWx0
LmlzTmV3RW50cnkgJiYgIWFycmF5LT5pc0V4dGVuc2libGUoKSkgewogICAgICAgICByZW1vdmUo
cmVzdWx0Lml0ZXJhdG9yKTsKLSAgICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1
dERpcmVjdEluZGV4U2hvdWxkVGhyb3csICJBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBv
biBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKKyAgICAgICAgcmV0dXJuIHJlamVj
dChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgfHwgbW9kZSA9PSBQdXRE
aXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3csICJBdHRlbXB0aW5nIHRvIGRlZmlu
ZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4iKTsKKyAgICB9CisK
KyAgICBpZiAobW9kZSA9PSBQdXREaXJlY3RJbmRleENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3cg
JiYgIXJlc3VsdC5pc05ld0VudHJ5KSB7CisgICAgICAgIGlmIChlbnRyeS5hdHRyaWJ1dGVzICYg
RG9udERlbGV0ZSkgeworICAgICAgICAgICAgaWYgKCEoYXR0cmlidXRlcyAmIERvbnREZWxldGUp
KQorICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGlu
ZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9w
ZXJ0eS4iKTsKKworICAgICAgICAgICAgaWYgKChlbnRyeS5hdHRyaWJ1dGVzICYgRG9udEVudW0p
ICE9IChhdHRyaWJ1dGVzICYgRG9udEVudW0pKQorICAgICAgICAgICAgICAgIHJldHVybiB0aHJv
d1R5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgZW51bWVyYWJsZSBhdHRyaWJ1
dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAgICBpZiAoZW50cnku
YXR0cmlidXRlcyAmIEFjY2Vzc29yKQorICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1R5cGVF
cnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4g
dW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgICAgICAgICBpZiAoZW50cnkuYXR0cmli
dXRlcyAmIFJlYWRPbmx5KSB7CisgICAgICAgICAgICAgICAgaWYgKCEoYXR0cmlidXRlcyAmIFJl
YWRPbmx5KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKGV4ZWMs
ICJBdHRlbXB0aW5nIHRvIGNoYW5nZSB3cml0YWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFi
bGUgcHJvcGVydHkuIik7CisgICAgICAgICAgICAgICAgaWYgKCFzYW1lVmFsdWUoZXhlYywgZW50
cnkuZ2V0KGV4ZWMsIGFycmF5KSwgdmFsdWUpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g
dGhyb3dUeXBlRXJyb3IoZXhlYywgIkF0dGVtcHRpbmcgdG8gY2hhbmdlIHZhbHVlIG9mIGEgcmVh
ZG9ubHkgcHJvcGVydHkuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBlbnRyeS5hdHRyaWJ1dGVzID0gYXR0cmlidXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCmluZGV4IDM1NzUxMWE1NzY1NGUxNjgy
NWZkMjJiMGFlNjc3Mzg5ZDIwM2MyMDMuLmQyYTIxNTJkZmY2ZDg4YmJkZDZjNWZhZmZkMTIyYjAw
NzU5MjYzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
Q29uc3RydWN0b3IuaApAQCAtMzIsNyArMzIsNyBAQCBjbGFzcyBTdHJpbmdDb25zdHJ1Y3RvciA6
IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICB0eXBlZGVmIEludGVybmFsRnVuY3Rpb24g
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsKIAotICAgIHN0YXRp
YyBTdHJpbmdDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBlKQorICAgIHN0YXRpYyBTdHJpbmdDb25z
dHJ1Y3RvciogY3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgU3RyaW5nUHJvdG90eXBlKiBzdHJpbmdQcm90b3R5cGUpCiAgICAgewogICAgICAgICBT
dHJpbmdDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxTdHJpbmdDb25zdHJ1Y3Rvcj4odm0uaGVhcCkpIFN0cmluZ0NvbnN0cnVjdG9yKHZtLCBzdHJ1
Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3JlYXRpb24odm0sIHN0cmluZ1By
b3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1i
b2xDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sQ29u
c3RydWN0b3IuaAppbmRleCAzNDRhOTc4YWIwYWM3NGUxNTQ4M2IzZWUyZTU3OWZhZDAxZDdjZTM0
Li4zYjM5M2ZkMWEwYTc0ZjAzMDMzZGZkYTk0MjdkMWFlNGQ3MzVhYjBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbENvbnN0cnVjdG9yLmgKQEAgLTM5LDcg
KzM5LDcgQEAgY2xhc3MgU3ltYm9sQ29uc3RydWN0b3IgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlv
biB7CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
QmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAKLSAgICBzdGF0aWMgU3ltYm9sQ29uc3RydWN0b3IqIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTeW1ib2xQcm90b3R5cGUqIHByb3Rv
dHlwZSkKKyAgICBzdGF0aWMgU3ltYm9sQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN5bWJvbFByb3RvdHlwZSogcHJvdG90
eXBlKQogICAgIHsKICAgICAgICAgU3ltYm9sQ29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3ltYm9sQ29uc3RydWN0b3I+KHZtLmhlYXApKSBTeW1i
b2xDb25zdHJ1Y3Rvcih2bSwgc3RydWN0dXJlKTsKICAgICAgICAgY29uc3RydWN0b3ItPmZpbmlz
aENyZWF0aW9uKHZtLCBwcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha01hcENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrTWFwQ29uc3RydWN0b3IuaAppbmRleCA2NmVkYmNiMTZkODlhNWI2NjQ4MGFl
ZGEzMzYzM2I2ODUyZWU0ODk2Li42YzlhZDM5ZTUxZTU3YmM0NDllMjFlOGVkN2JmZTYwYTJhZWQ4
MWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrTWFwQ29u
c3RydWN0b3IuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBXZWFrTWFwQ29uc3RydWN0b3IgOiBw
dWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBJbnRlcm5hbEZ1
bmN0aW9uIEJhc2U7CiAKLSAgICBzdGF0aWMgV2Vha01hcENvbnN0cnVjdG9yKiBjcmVhdGUoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgV2Vha01hcFByb3RvdHlwZSogcHJvdG90eXBlKQor
ICAgIHN0YXRpYyBXZWFrTWFwQ29uc3RydWN0b3IqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtNYXBQcm90b3R5cGUqIHByb3RvdHlwZSkK
ICAgICB7CiAgICAgICAgIFdlYWtNYXBDb25zdHJ1Y3RvciogY29uc3RydWN0b3IgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxXZWFrTWFwQ29uc3RydWN0b3I+KHZtLmhlYXApKSBXZWFrTWFw
Q29uc3RydWN0b3Iodm0sIHN0cnVjdHVyZSk7CiAgICAgICAgIGNvbnN0cnVjdG9yLT5maW5pc2hD
cmVhdGlvbih2bSwgcHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtTZXRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmgKaW5kZXggN2Y2ZmI2YTVlNzY4ZWJmNDA4Y2E2Y2U3
NWFkNTJlNmVjNTgzOTk2NC4uMjg4OWM5YzA5MDlhOTU0MDZlMDc4Mjc4OGZjZGEzZDA5NDJmZGM1
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1NldENvbnN0
cnVjdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgV2Vha1NldENvbnN0cnVjdG9yIDogcHVi
bGljIEludGVybmFsRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5j
dGlvbiBCYXNlOwogCi0gICAgc3RhdGljIFdlYWtTZXRDb25zdHJ1Y3RvciogY3JlYXRlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYWtTZXRQcm90b3R5cGUqIHByb3RvdHlwZSkKKyAg
ICBzdGF0aWMgV2Vha1NldENvbnN0cnVjdG9yKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCosIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWFrU2V0UHJvdG90eXBlKiBwcm90b3R5cGUpCiAg
ICAgewogICAgICAgICBXZWFrU2V0Q29uc3RydWN0b3IqIGNvbnN0cnVjdG9yID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8V2Vha1NldENvbnN0cnVjdG9yPih2bS5oZWFwKSkgV2Vha1NldENv
bnN0cnVjdG9yKHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBjb25zdHJ1Y3Rvci0+ZmluaXNoQ3Jl
YXRpb24odm0sIHByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3N5bWJvbC1zcGVjaWVzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTI3MTQ1MjRhNjJiNjll
N2VmOTU4OTNmMGI4ZTA5ZmRiODZkNzg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zeW1ib2wtc3BlY2llcy5qcwpAQCAtMCwwICsxLDQyNCBA
QAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkKK3sKKyAgICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBh
Y3R1YWwpOworfQorCitmdW5jdGlvbiBzaG91bGRUaHJvdyhmdW5jLCBlcnJvck1lc3NhZ2UpCit7
CisgICAgdmFyIGVycm9yVGhyb3duID0gZmFsc2U7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAg
ICB0cnkgeworICAgICAgICBmdW5jKCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJv
clRocm93biA9IHRydWU7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJv
clRocm93bikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdub3QgdGhyb3duJyk7CisgICAgaWYg
KFN0cmluZyhlcnJvcikgIT09IGVycm9yTWVzc2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KGBiYWQgZXJyb3I6ICR7U3RyaW5nKGVycm9yKX1gKTsKK30KKworc2hvdWxkQmUodHlwZW9mIFN5
bWJvbC5zcGVjaWVzLCAnc3ltYm9sJyk7CisKKy8vIFByb21pc2UgaXMgdGVzdGVkIGluIERPTSBs
YXlvdXQgdGVzdHMuCitzaG91bGRCZShKU09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNpZXMpKSwgJ3siZW51bWVyYWJsZSI6ZmFsc2Us
ImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJlKEpTT04uc3RyaW5naWZ5KE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWFwLCBTeW1ib2wuc3BlY2llcykpLCAneyJlbnVtZXJh
YmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hvdWxkQmUoSlNPTi5zdHJpbmdp
ZnkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMp
KSwgJ3siZW51bWVyYWJsZSI6ZmFsc2UsImNvbmZpZ3VyYWJsZSI6dHJ1ZX0nKTsKK3Nob3VsZEJl
KHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNldCwgU3ltYm9sLnNwZWNp
ZXMpLmdldCwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5nZXQsICdmdW5jdGlvbicpOworc2hv
dWxkQmUodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXksIFN5bWJv
bC5zcGVjaWVzKS5nZXQsICdmdW5jdGlvbicpOworc2hvdWxkQmUodHlwZW9mIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoU2V0LCBTeW1ib2wuc3BlY2llcykuc2V0LCAndW5kZWZpbmVk
Jyk7CitzaG91bGRCZSh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAs
IFN5bWJvbC5zcGVjaWVzKS5zZXQsICd1bmRlZmluZWQnKTsKK3Nob3VsZEJlKHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCBTeW1ib2wuc3BlY2llcykuc2V0LCAn
dW5kZWZpbmVkJyk7CitzaG91bGRCZShTZXRbU3ltYm9sLnNwZWNpZXNdLCBTZXQpOworc2hvdWxk
QmUoTWFwW1N5bWJvbC5zcGVjaWVzXSwgTWFwKTsKK3Nob3VsZEJlKEFycmF5W1N5bWJvbC5zcGVj
aWVzXSwgQXJyYXkpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihT
ZXQsIFN5bWJvbC5zcGVjaWVzKS5nZXQuY2FsbChPYmplY3QpLCBPYmplY3QpOworc2hvdWxkQmUo
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXAsIFN5bWJvbC5zcGVjaWVzKS5nZXQu
Y2FsbChPYmplY3QpLCBPYmplY3QpOworc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihBcnJheSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCksIE9iamVjdCk7
CisKKy8vIEFycmF5LgorLy8gQ3VycmVudGx5LCBBcnJheSBpcyBub3Qgc3ViY2xhc3NhYmxlIGJ5
IHVzaW5nIGNsYXNzIHN5bnRheC4KK2Z1bmN0aW9uIEV4dGVuZGVkQXJyYXkobGVuZ3RoKQorewor
ICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkobGVuZ3RoKTsKKyAgICByZXN1bHQuX19wcm90b19f
ID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK0V4dGVu
ZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKK3Nob3VsZEJl
KEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKK0V4
dGVuZGVkQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVu
ZGVkQXJyYXk7CisKK3ZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KDIwKTsKK3Nob3Vs
ZEJlKGV4dGVuZGVkLmxlbmd0aCwgMjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShleHRlbmRl
ZCksIHRydWUpOworCisvLyBtYXAuCit2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5kZWRBcnJheSgw
KTsKK2V4dGVuZGVkLnB1c2goMjApOworZXh0ZW5kZWQucHVzaCgzMCk7CitleHRlbmRlZC5wdXNo
KDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CitzaG91bGRCZShleHRlbmRlZFsw
XSwgMjApOworc2hvdWxkQmUoZXh0ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJd
LCA0MCk7CitzaG91bGRCZSh0eXBlb2YgZXh0ZW5kZWQubWFwLCAnZnVuY3Rpb24nKTsKK3ZhciBy
ZXN1bHQgPSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZh
bHVlOyB9KTsKK3Nob3VsZEJlKHJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUp
Oworc2hvdWxkQmUocmVzdWx0Lmxlbmd0aCwgMyk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwMCk7
CitzaG91bGRCZShyZXN1bHRbMV0sIDkwMCk7CitzaG91bGRCZShyZXN1bHRbMl0sIDE2MDApOwor
c2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKworLy8gZmlsdGVyLgordmFy
IGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsKK2V4
dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitzaG91bGRCZShleHRlbmRlZC5s
ZW5ndGgsIDMpOworc2hvdWxkQmUoZXh0ZW5kZWRbMF0sIDIwKTsKK3Nob3VsZEJlKGV4dGVuZGVk
WzFdLCAzMCk7CitzaG91bGRCZShleHRlbmRlZFsyXSwgNDApOworc2hvdWxkQmUodHlwZW9mIGV4
dGVuZGVkLmZpbHRlciwgJ2Z1bmN0aW9uJyk7Cit2YXIgcmVzdWx0ID0gZXh0ZW5kZWQuZmlsdGVy
KGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgPT09IDQwOyB9KTsKK3Nob3VsZEJlKHJl
c3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxl
bmd0aCwgMSk7CitzaG91bGRCZShyZXN1bHRbMF0sIDQwKTsKK3Nob3VsZEJlKEFycmF5LmlzQXJy
YXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIGNvbmNhdC4KK3ZhciBleHRlbmRlZCA9IG5ldyBFeHRl
bmRlZEFycmF5KDApOworZXh0ZW5kZWQucHVzaCgyMCk7CitleHRlbmRlZC5wdXNoKDMwKTsKK2V4
dGVuZGVkLnB1c2goNDApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKK3Nob3VsZEJl
KGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOworc2hvdWxkQmUo
ZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKHR5cGVvZiBleHRlbmRlZC5jb25jYXQsICdmdW5j
dGlvbicpOwordmFyIHJlc3VsdCA9IGV4dGVuZGVkLmNvbmNhdChbNTAsIDYwLCA3MF0pOworc2hv
dWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRCZShy
ZXN1bHQubGVuZ3RoLCA2KTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgMjApOworc2hvdWxkQmUocmVz
dWx0WzFdLCAzMCk7CitzaG91bGRCZShyZXN1bHRbMl0sIDQwKTsKK3Nob3VsZEJlKHJlc3VsdFsz
XSwgNTApOworc2hvdWxkQmUocmVzdWx0WzRdLCA2MCk7CitzaG91bGRCZShyZXN1bHRbNV0sIDcw
KTsKK3Nob3VsZEJlKEFycmF5LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIHNsaWNlLgor
dmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIwKTsK
K2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitleHRlbmRlZC5wdXNoKDUw
KTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCA1KTsKK3No
b3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOworc2hv
dWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzNdLCA1MCk7CitzaG91
bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLnNsaWNlLCAn
ZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5zbGljZSgzKTsKK3Nob3VsZEJlKHJl
c3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkQXJyYXksIHRydWUpOworc2hvdWxkQmUocmVzdWx0Lmxl
bmd0aCwgMik7CitzaG91bGRCZShyZXN1bHRbMF0sIDUwKTsKK3Nob3VsZEJlKHJlc3VsdFsxXSwg
NjApOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKKworLy8gc3BsaWNl
LgordmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoMCk7CitleHRlbmRlZC5wdXNoKDIw
KTsKK2V4dGVuZGVkLnB1c2goMzApOworZXh0ZW5kZWQucHVzaCg0MCk7CitleHRlbmRlZC5wdXNo
KDUwKTsKK2V4dGVuZGVkLnB1c2goNjApOworc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCA1KTsK
K3Nob3VsZEJlKGV4dGVuZGVkWzBdLCAyMCk7CitzaG91bGRCZShleHRlbmRlZFsxXSwgMzApOwor
c2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDQwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzNdLCA1MCk7Citz
aG91bGRCZShleHRlbmRlZFs0XSwgNjApOworc2hvdWxkQmUodHlwZW9mIGV4dGVuZGVkLnNsaWNl
LCAnZnVuY3Rpb24nKTsKK3ZhciByZXN1bHQgPSBleHRlbmRlZC5zcGxpY2UoMywgMSwgNDIpOwor
c2hvdWxkQmUocmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRBcnJheSwgdHJ1ZSk7CitzaG91bGRC
ZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNTApOworc2hvdWxkQmUo
ZXh0ZW5kZWQgaW5zdGFuY2VvZiBFeHRlbmRlZEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKGV4dGVu
ZGVkLmxlbmd0aCwgNSk7CitzaG91bGRCZShleHRlbmRlZFswXSwgMjApOworc2hvdWxkQmUoZXh0
ZW5kZWRbMV0sIDMwKTsKK3Nob3VsZEJlKGV4dGVuZGVkWzJdLCA0MCk7CitzaG91bGRCZShleHRl
bmRlZFszXSwgNDIpOworc2hvdWxkQmUoZXh0ZW5kZWRbNF0sIDYwKTsKK3Nob3VsZEJlKEFycmF5
LmlzQXJyYXkocmVzdWx0KSwgdHJ1ZSk7CisKKy8vIEFycmF5U3BlY2llc0NyZWF0ZSBhYnN0cmFj
dCBvcGVyYXRpb24gZWRnZSBjYXNlcy4KK3ZhciByZXN1bHQgPSBbXS5tYXAuY2FsbCh7IDA6IDEw
LCBsZW5ndGg6IDEgfSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsg
fSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJl
c3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3Ro
LCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgMTAwKTsKKworZnVuY3Rpb24gVGVzdCgpCit7Cisg
ICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHJlc3VsdFswXSA9IDIwOworICAgIHJlc3VsdC5sZW5n
dGggPSAxOworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBUZXN0LnByb3RvdHlwZTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorc2hvdWxkQmUoQXJyYXkuaXNBcnJheShuZXcgVGVzdCgpKSwgdHJ1ZSk7
Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkg
eyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1
bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7
CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAxKTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsK
K1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXSA9IFRlc3Q7Cit2YXIg
cmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1
cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0
cnVlKTsKK3Nob3VsZEJlKHJlc3VsdC5fX3Byb3RvX18sIFRlc3QucHJvdG90eXBlKTsKK3Nob3Vs
ZEJlKHJlc3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5w
cm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gbnVsbDsKK3ZhciByZXN1bHQg
PSBbXS5tYXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1
ZSAqIHZhbHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOwor
c2hvdWxkQmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3Nob3VsZEJlKHJl
c3VsdC5sZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5wcm90b3R5
cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gbnVsbDsKK3ZhciByZXN1bHQgPSBbXS5t
YXAuY2FsbChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZh
bHVlOyB9KSk7CitzaG91bGRCZShBcnJheS5pc0FycmF5KHJlc3VsdCksIHRydWUpOworc2hvdWxk
QmUocmVzdWx0Ll9fcHJvdG9fXywgQXJyYXkucHJvdG90eXBlKTsKK3Nob3VsZEJlKHJlc3VsdC5s
ZW5ndGgsIDEpOworc2hvdWxkQmUocmVzdWx0WzBdLCA0MDApOworVGVzdC5wcm90b3R5cGUuY29u
c3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gIkhlbGxvIjsKK3Nob3VsZFRocm93KGZ1bmN0aW9u
ICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9u
ICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkpOworfSwgIlR5cGVFcnJvcjogZ2l2
ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBpcyBub3QgYSBmdW5jdGlvbiIpOworVGVzdC5wcm90
b3R5cGUuY29uc3RydWN0b3IgPSB1bmRlZmluZWQ7Cit2YXIgcmVzdWx0ID0gW10ubWFwLmNhbGwo
bmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2YWx1ZTsgfSkp
Oworc2hvdWxkQmUoQXJyYXkuaXNBcnJheShyZXN1bHQpLCB0cnVlKTsKK3Nob3VsZEJlKHJlc3Vs
dC5fX3Byb3RvX18sIEFycmF5LnByb3RvdHlwZSk7CitzaG91bGRCZShyZXN1bHQubGVuZ3RoLCAx
KTsKK3Nob3VsZEJlKHJlc3VsdFswXSwgNDAwKTsKK1Rlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9y
ID0gbnVsbDsKK3Nob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gW10u
bWFwLmNhbGwobmV3IFRlc3QoKSwgKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiB2
YWx1ZTsgfSkpOworfSwgIlR5cGVFcnJvcjogZ2l2ZW4gY29uc3RydWN0b3Igb3Igc3BlY2llcyBp
cyBub3QgYSBmdW5jdGlvbiIpOworVGVzdC5wcm90b3R5cGUuY29uc3RydWN0b3IgPSAiSGVsbG8i
Oworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeworICAgIHZhciByZXN1bHQgPSBbXS5tYXAuY2Fs
bChuZXcgVGVzdCgpLCAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIHZhbHVlOyB9
KSk7Cit9LCAiVHlwZUVycm9yOiBnaXZlbiBjb25zdHJ1Y3RvciBvciBzcGVjaWVzIGlzIG5vdCBh
IGZ1bmN0aW9uIik7CisKKyhmdW5jdGlvbiAoKSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJh
eSgpCisgICAgeworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICBy
ZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRBcnJheS5wcm90b3R5cGU7CisgICAgICAgIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIDAsIHsKKyAgICAgICAgICAgIGdldDogZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHNldDogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIk9VVCIpOworICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNl
LAorICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQorICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuX19wcm90
b19fID0gQXJyYXkucHJvdG90eXBlOworICAgIHNob3VsZEJlKEV4dGVuZGVkQXJyYXkucHJvdG90
eXBlLmNvbnN0cnVjdG9yLCBFeHRlbmRlZEFycmF5KTsKKyAgICBFeHRlbmRlZEFycmF5LnByb3Rv
dHlwZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZEFycmF5OworCisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgICAgIChmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAgICAgICB2YXIgZXh0ZW5kZWQgPSBu
ZXcgRXh0ZW5kZWRBcnJheSgpOworICAgICAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAg
ICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsKKyAgICAgICAgICAgIHNob3VsZEJlKGV4dGVuZGVk
Lmxlbmd0aCwgMyk7CisgICAgICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAg
ICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICAgICAgc2hvdWxkQmUo
ZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1
ZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgKiB2YWx1ZTsKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hh
bmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuIik7
CisgICAgICAgIH0oKSk7CisgICAgfQorCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgInVz
ZSBzdHJpY3QiOworCisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFycmF5KCk7
CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNoKDMwKTsK
KyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hvdWxkQmUo
ZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAg
ICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBzaG91bGRUaHJvdyhmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAs
IHsKKyAgICAgICAgICAgICAgICB2YWx1ZTogMzAKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
LCAiVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNoYW5nZSBhY2Nlc3MgbWVjaGFuaXNtIGZvciBh
biB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOworfSgpKTsKKworKGZ1bmN0
aW9uICgpIHsKKyAgICBmdW5jdGlvbiBFeHRlbmRlZEFycmF5KCkKKyAgICB7CisgICAgICAgIHZh
ciByZXN1bHQgPSBuZXcgQXJyYXkoMCk7CisgICAgICAgIHJlc3VsdC5fX3Byb3RvX18gPSBFeHRl
bmRlZEFycmF5LnByb3RvdHlwZTsKKyAgICAgICAgcmVzdWx0LnB1c2goMTApOworICAgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCAwLCB7CisgICAgICAgICAgICB2YWx1ZTogMTAs
CisgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJs
ZTogZmFsc2UsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9f
cHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnBy
b3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5w
cm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKwor
ICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIGV4
dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7
CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5s
ZW5ndGgsIDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMTApOworICAgICAgICBz
aG91bGRCZShleHRlbmRlZFsxXSwgMjApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwg
MzApOworICAgICAgICBzaG91bGRUaHJvdyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIg
cmVzdWx0ID0gZXh0ZW5kZWQubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeworICAgICAgICAgICAgICAg
IHJldHVybiB2YWx1ZSAqIHZhbHVlOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUeXBl
RXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5j
b25maWd1cmFibGUgcHJvcGVydHkuIik7CisgICAgfSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7
CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0
ZW5kZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5k
ZWQucHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAg
ICAgIHNob3VsZEJlKGV4dGVuZGVkWzBdLCAxMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVk
WzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHNo
b3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShleHRlbmRlZCwgMCwgeworICAgICAgICAgICAgICAgIHZhbHVlOiAzMAorICAgICAgICAgICAg
fSk7CisgICAgICAgIH0sICJUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIHZhbHVlIG9m
IGEgcmVhZG9ubHkgcHJvcGVydHkuIik7CisgICAgfSgpKTsKK30oKSk7CisKKyhmdW5jdGlvbiAo
KSB7CisgICAgZnVuY3Rpb24gRXh0ZW5kZWRBcnJheSgpCisgICAgeworICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEFycmF5KDApOworICAgICAgICByZXN1bHQuX19wcm90b19fID0gRXh0ZW5kZWRB
cnJheS5wcm90b3R5cGU7CisgICAgICAgIHJlc3VsdC5wdXNoKDEwKTsKKyAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgMCwgeworICAgICAgICAgICAgdmFsdWU6IDAsCisgICAg
ICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFs
c2UsCisgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQorICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9f
XyA9IEFycmF5LnByb3RvdHlwZTsKKyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlw
ZS5jb25zdHJ1Y3RvciwgRXh0ZW5kZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5
cGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIChm
dW5jdGlvbiAoKSB7CisgICAgICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIGV4dGVuZGVk
ID0gbmV3IEV4dGVuZGVkQXJyYXkoKTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAg
ICAgIGV4dGVuZGVkLnB1c2goMzApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgs
IDMpOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJl
KGV4dGVuZGVkWzFdLCAyMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7Cisg
ICAgICAgIHNob3VsZFRocm93KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHZhciByZXN1bHQg
PSBleHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHZhbHVlICogdmFsdWU7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlR5cGVFcnJvcjog
QXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3Vy
YWJsZSBwcm9wZXJ0eS4iKTsKKyAgICB9KCkpOworCisgICAgKGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgInVzZSBzdHJpY3QiOworCisgICAgICAgIHZhciBleHRlbmRlZCA9IG5ldyBFeHRlbmRlZEFy
cmF5KCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMjApOworICAgICAgICBleHRlbmRlZC5wdXNo
KDMwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWQubGVuZ3RoLCAzKTsKKyAgICAgICAgc2hv
dWxkQmUoZXh0ZW5kZWRbMF0sIDApOworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsxXSwgMjAp
OworICAgICAgICBzaG91bGRCZShleHRlbmRlZFsyXSwgMzApOworICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkoZXh0ZW5kZWQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwCisgICAgICAg
IH0pOworICAgIH0oKSk7Cit9KCkpOworCisoZnVuY3Rpb24gKCkgeworICAgIGZ1bmN0aW9uIEV4
dGVuZGVkQXJyYXkoKQorICAgIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSgwKTsK
KyAgICAgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IEV4dGVuZGVkQXJyYXkucHJvdG90eXBlOworICAg
ICAgICByZXN1bHQucHVzaCgxMCk7CisgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1
bHQsIDAsIHsKKyAgICAgICAgICAgIHZhbHVlOiAwLAorICAgICAgICAgICAgZW51bWVyYWJsZTog
ZmFsc2UsCisgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgICAgICAgICB3cml0
YWJsZTogZmFsc2UKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQor
ICAgIEV4dGVuZGVkQXJyYXkucHJvdG90eXBlLl9fcHJvdG9fXyA9IEFycmF5LnByb3RvdHlwZTsK
KyAgICBzaG91bGRCZShFeHRlbmRlZEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciwgRXh0ZW5k
ZWRBcnJheSk7CisgICAgRXh0ZW5kZWRBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3JbU3ltYm9s
LnNwZWNpZXNdID0gRXh0ZW5kZWRBcnJheTsKKworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAg
ICJ1c2Ugc3RyaWN0IjsKKyAgICAgICAgdmFyIGV4dGVuZGVkID0gbmV3IEV4dGVuZGVkQXJyYXko
KTsKKyAgICAgICAgZXh0ZW5kZWQucHVzaCgyMCk7CisgICAgICAgIGV4dGVuZGVkLnB1c2goMzAp
OworICAgICAgICBzaG91bGRCZShleHRlbmRlZC5sZW5ndGgsIDMpOworICAgICAgICBzaG91bGRC
ZShleHRlbmRlZFswXSwgMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzFdLCAyMCk7Cisg
ICAgICAgIHNob3VsZEJlKGV4dGVuZGVkWzJdLCAzMCk7CisgICAgICAgIHZhciByZXN1bHQgPSBl
eHRlbmRlZC5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgICAgICAgICByZXR1cm4gdmFsdWUg
KiB2YWx1ZTsKKyAgICAgICAgfSk7CisgICAgfSgpKTsKKworICAgIChmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICJ1c2Ugc3RyaWN0IjsKKworICAgICAgICB2YXIgZXh0ZW5kZWQgPSBuZXcgRXh0ZW5k
ZWRBcnJheSgpOworICAgICAgICBleHRlbmRlZC5wdXNoKDIwKTsKKyAgICAgICAgZXh0ZW5kZWQu
cHVzaCgzMCk7CisgICAgICAgIHNob3VsZEJlKGV4dGVuZGVkLmxlbmd0aCwgMyk7CisgICAgICAg
IHNob3VsZEJlKGV4dGVuZGVkWzBdLCAwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMV0s
IDIwKTsKKyAgICAgICAgc2hvdWxkQmUoZXh0ZW5kZWRbMl0sIDMwKTsKKyAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KGV4dGVuZGVkLCAwLCB7CisgICAgICAgICAgICB2YWx1ZTogMAorICAg
ICAgICB9KTsKKyAgICB9KCkpOworfSgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyN2JmNTNkNjI1ZTZjMDE1YmJhMGM4
ZWUzMDc2ZTFlZjgyNmFhNTg5Li41MDAwZTYyODkxNTc3OGFlYjQxYmViZTdmNjE0YzMyNGVkMWU0
YWZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTUtMDctMjAgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gU3VwcG9ydCBAQHNwZWNpZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjYyNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0
cyBmb3IgUHJvbWlzZS4KKyAgICAgICAgT3RoZXIgY2FzZXMgbGlrZSBBcnJheSwgU2V0IGFuZCBN
YXAgYXJlIGxvY2F0ZSB1bmRlciBKU0MgZGlyZWN0b3J5LgorCisgICAgICAgICogZmFzdC9jc3Mt
aW50cmluc2ljLWRpbWVuc2lvbnMvaGVpZ2h0LXByb3BlcnR5LXZhbHVlLmh0bWwub3JpZzogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFu
b255bW91cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9wcm9maWxlci9idWlsdC1pbi1m
dW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGpzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBqcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRp
ZmZlcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNp
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yYWNlLXNw
ZWNpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2UtcmVqZWN0LXNwZWNp
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZWplY3Qt
c3BlY2llcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNw
ZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBq
cy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBqcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vUHJvbWlzZS1zcGVjaWVzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICoganMvZG9tL1Byb21pc2Utc3BlY2llcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBqcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vYXJyYXktc3BlY2llcy1pbi1kaWZmZXJl
bnQtcmVhbG0uaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL3NjcmlwdC10ZXN0cy9hcnJh
eS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5qczogQWRkZWQuCisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzOgorCiAyMDE1LTA3LTI3ICBZ
dXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFNwYXJzZVZh
bHVlTWFwIGNoZWNrIGlzIHNraXBwZWQgd2hlbiB0aGUgYnV0dGVyZmx5J3MgdmVjdG9yTGVuZ3Ro
IGlzIGxhcmdlciB0aGFuIHRoZSBhY2Nlc3MtcmVxdWVzdGVkIGluZGV4CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1pbnRyaW5zaWMtZGltZW5zaW9ucy9oZWlnaHQtcHJvcGVydHkt
dmFsdWUuaHRtbC5vcmlnIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtaW50cmluc2ljLWRpbWVuc2lv
bnMvaGVpZ2h0LXByb3BlcnR5LXZhbHVlLmh0bWwub3JpZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTQ1Y2QyMTU0NmQ2ZWNlZGE4ZTYxNDIxZjQ2MDJlNzBjYTIzZTYwOC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1pbnRyaW5zaWMtZGltZW5zaW9ucy9oZWlnaHQtcHJvcGVydHktdmFsdWUuaHRtbC5vcmln
CisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08IS0tCi0g
ICAgVGVzdHMgdGhhdCB0aGUgaGVpZ2h0IGtleXdvcmRzIGFyZSBub3QgcmVzcGVjdGVkIGJ5IHRo
ZSBwYXJzZXIgeWV0LgotLS0+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KLQotPGRpdiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LW1pbi1jb250
ZW50OyBtaW4taGVpZ2h0OiAtd2Via2l0LW1pbi1jb250ZW50OyBtYXgtaGVpZ2h0OiAtd2Via2l0
LW1pbi1jb250ZW50OyI+PC9kaXY+Ci08ZGl2IHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtbWF4LWNv
bnRlbnQ7IG1pbi1oZWlnaHQ6IC13ZWJraXQtbWF4LWNvbnRlbnQ7IG1heC1oZWlnaHQ6IC13ZWJr
aXQtbWF4LWNvbnRlbnQ7Ij48L2Rpdj4KLTxkaXYgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1maWxs
LWF2YWlsYWJsZTsgbWluLWhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgbWF4LWhlaWdo
dDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsiPjwvZGl2PgotPGRpdiBzdHlsZT0iaGVpZ2h0OiAt
d2Via2l0LWZpdC1jb250ZW50OyBtaW4taGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50OyBtYXgt
aGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50OyI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0gICAgZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgdGhlIGhlaWdodCBrZXl3b3JkcyBhcmUgbm90IGV4cG9zZWQg
eWV0LicpOwotCi0gICAgdmFyIGRpdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYn
KTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpdnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAg
c2hvdWxkQmVFbXB0eVN0cmluZygnZGl2c1tpXS5zdHlsZS5oZWlnaHQnKTsKLSAgICAgICAgc2hv
dWxkQmVFbXB0eVN0cmluZygnZGl2c1tpXS5zdHlsZS5taW5IZWlnaHQnKTsKLSAgICAgICAgc2hv
dWxkQmVFbXB0eVN0cmluZygnZGl2c1tpXS5zdHlsZS5tYXhIZWlnaHQnKTsKLSAgICB9Ci0KLSAg
ICB2YXIgUFJFRklYID0gJy13ZWJraXQtJzsKLSAgICB2YXIgS0VZV09SRFMgPSBbJ21pbi1jb250
ZW50JywgJ21heC1jb250ZW50JywgJ2ZpbGwtYXZhaWxhYmxlJywgICdmaXQtY29udGVudCddOwot
ICAgIHZhciBkaXY7Ci0KLSAgICBLRVlXT1JEUy5mb3JFYWNoKGZ1bmN0aW9uKGtleXdvcmQpIHsK
LSAgICAgICAgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgIGRp
di5zdHlsZS5oZWlnaHQgPSBQUkVGSVggKyBrZXl3b3JkOwotICAgICAgICBkaXYuc3R5bGUubWlu
SGVpZ2h0ID0gUFJFRklYICsga2V5d29yZDsKLSAgICAgICAgZGl2LnN0eWxlLm1heEhlaWdodCA9
IFBSRUZJWCArIGtleXdvcmQ7Ci0gICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoJ2Rpdi5zdHls
ZS5oZWlnaHQnKTsKLSAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygnZGl2LnN0eWxlLm1pbkhl
aWdodCcpOwotICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCdkaXYuc3R5bGUubWF4SGVpZ2h0
Jyk7Ci0gICAgfSk7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9w
cm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1v
dXMtZXhwZWN0ZWQudHh0CmluZGV4IDYzYWI3YTNkOGFlMTNmNjc3YzNiNTA0YTExNmZhNTRhMjIy
MTk5OTMuLjNhMWNmOTM1NjE3YjQ1NmRjZTMyNTk0M2U5YjFjOTFmNzJkNTA5MmUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5v
bnltb3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0
LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy1leHBlY3RlZC50eHQKQEAgLTEyLDYgKzEyLDEw
IEBAIFRocmVhZF8xIChubyBmaWxlKSAobGluZSAwOjApCiAgICAgICAgICAgICB0b0ludGVnZXIg
KG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgICAgICAgIE51bWJlciAobm8gZmlsZSkgKGxp
bmUgMDowKQogICAgICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUpIChs
aW5lIDA6MCkKKyAgICAgICAgIGFycmF5U3BlY2llc0NyZWF0ZSAobm8gZmlsZSkgKGxpbmUgMDow
KQorICAgICAgICAgICAgKGFub255bW91cyBmdW5jdGlvbikgKG5vIGZpbGUpIChsaW5lIDA6MCkK
KyAgICAgICAgICAgIGlzT2JqZWN0IChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBn
ZXQgW1N5bWJvbC5zcGVjaWVzXSAobm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgbXlGdW5j
dGlvbiBidWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbCAobGluZSAxNDozMCkK
ICAgICAgICAgICAgIGFycmF5T3BlcmF0b3JGdW5jdGlvbiBwcm9maWxlci10ZXN0LUpTLXJlc291
cmNlcy5qcyAobGluZSAyNTozMSkKICAgICAgIGVuZFRlc3QgcHJvZmlsZXItdGVzdC1KUy1yZXNv
dXJjZXMuanMgKGxpbmUgMToxNykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMt
dXNlci1kZWZpbmVkLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCAyZjg4OGQ0YmVlZDViZDI0
NzgxOTZlMjZhNGVlZDEwYWM3OTQ0NjEyLi5iYzkwNjNlNTRhN2IwMDc2MDYyNjMyNWI2ZmJiMjdh
MWE5ODBlZDg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWlu
LWZ1bmN0aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRl
ZmluZWQtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0xMiw2ICsxMiwxMCBAQCBUaHJlYWRfMSAo
bm8gZmlsZSkgKGxpbmUgMDowKQogICAgICAgICAgICAgdG9JbnRlZ2VyIChubyBmaWxlKSAobGlu
ZSAwOjApCiAgICAgICAgICAgICAgICBOdW1iZXIgKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAg
ICAgICAgICAgIChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAg
ICAgICBhcnJheVNwZWNpZXNDcmVhdGUgKG5vIGZpbGUpIChsaW5lIDA6MCkKKyAgICAgICAgICAg
IChhbm9ueW1vdXMgZnVuY3Rpb24pIChubyBmaWxlKSAobGluZSAwOjApCisgICAgICAgICAgICBp
c09iamVjdCAobm8gZmlsZSkgKGxpbmUgMDowKQorICAgICAgICAgICAgZ2V0IFtTeW1ib2wuc3Bl
Y2llc10gKG5vIGZpbGUpIChsaW5lIDA6MCkKICAgICAgICAgIGFycmF5T3BlcmF0b3JGdW5jdGlv
biBwcm9maWxlci10ZXN0LUpTLXJlc291cmNlcy5qcyAobGluZSAyNTozMSkKICAgICAgIGVuZFRl
c3QgcHJvZmlsZXItdGVzdC1KUy1yZXNvdXJjZXMuanMgKGxpbmUgMToxNykKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0
CmluZGV4IGIwNTQ0Y2VmZjQ5OGUwZGI3ZTJmYzYyMjQwOGU1ZDBmYjVlYTFmMDguLmQ1MTg2MjY0
M2Q2MThiNTJkNzZlZTIyNWVjZWIyNjQzMzIzZjAwMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQKQEAgLTYxLDcg
KzYxLDcgQEAgUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEVycm9yKSBpcyBbJ2xlbmd0
aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
RXJyb3IucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9yJywgJ21lc3NhZ2UnLCAnbmFtZScsICd0
b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoTWF0aCkgaXMgWydFJywn
TE4xMCcsJ0xOMicsJ0xPRzEwRScsJ0xPRzJFJywnUEknLCdTUVJUMV8yJywnU1FSVDInLCdhYnMn
LCdhY29zJywnYWNvc2gnLCdhc2luJywnYXNpbmgnLCdhdGFuJywnYXRhbjInLCdhdGFuaCcsJ2Ni
cnQnLCdjZWlsJywnY2x6MzInLCdjb3MnLCdjb3NoJywnZXhwJywnZXhwbTEnLCdmbG9vcicsJ2Zy
b3VuZCcsJ2h5cG90JywnaW11bCcsJ2xvZycsJ2xvZzEwJywnbG9nMXAnLCdsb2cyJywnbWF4Jywn
bWluJywncG93JywncmFuZG9tJywncm91bmQnLCdzaWduJywnc2luJywnc2luaCcsJ3NxcnQnLCd0
YW4nLCd0YW5oJywndHJ1bmMnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEpTT04p
IGlzIFsncGFyc2UnLCAnc3RyaW5naWZ5J10KLVBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1l
cyhTeW1ib2wpIGlzIFsnZm9yJywgJ2l0ZXJhdG9yJywgJ2tleUZvcicsICdsZW5ndGgnLCAnbmFt
ZScsICdwcm90b3R5cGUnLCAndW5zY29wYWJsZXMnXQorUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0
eU5hbWVzKFN5bWJvbCkgaXMgWydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0aCcs
ICduYW1lJywgJ3Byb3RvdHlwZScsICdzcGVjaWVzJywgJ3Vuc2NvcGFibGVzJ10KIFBBU1MgZ2V0
U29ydGVkT3duUHJvcGVydHlOYW1lcyhTeW1ib2wucHJvdG90eXBlKSBpcyBbJ2NvbnN0cnVjdG9y
JywgJ3RvU3RyaW5nJywgJ3ZhbHVlT2YnXQogUEFTUyBnbG9iYWxQcm9wZXJ0eU5hbWVzLmluZGV4
T2YoJ05hTicpICE9IC0xIGlzIHRydWUKIFBBU1MgZ2xvYmFsUHJvcGVydHlOYW1lcy5pbmRleE9m
KCdJbmZpbml0eScpICE9IC0xIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLWFsbC1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjllMDE0YzIxZjQ2Y2Q4MDI2NDM5YWJhMWU0NGJhMGZhZjk5OGI2MmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJl
bnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNl
LmFsbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlz
ZS5hbGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlz
IGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlz
ZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNT
IEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3Rh
bmNlb2YgRXh0ZW5kZWRQcm9taXNlIGlzIGZhbHNlCitQQVNTIHRoZW5SZXN1bHQgaXMgYW4gaW5z
dGFuY2Ugb2YgUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9t
aXNlIGlzIGZhbHNlCitQQVNTIGdsb2JhbFZhbHVlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9q
cy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1kaWZmZXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDZi
ZWNjNjk5NzdlNWM5NDdkZTk2MDk2MzQ3NmMyODZiN2M0M2NhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwKQEAg
LTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHN1YmNsYXNzZWQgUHJvbWlzZS5hbGwu
Jyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcu
dGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4
ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAg
cHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVy
biBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9t
aXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNl
OworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgi
RXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIiwgIlByb21pc2UiKTsK
K3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpXSkiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgiRXh0ZW5kZWRQcm9taXNlLmFs
bChbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7Citz
aG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2
ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUg
PSB1bmRlZmluZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5hbGwoW0V4dGVu
ZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24gKFt2YWx1ZV0pIHsKKyAgICBn
bG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJnbG9iYWxWYWx1ZSIsICI0MiIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5cGUoInRoZW5SZXN1bHQiLCAiUHJv
bWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBpbnN0YW5jZW9mIEV4dGVuZGVkUHJv
bWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvanMvZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhkZTY1MTM2OTQ0NjY2ZGFlNmYwMTNlZWMyZjQzYjNhZjgwNjk5NGUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2UuYWxsLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLmFsbChbUHJvbWlzZS5y
ZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlzZQorUEFTUyBFeHRl
bmRlZFByb21pc2UuYWxsKFtFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBv
ZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9kb20vUHJvbWlzZS1hbGwtc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDc0MmQ5MjViODJlMTFiYmI2
NmUyNWMxNzBkMjRlYzdkOGQwMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
ZG9tL1Byb21pc2UtYWxsLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLmFsbC4nKTsKKword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworCisvLyBDdXJyZW50bHksIG5ldy50YXJnZXQgaXMgbm90IHN1cHBvcnRlZCB5
ZXQuCitmdW5jdGlvbiBFeHRlbmRlZFByb21pc2UoZXhlY3V0b3IpIHsKKyAgICB2YXIgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGV4ZWN1dG9yKTsKKyAgICBwcm9taXNlLl9fcHJvdG9fXyA9IEV4dGVu
ZGVkUHJvbWlzZS5wcm90b3R5cGU7CisgICAgcmV0dXJuIHByb21pc2U7Cit9CitFeHRlbmRlZFBy
b21pc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFByb21pc2UucHJvdG90eXBlOworRXh0ZW5kZWRQ
cm9taXNlW1N5bWJvbC5zcGVjaWVzXSA9IEV4dGVuZGVkUHJvbWlzZTsKK0V4dGVuZGVkUHJvbWlz
ZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5h
bGwoW1Byb21pc2UucmVzb2x2ZSg0MildKSIsICJFeHRlbmRlZFByb21pc2UiKTsKK3Nob3VsZEJl
VHlwZSgiRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSki
LCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3Zh
ciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLmFsbChbRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpXSkudGhlbihmdW5jdGlvbiAoW3ZhbHVlXSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFs
dWU7CisgICAgc2hvdWxkQmUoImdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKK3Nob3VsZEJlVHlwZSgidGhlblJlc3VsdCIsICJFeHRlbmRlZFByb21pc2UiKTsK
KworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2EwNmU4MDg4YmRjNTJlOGRlMjQxY2Q2YTMxMGJjODFlYTk4OWVhZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2ll
cy1kaWZmZXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Qgc3ViY2xhc3Nl
ZCBQcm9taXNlLnJhY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBFeHRl
bmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9m
IFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNv
bHZlKDQyKV0pIGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgRXh0ZW5kZWRQcm9taXNl
LnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0MildKSBpbnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSBp
cyBmYWxzZQorUEFTUyBFeHRlbmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgdGhlblJl
c3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaW5zdGFuY2Vv
ZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMtZGlmZmVyZW50Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmI1NDA3ZGM4Yzc4YTQ3NGRhMWFiNzMzYzYwNmY1MzIyNmQzYWQzYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1k
aWZmZXJlbnQuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xh
c3NlZCBQcm9taXNlLnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
Ly8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24g
RXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJv
dG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wu
c3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9fcHJvdG9fXyA9IFByb21pc2U7
CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJhY2UoW1Byb21pc2UucmVzb2x2ZSg0
MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yYWNlKFtF
eHRlbmRlZFByb21pc2UucmVzb2x2ZSg0MildKSIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNl
KCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0pIGluc3RhbmNlb2Yg
RXh0ZW5kZWRQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJFeHRlbmRlZFByb21pc2UucmFjZShb
RXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkgaW5zdGFuY2VvZiBFeHRlbmRlZFByb21pc2Ui
KTsKKwordmFyIGdsb2JhbFZhbHVlID0gdW5kZWZpbmVkOwordmFyIHRoZW5SZXN1bHQgPSBFeHRl
bmRlZFByb21pc2UucmFjZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkudGhlbihmdW5j
dGlvbiAodmFsdWUpIHsKKyAgICBnbG9iYWxWYWx1ZSA9IHZhbHVlOworICAgIHNob3VsZEJlKCJn
bG9iYWxWYWx1ZSIsICI0MiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CitzaG91bGRCZVR5
cGUoInRoZW5SZXN1bHQiLCAiUHJvbWlzZSIpOworc2hvdWxkQmVGYWxzZSgidGhlblJlc3VsdCBp
bnN0YW5jZW9mIEV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmFjZS1zcGVjaWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNkMzU4MWViMzA0NTdlYTBkZWNmZmM5YTMyYTEyZjFj
MmZkN2MzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJh
Y2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2Vk
IFByb21pc2UucmFjZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVu
ZGVkUHJvbWlzZS5yYWNlKFtQcm9taXNlLnJlc29sdmUoNDIpXSkgaXMgYW4gaW5zdGFuY2Ugb2Yg
RXh0ZW5kZWRQcm9taXNlCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yYWNlKFtFeHRlbmRlZFByb21p
c2UucmVzb2x2ZSg0MildKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1Mg
dGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgZ2xvYmFs
VmFsdWUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNp
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJhY2Utc3BlY2llcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQyYmEwMGJmNDlmYWQ2MzkxMTg3YmU4OGM4ZTIyYzYxYzRmZGY3OWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yYWNlLXNwZWNpZXMuaHRt
bApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNl
LnJhY2UuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5
LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9t
aXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7
CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAg
IHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBF
eHRlbmRlZFByb21pc2U7CitFeHRlbmRlZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKwor
c2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFjZShbUHJvbWlzZS5yZXNvbHZlKDQyKV0p
IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFByb21pc2UucmFj
ZShbRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpXSkiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisK
K3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQ
cm9taXNlLnJhY2UoW0V4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKV0pLnRoZW4oZnVuY3Rpb24g
KHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgiZ2xvYmFs
VmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVUeXBlKCJ0
aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVj
aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJlamVjdC1zcGVj
aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWE4YmFiZmE2NzBhM2Y1M2IyNWRiN2VkODM5
ZDE1Y2NlMmQwODMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21p
c2UtcmVqZWN0LXNwZWNpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3Qgc3Vi
Y2xhc3NlZCBQcm9taXNlLnJlamVjdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIEV4dGVuZGVkUHJvbWlzZS5yZWplY3QoNDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVk
UHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVkUHJvbWlz
ZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJlamVjdC1zcGVjaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZWpl
Y3Qtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxNTE4YjYwOTQyOTJkOWQwMWM0ZGM2N2YwYWVh
NjRkNzQ4MzcyYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1yZWplY3Qtc3BlY2llcy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dCBzdWJjbGFzc2VkIFByb21pc2UucmVqZWN0LicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKKy8vIEN1cnJlbnRseSwgbmV3LnRhcmdldCBpcyBub3Qgc3VwcG9ydGVkIHlldC4K
K2Z1bmN0aW9uIEV4dGVuZGVkUHJvbWlzZShleGVjdXRvcikgeworICAgIHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZXhlY3V0b3IpOworICAgIHByb21pc2UuX19wcm90b19fID0gRXh0ZW5kZWRQ
cm9taXNlLnByb3RvdHlwZTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30KK0V4dGVuZGVkUHJvbWlz
ZS5wcm90b3R5cGUuX19wcm90b19fID0gUHJvbWlzZS5wcm90b3R5cGU7CitFeHRlbmRlZFByb21p
c2VbU3ltYm9sLnNwZWNpZXNdID0gRXh0ZW5kZWRQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9f
cHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlamVj
dCg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1ZSA9IHVuZGVmaW5l
ZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlamVjdCg0MikuY2F0Y2goZnVu
Y3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAgICBzaG91bGRCZSgi
Z2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworc2hvdWxkQmVU
eXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVz
b2x2ZS1zcGVjaWVzLWRpZmZlcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20v
UHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iY2VkYjVkNWE1NTkxNDc5ZWU3MGJhMDAxZjFjODhjNWI4NjlhZTk3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWRpZmZlcmVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBzdWJjbGFzc2VkIFByb21pc2Uu
cmVzb2x2ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJv
bWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1Mg
dGhlblJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHRoZW5SZXN1bHQgaW5z
dGFuY2VvZiBFeHRlbmRlZFByb21pc2UgaXMgZmFsc2UKK1BBU1MgZ2xvYmFsVmFsdWUgaXMgNDIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlmZmVy
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtZGlm
ZmVyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkxNjE0ZDA3NTg1MGNmZTkwYTg2M2U4ZmYwZTEyMjQy
M2ZkM2YzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9taXNlLXJl
c29sdmUtc3BlY2llcy1kaWZmZXJlbnQuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuJyk7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0
ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHBy
b21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBF
eHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5k
ZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVu
ZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBQcm9taXNlOworRXh0ZW5kZWRQcm9taXNlLl9f
cHJvdG9fXyA9IFByb21pc2U7CisKK3Nob3VsZEJlVHlwZSgiRXh0ZW5kZWRQcm9taXNlLnJlc29s
dmUoNDIpIiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCit2YXIgZ2xvYmFsVmFsdWUgPSB1bmRlZmlu
ZWQ7Cit2YXIgdGhlblJlc3VsdCA9IEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKS50aGVuKGZ1
bmN0aW9uICh2YWx1ZSkgeworICAgIGdsb2JhbFZhbHVlID0gdmFsdWU7CisgICAgc2hvdWxkQmUo
Imdsb2JhbFZhbHVlIiwgIjQyIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKK3Nob3VsZEJl
VHlwZSgidGhlblJlc3VsdCIsICJQcm9taXNlIik7CitzaG91bGRCZUZhbHNlKCJ0aGVuUmVzdWx0
IGluc3RhbmNlb2YgRXh0ZW5kZWRQcm9taXNlIik7CisKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNw
ZWNpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1z
cGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjZkNWVmNzEwN2VhNzZmNWFmNDhmNDI3
NWMyOTdkODZlMzA4MGJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1By
b21pc2UtcmVzb2x2ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0
IHN1YmNsYXNzZWQgUHJvbWlzZS5yZXNvbHZlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1MgRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUoNDIpIGlzIGFuIGluc3RhbmNlIG9mIEV4
dGVuZGVkUHJvbWlzZQorUEFTUyB0aGVuUmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEV4dGVuZGVk
UHJvbWlzZQorUEFTUyBnbG9iYWxWYWx1ZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Rv
bS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL2RvbS9Qcm9taXNlLXJlc29sdmUtc3BlY2llcy1pbnZhbGlkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MmVhNDgwOGQ5YTczY2FlYmNhNjlmMTE5MzBjODk3ODg5YmY3MDM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVz
LWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3Qgc3ViY2xhc3NlZCBQ
cm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlkIEBAc3BlY2llcy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIEV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSBpcyBhbiBpbnN0
YW5jZSBvZiBFeHRlbmRlZFByb21pc2UKK1BBU1MgdGVzdCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IGNvbnN0cnVjdG9yLkBAc3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3Rvci4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMtaW52YWxpZC5odG1s
IGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVjaWVzLWludmFsaWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jOGU5ZWFlM2E4YWU0ZjIwMDY3YzUzODRiNDVhNzFjZDAwNzIxMzIzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2UtcmVzb2x2ZS1zcGVj
aWVzLWludmFsaWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Qgc3Vi
Y2xhc3NlZCBQcm9taXNlLnJlc29sdmUgd2l0aCBpbnZhbGlkIEBAc3BlY2llcy4nKTsKKworLy8g
Q3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0
ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFyIHByb21pc2UgPSBuZXcgUHJvbWlzZShl
eGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18gPSBFeHRlbmRlZFByb21pc2UucHJvdG90
eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5f
X3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3Bl
Y2llc10gPSB7fTsKK0V4dGVuZGVkUHJvbWlzZS5fX3Byb3RvX18gPSBQcm9taXNlOworCitzaG91
bGRCZVR5cGUoIkV4dGVuZGVkUHJvbWlzZS5yZXNvbHZlKDQyKSIsICJFeHRlbmRlZFByb21pc2Ui
KTsKKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBFeHRlbmRlZFByb21pc2UucmVzb2x2ZSg0Miku
dGhlbihmdW5jdGlvbiAodmFsdWUpIHt9KTsKK30KK3Nob3VsZFRocm93KCJ0ZXN0KCkiKTsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9Qcm9t
aXNlLXJlc29sdmUtc3BlY2llcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3YzMxMGZiYzQ3NGUzMDdmMjJh
ZWUyOTBlNGI2MDI4OWM4ZTY2MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vUHJvbWlzZS1yZXNvbHZlLXNwZWNpZXMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3Qgc3ViY2xhc3NlZCBQcm9taXNlLnJlc29sdmUuJyk7CisKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworLy8gQ3VycmVudGx5LCBuZXcudGFyZ2V0IGlzIG5vdCBzdXBw
b3J0ZWQgeWV0LgorZnVuY3Rpb24gRXh0ZW5kZWRQcm9taXNlKGV4ZWN1dG9yKSB7CisgICAgdmFy
IHByb21pc2UgPSBuZXcgUHJvbWlzZShleGVjdXRvcik7CisgICAgcHJvbWlzZS5fX3Byb3RvX18g
PSBFeHRlbmRlZFByb21pc2UucHJvdG90eXBlOworICAgIHJldHVybiBwcm9taXNlOworfQorRXh0
ZW5kZWRQcm9taXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBQcm9taXNlLnByb3RvdHlwZTsKK0V4
dGVuZGVkUHJvbWlzZVtTeW1ib2wuc3BlY2llc10gPSBFeHRlbmRlZFByb21pc2U7CitFeHRlbmRl
ZFByb21pc2UuX19wcm90b19fID0gUHJvbWlzZTsKKworc2hvdWxkQmVUeXBlKCJFeHRlbmRlZFBy
b21pc2UucmVzb2x2ZSg0MikiLCAiRXh0ZW5kZWRQcm9taXNlIik7CisKK3ZhciBnbG9iYWxWYWx1
ZSA9IHVuZGVmaW5lZDsKK3ZhciB0aGVuUmVzdWx0ID0gRXh0ZW5kZWRQcm9taXNlLnJlc29sdmUo
NDIpLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgZ2xvYmFsVmFsdWUgPSB2YWx1ZTsKKyAg
ICBzaG91bGRCZSgiZ2xvYmFsVmFsdWUiLCAiNDIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
Oworc2hvdWxkQmVUeXBlKCJ0aGVuUmVzdWx0IiwgIkV4dGVuZGVkUHJvbWlzZSIpOworCisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlz
ZS1zcGVjaWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjhiMGU3NTQ2OGEwZWJhMTgwN2Zk
YzYwZmNkYmMyNWQxYmI1ZTA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2Utc3BlY2llcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBQcm9t
aXNlIGFuZCBAQHNwZWNpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBK
U09OLnN0cmluZ2lmeShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5
bWJvbC5zcGVjaWVzKSkgaXMgIntcImVudW1lcmFibGVcIjpmYWxzZSxcImNvbmZpZ3VyYWJsZVwi
OnRydWV9IgorUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9t
aXNlLCBTeW1ib2wuc3BlY2llcykuZ2V0IGlzICJmdW5jdGlvbiIKK1BBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLnNldCBp
cyAidW5kZWZpbmVkIgorUEFTUyBQcm9taXNlW1N5bWJvbC5zcGVjaWVzXSBpcyBQcm9taXNlCitQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNp
ZXMpLmdldC5jYWxsKE9iamVjdCkgaXMgT2JqZWN0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9t
L1Byb21pc2Utc3BlY2llcy5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL1Byb21pc2Utc3BlY2ll
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA5MzNhNzA2ODM3ZjZlMDllYjY0OGZlMDI3ZTdhMTljOWNhMTM3
NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vUHJvbWlzZS1zcGVjaWVz
Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IFByb21pc2UgYW5kIEBA
c3BlY2llcy4nKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJKU09OLnN0cmluZ2lmeShPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJvbC5zcGVjaWVzKSkiLCAn
eyJlbnVtZXJhYmxlIjpmYWxzZSwiY29uZmlndXJhYmxlIjp0cnVlfScpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihQcm9taXNl
LCBTeW1ib2wuc3BlY2llcykuZ2V0IiwgJ2Z1bmN0aW9uJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFByb21pc2UsIFN5bWJv
bC5zcGVjaWVzKS5zZXQiLCAndW5kZWZpbmVkJyk7CitzaG91bGRCZSgiUHJvbWlzZVtTeW1ib2wu
c3BlY2llc10iLCAiUHJvbWlzZSIpOworc2hvdWxkQmUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoUHJvbWlzZSwgU3ltYm9sLnNwZWNpZXMpLmdldC5jYWxsKE9iamVjdCkiLCAiT2Jq
ZWN0Iik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzYxZWIzMzg1NzFiODIyY2RiZWZjOTQ0NWZmNGU2YTll
OWQ3YWYzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVj
aWVzLWluLWRpZmZlcmVudC1yZWFsbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorQXJy
YXlTcGVjaWVzQ3JlYXRlIGdlbmVyYXRlIHRoZSBjdXJyZW50IFJlYWxtIGFycmF5IHdoZW4gdGhl
IGdpdmVuIGFycmF5IGlzIGZyb20gdGhlIGRpZmZlcmVudCByZWFsbS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgYXJyYXkubGVuZ3RoIGlzIDUKK1BBU1MgYXJyYXkgaW5z
dGFuY2VvZiBBcnJheSBpcyBmYWxzZQorUEFTUyBhcnJheSBpbnN0YW5jZW9mIEFycmF5MiBpcyB0
cnVlCitQQVNTIEFycmF5LmlzQXJyYXkoYXJyYXkpIGlzIHRydWUKK1BBU1MgYXJyYXkuY29uc3Ry
dWN0b3IgaXMgQXJyYXkyCitQQVNTIGFycmF5LmNvbnN0cnVjdG9yIGlzIG5vdCBBcnJheQorUEFT
UyByZXN1bHQubGVuZ3RoIGlzIDUKK1BBU1MgQXJyYXkuaXNBcnJheShyZXN1bHQpIGlzIHRydWUK
K1BBU1MgcmVzdWx0IGluc3RhbmNlb2YgQXJyYXkgaXMgZmFsc2UKK1BBU1MgcmVzdWx0IGluc3Rh
bmNlb2YgQXJyYXkyIGlzIHRydWUKK1BBU1MgcmVzdWx0Lmxlbmd0aCBpcyA1CitQQVNTIEFycmF5
LmlzQXJyYXkocmVzdWx0KSBpcyB0cnVlCitQQVNTIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5IGlz
IHRydWUKK1BBU1MgcmVzdWx0IGluc3RhbmNlb2YgQXJyYXkyIGlzIGZhbHNlCitQQVNTIHJlc3Vs
dFswXSBpcyAwCitQQVNTIHJlc3VsdFsxXSBpcyAxCitQQVNTIHJlc3VsdFsyXSBpcyA0CitQQVNT
IHJlc3VsdFszXSBpcyA5CitQQVNTIHJlc3VsdFs0XSBpcyAxNgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFsbS5odG1sIGIvTGF5b3V0VGVz
dHMvanMvZG9tL2FycmF5LXNwZWNpZXMtaW4tZGlmZmVyZW50LXJlYWxtLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGY1Mjg1YTc1ZDUzNDBkNDhhNDg2OTQ1NjBjZGZhMjUyYjgyNDA0YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVudC1yZWFs
bS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZT48
L2lmcmFtZT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZm
ZXJlbnQtcmVhbG0uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9hcnJheS1zcGVjaWVzLWluLWRpZmZlcmVu
dC1yZWFsbS5qcyBiL0xheW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2ll
cy1pbi1kaWZmZXJlbnQtcmVhbG0uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDU2ZWU1MDQ1MTRiY2IwZTNlYzg3
YjJlMmU1MjhjNWE3NTEwZTU2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2Rv
bS9zY3JpcHQtdGVzdHMvYXJyYXktc3BlY2llcy1pbi1kaWZmZXJlbnQtcmVhbG0uanMKQEAgLTAs
MCArMSwzNyBAQAorZGVzY3JpcHRpb24oIkFycmF5U3BlY2llc0NyZWF0ZSBnZW5lcmF0ZSB0aGUg
Y3VycmVudCBSZWFsbSBhcnJheSB3aGVuIHRoZSBnaXZlbiBhcnJheSBpcyBmcm9tIHRoZSBkaWZm
ZXJlbnQgcmVhbG0uIik7CisKK3ZhciBmcmFtZSA9IGZyYW1lc1swXTsKK3ZhciBBcnJheTIgPSBm
cmFtZS5BcnJheTsKKwordmFyIGFycmF5ID0gbmV3IEFycmF5MigwKTsKK2FycmF5LnB1c2goMCwg
MSwgMiwgMywgNCk7CisKK3Nob3VsZEJlKCJhcnJheS5sZW5ndGgiLCAiNSIpOworc2hvdWxkQmVG
YWxzZSgiYXJyYXkgaW5zdGFuY2VvZiBBcnJheSIpOworc2hvdWxkQmVUcnVlKCJhcnJheSBpbnN0
YW5jZW9mIEFycmF5MiIpOworc2hvdWxkQmVUcnVlKCJBcnJheS5pc0FycmF5KGFycmF5KSIpOwor
c2hvdWxkQmUoImFycmF5LmNvbnN0cnVjdG9yIiwgIkFycmF5MiIpOworc2hvdWxkTm90QmUoImFy
cmF5LmNvbnN0cnVjdG9yIiwgIkFycmF5Iik7Cit2YXIgcmVzdWx0ID0gYXJyYXkubWFwKGZ1bmN0
aW9uICh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAqIHZhbHVlOworfSk7CitzaG91bGRCZSgi
cmVzdWx0Lmxlbmd0aCIsICI1Iik7CitzaG91bGRCZVRydWUoIkFycmF5LmlzQXJyYXkocmVzdWx0
KSIpOworc2hvdWxkQmVGYWxzZSgicmVzdWx0IGluc3RhbmNlb2YgQXJyYXkiKTsKK3Nob3VsZEJl
VHJ1ZSgicmVzdWx0IGluc3RhbmNlb2YgQXJyYXkyIik7CisKK3ZhciBtYXAgPSBbXS5tYXA7CisK
K3ZhciByZXN1bHQgPSBtYXAuY2FsbChhcnJheSwgZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgcmV0
dXJuIHZhbHVlICogdmFsdWU7Cit9KTsKK3Nob3VsZEJlKCJyZXN1bHQubGVuZ3RoIiwgIjUiKTsK
K3Nob3VsZEJlVHJ1ZSgiQXJyYXkuaXNBcnJheShyZXN1bHQpIik7CitzaG91bGRCZVRydWUoInJl
c3VsdCBpbnN0YW5jZW9mIEFycmF5Iik7CitzaG91bGRCZUZhbHNlKCJyZXN1bHQgaW5zdGFuY2Vv
ZiBBcnJheTIiKTsKKworc2hvdWxkQmUoInJlc3VsdFswXSIsICIwIik7CitzaG91bGRCZSgicmVz
dWx0WzFdIiwgIjEiKTsKK3Nob3VsZEJlKCJyZXN1bHRbMl0iLCAiNCIpOworc2hvdWxkQmUoInJl
c3VsdFszXSIsICI5Iik7CitzaG91bGRCZSgicmVzdWx0WzRdIiwgIjE2Iik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMu
anMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFt
ZXMuanMKaW5kZXggZjc5ZGZhYjZhNmFmODI4YzQ4MzAyZDBhN2FlNWE0YjVjZTlkOTkyOC4uNTNk
NWYwZGE0Y2ZmZmJmODAwZGIyZTA4M2ZkOWVmYWViZjA2OWNhZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCisrKyBi
L0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5q
cwpAQCAtNzAsNyArNzAsNyBAQAogICAgICJFcnJvci5wcm90b3R5cGUiOiAiWydjb25zdHJ1Y3Rv
cicsICdtZXNzYWdlJywgJ25hbWUnLCAndG9TdHJpbmcnXSIsCiAgICAgIk1hdGgiOiAiWydFJywn
TE4xMCcsJ0xOMicsJ0xPRzEwRScsJ0xPRzJFJywnUEknLCdTUVJUMV8yJywnU1FSVDInLCdhYnMn
LCdhY29zJywnYWNvc2gnLCdhc2luJywnYXNpbmgnLCdhdGFuJywnYXRhbjInLCdhdGFuaCcsJ2Ni
cnQnLCdjZWlsJywnY2x6MzInLCdjb3MnLCdjb3NoJywnZXhwJywnZXhwbTEnLCdmbG9vcicsJ2Zy
b3VuZCcsJ2h5cG90JywnaW11bCcsJ2xvZycsJ2xvZzEwJywnbG9nMXAnLCdsb2cyJywnbWF4Jywn
bWluJywncG93JywncmFuZG9tJywncm91bmQnLCdzaWduJywnc2luJywnc2luaCcsJ3NxcnQnLCd0
YW4nLCd0YW5oJywndHJ1bmMnXSIsCiAgICAgIkpTT04iOiAiWydwYXJzZScsICdzdHJpbmdpZnkn
XSIsCi0gICAgIlN5bWJvbCI6ICJbJ2ZvcicsICdpdGVyYXRvcicsICdrZXlGb3InLCAnbGVuZ3Ro
JywgJ25hbWUnLCAncHJvdG90eXBlJywgJ3Vuc2NvcGFibGVzJ10iLAorICAgICJTeW1ib2wiOiAi
Wydmb3InLCAnaXRlcmF0b3InLCAna2V5Rm9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlw
ZScsICdzcGVjaWVzJywgJ3Vuc2NvcGFibGVzJ10iLAogICAgICJTeW1ib2wucHJvdG90eXBlIjog
IlsnY29uc3RydWN0b3InLCAndG9TdHJpbmcnLCAndmFsdWVPZiddIgogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>