<?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>78525</bug_id>
          
          <creation_ts>2012-02-13 13:42:31 -0800</creation_ts>
          <short_desc>CSS regions enabled by default</short_desc>
          <delta_ts>2012-04-05 09:58:36 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>78960</dependson>
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>hyatt</cc>
    
    <cc>mihnea</cc>
    
    <cc>paulirish</cc>
    
    <cc>peter</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>555534</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-13 13:42:31 -0800</bug_when>
    <thetext>CSS regions are enabled by default today, but we aren&apos;t quite ready to be exposing these to the web yet in shipping browsers (at least in Chromium).  I think we should add guards back for now while the feature is still under active development and the CSSWG is debating how this area will look.

Options:

1.) #ifdef ENABLE(). Upside: Easy, works in all platforms. Downside: this prevents the bots from running the tests by default, far more annoying for developers, greater risk of compile breakage from developers not working directly on the feature.

2.) Runtime preference. Upside: Fairly easy, allows for feature to by on in DumpRenderTree and off in shipping browsers and allows for developers working on the feature to simply flip a flag to test without requiring rebuilds. Prevents compile breakages from developers not working directly on the feature. Downside: No way to have runtime guards for the JSC bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556126</commentid>
    <comment_count>1</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-02-14 02:04:19 -0800</bug_when>
    <thetext>I would prefer to use a runtime flag for the feature instead of a compile time flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556404</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-14 10:49:56 -0800</bug_when>
    <thetext>I agree that would be more convenient.  In IRC Dave Hyatt agreed that a runtime guard is probably the best way to go here.

Do you have some cycles to try to make this happen, Mihnea?  I probably won&apos;t be able to take this on this week.  In order to make the next Chromium release train we would want something in place in the next 3 weeks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557039</commentid>
    <comment_count>3</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-02-15 01:31:04 -0800</bug_when>
    <thetext>Working on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558291</commentid>
    <comment_count>4</comment_count>
      <attachid>127400</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-02-16 10:06:06 -0800</bug_when>
    <thetext>Created attachment 127400
Patch

First version of patch. It disables css regions functionality at runtime. The preference key is &quot;WebKitCSSRegionsEnabled&quot;.
In DRT, use layoutTestController.overridePreference(&quot;WebKitCSSRegionsEnabled&quot;, &quot;1&quot;) to enable the css regions functionality.
The css regions tests in fast/repaint will be moved to fast/regions in another patch.
The css regions tests in fast/regions are skipped and will be enabled in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559170</commentid>
    <comment_count>5</comment_count>
      <attachid>127584</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-02-17 07:04:56 -0800</bug_when>
    <thetext>Created attachment 127584
Patch 2

Another patch, this time the css regions are enabled by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559320</commentid>
    <comment_count>6</comment_count>
      <attachid>127584</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-02-17 10:44:20 -0800</bug_when>
    <thetext>Comment on attachment 127584
Patch 2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559436</commentid>
    <comment_count>7</comment_count>
      <attachid>127584</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-17 12:44:19 -0800</bug_when>
    <thetext>Comment on attachment 127584
Patch 2

Clearing flags on attachment: 127584

Committed r108108: &lt;http://trac.webkit.org/changeset/108108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559437</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-17 12:44:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560261</commentid>
    <comment_count>9</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-02-20 09:29:54 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; All reviewed patches have been landed.  Closing bug.

Toggling regions during run-time will disable working of the CSS properties, but since DOM properties[1] (and perhaps element.style.webkitRegionOverflow et al as well, haven&apos;t tested that) will still be exposed this will break feature detection. Take the following script:

var element = document.createElement(&apos;div&apos;);
if (typeof(x.webkitRegionOverflow) !== &apos;undefined&apos;) {
    // supported!
}

While larger scripts such as Modernizr haven&apos;t yet picked up on detecting CSS Region support (supposedly since it is enabled by default and the DOM implementation is still rather new), this doesn&apos;t seem a desirable effect. Have you thought about this?

[1] http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Element.idl#L137</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560325</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-20 12:54:57 -0800</bug_when>
    <thetext>The DOM features should be guarded by V8EnabledAtRuntime:

http://trac.webkit.org/wiki/WebKitIDL#V8EnabledAtRuntime


There&apos;s no way to guard at runtime for the JSC bindings, but I think we&apos;re OK there due to ship schedules.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127400</attachid>
            <date>2012-02-16 10:06:06 -0800</date>
            <delta_ts>2012-02-17 07:04:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>78525.patch</filename>
            <type>text/plain</type>
            <size>35681</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3N2RiZDg5Li5lYjgwOGZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDIt
MTYgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIHJl
Z2lvbnMgZW5hYmxlZCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03ODUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzYWJsZXMgY3NzIHJlZ2lvbnMgZnVuY3Rpb25h
bGl0eSBhdCBydW50aW1lLiBUaGUgcHJlZmVyZW5jZSBrZXkgaXMgIldlYktpdENTU1JlZ2lvbnNF
bmFibGVkIi4KKyAgICAgICAgSW4gRFJULCB1c2UgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIsICIxIikgdG8gZW5hYmxlIHRo
ZSBjc3MgcmVnaW9ucyBmdW5jdGlvbmFsaXR5LgorICAgICAgICBUaGUgY3NzIHJlZ2lvbnMgdGVz
dHMgaW4gZmFzdC9yZXBhaW50IHdpbGwgYmUgbW92ZWQgdG8gZmFzdC9yZWdpb25zIGluIGFub3Ro
ZXIgcGF0Y2guCisgICAgICAgIFRoZSBjc3MgcmVnaW9ucyB0ZXN0cyBpbiBmYXN0L3JlZ2lvbnMg
YXJlIHNraXBwZWQgYW5kIHdpbGwgYmUgZW5hYmxlZCBpbiBhbm90aGVyIHBhdGNoLiAKKworICAg
ICAgICAqIGZhc3QvcmVwYWludC9qYXBhbmVzZS1ybC1zZWxlY3Rpb24tcmVwYWludC1pbi1yZWdp
b25zLmh0bWw6CisgICAgICAgICogZmFzdC9yZXBhaW50L2xpbmUtZmxvdy13aXRoLWZsb2F0cy1p
bi1yZWdpb25zLmh0bWw6CisgICAgICAgICogZmFzdC9yZXBhaW50L292ZXJmbG93LWZsaXBwZWQt
d3JpdGluZy1tb2RlLWJsb2NrLWluLXJlZ2lvbnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3JlcGFp
bnQvcmVnaW9uLXBhaW50aW5nLXZpYS1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisKIDIwMTItMDItMTYgIENz
YWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2
aWV3ZWQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ph
cGFuZXNlLXJsLXNlbGVjdGlvbi1yZXBhaW50LWluLXJlZ2lvbnMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9qYXBhbmVzZS1ybC1zZWxlY3Rpb24tcmVwYWludC1pbi1yZWdpb25zLmh0
bWwKaW5kZXggMTk5MTdjZi4uMTFmMDlmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2phcGFuZXNlLXJsLXNlbGVjdGlvbi1yZXBhaW50LWluLXJlZ2lvbnMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvamFwYW5lc2Utcmwtc2VsZWN0aW9uLXJlcGFpbnQt
aW4tcmVnaW9ucy5odG1sCkBAIC0yLDYgKzIsMTAgQEAKIDxodG1sIHN0eWxlPSJib3JkZXI6MTBw
eCBzb2xpZCBtYXJvb247IC13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsIj4KIDxoZWFk
PgogPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9VVRGLTgiPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIsICIxIik7Cis8L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcmVwYWludC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZnVuY3Rpb24g
cmVwYWludFRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2xpbmUt
Zmxvdy13aXRoLWZsb2F0cy1pbi1yZWdpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvbGluZS1mbG93LXdpdGgtZmxvYXRzLWluLXJlZ2lvbnMuaHRtbAppbmRleCBiNDg2NGM2Li41
ZWY0ODdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvbGluZS1mbG93LXdp
dGgtZmxvYXRzLWluLXJlZ2lvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQv
bGluZS1mbG93LXdpdGgtZmxvYXRzLWluLXJlZ2lvbnMuaHRtbApAQCAtMSw0ICsxLDggQEAKIDxi
b2R5IHN0eWxlPSJtYXJnaW46IDA7IiBvbmxvYWQ9ImxvYWRlZCgpIj4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTUmVn
aW9uc0VuYWJsZWQiLCAiMSIpOworICAgIDwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvbGluZS1mbG93LXdpdGgtZmxvYXRzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0Pgog
ICAgICAgICBmdW5jdGlvbiB0ZXN0KGRvYykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9vdmVyZmxvdy1mbGlwcGVkLXdyaXRpbmctbW9kZS1ibG9jay1pbi1yZWdpb25zLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvb3ZlcmZsb3ctZmxpcHBlZC13cml0aW5nLW1v
ZGUtYmxvY2staW4tcmVnaW9ucy5odG1sCmluZGV4IGZiMTM3OWIuLjllNmM4ZDUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1mbGlwcGVkLXdyaXRpbmctbW9k
ZS1ibG9jay1pbi1yZWdpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L292
ZXJmbG93LWZsaXBwZWQtd3JpdGluZy1tb2RlLWJsb2NrLWluLXJlZ2lvbnMuaHRtbApAQCAtMSwz
ICsxLDcgQEAKKzxzY3JpcHQ+CisJaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKwkJ
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NT
UmVnaW9uc0VuYWJsZWQiLCAiMSIpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3JlcGFpbnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KICAgICBvbmxvYWQgPSBydW5SZXBhaW50
VGVzdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWdpb24tcGFpbnRp
bmctdmlhLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlZ2lvbi1wYWlu
dGluZy12aWEtbGF5b3V0Lmh0bWwKaW5kZXggMmUyZGYzYS4uMzYwYmI0ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlZ2lvbi1wYWludGluZy12aWEtbGF5b3V0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlZ2lvbi1wYWludGluZy12aWEtbGF5b3V0
Lmh0bWwKQEAgLTEsNiArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KIDx0aXRsZT5UZXN0IGZvciBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzI8L3RpdGxlPgorPHNj
cmlwdD4KKwlpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorCQl3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NSZWdpb25zRW5hYmxl
ZCIsICIxIik7Cis8L3NjcmlwdD4KIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAjY29udGVudCB7
CiAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3cxOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGIwM2VhM2MuLjM5ZDQ2
MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQKQEAgLTI5OTEsNiArMjk5MSw5IEBAIEJVR0NSODUyOTMgTElOVVggOiBzdmcv
dGV4dC9mb3JlaWduT2JqZWN0LXRleHQtY2xpcHBpbmctYnVnLnhtbCA9IFBBU1MgSU1BR0UKIC8v
IENTUyBHcmlkIExheW91dCBpcyBub3QgZW5hYmxlZCB5ZXQuCiBCVUdXSzYwNzMxIFNLSVAgOiBm
YXN0L2Nzcy1ncmlkLWxheW91dCA9IFBBU1MKIAorLy8gU2tpcCByZWdpb24gdGVzdHMgZm9yIG5v
dworQlVHNzg1MjUgU0tJUCA6IGZhc3QvcmVnaW9ucyA9IFBBU1MKKwogLy8gdHdvIHJlZ2lvbnMg
cmVmdGVzdHMgZmFpbGluZyBvbiBDaHJvbWl1bQogQlVHV0s3NDIxOSA6IGZhc3QvcmVnaW9ucy9w
b3NpdGlvbmVkLW9iamVjdHMtYmxvY2stc3RhdGljLXNwYW5uaW5nLXJlZ2lvbnMtcnRsLmh0bWwg
PSBQQVNTIElNQUdFCiBCVUdXSzc0MjE5IDogZmFzdC9yZWdpb25zL3Bvc2l0aW9uZWQtb2JqZWN0
cy1ibG9jay1zdGF0aWMtc3Bhbm5pbmctcmVnaW9ucy5odG1sID0gUEFTUyBJTUFHRQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvU2tpcHBlZAppbmRleCBjOWVjNDc5Li5kMjY5ODdlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvU2tpcHBlZApAQCAtMTk2OCw2ICsxOTY4LDkgQEAgaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaGl4aWU3Ni93b3JrZXJzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFzaC5odG1sCiAjIENTUyBH
cmlkIExheW91dCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNjA3MzEK
IGZhc3QvY3NzLWdyaWQtbGF5b3V0CiAKKyMgRGlzYWJsZSByZWdpb25zIHRlc3RzIGZvciBub3cK
K2Zhc3QvcmVnaW9ucworCiAjIDxzdHlsZSBzY29wZWQ+IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi80OTE0MgogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQKaW5kZXggMzNmNDE5Yi4uNjcxYjhmMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1NraXBwZWQKQEAgLTQxMiw2ICs0MTIsOSBAQCB3ZWJhcmNoaXZlL2xvYWRpbmcvbWFpbnJlc291
cmNlLW51bGwtbWltZXR5cGUtY3Jhc2guaHRtbAogIyBDU1MgR3JpZCBMYXlvdXQgaXMgbm90IHll
dCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNzMxCiBmYXN0L2Nzcy1ncmlkLWxheW91
dAogCisjIERpc2FibGUgcmVnaW9ucyB0ZXN0cyBmb3Igbm93CitmYXN0L3JlZ2lvbnMKKwogIyA8
c3R5bGUgc2NvcGVkPiBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNDkx
NDIKIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdkYjdhYi4uOWRhNGY3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTAyLTE2ICBNaWhuZWEgT3ZpZGVu
aWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAgIENTUyByZWdpb25zIGVuYWJsZWQgYnkg
ZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzg1MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGRpc2FibGVzIGNzcyByZWdpb25zIGZ1bmN0aW9uYWxpdHkgYXQgcnVudGltZS4g
VGhlIHByZWZlcmVuY2Uga2V5IGlzICJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIuCisgICAgICAg
IEluIERSVCwgdXNlIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0Q1NTUmVnaW9uc0VuYWJsZWQiLCAiMSIpIHRvIGVuYWJsZSB0aGUgY3NzIHJlZ2lvbnMgZnVu
Y3Rpb25hbGl0eS4KKyAgICAgICAgVGhlIGNzcyByZWdpb25zIHRlc3RzIGluIGZhc3QvcmVwYWlu
dCB3aWxsIGJlIG1vdmVkIHRvIGZhc3QvcmVnaW9ucyBpbiBhbm90aGVyIHBhdGNoLgorICAgICAg
ICBUaGUgY3NzIHJlZ2lvbnMgdGVzdHMgaW4gZmFzdC9yZWdpb25zIGFyZSBza2lwcGVkIGFuZCB3
aWxsIGJlIGVuYWJsZWQgaW4gYW5vdGhlciBwYXRjaC4gCisKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNzc1JlZ2lvbnNFbmFibGVkKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZsb3dUaHJlYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVJlZ2lvblRocmVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVJlZ2lvblJ1bGUpOgorICAgICAgICAqIGNzcy9D
U1NQYXJzZXIuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmNzc1JlZ2lvbnNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdEdldEZsb3dCeU5hbWUpOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OndlYmtpdFJlZ2lvbk92ZXJmbG93
KToKKyAgICAgICAgKiBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCk6Cisg
ICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6
U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNldHRpbmdzOjpzZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0
aW5nczo6Y3NzUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAoU2V0dGluZ3MpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsb3dUaHJlYWQ6OlJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpjcmVhdGVPYmpl
Y3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUmVnaW9uOjpSZW5kZXJSZWdpb24pOgorCiAyMDEyLTAyLTE1ICBBbmRyZWFz
IEtsaW5nICA8YXdlc29tZWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGFyZSBmb250LWZh
bWlseSBDU1MgdmFsdWVzIHRocm91Z2ggQ1NTVmFsdWVQb29sLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAppbmRleCAxYjQ3MmEyLi5kOTJkMmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtOTkwLDE1ICs5OTAsMjUgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJ
ZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICB8fCBpZCA9PSBDU1NWYWx1ZUFsd2F5cwog
ICAgICAgICAgICAgfHwgaWQgPT0gQ1NTVmFsdWVBdm9pZAogICAgICAgICAgICAgfHwgaWQgPT0g
Q1NTVmFsdWVMZWZ0Ci0gICAgICAgICAgICB8fCBpZCA9PSBDU1NWYWx1ZVJpZ2h0KQotICAgICAg
ICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICAgICAgfHwgaWQgPT0gQ1NTVmFs
dWVSaWdodCkgeworICAgICAgICAgICAgaWYgKChwcm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRS
ZWdpb25CcmVha0FmdGVyKSB8fCAocHJvcElkID09IENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJl
YWtCZWZvcmUpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNzc1JlZ2lvbnNFbmFibGVkKCkpCisg
ICAgICAgICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgfQog
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdlQnJlYWtJbnNpZGU6ICAg
ICAvLyBhdm9pZCB8IGF1dG8gfCBpbmhlcml0CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENv
bHVtbkJyZWFrSW5zaWRlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0lu
c2lkZToKLSAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZUF2
b2lkKQotICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBpZiAoaWQg
PT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlQXZvaWQpIHsKKyAgICAgICAgICAgIGlm
IChwcm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0luc2lkZSkgeworICAgICAg
ICAgICAgICAgIGlmIChjc3NSZWdpb25zRW5hYmxlZCgpKQorICAgICAgICAgICAgICAgICAgICB2
YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKICAg
ICBjYXNlIENTU1Byb3BlcnR5RW1wdHlDZWxsczogICAgICAgICAgLy8gc2hvdyB8IGhpZGUgfCBp
bmhlcml0CkBAIC0xNzU2LDExICsxNzY2LDE1IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVl
KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUg
PSB2YWxpZFVuaXQodmFsdWUsIEZUaW1lIHwgRkludGVnZXIgfCBGTm9uTmVnLCBtX3N0cmljdCk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGbG93SW50bzoKKyAg
ICAgICAgaWYgKCFjc3NSZWdpb25zRW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICByZXR1cm4gcGFyc2VGbG93VGhyZWFkKHByb3BJZCwgaW1wb3J0YW50KTsKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rmxvd0Zyb206CisgICAgICAgIGlmICghY3NzUmVnaW9u
c0VuYWJsZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBh
cnNlUmVnaW9uVGhyZWFkKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0UmVnaW9uT3ZlcmZsb3c6Ci0gICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZUF1dG8gfHwg
aWQgPT0gQ1NTVmFsdWVCcmVhaykKKyAgICAgICAgaWYgKGNzc1JlZ2lvbnNFbmFibGVkKCkgJiYg
KGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZUJyZWFrKSkKICAgICAgICAgICAg
IHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CiAKQEAgLTcwNjMsMTAgKzcw
NzcsMTkgQEAgc3RhdGljIGJvb2wgdmFsaWRGbG93TmFtZShjb25zdCBTdHJpbmcmIGZsb3dOYW1l
KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6Y3NzUmVnaW9uc0VuYWJs
ZWQoKSBjb25zdAoreworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmaW5kRG9jdW1lbnQo
KSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5jc3NSZWdpb25zRW5hYmxlZCgpOworCisgICAg
cmV0dXJuIGZhbHNlOworfQorCiAvLyBhdXRvIHwgPGlkZW50PgogYm9vbCBDU1NQYXJzZXI6OnBh
cnNlRmxvd1RocmVhZChpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKIHsKICAgICBBU1NFUlQo
cHJvcElkID09IENTU1Byb3BlcnR5V2Via2l0Rmxvd0ludG8pOworICAgIEFTU0VSVChjc3NSZWdp
b25zRW5hYmxlZCgpKTsKIAogICAgIGlmIChtX3ZhbHVlTGlzdC0+c2l6ZSgpICE9IDEpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTcwOTgsNiArNzEyMSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZUZsb3dUaHJlYWQoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiBib29sIENTU1BhcnNl
cjo6cGFyc2VSZWdpb25UaHJlYWQoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiB7CiAgICAg
QVNTRVJUKHByb3BJZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEZsb3dGcm9tKTsKKyAgICBBU1NFUlQo
Y3NzUmVnaW9uc0VuYWJsZWQoKSk7CiAKICAgICBpZiAobV92YWx1ZUxpc3QtPnNpemUoKSAhPSAx
KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC04OTI5LDcgKzg5NTMsNyBAQCB2b2lkIENTU1Bh
cnNlcjo6c2V0UmV1c2FibGVSZWdpb25TZWxlY3RvclZlY3RvcihWZWN0b3I8T3duUHRyPENTU1Bh
cnNlclNlbGVjdG9yPgogCiBDU1NSdWxlKiBDU1NQYXJzZXI6OmNyZWF0ZVJlZ2lvblJ1bGUoVmVj
dG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogcmVnaW9uU2VsZWN0b3IsIENTU1J1bGVM
aXN0KiBydWxlcykKIHsKLSAgICBpZiAoIXJlZ2lvblNlbGVjdG9yIHx8ICFydWxlcykKKyAgICBp
ZiAoIWNzc1JlZ2lvbnNFbmFibGVkKCkgfHwgIXJlZ2lvblNlbGVjdG9yIHx8ICFydWxlcykKICAg
ICAgICAgcmV0dXJuIDA7CiAKICAgICBtX2FsbG93SW1wb3J0UnVsZXMgPSBtX2FsbG93TmFtZXNw
YWNlRGVjbGFyYXRpb25zID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMmEzYmM2
NC4uMDAzNTFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjEzLDYgKzIxMyw3IEBAIHB1
YmxpYzoKICAgICBib29sIHBhcnNlRm9udEZlYXR1cmVUYWcoQ1NTVmFsdWVMaXN0Kik7CiAgICAg
Ym9vbCBwYXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9v
bCBjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgcGFyc2VGbG93VGhyZWFkKGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlUmVnaW9uVGhyZWFkKGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
OGY0YWVjMS4uNzAwNmI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMDIwLDggKzEw
MjAsMTUgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBEb2N1bWVudDo6Y3JlYXRlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiBxTmFtZSwgYm9vbCBjcmUKICAgICByZXR1cm4gZS5yZWxlYXNlKCk7
CiB9CiAKK2Jvb2wgRG9jdW1lbnQ6OmNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc2V0dGluZ3MoKSAmJiBzZXR0aW5ncygpLT5jc3NSZWdpb25zRW5hYmxlZCgpOyAKK30K
KwogUGFzc1JlZlB0cjxXZWJLaXROYW1lZEZsb3c+IERvY3VtZW50Ojp3ZWJraXRHZXRGbG93QnlO
YW1lKGNvbnN0IFN0cmluZyYgZmxvd05hbWUpCiB7CisgICAgaWYgKCFjc3NSZWdpb25zRW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm4gMDsKICAgICBpZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJl
dHVybiAwOwogICAgIGlmIChSZW5kZXJWaWV3KiB2aWV3ID0gcmVuZGVyZXIoKS0+dmlldygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAppbmRleCA5N2E4ZDVlLi4xZjljYWVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMzUwLDYgKzM1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
RWxlbWVudD4gY3JlYXRlRWxlbWVudE5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25z
dCBTdHJpbmcmIHF1YWxpZmllZE5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRy
PEVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGJvb2wgY3JlYXRl
ZEJ5UGFyc2VyKTsKIAorICAgIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdDsKICAgICBQ
YXNzUmVmUHRyPFdlYktpdE5hbWVkRmxvdz4gd2Via2l0R2V0Rmxvd0J5TmFtZShjb25zdCBTdHJp
bmcmKTsKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDQ0NmY0ZjMuLmEyNjZj
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE5NjQsNyArMTk2NCw3IEBAIFBhc3NSZWZQ
dHI8V2ViS2l0QW5pbWF0aW9uTGlzdD4gRWxlbWVudDo6d2Via2l0R2V0QW5pbWF0aW9ucygpIGNv
bnN0CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6d2Via2l0UmVnaW9uT3ZlcmZsb3co
KSBjb25zdAogewotICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzUmVuZGVyUmVn
aW9uKCkpIHsKKyAgICBpZiAoZG9jdW1lbnQoKSAmJiBkb2N1bWVudCgpLT5jc3NSZWdpb25zRW5h
YmxlZCgpICYmIHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNSZW5kZXJSZWdpb24oKSkgewog
ICAgICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHRvUmVuZGVyUmVnaW9uKHJlbmRlcmVyKCkp
OwogICAgICAgICBzd2l0Y2ggKHJlZ2lvbi0+cmVnaW9uU3RhdGUoKSkgewogICAgICAgICBjYXNl
IFJlbmRlclJlZ2lvbjo6UmVnaW9uRml0OiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5k
ZXJpbmdDb250ZXh0LmNwcAppbmRleCA2YzkwYjYxLi4zNWM3NDFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTI5NSw2ICsyOTUsOCBAQCBib29s
IE5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRDcmVhdGVSZW5kZXJlcigpIGNvbnN0CiAKIHZv
aWQgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCgpCiB7Cisg
ICAgaWYgKCFtX25vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFibGVkKCkpCisgICAgICAg
IHJldHVybjsKICAgICBpZiAoIW1fbm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFtX3N0eWxlIHx8
IG1fc3R5bGUtPmZsb3dUaHJlYWQoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBiNWNiOTYzLi41MTU5MzI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcApAQCAtMTczLDYgKzE3Myw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdl
KiBwYWdlKQogICAgICwgbV9hY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKGZhbHNlKQogICAgICwg
bV9hY2NlbGVyYXRlZEZpbHRlcnNFbmFibGVkKGZhbHNlKQogICAgICwgbV9pc0NTU0N1c3RvbUZp
bHRlckVuYWJsZWQoZmFsc2UpCisgICAgLCBtX2Nzc1JlZ2lvbnNFbmFibGVkKGZhbHNlKQogICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCByZWFsbHkgYmUgZGlzYWJsZWQgYnkgZGVmYXVsdCBhcyBp
dCBtYWtlcyBwbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBmZWF0dXJlIGRvd25sb2Fk
IGZpbGVzCiAgICAgLy8gdGhleSBjYW4ndCB1c2UgYnkuIExlYXZpbmcgZW5hYmxlZCBmb3Igbm93
IHRvIG5vdCBjaGFuZ2UgZXhpc3RpbmcgYmVoYXZpb3IuCiAgICAgLCBtX2Rvd25sb2FkYWJsZUJp
bmFyeUZvbnRzRW5hYmxlZCh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDNhMTQwNjYu
LjcyNTIwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTMxMyw2ICszMTMsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChi
b29sIGVuYWJsZWQpIHsgbV9pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQgPSBlbmFibGVkOyB9CiAg
ICAgICAgIGJvb2wgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c0NTU0N1c3RvbUZpbHRlckVuYWJsZWQ7IH0KIAorICAgICAgICB2b2lkIHNldENTU1JlZ2lvbnNF
bmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2Nzc1JlZ2lvbnNFbmFibGVkID0gZW5hYmxlZDsgfQor
ICAgICAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9jc3NSZWdp
b25zRW5hYmxlZDsgfQorCiAgICAgICAgIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Vu
YWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOyB9CiAKQEAg
LTYxMiw2ICs2MTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9hY2Nl
bGVyYXRlZERyYXdpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FjY2VsZXJhdGVkRmls
dGVyc0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1faXNDU1NDdXN0b21GaWx0ZXJFbmFibGVk
IDogMTsKKyAgICAgICAgYm9vbCBtX2Nzc1JlZ2lvbnNFbmFibGVkIDogMTsKICAgICAgICAgYm9v
bCBtX2Rvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV94
c3NBdWRpdG9yRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1Ro
cmVhZC5jcHAKaW5kZXggY2ZhNWU5NC4uNmI4YzFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtNTIsNiArNTIsNyBAQCBSZW5kZXJGbG93
VGhyZWFkOjpSZW5kZXJGbG93VGhyZWFkKE5vZGUqIG5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYg
Zmxvd1RocmVhZCkKICAgICAsIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoKHRydWUp
CiAgICAgLCBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxIZWlnaHQodHJ1ZSkKIHsKKyAgICBB
U1NFUlQobm9kZS0+ZG9jdW1lbnQoKS0+Y3NzUmVnaW9uc0VuYWJsZWQoKSk7CiAgICAgc2V0SXNB
bm9ueW1vdXMoZmFsc2UpOwogICAgIHNldEluUmVuZGVyRmxvd1RocmVhZCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA2Y2E3MTkyLi5lODk1MTIy
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTU4LDcg
KzE1OCw3IEBAIFJlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QoTm9kZSog
bm9kZSwgUmVuZGVyU3R5bGUqIHN0eWxlKQogICAgIGNhc2UgUlVOX0lOOgogICAgIGNhc2UgQ09N
UEFDVDoKICAgICAgICAgLy8gT25seSBub24tcmVwbGFjZWQgYmxvY2sgZWxlbWVudHMgY2FuIGJl
Y29tZSBhIHJlZ2lvbi4KLSAgICAgICAgaWYgKCFzdHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNFbXB0
eSgpICYmIGRvYy0+cmVuZGVyVmlldygpKQorICAgICAgICBpZiAoZG9jLT5jc3NSZWdpb25zRW5h
YmxlZCgpICYmICFzdHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNFbXB0eSgpICYmIGRvYy0+cmVuZGVy
VmlldygpKQogICAgICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclJlZ2lvbihub2Rl
LCBkb2MtPnJlbmRlclZpZXcoKS0+ZW5zdXJlUmVuZGVyRmxvd1RocmVhZFdpdGhOYW1lKHN0eWxl
LT5yZWdpb25UaHJlYWQoKSkpOwogICAgICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyQmxv
Y2sobm9kZSk7CiAgICAgY2FzZSBMSVNUX0lURU06CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZWdpb24uY3BwCmluZGV4IDZkYjYwM2IuLjQyZjdkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCkBAIC00OSw2ICs0OSw3IEBAIFJlbmRlclJlZ2lv
bjo6UmVuZGVyUmVnaW9uKE5vZGUqIG5vZGUsIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQp
CiAgICAgLCBtX2hhc0N1c3RvbVJlZ2lvblN0eWxlKGZhbHNlKQogICAgICwgbV9yZWdpb25TdGF0
ZShSZWdpb25VbmRlZmluZWQpCiB7CisgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCktPmNzc1Jl
Z2lvbnNFbmFibGVkKCkpOwogfQogCiBMYXlvdXRSZWN0IFJlbmRlclJlZ2lvbjo6cmVnaW9uT3Zl
cmZsb3dSZWN0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNTExYjFiOC4u
MThiZjU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAx
Mi0wMi0xNiAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAgICBD
U1MgcmVnaW9ucyBlbmFibGVkIGJ5IGRlZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkaXNhYmxlcyBjc3MgcmVnaW9ucyBmdW5j
dGlvbmFsaXR5IGF0IHJ1bnRpbWUuIFRoZSBwcmVmZXJlbmNlIGtleSBpcyAiV2ViS2l0Q1NTUmVn
aW9uc0VuYWJsZWQiLgorICAgICAgICBJbiBEUlQsIHVzZSBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIiwgIjEiKSB0byBlbmFi
bGUgdGhlIGNzcyByZWdpb25zIGZ1bmN0aW9uYWxpdHkuCisgICAgICAgIFRoZSBjc3MgcmVnaW9u
cyB0ZXN0cyBpbiBmYXN0L3JlcGFpbnQgd2lsbCBiZSBtb3ZlZCB0byBmYXN0L3JlZ2lvbnMgaW4g
YW5vdGhlciBwYXRjaC4KKyAgICAgICAgVGhlIGNzcyByZWdpb25zIHRlc3RzIGluIGZhc3QvcmVn
aW9ucyBhcmUgc2tpcHBlZCBhbmQgd2lsbCBiZSBlbmFibGVkIGluIGFub3RoZXIgcGF0Y2guIAor
CisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6CisgICAgICAgICogc3JjL1dlYlNldHRp
bmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0RXhwZXJp
bWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBz
cmMvV2ViU2V0dGluZ3NJbXBsLmg6CisgICAgICAgIChXZWJTZXR0aW5nc0ltcGwpOgorCiAyMDEy
LTAyLTE2ICBZb3NpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBC
dWlsZCBGaXg6IFIxMDc4OTQgYnJlYWtzIENocm9taXVtIExpbnV4IEJ1aWxkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKaW5kZXggYWEyNzgyNS4uOTc2ZTc2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCkBAIC05
Niw2ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxp
Y2F0aW9uQ2FjaGVFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0V2ViQXVk
aW9FbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsV2Vi
R0xFbmFibGVkKGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsQ1NT
UmVnaW9uc0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRPcGVuR0xNdWx0
aXNhbXBsaW5nRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFByaXZpbGVn
ZWRXZWJHTEV4dGVuc2lvbnNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGJvb2wpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCmluZGV4IGQ5NDU4YzQuLjkwYmQwMGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcApA
QCAtMjg4LDYgKzI4OCwxMSBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0RXhwZXJpbWVudGFs
V2ViR0xFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBtX3NldHRpbmdzLT5zZXRXZWJHTEVuYWJs
ZWQoZW5hYmxlZCk7CiB9CiAKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRFeHBlcmltZW50YWxD
U1NSZWdpb25zRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgbV9zZXR0aW5ncy0+c2V0Q1NT
UmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRP
cGVuR0xNdWx0aXNhbXBsaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV9zZXR0aW5n
cy0+c2V0T3BlbkdMTXVsdGlzYW1wbGluZ0VuYWJsZWQoZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCmluZGV4IDZkMWVkYjYuLmJiNjExYzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCkBAIC04
OCw2ICs4OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxp
Y2F0aW9uQ2FjaGVFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRXZWJBdWRpb0Vu
YWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEV4cGVyaW1lbnRhbFdlYkdMRW5hYmxl
ZChib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJs
ZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE9wZW5HTE11bHRpc2FtcGxpbmdFbmFibGVk
KGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5h
YmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFi
bGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhmNWQ4MjcuLjM3Y2VkN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wMi0xNiAgTWlobmVhIE92aWRlbmllICA8
bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAgICBDU1MgcmVnaW9ucyBlbmFibGVkIGJ5IGRlZmF1
bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTI1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBkaXNhYmxlcyBjc3MgcmVnaW9ucyBmdW5jdGlvbmFsaXR5IGF0IHJ1bnRpbWUuIFRoZSBw
cmVmZXJlbmNlIGtleSBpcyAiV2ViS2l0Q1NTUmVnaW9uc0VuYWJsZWQiLgorICAgICAgICBJbiBE
UlQsIHVzZSBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENT
U1JlZ2lvbnNFbmFibGVkIiwgIjEiKSB0byBlbmFibGUgdGhlIGNzcyByZWdpb25zIGZ1bmN0aW9u
YWxpdHkuCisgICAgICAgIFRoZSBjc3MgcmVnaW9ucyB0ZXN0cyBpbiBmYXN0L3JlcGFpbnQgd2ls
bCBiZSBtb3ZlZCB0byBmYXN0L3JlZ2lvbnMgaW4gYW5vdGhlciBwYXRjaC4KKyAgICAgICAgVGhl
IGNzcyByZWdpb25zIHRlc3RzIGluIGZhc3QvcmVnaW9ucyBhcmUgc2tpcHBlZCBhbmQgd2lsbCBi
ZSBlbmFibGVkIGluIGFub3RoZXIgcGF0Y2guIAorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIGNzc1JlZ2lvbnNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHNldENTU1JlZ2lvbnNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTItMDItMTUgIEVucmljYSBD
YXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBDbGlwYm9hcmRN
YWMgY2xhc3MgdG8gdXNlIFBsYXRmb3JtU3RyYXRlZ2llcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDIwZTQyYWIu
LmIxMjNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtOTUsNiArOTUsNyBAQAogI2RlZmluZSBXZWJLaXRDYW52
YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nUHJlZmVyZW5jZUtleSBAIldlYktpdENhbnZhc1VzZXNB
Y2NlbGVyYXRlZERyYXdpbmciCiAjZGVmaW5lIFdlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiCisjZGVmaW5lIFdlYktpdENTU1JlZ2lvbnNFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIgogI2RlZmluZSBXZWJL
aXRTaG93RGVidWdCb3JkZXJzUHJlZmVyZW5jZUtleSBAIldlYktpdFNob3dEZWJ1Z0JvcmRlcnMi
CiAjZGVmaW5lIFdlYktpdFNob3dSZXBhaW50Q291bnRlclByZWZlcmVuY2VLZXkgQCJXZWJLaXRT
aG93UmVwYWludENvdW50ZXIiCiAjZGVmaW5lIFdlYktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRXZWJBdWRpb0VuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAxNTMyMDM5Li45NDRkYTVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTM2OSw2ICszNjksOCBAQCAr
ICh2b2lkKWluaXRpYWxpemUKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIC8vIENTUyBTaGFkZXJzIGFsc28gbmVlZCBXZWJHTCBlbmFibGVkICh3aGljaCBpcyBkaXNh
YmxlZCBieSBkZWZhdWx0KSwgc28gd2UgY2FuIGtlZXAgaXQgZW5hYmxlZCBmb3Igbm93LgogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgV2ViS2l0Q1NTQ3VzdG9tRmlsdGVy
RW5hYmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIC8vIENTUyBSZWdpb25zIG5vdCBlbmFibGVk
IGJ5IGRlZmF1bHRzCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktp
dENTU1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOk5PXSwgIFdlYktpdEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0Q2FudmFz
VXNlc0FjY2VsZXJhdGVkRHJhd2luZ1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hvd0RlYnVnQm9yZGVyc1ByZWZlcmVuY2VLZXks
CkBAIC0xMzM1LDYgKzEzMzcsMTYgQEAgLSAodm9pZClzZXRDU1NDdXN0b21GaWx0ZXJFbmFibGVk
OihCT09MKWVuYWJsZWQKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5Oldl
YktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClj
c3NSZWdpb25zRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5Oldl
YktpdENTU1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0Q1NT
UmVnaW9uc0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZW5hYmxlZCBmb3JLZXk6V2ViS2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30K
KwogLSAoQk9PTClzaG93RGVidWdCb3JkZXJzCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0U2hvd0RlYnVnQm9yZGVyc1ByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMzA1
NDM0Zi4uZGMxZTZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xODksNiArMTg5LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpX
ZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpY3NzQ3Vz
dG9tRmlsdGVyRW5hYmxlZDsKIC0gKHZvaWQpc2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZDooQk9P
TCllbmFibGVkOwogCistIChCT09MKWNzc1JlZ2lvbnNFbmFibGVkOworLSAodm9pZClzZXRDU1NS
ZWdpb25zRW5hYmxlZDooQk9PTCllbmFibGVkOworCiAtIChCT09MKXNob3dEZWJ1Z0JvcmRlcnM7
CiAtICh2b2lkKXNldFNob3dEZWJ1Z0JvcmRlcnM6KEJPT0wpc2hvdzsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDRkZjc3NTguLjk5Y2Q3ZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE0NzQsNiArMTQ3NCw3IEBAIC0gKHZvaWQpX3ByZWZl
cmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogI2lmIEVOQUJMRShD
U1NfU0hBREVSUykKICAgICBzZXR0aW5ncy0+c2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChbcHJl
ZmVyZW5jZXMgY3NzQ3VzdG9tRmlsdGVyRW5hYmxlZF0pOwogI2VuZGlmCisgICAgc2V0dGluZ3Mt
PnNldENTU1JlZ2lvbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBjc3NSZWdpb25zRW5hYmxlZF0pOwog
I2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBzZXR0aW5ncy0+c2V0RnVsbFNjcmVlbkVu
YWJsZWQoW3ByZWZlcmVuY2VzIGZ1bGxTY3JlZW5FbmFibGVkXSk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCAxNjliYWJiLi41ZGE5YTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTIt
MDItMTYgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NT
IHJlZ2lvbnMgZW5hYmxlZCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03ODUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzYWJsZXMgY3NzIHJlZ2lvbnMgZnVuY3Rp
b25hbGl0eSBhdCBydW50aW1lLiBUaGUgcHJlZmVyZW5jZSBrZXkgaXMgIldlYktpdENTU1JlZ2lv
bnNFbmFibGVkIi4KKyAgICAgICAgSW4gRFJULCB1c2UgbGF5b3V0VGVzdENvbnRyb2xsZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIsICIxIikgdG8gZW5hYmxl
IHRoZSBjc3MgcmVnaW9ucyBmdW5jdGlvbmFsaXR5LgorICAgICAgICBUaGUgY3NzIHJlZ2lvbnMg
dGVzdHMgaW4gZmFzdC9yZXBhaW50IHdpbGwgYmUgbW92ZWQgdG8gZmFzdC9yZWdpb25zIGluIGFu
b3RoZXIgcGF0Y2guCisgICAgICAgIFRoZSBjc3MgcmVnaW9ucyB0ZXN0cyBpbiBmYXN0L3JlZ2lv
bnMgYXJlIHNraXBwZWQgYW5kIHdpbGwgYmUgZW5hYmxlZCBpbiBhbm90aGVyIHBhdGNoLiAKKwor
ICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNTZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0Q1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3Zl
cnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMpOgorCiAyMDEyLTAyLTE2ICBBZGVuaWxzb24gQ2F2YWxjYW50aSAgPGNhdmFsY2Fu
dGlpQGdtYWlsLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gU3BsaXQgUVdlYlBlcm1pc3Npb25S
ZXF1ZXN0IGludG8gUVdlYlNlY3VyaXR5T3JpZ2luCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByZWZlcmVuY2VzU3RvcmUuaAppbmRleCBlYmE0NDdmLi5mMjkxMTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTczLDYgKzczLDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAgICAgbWFjcm8oQ29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNp
YmxlLCBjb21wb3NpdGluZ1JlcGFpbnRDb3VudGVyc1Zpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCiAgICAgbWFjcm8oQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgY3NzQ3VzdG9tRmlsdGVyRW5h
YmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFdlYkdMRW5hYmxlZCwgd2ViR0xF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKENTU1JlZ2lvbnNFbmFibGVk
LCBjc3NSZWdpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhGb3Jj
ZUZUUERpcmVjdG9yeUxpc3RpbmdzLCBmb3JjZUZUUERpcmVjdG9yeUxpc3RpbmdzLCBCb29sLCBi
b29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFRhYnNUb0xpbmtzLCB0YWJzVG9MaW5rcywgQm9vbCwg
Ym9vbCwgREVGQVVMVF9XRUJLSVRfVEFCU1RPTElOS1NfRU5BQkxFRCkgXAogICAgIG1hY3JvKERO
U1ByZWZldGNoaW5nRW5hYmxlZCwgZG5zUHJlZmV0Y2hpbmdFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IDUyMWU2ZDQuLmUwNzZiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTQwOCw2ICs0MDgsMTYgQEAgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0V2ViR0xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPndlYkdMRW5hYmxlZCgp
OwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRDU1NSZWdpb25zRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldENTU1JlZ2lvbnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmNzc1JlZ2lvbnNFbmFibGVk
KCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhmbGFnKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRl
LmgKaW5kZXggOTE1M2NjYS4uNjEwMTQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTkyLDYgKzkyLDEwIEBA
IFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJHTEVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiwgYm9vbCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0V2ViR0xFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYpOwogCiAvLyBEZWZhdWx0cyB0byBmYWxzZS4KK1dLX0VYUE9SVCB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRDU1NSZWdpb25zRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBi
b29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENTU1JlZ2lvbnNFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCisvLyBEZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhXS1ByZWZlcmVu
Y2VzUmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXROZWVkc1NpdGVT
cGVjaWZpY1F1aXJrcyhXS1ByZWZlcmVuY2VzUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApp
bmRleCBmNDBhMjRhLi4yMjY3ZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtMTI4LDYg
KzEyOCw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JU
ZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlCiAjZGVmaW5lIEZPUl9FQUNIX09WRVJS
SURFX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAogICAgIG1hY3JvKFdlYktpdEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdFbmFibGVkLCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgYWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRDU1NDdXN0b21GaWx0
ZXJFbmFibGVkLCBDU1NDdXN0b21GaWx0ZXJFbmFibGVkLCBjc3NDdXN0b21GaWx0ZXJFbmFibGVk
KSBcCisgICAgbWFjcm8oV2ViS2l0Q1NTUmVnaW9uc0VuYWJsZWQsIENTU1JlZ2lvbnNFbmFibGVk
LCBjc3NSZWdpb25zRW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdEphdmFFbmFibGVkLCBKYXZh
RW5hYmxlZCwgamF2YUVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRKYXZhU2NyaXB0RW5hYmxl
ZCwgU2NyaXB0RW5hYmxlZCwgamF2YVNjcmlwdEVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRM
b2FkU2l0ZUljb25zS2V5LCBMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGlu
ZywgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2MTlkMWEy
Li40MDIyZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC0xODg2LDYgKzE4ODYsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIHNldHRpbmdzLT5zZXRT
aG93RGVidWdCb3JkZXJzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6Y29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldFNo
b3dSZXBhaW50Q291bnRlcihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmNvbXBvc2l0aW5nUmVwYWludENvdW50ZXJzVmlzaWJsZUtleSgpKSk7CiAgICAgc2V0dGlu
Z3MtPnNldENTU0N1c3RvbUZpbHRlckVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5Ojpjc3NDdXN0b21GaWx0ZXJFbmFibGVkS2V5KCkpKTsKKyAgICBzZXR0
aW5ncy0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5Ojpjc3NSZWdpb25zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNl
dFdlYkdMRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OndlYkdMRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldE1lZGlhUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6bWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmVLZXkoKSkpOwogICAgIHNldHRpbmdz
LT5zZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6bWVkaWFQbGF5YmFja0FsbG93c0lubGluZUtleSgpKSk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmRhMmJiMS4u
MTJkYmM5ZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAyLTE2ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFA
YWRvYmUuY29tPgorCisgICAgICAgIENTUyByZWdpb25zIGVuYWJsZWQgYnkgZGVmYXVsdAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGRp
c2FibGVzIGNzcyByZWdpb25zIGZ1bmN0aW9uYWxpdHkgYXQgcnVudGltZS4gVGhlIHByZWZlcmVu
Y2Uga2V5IGlzICJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIuCisgICAgICAgIEluIERSVCwgdXNl
IGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTUmVnaW9u
c0VuYWJsZWQiLCAiMSIpIHRvIGVuYWJsZSB0aGUgY3NzIHJlZ2lvbnMgZnVuY3Rpb25hbGl0eS4K
KyAgICAgICAgVGhlIGNzcyByZWdpb25zIHRlc3RzIGluIGZhc3QvcmVwYWludCB3aWxsIGJlIG1v
dmVkIHRvIGZhc3QvcmVnaW9ucyBpbiBhbm90aGVyIHBhdGNoLgorICAgICAgICBUaGUgY3NzIHJl
Z2lvbnMgdGVzdHMgaW4gZmFzdC9yZWdpb25zIGFyZSBza2lwcGVkIGFuZCB3aWxsIGJlIGVuYWJs
ZWQgaW4gYW5vdGhlciBwYXRjaC4gCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6cmVzZXQpOgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmFwcGx5VG8pOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgIChXZWJQcmVmZXJlbmNlcyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAg
ICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTItMDItMTYgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGlzYWJsZSBpbnNw
ZWN0b3Igb24gV2luQ0UuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNTQyOGVmYy4uM2MzYjgzYiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcApAQCAtMTUyMSw2ICsxNTIxLDggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
b3ZlcnJpZGVQcmVmZXJlbmNlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLAogICAg
ICAgICBwcmVmcy0+dGFic1RvTGlua3MgPSBjcHBWYXJpYW50VG9Cb29sKHZhbHVlKTsKICAgICBl
bHNlIGlmIChrZXkgPT0gIldlYktpdFdlYkdMRW5hYmxlZCIpCiAgICAgICAgIHByZWZzLT5leHBl
cmltZW50YWxXZWJHTEVuYWJsZWQgPSBjcHBWYXJpYW50VG9Cb29sKHZhbHVlKTsKKyAgICBlbHNl
IGlmIChrZXkgPT0gIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIikKKyAgICAgICAgcHJlZnMtPmV4
cGVyaW1lbnRhbENTU1JlZ2lvbnNFbmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAg
ICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQiKQogICAg
ICAgICBwcmVmcy0+aHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2
YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRFbmFibGVDYXJldEJyb3dzaW5nIikK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2Vz
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcApp
bmRleCAzNjUxZjg4Li5mMzJmNGVlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC04MCw2ICs4MCw3IEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnJlc2V0KCkKICAgICBkZWZhdWx0VGV4dEVuY29kaW5nTmFtZSA9IFdlYlN0cmluZzo6
ZnJvbVVURjgoIklTTy04ODU5LTEiKTsKICAgICBkZXZlbG9wZXJFeHRyYXNFbmFibGVkID0gdHJ1
ZTsKICAgICBleHBlcmltZW50YWxXZWJHTEVuYWJsZWQgPSBmYWxzZTsKKyAgICBleHBlcmltZW50
YWxDU1NSZWdpb25zRW5hYmxlZCA9IGZhbHNlOwogICAgIGphdmFFbmFibGVkID0gZmFsc2U7CiAg
ICAgamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCA9IHRydWU7CiAgICAgamF2YVNjcmlwdENh
bk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSA9IHRydWU7CkBAIC0xOTMsNiArMTk0LDcgQEAgdm9p
ZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3ZWJWaWV3KQogICAgIHNldHRpbmdz
LT5zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShkZWZhdWx0VGV4dEVuY29kaW5nTmFtZSk7CiAg
ICAgc2V0dGluZ3MtPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZCk7CiAgICAgc2V0dGluZ3MtPnNldEV4cGVyaW1lbnRhbFdlYkdMRW5hYmxlZChleHBlcmlt
ZW50YWxXZWJHTEVuYWJsZWQpOworICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxDU1NSZWdp
b25zRW5hYmxlZChleHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZCk7CiAgICAgc2V0dGluZ3Mt
PnNldEphdmFFbmFibGVkKGphdmFFbmFibGVkKTsKICAgICBzZXR0aW5ncy0+c2V0SmF2YVNjcmlw
dENhbkFjY2Vzc0NsaXBib2FyZChqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKTsKICAgICBz
ZXR0aW5ncy0+c2V0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseShqYXZhU2Ny
aXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IDEzOTA4ZWMuLjFjYjlhYjIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuaApAQCAtODIs
NiArODIsNyBAQCBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXMgewogICAgIFdlYktpdDo6V2ViU3RyaW5n
IGRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lOwogICAgIGJvb2wgZGV2ZWxvcGVyRXh0cmFzRW5hYmxl
ZDsKICAgICBib29sIGV4cGVyaW1lbnRhbFdlYkdMRW5hYmxlZDsKKyAgICBib29sIGV4cGVyaW1l
bnRhbENTU1JlZ2lvbnNFbmFibGVkOwogICAgIGJvb2wgamF2YUVuYWJsZWQ7CiAgICAgYm9vbCBq
YXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkOwogICAgIGJvb2wgamF2YVNjcmlwdENhbk9wZW5X
aW5kb3dzQXV0b21hdGljYWxseTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbQppbmRleCA0Nzg3YWE1Li44Mzk4NDkwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC02NDgsNiArNjQ4LDcgQEAgc3RhdGljIHZvaWQgcmVz
ZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgW3ByZWZlcmVuY2VzIHNldEFjY2Vs
ZXJhdGVkRHJhd2luZ0VuYWJsZWQ6Tk9dOwogI2VuZGlmCiAgICAgW3ByZWZlcmVuY2VzIHNldFdl
YkdMRW5hYmxlZDpOT107CisgICAgW3ByZWZlcmVuY2VzIHNldENTU1JlZ2lvbnNFbmFibGVkOk5P
XTsKICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6Tk9dOwogICAg
IFtwcmVmZXJlbmNlcyBzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZDpOT107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQ6Tk9dOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127584</attachid>
            <date>2012-02-17 07:04:56 -0800</date>
            <delta_ts>2012-02-17 12:44:19 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>78525-2.patch</filename>
            <type>text/plain</type>
            <size>37988</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZTU2YTU4Li44NzkyMTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDIt
MTcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIHJl
Z2lvbnMgZW5hYmxlZCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03ODUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgcHJlZmVyZW5jZSB0byBlbmFibGUvZGlzYWJs
ZSByZWdpb25zIGZ1bmN0aW9uYWxpdHkgYXQgcnVudGltZShXZWJLaXRDU1NSZWdpb25zRW5hYmxl
ZCkuCisgICAgICAgIENTU1JlZ2lvbnMgYXJlIHN0aWxsIGVuYWJsZWQgYnkgZGVmYXVsdC4KKyAg
ICAgICAgSW4gRFJULCB1c2UgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIsICIwIikgdG8gZGlzYWJsZSB0aGUgY3NzIHJlZ2lv
bnMgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9jc3MtcmVnaW9ucy1k
aXNhYmxlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9jc3Mt
cmVnaW9ucy1kaXNhYmxlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvc2Ny
aXB0LXRlc3RzL2Nzcy1yZWdpb25zLWRpc2FibGVkLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RX
ZWJLaXRGbG93SW50byk6CisgICAgICAgICh0ZXN0V2ViS2l0Rmxvd0Zyb20pOgorICAgICAgICAo
dGVzdFdlYktpdFJlZ2lvbk92ZXJmbG93KToKKyAgICAgICAgKHRlc3RDb21wdXRlZFN0eWxlV2Vi
S2l0Rmxvd0ludG8pOgorICAgICAgICAodGVzdENvbXB1dGVkU3R5bGVXZWJLaXRGbG93RnJvbSk6
CisgICAgICAgICh0ZXN0Q29tcHV0ZWRTdHlsZVdlYktpdFJlZ2lvbk92ZXJmbG93KToKKwogMjAx
Mi0wMi0xNyAgTm9lbCBHb3Jkb24gIDxub2VsLmdvcmRvbkBnbWFpbC5jb20+CiAKICAgICAgICAg
W2Nocm9taXVtXSBSZWJhc2VsaW5lIEpQRUcgaW1hZ2UgcmVzdWx0cyBhZnRlciByMTA3Mzg5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY3NzLXJlZ2lvbnMtZGlzYWJsZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Nzcy1yZWdpb25zLWRpc2Fi
bGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjM1
YzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Nzcy1yZWdp
b25zLWRpc2FibGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0IHRoYXQgcGFy
c2luZyBvZiBjc3MgcmVnaW9ucyByZWxhdGVkIHByb3BlcnRpZXMgaXMgZGlzYWJsZWQgYnkgZGVm
YXVsdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdFdlYktpdEZs
b3dJbnRvKCItd2Via2l0LWZsb3ctaW50bzogYXV0byIpIGlzICIiCitQQVNTIHRlc3RXZWJLaXRG
bG93SW50bygiLXdlYmtpdC1mbG93LWludG86IGZpcnN0LWZsb3ciKSBpcyAiIgorUEFTUyB0ZXN0
Q29tcHV0ZWRTdHlsZVdlYktpdEZsb3dJbnRvKCJhdXRvIikgaXMgImF1dG8iCitQQVNTIHRlc3RD
b21wdXRlZFN0eWxlV2ViS2l0Rmxvd0ludG8oImZpcnN0LWZsb3ciKSBpcyAiYXV0byIKK1BBU1Mg
dGVzdFdlYktpdEZsb3dGcm9tKCItd2Via2l0LWZsb3ctZnJvbTogZmlyc3QtZmxvdyIpIGlzICIi
CitQQVNTIHRlc3RXZWJLaXRGbG93RnJvbSgiLXdlYmtpdC1mbG93LWZyb206IG5vbmUiKSBpcyAi
IgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZVdlYktpdEZsb3dGcm9tKCJmaXJzdC1mbG93IikgaXMg
Im5vbmUiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlV2ViS2l0Rmxvd0Zyb20oIm5vbmUiKSBpcyAi
bm9uZSIKK1BBU1MgdGVzdFdlYktpdFJlZ2lvbk92ZXJmbG93KCItd2Via2l0LXJlZ2lvbi1vdmVy
ZmxvdzogYXV0byIpIGlzICIiCitQQVNTIHRlc3RXZWJLaXRSZWdpb25PdmVyZmxvdygiLXdlYmtp
dC1yZWdpb24tb3ZlcmZsb3c6IGJyZWFrIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGVX
ZWJLaXRSZWdpb25PdmVyZmxvdygiYXV0byIpIGlzICJhdXRvIgorUEFTUyB0ZXN0Q29tcHV0ZWRT
dHlsZVdlYktpdFJlZ2lvbk92ZXJmbG93KCJicmVhayIpIGlzICJhdXRvIgorUEFTUyB3ZWJraXRS
ZWdpb25SdWxlSW5kZXggaXMgLTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY3Nz
LXJlZ2lvbnMtZGlzYWJsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jc3MtcmVn
aW9ucy1kaXNhYmxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFh
YWVlN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY3NzLXJl
Z2lvbnMtZGlzYWJsZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jc3MtcmVnaW9ucy1kaXNhYmxl
ZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9zY3JpcHQtdGVzdHMvY3NzLXJlZ2lvbnMtZGlzYWJsZWQu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2NyaXB0LXRlc3RzL2Nzcy1yZWdpb25zLWRp
c2FibGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZGFiZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvc2NyaXB0LXRlc3RzL2Nz
cy1yZWdpb25zLWRpc2FibGVkLmpzCkBAIC0wLDAgKzEsNzUgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0
IHRoYXQgcGFyc2luZyBvZiBjc3MgcmVnaW9ucyByZWxhdGVkIHByb3BlcnRpZXMgaXMgZGlzYWJs
ZWQgYnkgZGVmYXVsdC4nKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRD
U1NSZWdpb25zRW5hYmxlZCIsICIwIik7CisKK2Z1bmN0aW9uIHRlc3RXZWJLaXRGbG93SW50byhk
ZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAgICByZXR1
cm4gZGl2LnN0eWxlLndlYmtpdEZsb3dJbnRvOworfQorCitmdW5jdGlvbiB0ZXN0V2ViS2l0Rmxv
d0Zyb20oZGVjbGFyYXRpb24pIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgZGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBkZWNsYXJhdGlvbik7Cisg
ICAgcmV0dXJuIGRpdi5zdHlsZS53ZWJraXRGbG93RnJvbTsKK30KKworZnVuY3Rpb24gdGVzdFdl
YktpdFJlZ2lvbk92ZXJmbG93KGRlY2xhcmF0aW9uKSB7CisgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgZGVj
bGFyYXRpb24pOworICAgIHJldHVybiBkaXYuc3R5bGUud2Via2l0UmVnaW9uT3ZlcmZsb3c7Cit9
CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxlV2ViS2l0Rmxvd0ludG8odmFsdWUpIHsKKyAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGRpdi5zdHlsZS5zZXRQcm9wZXJ0eSgiLXdlYmtp
dC1mbG93LWludG8iLCB2YWx1ZSk7CisgICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRl
ZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlWYWx1ZSgiLXdlYmtpdC1mbG93LWludG8iKTsKKyAgICBk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7CisgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7
Cit9CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxlV2ViS2l0Rmxvd0Zyb20odmFsdWUpIHsK
KyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGRpdi5zdHlsZS5zZXRQcm9wZXJ0eSgiLXdl
YmtpdC1mbG93LWZyb20iLCB2YWx1ZSk7CisgICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21w
dXRlZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlWYWx1ZSgiLXdlYmtpdC1mbG93LWZyb20iKTsKKyAg
ICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7CisgICAgcmV0dXJuIGNvbXB1dGVkVmFs
dWU7Cit9CisKK2Z1bmN0aW9uIHRlc3RDb21wdXRlZFN0eWxlV2ViS2l0UmVnaW9uT3ZlcmZsb3co
dmFsdWUpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGRpdi5zdHlsZS5zZXRQcm9w
ZXJ0eSgiLXdlYmtpdC1yZWdpb24tb3ZlcmZsb3ciLCB2YWx1ZSk7CisgICAgdmFyIGNvbXB1dGVk
VmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlWYWx1ZSgiLXdlYmtpdC1y
ZWdpb24tb3ZlcmZsb3ciKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRpdik7Cisg
ICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7Cit9CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dFdlYktpdEZsb3dJbnRvKCItd2Via2l0LWZsb3ctaW50bzogYXV0byIpJywgIiIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0V2ViS2l0Rmxvd0ludG8oIi13ZWJraXQtZmxvdy1pbnRvOiBm
aXJzdC1mbG93IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0
eWxlV2ViS2l0Rmxvd0ludG8oImF1dG8iKScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDb21wdXRlZFN0eWxlV2ViS2l0Rmxvd0ludG8oImZpcnN0LWZsb3ciKScsICJhdXRv
Iik7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFdlYktpdEZsb3dGcm9tKCItd2Via2l0
LWZsb3ctZnJvbTogZmlyc3QtZmxvdyIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0V2ViS2l0Rmxvd0Zyb20oIi13ZWJraXQtZmxvdy1mcm9tOiBub25lIiknLCAiIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxlV2ViS2l0Rmxvd0Zyb20oImZpcnN0
LWZsb3ciKScsICJub25lIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0
eWxlV2ViS2l0Rmxvd0Zyb20oIm5vbmUiKScsICJub25lIik7CisKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdFdlYktpdFJlZ2lvbk92ZXJmbG93KCItd2Via2l0LXJlZ2lvbi1vdmVyZmxvdzog
YXV0byIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0V2ViS2l0UmVnaW9uT3Zl
cmZsb3coIi13ZWJraXQtcmVnaW9uLW92ZXJmbG93OiBicmVhayIpJywgIiIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZVdlYktpdFJlZ2lvbk92ZXJmbG93KCJhdXRv
IiknLCAiYXV0byIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZVdl
YktpdFJlZ2lvbk92ZXJmbG93KCJicmVhayIpJywgImF1dG8iKTsKKworLy8gVGVzdCB0aGF0IHJl
Z2lvbiBzdHlsaW5nIHJ1bGVzIGFyZSBub3QgcGFyc2VkLgorc3R5bGVzaGVldCA9IGRvY3VtZW50
LnN0eWxlU2hlZXRzLml0ZW0oMCk7Cit3ZWJraXRSZWdpb25SdWxlSW5kZXggPSAtMTsKK3RyeSB7
CisgICAgd2Via2l0UmVnaW9uUnVsZUluZGV4ID0gc3R5bGVzaGVldC5pbnNlcnRSdWxlKCJALXdl
YmtpdC1yZWdpb24gI3JlZ2lvbjMgeyBwIHsgY29sb3I6IHJlZDsgfSB9Iik7Cit9IGNhdGNoKGVy
cikgeworfQorCitzaG91bGRCZSgid2Via2l0UmVnaW9uUnVsZUluZGV4IiwgIi0xIik7CisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAxZjQ1MDRiLi5jN2NjY2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAK
KzIwMTItMDItMTcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAg
ICAgQ1NTIHJlZ2lvbnMgZW5hYmxlZCBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9jc3MtcmVnaW9ucy1k
aXNhYmxlZC5odG1sCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBwcmVmZXJlbmNlIHRvIGVuYWJs
ZS9kaXNhYmxlIHJlZ2lvbnMgZnVuY3Rpb25hbGl0eSBhdCBydW50aW1lKFdlYktpdENTU1JlZ2lv
bnNFbmFibGVkKS4KKyAgICAgICAgQ1NTUmVnaW9ucyBhcmUgc3RpbGwgZW5hYmxlZCBieSBkZWZh
dWx0LgorICAgICAgICBJbiBEUlQsIHVzZSBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIiwgIjAiKSB0byBkaXNhYmxlIHRoZSBj
c3MgcmVnaW9ucyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6Y3NzUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRmxvd1RocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlUmVnaW9uVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6Y3JlYXRlUmVnaW9uUnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3NzUmVn
aW9uc0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6d2Via2l0R2V0Rmxvd0J5TmFtZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6Cisg
ICAgICAgIChEb2N1bWVudCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6d2Via2l0UmVnaW9uT3ZlcmZsb3cpOgorICAgICAgICAqIGRvbS9O
b2RlUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5n
Q29udGV4dDo6bW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldENTU1Jl
Z2lvbnNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpjc3NSZWdpb25zRW5h
YmxlZCk6CisgICAgICAgIChTZXR0aW5ncyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6UmVuZGVy
Rmxvd1RocmVhZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246
OlJlbmRlclJlZ2lvbik6CisKIDIwMTItMDItMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBn
b29nbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbG9yIHBpY2tlciBkb2VzIG5v
dCBhbGxvdyBjaGFuZ2luZyB0aGUgY29sb3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2EzZTJiMC4uMTNjNDk4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NzM4MSw5ICs3MzgxLDkgQEAKIAkJMUFGRTExOTgwQ0JGRkNDNDAwMzAxN0ZBIC8qIEpTU1FMUmVz
dWx0U2V0Um93TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NRTFJl
c3VsdFNldFJvd0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMyNjQ5Nzkw
RDdFMjQ4QTAwQkQxMEYyIC8qIERvY3VtZW50TG9hZGVyTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERvY3VtZW50TG9hZGVyTWFjLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUMyNjQ5N0IwRDdFMjRFQzAwQkQxMEYyIC8qIFBhZ2VNYWMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZU1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDNDM1Q0QzMTRFODU0NEYwMDRFMTBFQSAvKiBJbnNw
ZWN0b3IuanNvbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuanNvbjsgcGF0aCA9IEluc3BlY3Rvci5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkxQzQzNUNENDE0RTg1NDVCMDA0RTEwRUEgLyogSW5zcGVjdG9yLTAuMS5qc29u
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5q
c29uOyBwYXRoID0gIkluc3BlY3Rvci0wLjEuanNvbiI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTFDNDM1Q0Q1MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0b3ItMS4wLmpzb24gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmpzb247
IHBhdGggPSAiSW5zcGVjdG9yLTEuMC5qc29uIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUM0MzVDRDMxNEU4NTQ0RjAwNEUxMEVBIC8qIEluc3BlY3Rvci5qc29uICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEluc3Bl
Y3Rvci5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzQzNUNENDE0RTg1NDVC
MDA0RTEwRUEgLyogSW5zcGVjdG9yLTAuMS5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJJbnNwZWN0b3ItMC4xLmpzb24i
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzQzNUNENTE0RTg1NDVCMDA0RTEwRUEg
LyogSW5zcGVjdG9yLTEuMC5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJJbnNwZWN0b3ItMS4wLmpzb24iOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQzRDOEVGRjBBRDg1RDg3MDA5NDc1Q0UgLyogRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEZWxldGVCdXR0b25Db250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTFDNEM4RjAwMEFEODVEODcwMDk0NzVDRSAv
KiBEZWxldGVCdXR0b25Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTFDNEM4RjYzMEFEODY1NUQwMDk0NzVDRSAv
KiBEZWxldGVCdXR0b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGVsZXRlQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDIzMjM2NDUuLjUz
ZDM2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC05OTEsMTQgKzk5MSwxNCBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICAgICAgICAgIHx8IGlkID09IENTU1ZhbHVlQXZvaWQKICAgICAgICAgICAgIHx8IGlkID09IENT
U1ZhbHVlTGVmdAogICAgICAgICAgICAgfHwgaWQgPT0gQ1NTVmFsdWVSaWdodCkKLSAgICAgICAg
ICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0g
KChwcm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0FmdGVyKSB8fCAocHJvcElk
ID09IENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJlYWtCZWZvcmUpKSA/IGNzc1JlZ2lvbnNFbmFi
bGVkKCkgOiB0cnVlOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdl
QnJlYWtJbnNpZGU6ICAgICAvLyBhdm9pZCB8IGF1dG8gfCBpbmhlcml0CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdENvbHVtbkJyZWFrSW5zaWRlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRSZWdpb25CcmVha0luc2lkZToKICAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBp
ZCA9PSBDU1NWYWx1ZUF2b2lkKQotICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwor
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAocHJvcElkID09IENTU1Byb3BlcnR5V2Via2l0
UmVnaW9uQnJlYWtJbnNpZGUpID8gY3NzUmVnaW9uc0VuYWJsZWQoKSA6IHRydWU7CiAgICAgICAg
IGJyZWFrOwogCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUVtcHR5Q2VsbHM6ICAgICAgICAgIC8vIHNo
b3cgfCBoaWRlIHwgaW5oZXJpdApAQCAtMTc1NiwxMSArMTc1NiwxNSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHZh
bGlkUHJpbWl0aXZlID0gdmFsaWRVbml0KHZhbHVlLCBGVGltZSB8IEZJbnRlZ2VyIHwgRk5vbk5l
ZywgbV9zdHJpY3QpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Rmxvd0ludG86CisgICAgICAgIGlmICghY3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBhcnNlRmxvd1RocmVhZChwcm9wSWQsIGlt
cG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsb3dGcm9tOgorICAgICAgICBp
ZiAoIWNzc1JlZ2lvbnNFbmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIHJldHVybiBwYXJzZVJlZ2lvblRocmVhZChwcm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbk92ZXJmbG93OgotICAgICAgICBpZiAoaWQgPT0gQ1NT
VmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlQnJlYWspCisgICAgICAgIGlmIChjc3NSZWdpb25z
RW5hYmxlZCgpICYmIChpZCA9PSBDU1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVCcmVhaykp
CiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogCkBA
IC03MDYzLDEwICs3MDY3LDE5IEBAIHN0YXRpYyBib29sIHZhbGlkRmxvd05hbWUoY29uc3QgU3Ry
aW5nJiBmbG93TmFtZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OmNz
c1JlZ2lvbnNFbmFibGVkKCkgY29uc3QKK3sKKyAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
ZmluZERvY3VtZW50KCkpCisgICAgICAgIHJldHVybiBkb2N1bWVudC0+Y3NzUmVnaW9uc0VuYWJs
ZWQoKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogLy8gYXV0byB8IDxpZGVudD4KIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZUZsb3dUaHJlYWQoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiB7
CiAgICAgQVNTRVJUKHByb3BJZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEZsb3dJbnRvKTsKKyAgICBB
U1NFUlQoY3NzUmVnaW9uc0VuYWJsZWQoKSk7CiAKICAgICBpZiAobV92YWx1ZUxpc3QtPnNpemUo
KSAhPSAxKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MDk4LDYgKzcxMTEsNyBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VGbG93VGhyZWFkKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQog
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlUmVnaW9uVGhyZWFkKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogewogICAgIEFTU0VSVChwcm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRGbG93RnJvbSk7
CisgICAgQVNTRVJUKGNzc1JlZ2lvbnNFbmFibGVkKCkpOwogCiAgICAgaWYgKG1fdmFsdWVMaXN0
LT5zaXplKCkgIT0gMSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtODkyOSw3ICs4OTQzLDcg
QEAgdm9pZCBDU1NQYXJzZXI6OnNldFJldXNhYmxlUmVnaW9uU2VsZWN0b3JWZWN0b3IoVmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4KIAogQ1NTUnVsZSogQ1NTUGFyc2VyOjpjcmVhdGVS
ZWdpb25SdWxlKFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4qIHJlZ2lvblNlbGVj
dG9yLCBDU1NSdWxlTGlzdCogcnVsZXMpCiB7Ci0gICAgaWYgKCFyZWdpb25TZWxlY3RvciB8fCAh
cnVsZXMpCisgICAgaWYgKCFjc3NSZWdpb25zRW5hYmxlZCgpIHx8ICFyZWdpb25TZWxlY3RvciB8
fCAhcnVsZXMpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgbV9hbGxvd0ltcG9ydFJ1bGVzID0g
bV9hbGxvd05hbWVzcGFjZURlY2xhcmF0aW9ucyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CmluZGV4IDJhM2JjNjQuLjAwMzUxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIxMyw2
ICsyMTMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlVGFnKENTU1ZhbHVl
TGlzdCopOwogICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRpbmdzKGJvb2wgaW1wb3J0YW50
KTsKIAorICAgIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdDsKICAgICBib29sIHBhcnNl
Rmxvd1RocmVhZChpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZVJl
Z2lvblRocmVhZChpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IGQ5MzdhZGIuLmVlMmYyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtMTAyNCw4ICsxMDI0LDE1IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gRG9jdW1lbnQ6OmNyZWF0
ZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgcU5hbWUsIGJvb2wgY3JlCiAgICAgcmV0dXJu
IGUucmVsZWFzZSgpOwogfQogCitib29sIERvY3VtZW50Ojpjc3NSZWdpb25zRW5hYmxlZCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHNldHRpbmdzKCkgJiYgc2V0dGluZ3MoKS0+Y3NzUmVnaW9uc0Vu
YWJsZWQoKTsgCit9CisKIFBhc3NSZWZQdHI8V2ViS2l0TmFtZWRGbG93PiBEb2N1bWVudDo6d2Vi
a2l0R2V0Rmxvd0J5TmFtZShjb25zdCBTdHJpbmcmIGZsb3dOYW1lKQogeworICAgIGlmICghY3Nz
UmVnaW9uc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKCFyZW5kZXJlcigp
KQogICAgICAgICByZXR1cm4gMDsKICAgICBpZiAoUmVuZGVyVmlldyogdmlldyA9IHJlbmRlcmVy
KCktPnZpZXcoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYmI0ZjEzNi4uNzcyZTRjZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTM1MSw2ICszNTEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnROUyhjb25zdCBTdHJpbmcmIG5hbWVz
cGFjZVVSSSwgY29uc3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKKyAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkg
Y29uc3Q7CiAgICAgUGFzc1JlZlB0cjxXZWJLaXROYW1lZEZsb3c+IHdlYmtpdEdldEZsb3dCeU5h
bWUoY29uc3QgU3RyaW5nJik7CiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAx
YTQ2NjI0Li40ZGE0YTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTY2LDcgKzE5NjYs
NyBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OndlYmtpdFJlZ2lvbk92ZXJmbG93KCkg
Y29uc3QKIHsKICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKIAotICAgIGlmIChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzUmVuZGVyUmVn
aW9uKCkpIHsKKyAgICBpZiAoZG9jdW1lbnQoKS0+Y3NzUmVnaW9uc0VuYWJsZWQoKSAmJiByZW5k
ZXJlcigpICYmIHJlbmRlcmVyKCktPmlzUmVuZGVyUmVnaW9uKCkpIHsKICAgICAgICAgUmVuZGVy
UmVnaW9uKiByZWdpb24gPSB0b1JlbmRlclJlZ2lvbihyZW5kZXJlcigpKTsKICAgICAgICAgc3dp
dGNoIChyZWdpb24tPnJlZ2lvblN0YXRlKCkpIHsKICAgICAgICAgY2FzZSBSZW5kZXJSZWdpb246
OlJlZ2lvbkZpdDogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5j
cHAKaW5kZXggMTRiOGRlYi4uOGU0NWI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJl
bmRlcmluZ0NvbnRleHQuY3BwCkBAIC0yOTMsNiArMjkzLDkgQEAgYm9vbCBOb2RlUmVuZGVyaW5n
Q29udGV4dDo6c2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSBjb25zdAogCiB2b2lkIE5vZGVSZW5kZXJp
bmdDb250ZXh0Ojptb3ZlVG9GbG93VGhyZWFkSWZOZWVkZWQoKQogeworICAgIGlmICghbV9ub2Rl
LT5kb2N1bWVudCgpLT5jc3NSZWdpb25zRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKICAg
ICBpZiAoIW1fbm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFtX3N0eWxlIHx8IG1fc3R5bGUtPmZs
b3dUaHJlYWQoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcAppbmRleCBmODNmMjdhLi5jYmRiMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cApAQCAtMTczLDYgKzE3Myw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAg
ICwgbV9hY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9hY2NlbGVyYXRl
ZEZpbHRlcnNFbmFibGVkKGZhbHNlKQogICAgICwgbV9pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQo
ZmFsc2UpCisgICAgLCBtX2Nzc1JlZ2lvbnNFbmFibGVkKGZhbHNlKQogICAgIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCByZWFsbHkgYmUgZGlzYWJsZWQgYnkgZGVmYXVsdCBhcyBpdCBtYWtlcyBwbGF0
Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBmZWF0dXJlIGRvd25sb2FkIGZpbGVzCiAgICAg
Ly8gdGhleSBjYW4ndCB1c2UgYnkuIExlYXZpbmcgZW5hYmxlZCBmb3Igbm93IHRvIG5vdCBjaGFu
Z2UgZXhpc3RpbmcgYmVoYXZpb3IuCiAgICAgLCBtX2Rvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5h
YmxlZCh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDhkOTRmMGMuLmU2NjJiZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTMxMyw2ICszMTMsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZvaWQgc2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChib29sIGVuYWJsZWQp
IHsgbV9pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQgPSBlbmFibGVkOyB9CiAgICAgICAgIGJvb2wg
aXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0NTU0N1c3RvbUZp
bHRlckVuYWJsZWQ7IH0KIAorICAgICAgICB2b2lkIHNldENTU1JlZ2lvbnNFbmFibGVkKGJvb2wg
ZW5hYmxlZCkgeyBtX2Nzc1JlZ2lvbnNFbmFibGVkID0gZW5hYmxlZDsgfQorICAgICAgICBib29s
IGNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9jc3NSZWdpb25zRW5hYmxlZDsg
fQorCiAgICAgICAgIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCk7
CiAgICAgICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOyB9CiAKQEAgLTYxNiw2ICs2MTks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9hY2NlbGVyYXRlZERyYXdp
bmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FjY2VsZXJhdGVkRmlsdGVyc0VuYWJsZWQg
OiAxOwogICAgICAgICBib29sIG1faXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkIDogMTsKKyAgICAg
ICAgYm9vbCBtX2Nzc1JlZ2lvbnNFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2Rvd25sb2Fk
YWJsZUJpbmFyeUZvbnRzRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV94c3NBdWRpdG9yRW5h
YmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA6
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5k
ZXggZDIyNTE0MC4uNzZiYmZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmNwcApAQCAtNTIsNiArNTIsNyBAQCBSZW5kZXJGbG93VGhyZWFkOjpSZW5k
ZXJGbG93VGhyZWFkKE5vZGUqIG5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZmxvd1RocmVhZCkK
ICAgICAsIG1fcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoKHRydWUpCiAgICAgLCBtX3Jl
Z2lvbnNIYXZlVW5pZm9ybUxvZ2ljYWxIZWlnaHQodHJ1ZSkKIHsKKyAgICBBU1NFUlQobm9kZS0+
ZG9jdW1lbnQoKS0+Y3NzUmVnaW9uc0VuYWJsZWQoKSk7CiAgICAgc2V0SXNBbm9ueW1vdXMoZmFs
c2UpOwogICAgIHNldEluUmVuZGVyRmxvd1RocmVhZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA2Y2E3MTkyLi5lODk1MTIyIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIFJl
bmRlck9iamVjdCogUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QoTm9kZSogbm9kZSwgUmVuZGVy
U3R5bGUqIHN0eWxlKQogICAgIGNhc2UgUlVOX0lOOgogICAgIGNhc2UgQ09NUEFDVDoKICAgICAg
ICAgLy8gT25seSBub24tcmVwbGFjZWQgYmxvY2sgZWxlbWVudHMgY2FuIGJlY29tZSBhIHJlZ2lv
bi4KLSAgICAgICAgaWYgKCFzdHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNFbXB0eSgpICYmIGRvYy0+
cmVuZGVyVmlldygpKQorICAgICAgICBpZiAoZG9jLT5jc3NSZWdpb25zRW5hYmxlZCgpICYmICFz
dHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNFbXB0eSgpICYmIGRvYy0+cmVuZGVyVmlldygpKQogICAg
ICAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclJlZ2lvbihub2RlLCBkb2MtPnJlbmRl
clZpZXcoKS0+ZW5zdXJlUmVuZGVyRmxvd1RocmVhZFdpdGhOYW1lKHN0eWxlLT5yZWdpb25UaHJl
YWQoKSkpOwogICAgICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyQmxvY2sobm9kZSk7CiAg
ICAgY2FzZSBMSVNUX0lURU06CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24u
Y3BwCmluZGV4IDZkYjYwM2IuLjQyZjdkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZWdpb24uY3BwCkBAIC00OSw2ICs0OSw3IEBAIFJlbmRlclJlZ2lvbjo6UmVuZGVyUmVn
aW9uKE5vZGUqIG5vZGUsIFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQpCiAgICAgLCBtX2hh
c0N1c3RvbVJlZ2lvblN0eWxlKGZhbHNlKQogICAgICwgbV9yZWdpb25TdGF0ZShSZWdpb25VbmRl
ZmluZWQpCiB7CisgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFibGVk
KCkpOwogfQogCiBMYXlvdXRSZWN0IFJlbmRlclJlZ2lvbjo6cmVnaW9uT3ZlcmZsb3dSZWN0KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDM2YTJiYi4uY2IwNzIzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wMi0xNyAgTWlo
bmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAgICBDU1MgcmVnaW9ucyBl
bmFibGVkIGJ5IGRlZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc4NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgcnVudGltZSBwcmVmZXJlbmNlIHRvIGVuYWJsZS9kaXNhYmxlIHJlZ2lv
bnMgZnVuY3Rpb25hbGl0eSBhdCBydW50aW1lKFdlYktpdENTU1JlZ2lvbnNFbmFibGVkKS4KKyAg
ICAgICAgQ1NTUmVnaW9ucyBhcmUgc3RpbGwgZW5hYmxlZCBieSBkZWZhdWx0LgorICAgICAgICBJ
biBEUlQsIHVzZSBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dENTU1JlZ2lvbnNFbmFibGVkIiwgIjAiKSB0byBkaXNhYmxlIHRoZSBjc3MgcmVnaW9ucyBmdW5j
dGlvbmFsaXR5LgorCisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6CisgICAgICAgICog
c3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1w
bDo6c2V0RXhwZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisgICAgICAgIChXZWJTZXR0aW5nc0lt
cGwpOgorCiAyMDEyLTAyLTE2ICBBbGV4YW5kcmUgRWxpYXMgIDxhZWxpYXNAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBbY2hyb21pdW1dIEJ1bmRsZSBwYWdlIHNjYWxlIGZhY3RvciBhbmQgbGltaXRz
IGluIENDTGF5ZXJUcmVlSG9zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNl
dHRpbmdzLmgKaW5kZXggYWEyNzgyNS4uOTc2ZTc2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCkBAIC05Niw2ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGJvb2wpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0V2ViQXVkaW9FbmFibGVkKGJvb2wpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsV2ViR0xFbmFibGVkKGJvb2wpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0RXhwZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQoYm9vbCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRPcGVuR0xNdWx0aXNhbXBsaW5nRW5hYmxlZChib29sKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIHNldFByaXZpbGVnZWRXZWJHTEV4dGVuc2lvbnNFbmFibGVkKGJv
b2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVk
KGJvb2wpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNl
dHRpbmdzSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCmluZGV4IGQ5NDU4YzQuLjkwYmQwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcApAQCAtMjg4LDYgKzI4OCwxMSBAQCB2b2lkIFdl
YlNldHRpbmdzSW1wbDo6c2V0RXhwZXJpbWVudGFsV2ViR0xFbmFibGVkKGJvb2wgZW5hYmxlZCkK
ICAgICBtX3NldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKK3ZvaWQgV2Vi
U2V0dGluZ3NJbXBsOjpzZXRFeHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZChib29sIGVuYWJs
ZWQpCit7CisgICAgbV9zZXR0aW5ncy0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZW5hYmxlZCk7Cit9
CisKIHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRPcGVuR0xNdWx0aXNhbXBsaW5nRW5hYmxlZChi
b29sIGVuYWJsZWQpCiB7CiAgICAgbV9zZXR0aW5ncy0+c2V0T3BlbkdMTXVsdGlzYW1wbGluZ0Vu
YWJsZWQoZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTZXR0aW5nc0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdz
SW1wbC5oCmluZGV4IDZkMWVkYjYuLmJiNjExYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCkBAIC04OCw2ICs4OCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGJvb2wpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRXZWJBdWRpb0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldEV4cGVyaW1lbnRhbFdlYkdMRW5hYmxlZChib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0RXhwZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldE9wZW5HTE11bHRpc2FtcGxpbmdFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRQcml2aWxlZ2VkV2ViR0xFeHRlbnNpb25zRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0V2ViR0xFcnJvcnNUb0NvbnNvbGVFbmFibGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IGNiNTk0MzYuLmU4YmE3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAor
MjAxMi0wMi0xNyAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAg
ICBDU1MgcmVnaW9ucyBlbmFibGVkIGJ5IGRlZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBwcmVmZXJlbmNlIHRvIGVuYWJs
ZS9kaXNhYmxlIHJlZ2lvbnMgZnVuY3Rpb25hbGl0eSBhdCBydW50aW1lKFdlYktpdENTU1JlZ2lv
bnNFbmFibGVkKS4KKyAgICAgICAgQ1NTUmVnaW9ucyBhcmUgc3RpbGwgZW5hYmxlZCBieSBkZWZh
dWx0LgorICAgICAgICBJbiBEUlQsIHVzZSBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIiwgIjAiKSB0byBkaXNhYmxlIHRoZSBj
c3MgcmVnaW9ucyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgor
ICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlBy
ZWZlcmVuY2VzIGNzc1JlZ2lvbnNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IHNldENTU1JlZ2lvbnNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTItMDItMTYgIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDYxNjI4
MD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc2NwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKaW5kZXggMjBlNDJhYi4uYjEyM2E2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC05NSw2ICs5NSw3IEBACiAj
ZGVmaW5lIFdlYktpdENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmdQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyIKICNkZWZpbmUgV2ViS2l0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIKKyNkZWZpbmUgV2Vi
S2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTUmVnaW9uc0VuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFNob3dEZWJ1Z0JvcmRlcnNQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
U2hvd0RlYnVnQm9yZGVycyIKICNkZWZpbmUgV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVyUHJlZmVy
ZW5jZUtleSBAIldlYktpdFNob3dSZXBhaW50Q291bnRlciIKICNkZWZpbmUgV2ViS2l0V2ViQXVk
aW9FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkF1ZGlvRW5hYmxlZCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDE1MzIwMzkuLmJlYzg1
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAt
MzY5LDYgKzM2OSw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkUHJl
ZmVyZW5jZUtleSwKICAgICAgICAgLy8gQ1NTIFNoYWRlcnMgYWxzbyBuZWVkIFdlYkdMIGVuYWJs
ZWQgKHdoaWNoIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQpLCBzbyB3ZSBjYW4ga2VlcCBpdCBlbmFi
bGVkIGZvciBub3cuCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCBXZWJL
aXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdENTU1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgIFdlYktpdEFjY2VsZXJh
dGVkRHJhd2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCAgV2ViS2l0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZ1ByZWZlcmVu
Y2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hv
d0RlYnVnQm9yZGVyc1ByZWZlcmVuY2VLZXksCkBAIC0xMzM1LDYgKzEzMzYsMTYgQEAgLSAodm9p
ZClzZXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkOihCT09MKWVuYWJsZWQKICAgICBbc2VsZiBfc2V0
Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWRQcmVm
ZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTCljc3NSZWdpb25zRW5hYmxlZAoreworICAgIHJldHVy
biBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdENTU1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5j
ZUtleV07Cit9CisKKy0gKHZvaWQpc2V0Q1NTUmVnaW9uc0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAor
eworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0Q1NTUmVnaW9u
c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTClzaG93RGVidWdCb3JkZXJzCiB7
CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0U2hvd0RlYnVnQm9yZGVy
c1ByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMzA1NDM0Zi4uZGMxZTZiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xODksNiAr
MTg5LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5v
dGlmaWNhdGlvbjsKIC0gKEJPT0wpY3NzQ3VzdG9tRmlsdGVyRW5hYmxlZDsKIC0gKHZvaWQpc2V0
Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZDooQk9PTCllbmFibGVkOwogCistIChCT09MKWNzc1JlZ2lv
bnNFbmFibGVkOworLSAodm9pZClzZXRDU1NSZWdpb25zRW5hYmxlZDooQk9PTCllbmFibGVkOwor
CiAtIChCT09MKXNob3dEZWJ1Z0JvcmRlcnM7CiAtICh2b2lkKXNldFNob3dEZWJ1Z0JvcmRlcnM6
KEJPT0wpc2hvdzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDEwNmFi
ZDIuLjg0ZjE4M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE0ODEs
NiArMTQ4MSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMg
KilwcmVmZXJlbmNlcwogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICBzZXR0aW5ncy0+c2V0
Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChbcHJlZmVyZW5jZXMgY3NzQ3VzdG9tRmlsdGVyRW5hYmxl
ZF0pOwogI2VuZGlmCisgICAgc2V0dGluZ3MtPnNldENTU1JlZ2lvbnNFbmFibGVkKFtwcmVmZXJl
bmNlcyBjc3NSZWdpb25zRW5hYmxlZF0pOwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAg
ICBzZXR0aW5ncy0+c2V0RnVsbFNjcmVlbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGZ1bGxTY3JlZW5F
bmFibGVkXSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1YzM2Mjk5Li4wNjliY2I4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDItMTcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5l
YUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIHJlZ2lvbnMgZW5hYmxlZCBieSBkZWZhdWx0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHJ1bnRp
bWUgcHJlZmVyZW5jZSB0byBlbmFibGUvZGlzYWJsZSByZWdpb25zIGZ1bmN0aW9uYWxpdHkgYXQg
cnVudGltZShXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCkuCisgICAgICAgIENTU1JlZ2lvbnMgYXJl
IHN0aWxsIGVuYWJsZWQgYnkgZGVmYXVsdC4KKyAgICAgICAgSW4gRFJULCB1c2UgbGF5b3V0VGVz
dENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NSZWdpb25zRW5hYmxlZCIs
ICIwIikgdG8gZGlzYWJsZSB0aGUgY3NzIHJlZ2lvbnMgZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJl
ZmVyZW5jZXNTZXRDU1NSZWdpb25zRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
Q1NTUmVnaW9uc0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVC
b29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5j
ZXMpOgorCiAyMDEyLTAyLTE3ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tp
YS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIEFsbG93IHBhcnRpYWwgdXBkYXRlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggZWJhNDQ3Zi4uNTJl
MDgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3Rv
cmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBA
IC03Myw2ICs3Myw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIG1hY3JvKENvbXBvc2l0aW5n
UmVwYWludENvdW50ZXJzVmlzaWJsZSwgY29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxl
LCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKENTU0N1c3RvbUZpbHRlckVuYWJsZWQs
IGNzc0N1c3RvbUZpbHRlckVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhX
ZWJHTEVuYWJsZWQsIHdlYkdMRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNy
byhDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVnaW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUp
IFwKICAgICBtYWNybyhGb3JjZUZUUERpcmVjdG9yeUxpc3RpbmdzLCBmb3JjZUZUUERpcmVjdG9y
eUxpc3RpbmdzLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFRhYnNUb0xpbmtzLCB0
YWJzVG9MaW5rcywgQm9vbCwgYm9vbCwgREVGQVVMVF9XRUJLSVRfVEFCU1RPTElOS1NfRU5BQkxF
RCkgXAogICAgIG1hY3JvKEROU1ByZWZldGNoaW5nRW5hYmxlZCwgZG5zUHJlZmV0Y2hpbmdFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDUyMWU2ZDQuLmUwNzZiNTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTQw
OCw2ICs0MDgsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0V2ViR0xFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPndlYkdMRW5hYmxlZCgpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRDU1NSZWdpb25z
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7Cisg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0Q1NTUmVnaW9uc0VuYWJsZWQoZmxhZyk7Cit9
CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldENTU1JlZ2lvbnNFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PmNzc1JlZ2lvbnNFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldE5lZWRzU2l0
ZVNwZWNpZmljUXVpcmtzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxh
ZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcyhmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggOTE1M2NjYS4uMzY5NTBlOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgK
QEAgLTkxLDYgKzkxLDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRDU1NDdXN0
b21GaWx0ZXJFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldFdlYkdMRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRXZWJHTEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAK
Ky8vIERlZmF1bHRzIHRvIHRydWUKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRDU1NS
ZWdpb25zRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldENTU1JlZ2lvbnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwor
CiAvLyBEZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRO
ZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhXS1ByZWZlcmVu
Y2VzUmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggZjQwYTI0YS4uMjI2N2Q2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTEyOCw2ICsxMjgsNyBAQCB2b2lkIEluamVjdGVkQnVu
ZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94
eSogcGFnZQogI2RlZmluZSBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UobWFjcm8p
IFwKICAgICBtYWNybyhXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSBc
CiAgICAgbWFjcm8oV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgQ1NTQ3VzdG9tRmlsdGVy
RW5hYmxlZCwgY3NzQ3VzdG9tRmlsdGVyRW5hYmxlZCkgXAorICAgIG1hY3JvKFdlYktpdENTU1Jl
Z2lvbnNFbmFibGVkLCBDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVnaW9uc0VuYWJsZWQpIFwKICAg
ICBtYWNybyhXZWJLaXRKYXZhRW5hYmxlZCwgSmF2YUVuYWJsZWQsIGphdmFFbmFibGVkKSBcCiAg
ICAgbWFjcm8oV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWQsIFNjcmlwdEVuYWJsZWQsIGphdmFTY3Jp
cHRFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0TG9hZFNpdGVJY29uc0tleSwgTG9hZHNTaXRl
SWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcsIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJ
bWFnZUxvYWRpbmdQcmVmZXJlbmNlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNjE5ZDFhMi4uNDAyMmVjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTg4Niw2ICsxODg2LDcg
QEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0
b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy0+c2V0U2hvd0RlYnVnQm9yZGVycyhzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGVLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRTaG93UmVwYWludENvdW50ZXIoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjb21wb3NpdGluZ1JlcGFpbnRDb3Vu
dGVyc1Zpc2libGVLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRDU1NDdXN0b21GaWx0ZXJFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3NzQ3VzdG9t
RmlsdGVyRW5hYmxlZEtleSgpKSk7CisgICAgc2V0dGluZ3MtPnNldENTU1JlZ2lvbnNFbmFibGVk
KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3NzUmVnaW9uc0Vu
YWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJHTEVuYWJsZWRLZXkoKSkpOwogICAg
IHNldHRpbmdzLT5zZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja0FsbG93c0lu
bGluZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxh
eWJhY2tBbGxvd3NJbmxpbmVLZXkoKSkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE1NTVhMjkuLjViNWNlOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0w
Mi0xNyAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAgICBDU1Mg
cmVnaW9ucyBlbmFibGVkIGJ5IGRlZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc4NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgcnVudGltZSBwcmVmZXJlbmNlIHRvIGVuYWJsZS9kaXNh
YmxlIHJlZ2lvbnMgZnVuY3Rpb25hbGl0eSBhdCBydW50aW1lKFdlYktpdENTU1JlZ2lvbnNFbmFi
bGVkKS4KKyAgICAgICAgQ1NTUmVnaW9ucyBhcmUgc3RpbGwgZW5hYmxlZCBieSBkZWZhdWx0Lgor
ICAgICAgICBJbiBEUlQsIHVzZSBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdENTU1JlZ2lvbnNFbmFibGVkIiwgIjAiKSB0byBkaXNhYmxlIHRoZSBjc3MgcmVn
aW9ucyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
Om92ZXJyaWRlUHJlZmVyZW5jZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnJlc2V0KToKKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjphcHBseVRvKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXMpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDEyLTAyLTE3ICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
ZGlzYWJsZSB2aWRlbyBidWlsZCBvbiBFRkwgdW50aWwgaXQgY2FuIGJlCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5k
ZXggNTQyOGVmYy4uM2MzYjgzYiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTUyMSw2ICsxNTIxLDggQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYgYXJndW1lbnRzLAogICAgICAgICBwcmVmcy0+dGFic1RvTGlua3MgPSBjcHBW
YXJpYW50VG9Cb29sKHZhbHVlKTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFdlYkdMRW5h
YmxlZCIpCiAgICAgICAgIHByZWZzLT5leHBlcmltZW50YWxXZWJHTEVuYWJsZWQgPSBjcHBWYXJp
YW50VG9Cb29sKHZhbHVlKTsKKyAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdENTU1JlZ2lvbnNF
bmFibGVkIikKKyAgICAgICAgcHJlZnMtPmV4cGVyaW1lbnRhbENTU1JlZ2lvbnNFbmFibGVkID0g
Y3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRIeXBl
cmxpbmtBdWRpdGluZ0VuYWJsZWQiKQogICAgICAgICBwcmVmcy0+aHlwZXJsaW5rQXVkaXRpbmdF
bmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJX
ZWJLaXRFbmFibGVDYXJldEJyb3dzaW5nIikKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAzNjUxZjg4Li4wZTNjZTZjIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC04
MCw2ICs4MCw3IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnJlc2V0KCkKICAgICBkZWZhdWx0VGV4
dEVuY29kaW5nTmFtZSA9IFdlYlN0cmluZzo6ZnJvbVVURjgoIklTTy04ODU5LTEiKTsKICAgICBk
ZXZlbG9wZXJFeHRyYXNFbmFibGVkID0gdHJ1ZTsKICAgICBleHBlcmltZW50YWxXZWJHTEVuYWJs
ZWQgPSBmYWxzZTsKKyAgICBleHBlcmltZW50YWxDU1NSZWdpb25zRW5hYmxlZCA9IHRydWU7CiAg
ICAgamF2YUVuYWJsZWQgPSBmYWxzZTsKICAgICBqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJk
ID0gdHJ1ZTsKICAgICBqYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5ID0gdHJ1
ZTsKQEAgLTE5Myw2ICsxOTQsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjphcHBseVRvKFdlYlZp
ZXcqIHdlYlZpZXcpCiAgICAgc2V0dGluZ3MtPnNldERlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKGRl
ZmF1bHRUZXh0RW5jb2RpbmdOYW1lKTsKICAgICBzZXR0aW5ncy0+c2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZChkZXZlbG9wZXJFeHRyYXNFbmFibGVkKTsKICAgICBzZXR0aW5ncy0+c2V0RXhwZXJp
bWVudGFsV2ViR0xFbmFibGVkKGV4cGVyaW1lbnRhbFdlYkdMRW5hYmxlZCk7CisgICAgc2V0dGlu
Z3MtPnNldEV4cGVyaW1lbnRhbENTU1JlZ2lvbnNFbmFibGVkKGV4cGVyaW1lbnRhbENTU1JlZ2lv
bnNFbmFibGVkKTsKICAgICBzZXR0aW5ncy0+c2V0SmF2YUVuYWJsZWQoamF2YUVuYWJsZWQpOwog
ICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGphdmFTY3JpcHRD
YW5BY2Nlc3NDbGlwYm9hcmQpOwogICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3Blbldp
bmRvd3NBdXRvbWF0aWNhbGx5KGphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5j
ZXMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmgKaW5k
ZXggMTM5MDhlYy4uMWNiOWFiMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJQcmVmZXJlbmNlcy5oCkBAIC04Miw2ICs4Miw3IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNl
cyB7CiAgICAgV2ViS2l0OjpXZWJTdHJpbmcgZGVmYXVsdFRleHRFbmNvZGluZ05hbWU7CiAgICAg
Ym9vbCBkZXZlbG9wZXJFeHRyYXNFbmFibGVkOwogICAgIGJvb2wgZXhwZXJpbWVudGFsV2ViR0xF
bmFibGVkOworICAgIGJvb2wgZXhwZXJpbWVudGFsQ1NTUmVnaW9uc0VuYWJsZWQ7CiAgICAgYm9v
bCBqYXZhRW5hYmxlZDsKICAgICBib29sIGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQ7CiAg
ICAgYm9vbCBqYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDQ3ODdhYTUuLmZiOGM2NmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTY0OCw2
ICs2NDgsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkK
ICAgICBbcHJlZmVyZW5jZXMgc2V0QWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZDpOT107CiAjZW5k
aWYKICAgICBbcHJlZmVyZW5jZXMgc2V0V2ViR0xFbmFibGVkOk5PXTsKKyAgICBbcHJlZmVyZW5j
ZXMgc2V0Q1NTUmVnaW9uc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3M6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRBc3luY2hyb25vdXNT
cGVsbENoZWNraW5nRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbEVuYWJsZWQ6Tk9dOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>