<?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>115899</bug_id>
          
          <creation_ts>2013-05-10 04:50:20 -0700</creation_ts>
          <short_desc>[CSSRegions] Fix offsetLeft / offsetTop for elements inside named flow</short_desc>
          <delta_ts>2013-05-20 14:38:15 -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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Radu Stavila">stavila</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887288</commentid>
    <comment_count>0</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-05-10 04:50:20 -0700</bug_when>
    <thetext>If an element in a named flow thread has no offsetParent inside the named flow, its offsetParent will be the document&apos;s body (http://dev.w3.org/csswg/css-regions/#cssomview-offset-attributes). In this situation, the offsetLeft and offsetTop values are not correctly computed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887289</commentid>
    <comment_count>1</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-05-10 04:55:28 -0700</bug_when>
    <thetext>Related to https://bugs.webkit.org/show_bug.cgi?id=113276</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891190</commentid>
    <comment_count>2</comment_count>
      <attachid>202277</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-05-20 08:02:37 -0700</bug_when>
    <thetext>Created attachment 202277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891191</commentid>
    <comment_count>3</comment_count>
      <attachid>202277</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-20 08:19:14 -0700</bug_when>
    <thetext>Comment on attachment 202277
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891344</commentid>
    <comment_count>4</comment_count>
      <attachid>202277</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-20 14:38:14 -0700</bug_when>
    <thetext>Comment on attachment 202277
Patch

Clearing flags on attachment: 202277

Committed r150383: &lt;http://trac.webkit.org/changeset/150383&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891345</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-20 14:38:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202277</attachid>
            <date>2013-05-20 08:02:37 -0700</date>
            <delta_ts>2013-05-20 14:38:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115899.patch</filename>
            <type>text/plain</type>
            <size>49278</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYTIwMzNmLi45YzMxN2I5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTMtMDUt
MjAgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdp
b25zXSBGaXggb2Zmc2V0TGVmdCAvIG9mZnNldFRvcCBmb3IgZWxlbWVudHMgaW5zaWRlIG5hbWVk
IGZsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
NTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIHRlc3RzIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2Ygb2Zmc2V0TGVmdCBhbmQgb2Zmc2V0
VG9wIGZvciBvYmplY3RzIGluc2lkZSBuYW1lZCBmbG93cworICAgICAgICBmb3Igd2hpY2ggdGhl
IG9mZnNldFBhcmVudCBpcyB0aGUgYm9keS4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9vZmZz
ZXRMZWZ0LW9mZnNldFRvcC1pbi1tdWx0aXBsZS1yZWdpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLW11bHRpcGxl
LXJlZ2lvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL29mZnNldExlZnQt
b2Zmc2V0VG9wLWluLXJlZ2lvbi1hYnNvbHV0ZS1zdGlja3ktZml4ZWQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVn
aW9uLWFic29sdXRlLXN0aWNreS1maXhlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLXJl
Z2lvbi1mbG9hdC12ZXJ0LXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9y
ZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLXJlZ2lvbi1mbG9hdC12ZXJ0LXJsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbi1y
ZWdpb24tZmxvYXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL29mZnNldExl
ZnQtb2Zmc2V0VG9wLWlubGluZXMtcmVnaW9uLWluLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW5saW5lcy1y
ZWdpb24taW4tZWxlbWVudC5odG1sOiBBZGRlZC4KKwogMjAxMy0wNS0xOCAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBzdmcvYmF0aWsgdGVzdHMgYXJl
IGZsYWtleS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0
LW9mZnNldFRvcC1pbi1tdWx0aXBsZS1yZWdpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbi1tdWx0aXBsZS1yZWdpb25zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjFiNDlhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zm
c2V0VG9wLWluLW11bHRpcGxlLXJlZ2lvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAK
K1Rlc3Qgb2Zmc2V0TGVmdCBhbmQgb2Zmc2V0VG9wIGluIGEgbmFtZWQgZmxvdy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGRpdlRleHQxLm9mZnNldFBhcmVudCBpcyBkb2N1
bWVudC5ib2R5CitQQVNTIGRpdlRleHQxLm9mZnNldExlZnQgaXMgMTAwCitQQVNTIGRpdlRleHQx
Lm9mZnNldFRvcCBpcyA0NTAKK1BBU1MgZGl2VGV4dDJfMS5vZmZzZXRQYXJlbnQgaXMgZG9jdW1l
bnQuYm9keQorUEFTUyBkaXZUZXh0Ml8xLm9mZnNldExlZnQgaXMgNTAwCitQQVNTIGRpdlRleHQy
XzEub2Zmc2V0VG9wIGlzIDE1MAorUEFTUyBkaXZUZXh0Ml8yLm9mZnNldFBhcmVudCBpcyBkb2N1
bWVudC5ib2R5CitQQVNTIGRpdlRleHQyXzIub2Zmc2V0TGVmdCBpcyA0NTAKK1BBU1MgZGl2VGV4
dDJfMi5vZmZzZXRUb3AgaXMgMzUwCitQQVNTIGRpdlRleHQyXzMub2Zmc2V0UGFyZW50IGlzIGRv
Y3VtZW50LmJvZHkKK1BBU1MgZGl2VGV4dDJfMy5vZmZzZXRMZWZ0IGlzIDYwMAorUEFTUyBkaXZU
ZXh0Ml8zLm9mZnNldFRvcCBpcyA1MDAKK1BBU1Mgc3Bhbi5vZmZzZXRQYXJlbnQgaXMgZG9jdW1l
bnQuYm9keQorUEFTUyBzcGFuLm9mZnNldExlZnQgaXMgNjAwCitQQVNTIHNwYW4ub2Zmc2V0VG9w
IGlzIDYxMAorUEFTUyBpbWFnZS5vZmZzZXRQYXJlbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBp
bWFnZS5vZmZzZXRMZWZ0IGlzIDcwMAorUEFTUyBpbWFnZS5vZmZzZXRUb3AgaXMgNjMwCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLW11bHRp
cGxlLXJlZ2lvbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9m
ZnNldFRvcC1pbi1tdWx0aXBsZS1yZWdpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uYWYyNTU5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbi1tdWx0aXBsZS1yZWdpb25zLmh0bWwKQEAg
LTAsMCArMSwzMTIgQEAKKzxodG1sPgorPGhlYWQ+CisJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
KwkJLyogTWFrZSBzdXJlIHRoZSBjb25zb2xlIGFuZCB0aGUgZGVzY3JpcHRpb24gZG9uJ3QgaW50
ZXJmZXJlIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGxheW91dC4gKi8KKwkJI2Rlc2NyaXB0aW9uIHsK
KwkJCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDogMHB4OworCQl9CisKKwkJI2NvbnNvbGUg
eworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJdG9wOiAxMDBweDsKKwkJfQorCisJCSNkaXZN
YWluMSB7CisJCQlib3JkZXI6IDJweCBzb2xpZCBibHVlOworCQkJd2lkdGg6IDMwMHB4OworCQkJ
aGVpZ2h0OiAyMjZweDsKKwkJCS13ZWJraXQtZmxvdy1pbnRvOiBmbG93MTsKKwkJfQorCisJCSNk
aXZNYWluMiB7CisJCQlib3JkZXI6IDJweCBzb2xpZCBibHVlOworCQkJd2lkdGg6IDIxMXB4Owor
CQkJaGVpZ2h0OiA0NzBweDsKKwkJCXBhZGRpbmctbGVmdDogNXB4OworCQkJbWFyZ2luOiA1cHg7
CisJCQltYXJnaW4tbGVmdDogNSU7CisJCQlsZWZ0OiA0MHB4OworCQkJLXdlYmtpdC1mbG93LWlu
dG86IGZsb3cyOworCQl9CisKKwkJLmRpdlRleHQgeworCQkJYm9yZGVyOiAxcHggc29saWQgZ3Jl
ZW47CisJCQljb2xvcjogZ3JlZW47CisJCQlmb250LXNpemU6IDE0cHg7CisJCX0KKworCQkjZGl2
VGV4dDEgeworCQkJd2lkdGg6IDIwMHB4OworCQkJcG9zaXRpb246IHJlbGF0aXZlOworCQkJbGVm
dDogMzBweDsKKwkJCXRvcDogMTBweDsKKwkJfQorCisJCSNkaXZUZXh0Ml8xIHsKKwkJCWJvcmRl
ci1jb2xvcjogIzAwOTk5OTsKKwkJCWNvbG9yOiAjMDA5OTk5OworCQkJbWFyZ2luOiAxMHB4Owor
CQkJd2lkdGg6IDE4MHB4OworCQkJaGVpZ2h0OiAxNDBweDsKKwkJfQorCisJCSNkaXZUZXh0Ml8y
IHsKKwkJCXdpZHRoOiAyMDNweDsKKwkJCWhlaWdodDogMjcwcHg7CisJCX0KKworCQkjZGl2VGV4
dDJfMyB7CisJCQltYXJnaW46IDRweDsKKwkJCXdpZHRoOiAxOTJweDsKKwkJCWhlaWdodDogMTA1
cHg7CisJCQlwb3NpdGlvbjogcmVsYXRpdmU7CisJCQl0b3A6IDMwcHg7CisJCQljb2xvcjogIzc3
NzcwMDsKKwkJCWJvcmRlci1jb2xvcjogIzc3NzcwMDsKKwkJfQorCisJCSNzcGFuIHsKKwkJCXBv
c2l0aW9uOiByZWxhdGl2ZTsKKwkJCXRvcDogMzFweDsKKwkJCWNvbG9yOiBibGFjazsKKwkJCWZv
bnQtc2l6ZTogMTJweDsKKwkJCW1hcmdpbi1sZWZ0OiA0cHg7CisJCQlib3JkZXI6IDJweCBzb2xp
ZCBibGFjazsKKwkJfQorCisJCSNpbWFnZSB7CisJCQlib3JkZXI6IDFweCBkYXNoZWQgcmVkOwor
CQkJd2lkdGg6IDE1cHg7CisJCQlwb3NpdGlvbjogcmVsYXRpdmU7CisJCQl0b3A6IDM1cHg7CisJ
CQltYXJnaW4tbGVmdDogMTA0cHg7CisJCX0KKworCQkjaW1hZ2VUZXh0IHsKKwkJCWZvbnQtc2l6
ZTogMTJweDsKKwkJCWNvbG9yOiByZWQ7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6
IDQ1MnB4OworCQkJbGVmdDogMTQ1cHg7CisJCX0KKworCQkjZHVtbXkxIHsKKwkJCXdpZHRoOiAx
MDBweDsKKwkJCWhlaWdodDogMjVweDsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworCQkJ
bWFyZ2luOiA1cHg7CisJCQltYXJnaW4tbGVmdDogMjBweDsKKwkJfQorCisJCS5yZWdpb24xIHsK
KwkJCS13ZWJraXQtZmxvdy1mcm9tOiBmbG93MTsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIHJlZDsK
KwkJCXBvc2l0aW9uOiByZWxhdGl2ZTsKKwkJCWxlZnQ6IDU5cHg7CisJCQl0b3A6IDQyOXB4Owor
CQkJd2lkdGg6IDMwNHB4OworCQkJaGVpZ2h0OiAyMzBweDsKKwkJfQorCisJCS5yZWdpb24yIHsK
KwkJCS13ZWJraXQtZmxvdy1mcm9tOiBmbG93MjsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIHJlZDsK
KwkJfQorCisJCSNmaXJzdF9yZWdpb24yIHsKKwkJCXBvc2l0aW9uOiByZWxhdGl2ZTsKKwkJCWxl
ZnQ6IDQ0OXB4OworCQkJdG9wOiAtMTQwcHg7CisJCQl3aWR0aDogNTAwcHg7CisJCQloZWlnaHQ6
IDE2MHB4OworCQl9CisKKwkJI3NlY29uZF9yZWdpb24yIHsKKwkJCXBvc2l0aW9uOiByZWxhdGl2
ZTsKKwkJCWxlZnQ6IDQxOHB4OworCQkJdG9wOiAtOTRweDsKKwkJCXdpZHRoOiAzMzBweDsKKwkJ
CWhlaWdodDogMTUwcHg7CisJCX0KKworCQkjdGhpcmRfcmVnaW9uMiB7CisJCQlwb3NpdGlvbjog
cmVsYXRpdmU7CisJCQlsZWZ0OiA1NjVweDsKKwkJCXRvcDogLTY2cHg7CisJCQl3aWR0aDogMjgy
cHg7CisJCQloZWlnaHQ6IDE5NXB4OworCQl9CisKKwkJLmdyaWQgeworCQkJcG9zaXRpb246IGFi
c29sdXRlOworCQkJdG9wOiA3MDBweDsKKwkJCXdpZHRoOiAxMDBweDsKKwkJCWhlaWdodDogMTAw
cHg7CisJCQlib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBibHVlOworCQkJdGV4dC1hbGlnbjogcmln
aHQ7CisJCQlmb250LXNpemU6IDE0cHg7CisJCQljb2xvcjogYmx1ZTsKKwkJfQorCisJCS52Z3Jp
ZCB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQlsZWZ0OiA5MDBweDsKKwkJCXdpZHRoOiAx
MDBweDsKKwkJCWhlaWdodDogMTAwcHg7CisJCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgYmx1
ZTsKKwkJCXRleHQtYWxpZ246IGJvdHRvbTsKKwkJCWZvbnQtc2l6ZTogMTRweDsKKwkJCWNvbG9y
OiBibHVlOworCQl9CisKKwkJI2dyaWQxIHsKKwkJCWxlZnQ6IDBweDsKKwkJfQorCQkjZ3JpZDIg
eworCQkJbGVmdDogMTAwcHg7CisJCX0KKwkJI2dyaWQzIHsKKwkJCWxlZnQ6IDIwMHB4OworCQl9
CisJCSNncmlkNCB7CisJCQlsZWZ0OiAzMDBweDsKKwkJfQorCQkjZ3JpZDUgeworCQkJbGVmdDog
NDAwcHg7CisJCX0KKwkJI2dyaWQ2IHsKKwkJCWxlZnQ6IDUwMHB4OworCQl9CisJCSNncmlkNyB7
CisJCQlsZWZ0OiA2MDBweDsKKwkJfQorCisJCSN2Z3JpZDEgeworCQkJdG9wOiAwcHg7CisJCX0K
KwkJI3ZncmlkMiB7CisJCQl0b3A6IDEwMHB4OworCQl9CisJCSN2Z3JpZDMgeworCQkJdG9wOiAy
MDBweDsKKwkJfQorCQkjdmdyaWQ0IHsKKwkJCXRvcDogMzAwcHg7CisJCX0KKwkJI3ZncmlkNSB7
CisJCQl0b3A6IDQwMHB4OworCQl9CisJCSN2Z3JpZDYgeworCQkJdG9wOiA1MDBweDsKKwkJfQor
CQkjdmdyaWQ3IHsKKwkJCXRvcDogNjAwcHg7CisJCX0KKwkJI3ZncmlkOCB7CisJCQl0b3A6IDcw
MHB4OworCQkJYm9yZGVyOiBub25lOworCQl9CisJPC9zdHlsZT4KKworCTxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCisJPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorCQlmdW5jdGlvbiB3cml0ZU9mZnNldEluZm8oc2VsZWN0b3Ip
IHsKKwkJCXZhciBkaXZJdGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3Ip
OworCQkJCQorCQkJZm9yICh2YXIgaT0wOyBpPGRpdkl0ZW1zLmxlbmd0aDsgaSsrKSB7CisJCQkJ
dmFyIGRpdkl0ZW0gPSBkaXZJdGVtc1tpXTsKKwkJCQl2YXIgZXhpc3RpbmdIVE1MID0gZGl2SXRl
bS5pbm5lckhUTUw7CisJCQkJdmFyIG5ld0hUTUwgPSBleGlzdGluZ0hUTUwucmVwbGFjZSgiI29m
ZlRvcCMiLCBkaXZJdGVtLm9mZnNldFRvcCk7CisJCQkJbmV3SFRNTCA9IG5ld0hUTUwucmVwbGFj
ZSgiI29mZkxlZnQjIiwgZGl2SXRlbS5vZmZzZXRMZWZ0KTsKKwkJCQlpZiAoZGl2SXRlbS5vZmZz
ZXRQYXJlbnQpCisJCQkJCW5ld0hUTUwgPSBuZXdIVE1MLnJlcGxhY2UoIiNvZmZQYXJlbnQjIiwg
ZGl2SXRlbS5vZmZzZXRQYXJlbnQudGFnTmFtZSArICIoIiArIGRpdkl0ZW0ub2Zmc2V0UGFyZW50
LmlkICsgIikiKTsKKwkJCQllbHNlCisJCQkJCW5ld0hUTUwgPSBuZXdIVE1MLnJlcGxhY2UoIiNv
ZmZQYXJlbnQjIiwgIm51bGwiKTsKKwkJCQlkaXZJdGVtLmlubmVySFRNTCA9IG5ld0hUTUw7CisJ
CQl9CisJCX0KKwkJZnVuY3Rpb24gbXlPbkxvYWQoKSB7CisJCQl3cml0ZU9mZnNldEluZm8oIi5k
aXZUZXh0Iik7CisJCQl3cml0ZU9mZnNldEluZm8oIiNkaXZUZXh0Ml8zIik7CisJCX0KKwk8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgaWQ9ImJvZHkiIG9ubG9hZCA9ICJteU9uTG9hZCgpOyI+
CisJPGRpdiBpZD0iZGl2TWFpbjEiPgorCQk8ZGl2IGNsYXNzPSJkaXZUZXh0IiBpZD0iZGl2VGV4
dDEiPlRoaXMgaXMgPGI+ZGl2VGV4dDE8L2I+IChmbG93ZWQgaW50byBhIHNpbmdsZSByZWdpb24s
IHJlbGF0aXZlKTo8YnIvPi0gb2Zmc2V0UGFyZW50IGlzIDxiPiNvZmZQYXJlbnQjPC9iPjxici8+
LSBvZmZzZXRMZWZ0IGlzIDxiPiNvZmZMZWZ0IzwvYj48YnIvPi0gb2Zmc2V0VG9wIGlzIDxiPiNv
ZmZUb3AjPC9iPjwvZGl2PgorCTwvZGl2PgorCisJPGRpdiBpZD0iZGl2TWFpbjIiPgorCQk8ZGl2
IGNsYXNzPSJkdW1teSIgaWQ9ImR1bW15MSI+ZHVtbXk8L2Rpdj4KKwkJPGRpdiBjbGFzcz0iZGl2
VGV4dCIgaWQ9ImRpdlRleHQyXzEiPjxzcGFuIGNsYXNzPSJvZmZzZXRJbmZvIj5UaGlzIGlzIDxi
PmRpdlRleHQyXzE8L2I+IChmbG93ZWQgaW50byB0aGUgMXN0IHJlZ2lvbiwgc3RhdGljKTo8YnIv
Pi0gb2Zmc2V0UGFyZW50IGlzIDxiPiNvZmZQYXJlbnQjPC9iPjxici8+LSBvZmZzZXRMZWZ0IGlz
IDxiPiNvZmZMZWZ0IzwvYj48YnIvPi0gb2Zmc2V0VG9wIGlzIDxiPiNvZmZUb3AjPC9iPjwvc3Bh
bj48L2Rpdj4KKwkJPGRpdiBjbGFzcz0iZGl2VGV4dCIgaWQ9ImRpdlRleHQyXzIiPlRoaXMgaXMg
PGI+ZGl2VGV4dDJfMjwvYj4gKGZsb3dlZCBpbnRvIHRoZSAybmQgcmVnaW9uLCBzdGF0aWMpOjxi
ci8+LSBvZmZzZXRQYXJlbnQgaXMgPGI+I29mZlBhcmVudCM8L2I+PGJyLz4tIG9mZnNldExlZnQg
aXMgPGI+I29mZkxlZnQjPC9iPjxici8+LSBvZmZzZXRUb3AgaXMgPGI+I29mZlRvcCM8L2I+CisJ
CQk8ZGl2IGNsYXNzPSJkaXZUZXh0IiBpZD0iZGl2VGV4dDJfMyI+VGhpcyBpcyA8Yj5kaXZUZXh0
Ml8zPC9iPiAoZmxvd2VkIGludG8gdGhlIDJuZCByZWdpb24sIDxpPnB1c2hlZCB0byBuZXh0IHJl
Z2lvbiBieSByZWxhdGl2ZSB0b3A8L2k+KTo8YnIvPi0gb2Zmc2V0UGFyZW50IGlzIDxiPiNvZmZQ
YXJlbnQjPC9iPjxici8+LSBvZmZzZXRMZWZ0IGlzIDxiPiNvZmZMZWZ0IzwvYj48YnIvPi0gb2Zm
c2V0VG9wIGlzIDxiPiNvZmZUb3AjPC9iPjwvZGl2PgorCQkJPHNwYW4gaWQ9InNwYW4iPlRoaXMg
aXMgc3BhbiAoZmxvd2VkIGludG8gdGhlIDNyZCByZWdpb24pPC9zcGFuPgorCQkJPGltZyBpZD0i
aW1hZ2UiIHNyYz0icmVzb3VyY2VzL3RyYW5zcGFyZW50LnBuZyI+PC9pbnB1dD4KKwkJCTxzcGFu
IGlkPSJpbWFnZVRleHQiPlRoaXMgaXMgaW1hZ2U8L3NwYW4+CisJCTwvZGl2PgkJCisJPC9kaXY+
CisKKwk8ZGl2IGNsYXNzPSJyZWdpb24xIj48L2Rpdj4KKworCTxkaXYgY2xhc3M9InJlZ2lvbjIi
IGlkPSJmaXJzdF9yZWdpb24yIj48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJyZWdpb24yIiBpZD0ic2Vj
b25kX3JlZ2lvbjIiPjwvZGl2PgorCTxkaXYgY2xhc3M9InJlZ2lvbjIiIGlkPSJ0aGlyZF9yZWdp
b24yIj48L2Rpdj4KKworCTxkaXYgaWQ9ImdyaWQxIiBjbGFzcz0iZ3JpZCI+MTAwcHg8L2Rpdj4K
Kwk8ZGl2IGlkPSJncmlkMiIgY2xhc3M9ImdyaWQiPjIwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3Jp
ZDMiIGNsYXNzPSJncmlkIj4zMDBweDwvZGl2PgorCTxkaXYgaWQ9ImdyaWQ0IiBjbGFzcz0iZ3Jp
ZCI+NDAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJncmlkNSIgY2xhc3M9ImdyaWQiPjUwMHB4PC9kaXY+
CisJPGRpdiBpZD0iZ3JpZDYiIGNsYXNzPSJncmlkIj42MDBweDwvZGl2PgorCTxkaXYgaWQ9Imdy
aWQ3IiBjbGFzcz0iZ3JpZCI+NzAwcHg8L2Rpdj4KKworCTxkaXYgaWQ9InZncmlkMSIgY2xhc3M9
InZncmlkIj48L2Rpdj4KKwk8ZGl2IGlkPSJ2Z3JpZDIiIGNsYXNzPSJ2Z3JpZCI+MTAwcHg8L2Rp
dj4KKwk8ZGl2IGlkPSJ2Z3JpZDMiIGNsYXNzPSJ2Z3JpZCI+MjAwcHg8L2Rpdj4KKwk8ZGl2IGlk
PSJ2Z3JpZDQiIGNsYXNzPSJ2Z3JpZCI+MzAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJ2Z3JpZDUiIGNs
YXNzPSJ2Z3JpZCI+NDAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJ2Z3JpZDYiIGNsYXNzPSJ2Z3JpZCI+
NTAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJ2Z3JpZDciIGNsYXNzPSJ2Z3JpZCI+NjAwcHg8L2Rpdj4K
Kwk8ZGl2IGlkPSJ2Z3JpZDgiIGNsYXNzPSJ2Z3JpZCI+NzAwcHg8L2Rpdj4KKworCTxzY3JpcHQ+
CisJCWRlc2NyaXB0aW9uKCJUZXN0IG9mZnNldExlZnQgYW5kIG9mZnNldFRvcCBpbiBhIG5hbWVk
IGZsb3cuIikKKworCQlzaG91bGRCZSgiZGl2VGV4dDEub2Zmc2V0UGFyZW50IiwgImRvY3VtZW50
LmJvZHkiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQxLm9mZnNldExlZnQiLCAiMTAwIik7CisJCXNo
b3VsZEJlKCJkaXZUZXh0MS5vZmZzZXRUb3AiLCAiNDUwIik7CisKKwkJc2hvdWxkQmUoImRpdlRl
eHQyXzEub2Zmc2V0UGFyZW50IiwgImRvY3VtZW50LmJvZHkiKTsKKwkJc2hvdWxkQmUoImRpdlRl
eHQyXzEub2Zmc2V0TGVmdCIsICI1MDAiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQyXzEub2Zmc2V0
VG9wIiwgIjE1MCIpOworCisJCXNob3VsZEJlKCJkaXZUZXh0Ml8yLm9mZnNldFBhcmVudCIsICJk
b2N1bWVudC5ib2R5Iik7CisJCXNob3VsZEJlKCJkaXZUZXh0Ml8yLm9mZnNldExlZnQiLCAiNDUw
Iik7CisJCXNob3VsZEJlKCJkaXZUZXh0Ml8yLm9mZnNldFRvcCIsICIzNTAiKTsKKworCQlzaG91
bGRCZSgiZGl2VGV4dDJfMy5vZmZzZXRQYXJlbnQiLCAiZG9jdW1lbnQuYm9keSIpOworCQlzaG91
bGRCZSgiZGl2VGV4dDJfMy5vZmZzZXRMZWZ0IiwgIjYwMCIpOworCQlzaG91bGRCZSgiZGl2VGV4
dDJfMy5vZmZzZXRUb3AiLCAiNTAwIik7CisKKwkJc2hvdWxkQmUoInNwYW4ub2Zmc2V0UGFyZW50
IiwgImRvY3VtZW50LmJvZHkiKTsKKwkJc2hvdWxkQmUoInNwYW4ub2Zmc2V0TGVmdCIsICI2MDAi
KTsKKwkJc2hvdWxkQmUoInNwYW4ub2Zmc2V0VG9wIiwgIjYxMCIpOworCisJCXNob3VsZEJlKCJp
bWFnZS5vZmZzZXRQYXJlbnQiLCAiZG9jdW1lbnQuYm9keSIpOworCQlzaG91bGRCZSgiaW1hZ2Uu
b2Zmc2V0TGVmdCIsICI3MDAiKTsKKwkJc2hvdWxkQmUoImltYWdlLm9mZnNldFRvcCIsICI2MzAi
KTsKKworCQlpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKwkJCXZhciBhbGxHcmFwaGljRWxlbWVu
dHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucmVnaW9uMSwgLnJlZ2lvbjIsIC5kaXZU
ZXh0LCAuZ3JpZCwgLnZncmlkLCAuZHVtbXksICNzcGFuIik7CisJCQlmb3IgKHZhciBpPTA7IGk8
YWxsR3JhcGhpY0VsZW1lbnRzLmxlbmd0aDsgaSsrKQorCQkJCWFsbEdyYXBoaWNFbGVtZW50c1tp
XS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCQl9CisJCQorCTwvc2NyaXB0PgorCTxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWFic29sdXRl
LXN0aWNreS1maXhlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvb2Zm
c2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWFic29sdXRlLXN0aWNreS1maXhlZC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIyYWEyOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRv
cC1pbi1yZWdpb24tYWJzb2x1dGUtc3RpY2t5LWZpeGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIwIEBACitUZXN0IG9mZnNldExlZnQgYW5kIG9mZnNldFRvcCBpbiBhIG5hbWVkIGZsb3cgd2l0
aCBhYnNvbHV0ZSwgc3RpY2t5IGFuZCBmaXhlZCBwb3NpdGlvbmluZy4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitQQVNTIGRpdlRleHQxLm9mZnNldFBhcmVudCBpcyBkaXZNYWluMQor
UEFTUyBkaXZUZXh0MS5vZmZzZXRMZWZ0IGlzIDEwCitQQVNTIGRpdlRleHQxLm9mZnNldFRvcCBp
cyAxMAorUEFTUyBkaXZUZXh0Mi5vZmZzZXRQYXJlbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBk
aXZUZXh0Mi5vZmZzZXRMZWZ0IGlzIDEwMAorUEFTUyBkaXZUZXh0Mi5vZmZzZXRUb3AgaXMgNTAw
CitQQVNTIGRpdlRleHQzLm9mZnNldFBhcmVudCBpcyBkb2N1bWVudC5ib2R5CitQQVNTIGRpdlRl
eHQzLm9mZnNldExlZnQgaXMgNjAwCitQQVNTIGRpdlRleHQzLm9mZnNldFRvcCBpcyA0MDAKK1BB
U1MgZGl2VGV4dDQub2Zmc2V0UGFyZW50IGlzIG51bGwKK1BBU1MgZGl2VGV4dDQub2Zmc2V0TGVm
dCBpcyA1MAorUEFTUyBkaXZUZXh0NC5vZmZzZXRUb3AgaXMgMjAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWFic29sdXRlLXN0
aWNreS1maXhlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zm
c2V0VG9wLWluLXJlZ2lvbi1hYnNvbHV0ZS1zdGlja3ktZml4ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWUxY2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLXJlZ2lvbi1hYnNvbHV0
ZS1zdGlja3ktZml4ZWQuaHRtbApAQCAtMCwwICsxLDMwNSBAQAorPGh0bWw+Cis8aGVhZD4KKwk8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCQkvKiBNYWtlIHN1cmUgdGhlIGNvbnNvbGUgYW5kIHRo
ZSBkZXNjcmlwdGlvbiBkb24ndCBpbnRlcmZlcmUgd2l0aCB0aGUgcmVzdCBvZiB0aGUgbGF5b3V0
LiAqLworCQkjZGVzY3JpcHRpb24geworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJdG9wOiAw
cHg7CisJCX0KKworCQkjY29uc29sZSB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6
IDEwMHB4OworCQl9CisKKwkJI2Rpdk1haW4xIHsKKwkJCWJvcmRlcjogMnB4IHNvbGlkIGJsdWU7
CisJCQloZWlnaHQ6IDEwNXB4OworCQkJbWFyZ2luOiAxMHB4OworCQkJcG9zaXRpb246IHJlbGF0
aXZlOworCQkJLXdlYmtpdC1mbG93LWludG86IGZsb3cxOworCQl9CisKKwkJI2Rpdk1haW4yIHsK
KwkJCWJvcmRlcjogMnB4IHNvbGlkIGJsdWU7CisJCQloZWlnaHQ6IDEyMHB4OworCQkJbWFyZ2lu
OiAxMHB4OworCQkJLXdlYmtpdC1mbG93LWludG86IGZsb3cyOworCQl9CisKKwkJI2Rpdk1haW4z
IHsKKwkJCWJvcmRlcjogMnB4IHNvbGlkIGJsdWU7CisJCQl3aWR0aDogMjExcHg7CisJCQloZWln
aHQ6IDE0NnB4OworCQkJcGFkZGluZy1sZWZ0OiA1cHg7CisJCQltYXJnaW46IDVweDsKKwkJCW1h
cmdpbi1sZWZ0OiA1JTsKKwkJCWxlZnQ6IDQwcHg7CisJCQktd2Via2l0LWZsb3ctaW50bzogZmxv
dzM7CisJCX0KKworCQkjZGl2TWFpbjQgeworCQkJYm9yZGVyOiAycHggc29saWQgYmx1ZTsKKwkJ
CXdpZHRoOiA5MCU7CisJCQloZWlnaHQ6IDEyMHB4OworCQkJcGFkZGluZy1sZWZ0OiA1cHg7CisJ
CQlwYWRkaW5nLXRvcDogNXB4OworCQkJbWFyZ2luOiAzLjUlOworCQkJLXdlYmtpdC1mbG93LWlu
dG86IGZsb3c0OworCQl9CisKKwkJLmRpdlRleHQgeworCQkJYm9yZGVyOiAxcHggc29saWQgZ3Jl
ZW47CisJCQljb2xvcjogZ3JlZW47CisJCQlmb250LXNpemU6IDE0cHg7CisJCX0KKworCQkjZGl2
VGV4dDEgeworCQkJd2lkdGg6IDI1MHB4OworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJbGVm
dDogMTBweDsKKwkJCXRvcDogMTBweDsKKwkJfQorCisJCSNkaXZUZXh0MiB7CisJCQl3aWR0aDog
MjAwcHg7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQlsZWZ0OiAyMHB4OworCQkJdG9wOiAy
MHB4OworCQl9CisKKwkJI2RpdlRleHQzIHsKKwkJCWJvcmRlci1jb2xvcjogIzAwOTk5OTsKKwkJ
CWNvbG9yOiAjMDA5OTk5OworCQkJbWFyZ2luOiAxMHB4OworCQkJd2lkdGg6IDE4MHB4OworCQkJ
aGVpZ2h0OiA5MHB4OworCQkJcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OworCQkJdG9wOiA1MHB4
OworCQl9CisKKwkJI2RpdlRleHQ0IHsKKwkJCWJvcmRlci1jb2xvcjogIzAwOTk5OTsKKwkJCWNv
bG9yOiAjMDA5OTk5OworCQkJd2lkdGg6IDE4MHB4OworCQkJaGVpZ2h0OiAxMDBweDsKKwkJCXBv
c2l0aW9uOiBmaXhlZDsKKwkJCWxlZnQ6IDUwcHg7CisJCQl0b3A6IDIwcHg7CisJCX0KKworCQkj
ZHVtbXkgeworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAyNXB4OworCQkJYm9yZGVyOiAx
cHggc29saWQgYmxhY2s7CisJCQltYXJnaW46IDVweDsKKwkJCW1hcmdpbi1sZWZ0OiAyMHB4Owor
CQl9CisKKwkJI3JlZ2lvbjEgeworCQkJLXdlYmtpdC1mbG93LWZyb206IGZsb3cxOworCQkJYm9y
ZGVyOiAxcHggc29saWQgcmVkOworCQkJcG9zaXRpb246IHJlbGF0aXZlOworCQkJbGVmdDogNTlw
eDsKKwkJCXRvcDogMzM1cHg7CisJCQl3aWR0aDogMzA0cHg7CisJCQloZWlnaHQ6IDEyNXB4Owor
CQl9CisKKwkJI3JlZ2lvbjIgeworCQkJLXdlYmtpdC1mbG93LWZyb206IGZsb3cyOworCQkJYm9y
ZGVyOiAxcHggc29saWQgcmVkOworCQkJcG9zaXRpb246IHJlbGF0aXZlOworCQkJbGVmdDogNzFw
eDsKKwkJCXRvcDogMzQ0cHg7CisJCQl3aWR0aDogMzA0cHg7CisJCQloZWlnaHQ6IDE0MHB4Owor
CQl9CisKKwkJI3JlZ2lvbjMgeworCQkJLXdlYmtpdC1mbG93LWZyb206IGZsb3czOworCQkJYm9y
ZGVyOiAxcHggc29saWQgcmVkOworCQkJcG9zaXRpb246IHJlbGF0aXZlOworCQkJbWFyZ2luLXRv
cDogMjBweDsKKwkJCWxlZnQ6IDU2MnB4OworCQkJdG9wOiA1M3B4OworCQkJd2lkdGg6IDI1MHB4
OworCQkJaGVpZ2h0OiAxNjBweDsKKwkJCW92ZXJmbG93OiBoaWRkZW47CisJCX0KKworCQkjcmVn
aW9uNCB7CisJCQktd2Via2l0LWZsb3ctZnJvbTogZmxvdzQ7CisJCQlib3JkZXI6IDFweCBzb2xp
ZCByZWQ7CisJCQlwb3NpdGlvbjogcmVsYXRpdmU7CisJCQltYXJnaW4tdG9wOiAyMHB4OworCQkJ
bGVmdDogNDUwcHg7CisJCQl0b3A6IDUzcHg7CisJCQl3aWR0aDogMjUwcHg7CisJCQloZWlnaHQ6
IDE0MHB4OworCQl9CisKKwkJLmdyaWQgeworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJdG9w
OiA3NTBweDsKKwkJCXdpZHRoOiAxMDBweDsKKwkJCWhlaWdodDogMTAwcHg7CisJCQlib3JkZXIt
cmlnaHQ6IDFweCBzb2xpZCBibHVlOworCQkJdGV4dC1hbGlnbjogcmlnaHQ7CisJCQlmb250LXNp
emU6IDE0cHg7CisJCQljb2xvcjogYmx1ZTsKKwkJfQorCisJCS52Z3JpZCB7CisJCQlwb3NpdGlv
bjogYWJzb2x1dGU7CisJCQlsZWZ0OiA5MDBweDsKKwkJCXdpZHRoOiAxMDBweDsKKwkJCWhlaWdo
dDogMTAwcHg7CisJCQlib3JkZXItYm90dG9tOiAxcHggc29saWQgYmx1ZTsKKwkJCXRleHQtYWxp
Z246IGJvdHRvbTsKKwkJCWZvbnQtc2l6ZTogMTRweDsKKwkJCWNvbG9yOiBibHVlOworCQl9CisK
KwkJI2dyaWQxIHsKKwkJCWxlZnQ6IDBweDsKKwkJfQorCQkjZ3JpZDIgeworCQkJbGVmdDogMTAw
cHg7CisJCX0KKwkJI2dyaWQzIHsKKwkJCWxlZnQ6IDIwMHB4OworCQl9CisJCSNncmlkNCB7CisJ
CQlsZWZ0OiAzMDBweDsKKwkJfQorCQkjZ3JpZDUgeworCQkJbGVmdDogNDAwcHg7CisJCX0KKwkJ
I2dyaWQ2IHsKKwkJCWxlZnQ6IDUwMHB4OworCQl9CisJCSNncmlkNyB7CisJCQlsZWZ0OiA2MDBw
eDsKKwkJfQorCisJCSN2Z3JpZDEgeworCQkJdG9wOiAwcHg7CisJCX0KKwkJI3ZncmlkMiB7CisJ
CQl0b3A6IDEwMHB4OworCQl9CisJCSN2Z3JpZDMgeworCQkJdG9wOiAyMDBweDsKKwkJfQorCQkj
dmdyaWQ0IHsKKwkJCXRvcDogMzAwcHg7CisJCX0KKwkJI3ZncmlkNSB7CisJCQl0b3A6IDQwMHB4
OworCQl9CisJCSN2Z3JpZDYgeworCQkJdG9wOiA1MDBweDsKKwkJfQorCQkjdmdyaWQ3IHsKKwkJ
CXRvcDogNjAwcHg7CisJCX0KKwkJI3ZncmlkOCB7CisJCQl0b3A6IDcwMHB4OworCQkJYm9yZGVy
OiBub25lOworCQl9CisJPC9zdHlsZT4KKworCTxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCisJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorCQlmdW5jdGlvbiB3cml0ZU9mZnNldEluZm8oc2VsZWN0b3IpIHsKKwkJCXZhciBkaXZJ
dGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOworCQkJCQorCQkJZm9y
ICh2YXIgaT0wOyBpPGRpdkl0ZW1zLmxlbmd0aDsgaSsrKSB7CisJCQkJdmFyIGRpdkl0ZW0gPSBk
aXZJdGVtc1tpXTsKKwkJCQl2YXIgZXhpc3RpbmdIVE1MID0gZGl2SXRlbS5pbm5lckhUTUw7CisJ
CQkJdmFyIG5ld0hUTUwgPSBleGlzdGluZ0hUTUwucmVwbGFjZSgiI29mZlRvcCMiLCBkaXZJdGVt
Lm9mZnNldFRvcCk7CisJCQkJbmV3SFRNTCA9IG5ld0hUTUwucmVwbGFjZSgiI29mZkxlZnQjIiwg
ZGl2SXRlbS5vZmZzZXRMZWZ0KTsKKwkJCQlpZiAoZGl2SXRlbS5vZmZzZXRQYXJlbnQpCisJCQkJ
CW5ld0hUTUwgPSBuZXdIVE1MLnJlcGxhY2UoIiNvZmZQYXJlbnQjIiwgZGl2SXRlbS5vZmZzZXRQ
YXJlbnQudGFnTmFtZSArICIoIiArIGRpdkl0ZW0ub2Zmc2V0UGFyZW50LmlkICsgIikiKTsKKwkJ
CQllbHNlCisJCQkJCW5ld0hUTUwgPSBuZXdIVE1MLnJlcGxhY2UoIiNvZmZQYXJlbnQjIiwgIm51
bGwiKTsKKwkJCQlkaXZJdGVtLmlubmVySFRNTCA9IG5ld0hUTUw7CisJCQl9CisJCX0KKwkJZnVu
Y3Rpb24gbXlPbkxvYWQoKSB7CisJCQl3cml0ZU9mZnNldEluZm8oIi5kaXZUZXh0Iik7CisJCX0K
Kwk8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgaWQ9ImJvZHkiIG9ubG9hZCA9ICJteU9uTG9h
ZCgpOyI+CisJPGRpdiBpZD0iZGl2TWFpbjEiPgorCQk8ZGl2IGNsYXNzPSJkaXZUZXh0IiBpZD0i
ZGl2VGV4dDEiPlRoaXMgaXMgPGI+ZGl2VGV4dDE8L2I+IChhYnNvbHV0ZSk6PGJyLz4tIG9mZnNl
dFBhcmVudCBpcyA8Yj4jb2ZmUGFyZW50IzwvYj48YnIvPi0gb2Zmc2V0TGVmdCBpcyA8Yj4jb2Zm
TGVmdCM8L2I+PGJyLz4tIG9mZnNldFRvcCBpcyA8Yj4jb2ZmVG9wIzwvYj48L2Rpdj4KKwk8L2Rp
dj4KKworCTxkaXYgaWQ9ImRpdk1haW4yIj4KKwkJPGRpdiBjbGFzcz0iZGl2VGV4dCIgaWQ9ImRp
dlRleHQyIj5UaGlzIGlzIDxiPmRpdlRleHQyPC9iPiAoYWJzb2x1dGUpOjxici8+LSBvZmZzZXRQ
YXJlbnQgaXMgPGI+I29mZlBhcmVudCM8L2I+PGJyLz4tIG9mZnNldExlZnQgaXMgPGI+I29mZkxl
ZnQjPC9iPjxici8+LSBvZmZzZXRUb3AgaXMgPGI+I29mZlRvcCM8L2I+PC9kaXY+CisJPC9kaXY+
CisKKwk8ZGl2IGlkPSJkaXZNYWluMyI+CisJCTxkaXYgY2xhc3M9ImR1bW15IiBpZD0iZHVtbXki
PmR1bW15PC9kaXY+CisJCTxkaXYgY2xhc3M9ImRpdlRleHQiIGlkPSJkaXZUZXh0MyI+PHNwYW4g
Y2xhc3M9Im9mZnNldEluZm8iPlRoaXMgaXMgPGI+ZGl2VGV4dDM8L2I+IChzdGlja3kpOjxici8+
LSBvZmZzZXRQYXJlbnQgaXMgPGI+I29mZlBhcmVudCM8L2I+PGJyLz4tIG9mZnNldExlZnQgaXMg
PGI+I29mZkxlZnQjPC9iPjxici8+LSBvZmZzZXRUb3AgaXMgPGI+I29mZlRvcCM8L2I+PC9zcGFu
PjwvZGl2PgorCTwvZGl2PgorCisJPGRpdiBpZD0iZGl2TWFpbjQiPgorCQk8ZGl2IGNsYXNzPSJk
aXZUZXh0IiBpZD0iZGl2VGV4dDQiPlRoaXMgaXMgPGI+ZGl2VGV4dDQ8L2I+IChmaXhlZCk6PGJy
Lz4tIG9mZnNldFBhcmVudCBpcyA8Yj4jb2ZmUGFyZW50IzwvYj48YnIvPi0gb2Zmc2V0TGVmdCBp
cyA8Yj4jb2ZmTGVmdCM8L2I+PGJyLz4tIG9mZnNldFRvcCBpcyA8Yj4jb2ZmVG9wIzwvYj48L2Rp
dj4KKwk8L2Rpdj4KKworCTxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjEiPjwvZGl2Pgor
CTxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lvbjIiPjwvZGl2PgorCTxkaXYgY2xhc3M9InJl
Z2lvbiIgaWQ9InJlZ2lvbjMiPjwvZGl2PgorCTxkaXYgY2xhc3M9InJlZ2lvbiIgaWQ9InJlZ2lv
bjQiPjwvZGl2PgorCisJPGRpdiBpZD0iZ3JpZDEiIGNsYXNzPSJncmlkIj4xMDBweDwvZGl2Pgor
CTxkaXYgaWQ9ImdyaWQyIiBjbGFzcz0iZ3JpZCI+MjAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJncmlk
MyIgY2xhc3M9ImdyaWQiPjMwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3JpZDQiIGNsYXNzPSJncmlk
Ij40MDBweDwvZGl2PgorCTxkaXYgaWQ9ImdyaWQ1IiBjbGFzcz0iZ3JpZCI+NTAwcHg8L2Rpdj4K
Kwk8ZGl2IGlkPSJncmlkNiIgY2xhc3M9ImdyaWQiPjYwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3Jp
ZDciIGNsYXNzPSJncmlkIj43MDBweDwvZGl2PgorCisJPGRpdiBpZD0idmdyaWQxIiBjbGFzcz0i
dmdyaWQiPjwvZGl2PgorCTxkaXYgaWQ9InZncmlkMiIgY2xhc3M9InZncmlkIj4xMDBweDwvZGl2
PgorCTxkaXYgaWQ9InZncmlkMyIgY2xhc3M9InZncmlkIj4yMDBweDwvZGl2PgorCTxkaXYgaWQ9
InZncmlkNCIgY2xhc3M9InZncmlkIj4zMDBweDwvZGl2PgorCTxkaXYgaWQ9InZncmlkNSIgY2xh
c3M9InZncmlkIj40MDBweDwvZGl2PgorCTxkaXYgaWQ9InZncmlkNiIgY2xhc3M9InZncmlkIj41
MDBweDwvZGl2PgorCTxkaXYgaWQ9InZncmlkNyIgY2xhc3M9InZncmlkIj42MDBweDwvZGl2Pgor
CTxkaXYgaWQ9InZncmlkOCIgY2xhc3M9InZncmlkIj43MDBweDwvZGl2PgorCisJPHNjcmlwdD4K
KwkJZGVzY3JpcHRpb24oIlRlc3Qgb2Zmc2V0TGVmdCBhbmQgb2Zmc2V0VG9wIGluIGEgbmFtZWQg
ZmxvdyB3aXRoIGFic29sdXRlLCBzdGlja3kgYW5kIGZpeGVkIHBvc2l0aW9uaW5nLiIpCisKKwkJ
c2hvdWxkQmUoImRpdlRleHQxLm9mZnNldFBhcmVudCIsICJkaXZNYWluMSIpOworCQlzaG91bGRC
ZSgiZGl2VGV4dDEub2Zmc2V0TGVmdCIsICIxMCIpOworCQlzaG91bGRCZSgiZGl2VGV4dDEub2Zm
c2V0VG9wIiwgIjEwIik7CisKKwkJc2hvdWxkQmUoImRpdlRleHQyLm9mZnNldFBhcmVudCIsICJk
b2N1bWVudC5ib2R5Iik7CisJCXNob3VsZEJlKCJkaXZUZXh0Mi5vZmZzZXRMZWZ0IiwgIjEwMCIp
OworCQlzaG91bGRCZSgiZGl2VGV4dDIub2Zmc2V0VG9wIiwgIjUwMCIpOworCisJCXNob3VsZEJl
KCJkaXZUZXh0My5vZmZzZXRQYXJlbnQiLCAiZG9jdW1lbnQuYm9keSIpOworCQlzaG91bGRCZSgi
ZGl2VGV4dDMub2Zmc2V0TGVmdCIsICI2MDAiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQzLm9mZnNl
dFRvcCIsICI0MDAiKTsKKworCQlzaG91bGRCZU51bGwoImRpdlRleHQ0Lm9mZnNldFBhcmVudCIp
OworCQlzaG91bGRCZSgiZGl2VGV4dDQub2Zmc2V0TGVmdCIsICI1MCIpOworCQlzaG91bGRCZSgi
ZGl2VGV4dDQub2Zmc2V0VG9wIiwgIjIwIik7CisKKwkJaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisJCQl2YXIgYWxsR3JhcGhpY0VsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
LnJlZ2lvbiwgLmRpdlRleHQsIC5ncmlkLCAudmdyaWQsICNkdW1teSIpOworCQkJZm9yICh2YXIg
aT0wOyBpPGFsbEdyYXBoaWNFbGVtZW50cy5sZW5ndGg7IGkrKykKKwkJCQlhbGxHcmFwaGljRWxl
bWVudHNbaV0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwkJfQorCQkKKwk8L3NjcmlwdD4KKwk8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLXJlZ2lvbi1m
bG9hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1v
ZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5jMmVkZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLXJlZ2lvbi1mbG9hdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCBvZmZzZXRMZWZ0IGFuZCBvZmZzZXRUb3AgaW4g
YSBuYW1lZCBmbG93IHdpdGggZmxvYXRzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgZGl2VGV4dDEub2Zmc2V0UGFyZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZGl2VGV4
dDEub2Zmc2V0TGVmdCBpcyAyMDAKK1BBU1MgZGl2VGV4dDEub2Zmc2V0VG9wIGlzIDMwMAorUEFT
UyBkaXZUZXh0Mi5vZmZzZXRQYXJlbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBkaXZUZXh0Mi5v
ZmZzZXRMZWZ0IGlzIDMwMAorUEFTUyBkaXZUZXh0Mi5vZmZzZXRUb3AgaXMgNTAwCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWluLXJlZ2lvbi1m
bG9hdC12ZXJ0LXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZz
ZXRMZWZ0LW9mZnNldFRvcC1pbi1yZWdpb24tZmxvYXQtdmVydC1ybC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJhYjQzZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbi1yZWdp
b24tZmxvYXQtdmVydC1ybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCBvZmZz
ZXRMZWZ0IGFuZCBvZmZzZXRUb3AgaW4gYSBuYW1lZCBmbG93IHdpdGggZmxvYXRzIGluIHZlcnRp
Y2FsLXJsIG1vZGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBkaXZUZXh0
MS5vZmZzZXRQYXJlbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBkaXZUZXh0MS5vZmZzZXRMZWZ0
IGlzIDcwMAorUEFTUyBkaXZUZXh0MS5vZmZzZXRUb3AgaXMgMjAwCitQQVNTIGRpdlRleHQyLm9m
ZnNldFBhcmVudCBpcyBkb2N1bWVudC5ib2R5CitQQVNTIGRpdlRleHQyLm9mZnNldExlZnQgaXMg
NDAwCitQQVNTIGRpdlRleHQyLm9mZnNldFRvcCBpcyAyMDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0LXZlcnQtcmwu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbi1y
ZWdpb24tZmxvYXQtdmVydC1ybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjA5NThhNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
b2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0LXZlcnQtcmwuaHRtbApAQCAtMCww
ICsxLDIxNiBAQAorPGh0bWwgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1y
bDsiPgorPGhlYWQ+CisJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKwkJLyogTWFrZSBzdXJlIHRo
ZSBjb25zb2xlIGFuZCB0aGUgZGVzY3JpcHRpb24gZG9uJ3QgaW50ZXJmZXJlIHdpdGggdGhlIHJl
c3Qgb2YgdGhlIGxheW91dC4gKi8KKwkJI2Rlc2NyaXB0aW9uIHsKKwkJCXBvc2l0aW9uOiBhYnNv
bHV0ZTsKKwkJCWxlZnQ6IDBweDsKKwkJfQorCisJCSNjb25zb2xlIHsKKwkJCXBvc2l0aW9uOiBh
YnNvbHV0ZTsKKwkJCWxlZnQ6IDEwMHB4OworCQl9CisKKwkJI2Rpdk1haW4xIHsKKwkJCS13ZWJr
aXQtZmxvdy1pbnRvOiBmbG93MTsKKwkJCWJvcmRlcjogMnB4IHNvbGlkIGJsdWU7CisJCQl3aWR0
aDogMTYwcHg7CisJCQltYXJnaW46IDEwcHg7CisJCQlwYWRkaW5nOiA1cHg7CisJCX0KKworCQkj
ZGl2TWFpbjIgeworCQkJYm9yZGVyOiAycHggc29saWQgYmx1ZTsKKwkJCXdpZHRoOiAxMzVweDsK
KwkJCW1hcmdpbjogNXB4OworCQkJLXdlYmtpdC1mbG93LWludG86IGZsb3cyOworCQl9CisKKwkJ
LmRpdlRleHQgeworCQkJYm9yZGVyOiAxcHggc29saWQgZ3JlZW47CisJCQljb2xvcjogZ3JlZW47
CisJCQlmb250LXNpemU6IDE0cHg7CisJCX0KKworCQkjZGl2VGV4dDEgeworCQkJaGVpZ2h0OiAy
NTBweDsKKwkJCW1hcmdpbjogMTBweDsKKwkJCXBhZGRpbmctbGVmdDogNXB4OworCQkJZmxvYXQ6
IHJpZ2h0OworCQl9CisKKwkJI2RpdlRleHQyIHsKKwkJCWhlaWdodDogMjAwcHg7CisJCQlmbG9h
dDogbGVmdDsKKwkJCW1hcmdpbjogMTBweDsKKwkJfQorCisJCSNyZWdpb24xIHsKKwkJCS13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93MTsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKwkJCXBvc2l0
aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDogNzhweDsKKwkJCWxlZnQ6IDYxMXB4OworCQkJaGVpZ2h0
OiA0MDBweDsKKwkJCXdpZHRoOiAxOTBweDsKKwkJfQorCisJCSNyZWdpb24yIHsKKwkJCS13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93MjsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKwkJCXBvc2l0
aW9uOiBhYnNvbHV0ZTsKKwkJCWxlZnQ6IDMzNnB4OworCQkJdG9wOiAxODJweDsKKwkJCXdpZHRo
OiAxNTBweDsKKwkJCWhlaWdodDogNDAwcHg7CisJCX0KKworCQkuZ3JpZCB7CisJCQlwb3NpdGlv
bjogYWJzb2x1dGU7CisJCQl0b3A6IDY1MHB4OworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0
OiAxMDBweDsKKwkJCWJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsdWU7CisJCQl0ZXh0LWFsaWdu
OiByaWdodDsKKwkJCWZvbnQtc2l6ZTogMTRweDsKKwkJCWNvbG9yOiBibHVlOworCQl9CisKKwkJ
LnZncmlkIHsKKwkJCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwkJCWxlZnQ6IDkwMHB4OworCQkJd2lk
dGg6IDEwMHB4OworCQkJaGVpZ2h0OiAxMDBweDsKKwkJCWJvcmRlci1ib3R0b206IDFweCBzb2xp
ZCBibHVlOworCQkJdGV4dC1hbGlnbjogYm90dG9tOworCQkJZm9udC1zaXplOiAxNHB4OworCQkJ
Y29sb3I6IGJsdWU7CisJCX0KKworCQkjZ3JpZDEgeworCQkJbGVmdDogMHB4OworCQl9CisJCSNn
cmlkMiB7CisJCQlsZWZ0OiAxMDBweDsKKwkJfQorCQkjZ3JpZDMgeworCQkJbGVmdDogMjAwcHg7
CisJCX0KKwkJI2dyaWQ0IHsKKwkJCWxlZnQ6IDMwMHB4OworCQl9CisJCSNncmlkNSB7CisJCQls
ZWZ0OiA0MDBweDsKKwkJfQorCQkjZ3JpZDYgeworCQkJbGVmdDogNTAwcHg7CisJCX0KKwkJI2dy
aWQ3IHsKKwkJCWxlZnQ6IDYwMHB4OworCQl9CisKKwkJI3ZncmlkMSB7CisJCQl0b3A6IDBweDsK
KwkJfQorCQkjdmdyaWQyIHsKKwkJCXRvcDogMTAwcHg7CisJCX0KKwkJI3ZncmlkMyB7CisJCQl0
b3A6IDIwMHB4OworCQl9CisJCSN2Z3JpZDQgeworCQkJdG9wOiAzMDBweDsKKwkJfQorCQkjdmdy
aWQ1IHsKKwkJCXRvcDogNDAwcHg7CisJCX0KKwkJI3ZncmlkNiB7CisJCQl0b3A6IDUwMHB4Owor
CQl9CisJCSN2Z3JpZDcgeworCQkJdG9wOiA2MDBweDsKKwkJfQorCQkjdmdyaWQ4IHsKKwkJCXRv
cDogNzAwcHg7CisJCQlib3JkZXI6IG5vbmU7CisJCX0KKwk8L3N0eWxlPgorCisJPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKwk8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisJCWZ1bmN0aW9uIHdyaXRlT2Zmc2V0SW5mbyhzZWxl
Y3RvcikgeworCQkJdmFyIGRpdkl0ZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxl
Y3Rvcik7CisJCQkJCisJCQlmb3IgKHZhciBpPTA7IGk8ZGl2SXRlbXMubGVuZ3RoOyBpKyspIHsK
KwkJCQl2YXIgZGl2SXRlbSA9IGRpdkl0ZW1zW2ldOworCQkJCXZhciBleGlzdGluZ0hUTUwgPSBk
aXZJdGVtLmlubmVySFRNTDsKKwkJCQl2YXIgbmV3SFRNTCA9IGV4aXN0aW5nSFRNTC5yZXBsYWNl
KCIjb2ZmVG9wIyIsIGRpdkl0ZW0ub2Zmc2V0VG9wKTsKKwkJCQluZXdIVE1MID0gbmV3SFRNTC5y
ZXBsYWNlKCIjb2ZmTGVmdCMiLCBkaXZJdGVtLm9mZnNldExlZnQpOworCQkJCWlmIChkaXZJdGVt
Lm9mZnNldFBhcmVudCkKKwkJCQkJbmV3SFRNTCA9IG5ld0hUTUwucmVwbGFjZSgiI29mZlBhcmVu
dCMiLCBkaXZJdGVtLm9mZnNldFBhcmVudC50YWdOYW1lICsgIigiICsgZGl2SXRlbS5vZmZzZXRQ
YXJlbnQuaWQgKyAiKSIpOworCQkJCWVsc2UKKwkJCQkJbmV3SFRNTCA9IG5ld0hUTUwucmVwbGFj
ZSgiI29mZlBhcmVudCMiLCAibnVsbCIpOworCQkJCWRpdkl0ZW0uaW5uZXJIVE1MID0gbmV3SFRN
TDsKKwkJCX0KKwkJfQorCQlmdW5jdGlvbiBteU9uTG9hZCgpIHsKKwkJCXdyaXRlT2Zmc2V0SW5m
bygiLmRpdlRleHQiKTsKKwkJfQorCTwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBpZD0iYm9k
eSIgb25sb2FkID0gIm15T25Mb2FkKCk7Ij4KKwkKKwk8ZGl2IGlkPSJkaXZNYWluMSI+CisJCTxk
aXYgY2xhc3M9ImRpdlRleHQiIGlkPSJkaXZUZXh0MSI+VGhpcyBpcyA8Yj5kaXZUZXh0MTwvYj4g
KGZsb2F0IHJpZ2h0KTo8YnIvPi0gb2Zmc2V0UGFyZW50IGlzIDxiPiNvZmZQYXJlbnQjPC9iPjxi
ci8+LSBvZmZzZXRMZWZ0IGlzIDxiPiNvZmZMZWZ0IzwvYj48YnIvPi0gb2Zmc2V0VG9wIGlzIDxi
PiNvZmZUb3AjPC9iPjwvZGl2PgorCQk8c3BhbiBjbGFzcz0ibXlTcGFuIiBzdHlsZT0iY29sb3I6
IGJsdWU7Ij5UaGlzIHRleHQgc2hvdWxkIGZsb3cgYXJvdW5kIHRoZSBncmVlbiBkaXYuIFRoaXMg
dGV4dCBzaG91bGQgZmxvdyBhcm91bmQgdGhlIGdyZWVuIGRpdi4gVGhpcyB0ZXh0IHNob3VsZCBm
bG93IGFyb3VuZCB0aGUgZ3JlZW4gZGl2LiBUaGlzIHRleHQgc2hvdWxkIGZsb3cgYXJvdW5kIHRo
ZSBncmVlbiBkaXYuIFRoaXMgdGV4dCBzaG91bGQgZmxvdyBhcm91bmQgdGhlIGdyZWVuIGRpdi48
L3NwYW4+CisJPC9kaXY+CisJCisJPGRpdiBpZD0iZGl2TWFpbjIiPgorCQk8ZGl2IGNsYXNzPSJk
aXZUZXh0IiBpZD0iZGl2VGV4dDIiPlRoaXMgaXMgPGI+ZGl2VGV4dDI8L2I+IChmbG9hdCBsZWZ0
KTo8YnIvPi0gb2Zmc2V0UGFyZW50IGlzIDxiPiNvZmZQYXJlbnQjPC9iPjxici8+LSBvZmZzZXRM
ZWZ0IGlzIDxiPiNvZmZMZWZ0IzwvYj48YnIvPi0gb2Zmc2V0VG9wIGlzIDxiPiNvZmZUb3AjPC9i
PjwvZGl2PgorCQk8c3BhbiBjbGFzcz0ibXlTcGFuIiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5UaGlz
IHRleHQgc2hvdWxkIGZsb3cgYXJvdW5kIHRoZSBncmVlbiBkaXYuIFRoaXMgdGV4dCBzaG91bGQg
ZmxvdyBhcm91bmQgdGhlIGdyZWVuIGRpdi4gVGhpcyB0ZXh0IHNob3VsZCBmbG93IGFyb3VuZCB0
aGUgZ3JlZW4gZGl2LiBUaGlzIHRleHQgc2hvdWxkIGZsb3cgYXJvdW5kIHRoZSBncmVlbiBkaXYu
IFRoaXMgdGV4dCBzaG91bGQgZmxvdyBhcm91bmQgdGhlIGdyZWVuIGRpdi48L3NwYW4+CisJPC9k
aXY+CisKKwk8ZGl2IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdpb24xIj48L2Rpdj4KKwk8ZGl2IGNs
YXNzPSJyZWdpb24iIGlkPSJyZWdpb24yIj48L2Rpdj4KKwkKKwk8ZGl2IGlkPSJncmlkMSIgY2xh
c3M9ImdyaWQiPjEwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3JpZDIiIGNsYXNzPSJncmlkIj4yMDBw
eDwvZGl2PgorCTxkaXYgaWQ9ImdyaWQzIiBjbGFzcz0iZ3JpZCI+MzAwcHg8L2Rpdj4KKwk8ZGl2
IGlkPSJncmlkNCIgY2xhc3M9ImdyaWQiPjQwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3JpZDUiIGNs
YXNzPSJncmlkIj41MDBweDwvZGl2PgorCTxkaXYgaWQ9ImdyaWQ2IiBjbGFzcz0iZ3JpZCI+NjAw
cHg8L2Rpdj4KKwk8ZGl2IGlkPSJncmlkNyIgY2xhc3M9ImdyaWQiPjcwMHB4PC9kaXY+CisKKwk8
ZGl2IGlkPSJ2Z3JpZDEiIGNsYXNzPSJ2Z3JpZCI+PC9kaXY+CisJPGRpdiBpZD0idmdyaWQyIiBj
bGFzcz0idmdyaWQiPjEwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQzIiBjbGFzcz0idmdyaWQi
PjIwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ0IiBjbGFzcz0idmdyaWQiPjMwMHB4PC9kaXY+
CisJPGRpdiBpZD0idmdyaWQ1IiBjbGFzcz0idmdyaWQiPjQwMHB4PC9kaXY+CisJPGRpdiBpZD0i
dmdyaWQ2IiBjbGFzcz0idmdyaWQiPjUwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ3IiBjbGFz
cz0idmdyaWQiPjYwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ4IiBjbGFzcz0idmdyaWQiPjcw
MHB4PC9kaXY+CisKKwk8c2NyaXB0PgorCQlkZXNjcmlwdGlvbigiVGVzdCBvZmZzZXRMZWZ0IGFu
ZCBvZmZzZXRUb3AgaW4gYSBuYW1lZCBmbG93IHdpdGggZmxvYXRzIGluIHZlcnRpY2FsLXJsIG1v
ZGUuIikKKworCQlzaG91bGRCZSgiZGl2VGV4dDEub2Zmc2V0UGFyZW50IiwgImRvY3VtZW50LmJv
ZHkiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQxLm9mZnNldExlZnQiLCAiNzAwIik7CisJCXNob3Vs
ZEJlKCJkaXZUZXh0MS5vZmZzZXRUb3AiLCAiMjAwIik7CisKKwkJc2hvdWxkQmUoImRpdlRleHQy
Lm9mZnNldFBhcmVudCIsICJkb2N1bWVudC5ib2R5Iik7CisJCXNob3VsZEJlKCJkaXZUZXh0Mi5v
ZmZzZXRMZWZ0IiwgIjQwMCIpOworCQlzaG91bGRCZSgiZGl2VGV4dDIub2Zmc2V0VG9wIiwgIjIw
MCIpOworCisJCWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCQkJdmFyIGFsbEdyYXBoaWNFbGVt
ZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yZWdpb24sIC5kaXZUZXh0LCAuZ3Jp
ZCwgLnZncmlkLCAubXlTcGFuIik7CisJCQlmb3IgKHZhciBpPTA7IGk8YWxsR3JhcGhpY0VsZW1l
bnRzLmxlbmd0aDsgaSsrKQorCQkJCWFsbEdyYXBoaWNFbGVtZW50c1tpXS5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworCQl9CisJCQorCTwvc2NyaXB0PgorCTxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTllM2I2MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbi1y
ZWdpb24tZmxvYXQuaHRtbApAQCAtMCwwICsxLDIxNiBAQAorPGh0bWw+Cis8aGVhZD4KKwk8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorCQkvKiBNYWtlIHN1cmUgdGhlIGNvbnNvbGUgYW5kIHRoZSBk
ZXNjcmlwdGlvbiBkb24ndCBpbnRlcmZlcmUgd2l0aCB0aGUgcmVzdCBvZiB0aGUgbGF5b3V0LiAq
LworCQkjZGVzY3JpcHRpb24geworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJdG9wOiAwcHg7
CisJCX0KKworCQkjY29uc29sZSB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6IDEw
MHB4OworCQl9CisKKwkJI2Rpdk1haW4xIHsKKwkJCS13ZWJraXQtZmxvdy1pbnRvOiBmbG93MTsK
KwkJCWJvcmRlcjogMnB4IHNvbGlkIGJsdWU7CisJCQloZWlnaHQ6IDE1MHB4OworCQkJbWFyZ2lu
OiAxMHB4OworCQkJcGFkZGluZzogNXB4OworCQl9CisKKwkJI2Rpdk1haW4yIHsKKwkJCWJvcmRl
cjogMnB4IHNvbGlkIGJsdWU7CisJCQloZWlnaHQ6IDEzNXB4OworCQkJbWFyZ2luOiA1cHg7CisJ
CQktd2Via2l0LWZsb3ctaW50bzogZmxvdzI7CisJCX0KKworCQkuZGl2VGV4dCB7CisJCQlib3Jk
ZXI6IDFweCBzb2xpZCBncmVlbjsKKwkJCWNvbG9yOiBncmVlbjsKKwkJCWZvbnQtc2l6ZTogMTRw
eDsKKwkJfQorCisJCSNkaXZUZXh0MSB7CisJCQl3aWR0aDogMjUwcHg7CisJCQltYXJnaW46IDEw
cHg7CisJCQlwYWRkaW5nLWxlZnQ6IDVweDsKKwkJCWZsb2F0OiByaWdodDsKKwkJfQorCisJCSNk
aXZUZXh0MiB7CisJCQl3aWR0aDogMjAwcHg7CisJCQlmbG9hdDogbGVmdDsKKwkJCW1hcmdpbjog
MTBweDsKKwkJfQorCisJCSNyZWdpb24xIHsKKwkJCS13ZWJraXQtZmxvdy1mcm9tOiBmbG93MTsK
KwkJCWJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKwkJCXBvc2l0aW9uOiByZWxhdGl2ZTsKKwkJCWxl
ZnQ6IDc1cHg7CisJCQl0b3A6IDI2NHB4OworCQkJd2lkdGg6IDQwMHB4OworCQkJaGVpZ2h0OiAx
ODBweDsKKwkJfQorCisJCSNyZWdpb24yIHsKKwkJCS13ZWJraXQtZmxvdy1mcm9tOiBmbG93MjsK
KwkJCWJvcmRlcjogMXB4IHNvbGlkIHJlZDsKKwkJCXBvc2l0aW9uOiByZWxhdGl2ZTsKKwkJCWxl
ZnQ6IDI3NHB4OworCQkJdG9wOiAyOTJweDsKKwkJCXdpZHRoOiA0MDBweDsKKwkJCWhlaWdodDog
MTUwcHg7CisJCX0KKworCQkuZ3JpZCB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6
IDc1MHB4OworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAxMDBweDsKKwkJCWJvcmRlci1y
aWdodDogMXB4IHNvbGlkIGJsdWU7CisJCQl0ZXh0LWFsaWduOiByaWdodDsKKwkJCWZvbnQtc2l6
ZTogMTRweDsKKwkJCWNvbG9yOiBibHVlOworCQl9CisKKwkJLnZncmlkIHsKKwkJCXBvc2l0aW9u
OiBhYnNvbHV0ZTsKKwkJCWxlZnQ6IDkwMHB4OworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0
OiAxMDBweDsKKwkJCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibHVlOworCQkJdGV4dC1hbGln
bjogYm90dG9tOworCQkJZm9udC1zaXplOiAxNHB4OworCQkJY29sb3I6IGJsdWU7CisJCX0KKwor
CQkjZ3JpZDEgeworCQkJbGVmdDogMHB4OworCQl9CisJCSNncmlkMiB7CisJCQlsZWZ0OiAxMDBw
eDsKKwkJfQorCQkjZ3JpZDMgeworCQkJbGVmdDogMjAwcHg7CisJCX0KKwkJI2dyaWQ0IHsKKwkJ
CWxlZnQ6IDMwMHB4OworCQl9CisJCSNncmlkNSB7CisJCQlsZWZ0OiA0MDBweDsKKwkJfQorCQkj
Z3JpZDYgeworCQkJbGVmdDogNTAwcHg7CisJCX0KKwkJI2dyaWQ3IHsKKwkJCWxlZnQ6IDYwMHB4
OworCQl9CisKKwkJI3ZncmlkMSB7CisJCQl0b3A6IDBweDsKKwkJfQorCQkjdmdyaWQyIHsKKwkJ
CXRvcDogMTAwcHg7CisJCX0KKwkJI3ZncmlkMyB7CisJCQl0b3A6IDIwMHB4OworCQl9CisJCSN2
Z3JpZDQgeworCQkJdG9wOiAzMDBweDsKKwkJfQorCQkjdmdyaWQ1IHsKKwkJCXRvcDogNDAwcHg7
CisJCX0KKwkJI3ZncmlkNiB7CisJCQl0b3A6IDUwMHB4OworCQl9CisJCSN2Z3JpZDcgeworCQkJ
dG9wOiA2MDBweDsKKwkJfQorCQkjdmdyaWQ4IHsKKwkJCXRvcDogNzAwcHg7CisJCQlib3JkZXI6
IG5vbmU7CisJCX0KKwk8L3N0eWxlPgorCisJPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CisJCWZ1bmN0aW9uIHdyaXRlT2Zmc2V0SW5mbyhzZWxlY3RvcikgeworCQkJdmFyIGRpdkl0
ZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CisJCQkJCisJCQlmb3Ig
KHZhciBpPTA7IGk8ZGl2SXRlbXMubGVuZ3RoOyBpKyspIHsKKwkJCQl2YXIgZGl2SXRlbSA9IGRp
dkl0ZW1zW2ldOworCQkJCXZhciBleGlzdGluZ0hUTUwgPSBkaXZJdGVtLmlubmVySFRNTDsKKwkJ
CQl2YXIgbmV3SFRNTCA9IGV4aXN0aW5nSFRNTC5yZXBsYWNlKCIjb2ZmVG9wIyIsIGRpdkl0ZW0u
b2Zmc2V0VG9wKTsKKwkJCQluZXdIVE1MID0gbmV3SFRNTC5yZXBsYWNlKCIjb2ZmTGVmdCMiLCBk
aXZJdGVtLm9mZnNldExlZnQpOworCQkJCWlmIChkaXZJdGVtLm9mZnNldFBhcmVudCkKKwkJCQkJ
bmV3SFRNTCA9IG5ld0hUTUwucmVwbGFjZSgiI29mZlBhcmVudCMiLCBkaXZJdGVtLm9mZnNldFBh
cmVudC50YWdOYW1lICsgIigiICsgZGl2SXRlbS5vZmZzZXRQYXJlbnQuaWQgKyAiKSIpOworCQkJ
CWVsc2UKKwkJCQkJbmV3SFRNTCA9IG5ld0hUTUwucmVwbGFjZSgiI29mZlBhcmVudCMiLCAibnVs
bCIpOworCQkJCWRpdkl0ZW0uaW5uZXJIVE1MID0gbmV3SFRNTDsKKwkJCX0KKwkJfQorCQlmdW5j
dGlvbiBteU9uTG9hZCgpIHsKKwkJCXdyaXRlT2Zmc2V0SW5mbygiLmRpdlRleHQiKTsKKwkJfQor
CTwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBpZD0iYm9keSIgb25sb2FkID0gIm15T25Mb2Fk
KCk7Ij4KKwkKKwk8ZGl2IGlkPSJkaXZNYWluMSI+CisJCTxkaXYgY2xhc3M9ImRpdlRleHQiIGlk
PSJkaXZUZXh0MSI+VGhpcyBpcyA8Yj5kaXZUZXh0MTwvYj4gKGZsb2F0IHJpZ2h0KTo8YnIvPi0g
b2Zmc2V0UGFyZW50IGlzIDxiPiNvZmZQYXJlbnQjPC9iPjxici8+LSBvZmZzZXRMZWZ0IGlzIDxi
PiNvZmZMZWZ0IzwvYj48YnIvPi0gb2Zmc2V0VG9wIGlzIDxiPiNvZmZUb3AjPC9iPjwvZGl2Pgor
CQk8c3BhbiBjbGFzcz0ibXlTcGFuIiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5UaGlzIHRleHQgc2hv
dWxkIGZsb3cgYXJvdW5kIHRoZSBncmVlbiBkaXYuIFRoaXMgdGV4dCBzaG91bGQgZmxvdyBhcm91
bmQgdGhlIGdyZWVuIGRpdi4gVGhpcyB0ZXh0IHNob3VsZCBmbG93IGFyb3VuZCB0aGUgZ3JlZW4g
ZGl2LiBUaGlzIHRleHQgc2hvdWxkIGZsb3cgYXJvdW5kIHRoZSBncmVlbiBkaXYuIFRoaXMgdGV4
dCBzaG91bGQgZmxvdyBhcm91bmQgdGhlIGdyZWVuIGRpdi48L3NwYW4+CisJPC9kaXY+CisJCisJ
PGRpdiBpZD0iZGl2TWFpbjIiPgorCQk8ZGl2IGNsYXNzPSJkaXZUZXh0IiBpZD0iZGl2VGV4dDIi
PlRoaXMgaXMgPGI+ZGl2VGV4dDI8L2I+IChmbG9hdCBsZWZ0KTo8YnIvPi0gb2Zmc2V0UGFyZW50
IGlzIDxiPiNvZmZQYXJlbnQjPC9iPjxici8+LSBvZmZzZXRMZWZ0IGlzIDxiPiNvZmZMZWZ0Izwv
Yj48YnIvPi0gb2Zmc2V0VG9wIGlzIDxiPiNvZmZUb3AjPC9iPjwvZGl2PgorCQk8c3BhbiBjbGFz
cz0ibXlTcGFuIiBzdHlsZT0iY29sb3I6IGJsdWU7Ij5UaGlzIHRleHQgc2hvdWxkIGZsb3cgYXJv
dW5kIHRoZSBncmVlbiBkaXYuIFRoaXMgdGV4dCBzaG91bGQgZmxvdyBhcm91bmQgdGhlIGdyZWVu
IGRpdi4gVGhpcyB0ZXh0IHNob3VsZCBmbG93IGFyb3VuZCB0aGUgZ3JlZW4gZGl2LiBUaGlzIHRl
eHQgc2hvdWxkIGZsb3cgYXJvdW5kIHRoZSBncmVlbiBkaXYuIFRoaXMgdGV4dCBzaG91bGQgZmxv
dyBhcm91bmQgdGhlIGdyZWVuIGRpdi48L3NwYW4+CisJPC9kaXY+CisKKwk8ZGl2IGNsYXNzPSJy
ZWdpb24iIGlkPSJyZWdpb24xIj48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJyZWdpb24iIGlkPSJyZWdp
b24yIj48L2Rpdj4KKwkKKwk8ZGl2IGlkPSJncmlkMSIgY2xhc3M9ImdyaWQiPjEwMHB4PC9kaXY+
CisJPGRpdiBpZD0iZ3JpZDIiIGNsYXNzPSJncmlkIj4yMDBweDwvZGl2PgorCTxkaXYgaWQ9Imdy
aWQzIiBjbGFzcz0iZ3JpZCI+MzAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJncmlkNCIgY2xhc3M9Imdy
aWQiPjQwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3JpZDUiIGNsYXNzPSJncmlkIj41MDBweDwvZGl2
PgorCTxkaXYgaWQ9ImdyaWQ2IiBjbGFzcz0iZ3JpZCI+NjAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJn
cmlkNyIgY2xhc3M9ImdyaWQiPjcwMHB4PC9kaXY+CisKKwk8ZGl2IGlkPSJ2Z3JpZDEiIGNsYXNz
PSJ2Z3JpZCI+PC9kaXY+CisJPGRpdiBpZD0idmdyaWQyIiBjbGFzcz0idmdyaWQiPjEwMHB4PC9k
aXY+CisJPGRpdiBpZD0idmdyaWQzIiBjbGFzcz0idmdyaWQiPjIwMHB4PC9kaXY+CisJPGRpdiBp
ZD0idmdyaWQ0IiBjbGFzcz0idmdyaWQiPjMwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ1IiBj
bGFzcz0idmdyaWQiPjQwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ2IiBjbGFzcz0idmdyaWQi
PjUwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ3IiBjbGFzcz0idmdyaWQiPjYwMHB4PC9kaXY+
CisJPGRpdiBpZD0idmdyaWQ4IiBjbGFzcz0idmdyaWQiPjcwMHB4PC9kaXY+CisKKwk8c2NyaXB0
PgorCQlkZXNjcmlwdGlvbigiVGVzdCBvZmZzZXRMZWZ0IGFuZCBvZmZzZXRUb3AgaW4gYSBuYW1l
ZCBmbG93IHdpdGggZmxvYXRzLiIpCisKKwkJc2hvdWxkQmUoImRpdlRleHQxLm9mZnNldFBhcmVu
dCIsICJkb2N1bWVudC5ib2R5Iik7CisJCXNob3VsZEJlKCJkaXZUZXh0MS5vZmZzZXRMZWZ0Iiwg
IjIwMCIpOworCQlzaG91bGRCZSgiZGl2VGV4dDEub2Zmc2V0VG9wIiwgIjMwMCIpOworCisJCXNo
b3VsZEJlKCJkaXZUZXh0Mi5vZmZzZXRQYXJlbnQiLCAiZG9jdW1lbnQuYm9keSIpOworCQlzaG91
bGRCZSgiZGl2VGV4dDIub2Zmc2V0TGVmdCIsICIzMDAiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQy
Lm9mZnNldFRvcCIsICI1MDAiKTsKKworCQlpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKwkJCXZh
ciBhbGxHcmFwaGljRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucmVnaW9u
LCAuZGl2VGV4dCwgLmdyaWQsIC52Z3JpZCwgLm15U3BhbiIpOworCQkJZm9yICh2YXIgaT0wOyBp
PGFsbEdyYXBoaWNFbGVtZW50cy5sZW5ndGg7IGkrKykKKwkJCQlhbGxHcmFwaGljRWxlbWVudHNb
aV0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKwkJfQorCQkKKwk8L3NjcmlwdD4KKwk8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWlubGluZXMtcmVnaW9uLWlu
LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL29mZnNldExl
ZnQtb2Zmc2V0VG9wLWlubGluZXMtcmVnaW9uLWluLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZTExZDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW5saW5lcy1y
ZWdpb24taW4tZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGVzdCBvZmZz
ZXRMZWZ0IGFuZCBvZmZzZXRUb3AgZm9yIGJsb2NrcyBhbmQgaW5saW5lcyBpbiBhIG5hbWVkIGZs
b3cgd2hlbiB0aGUgcmVnaW9uJ3Mgb2Zmc2V0UGFyZW50IGlzIE5PVCB0aGUgYm9keS4KK1RoaXMg
dGVzdCBhbHNvIGNvdmVycyBib3JkZXJzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1MgZGl2VGV4dC5vZmZzZXRQYXJlbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBkaXZUZXh0
Lm9mZnNldExlZnQgaXMgMzAwCitQQVNTIGRpdlRleHQub2Zmc2V0VG9wIGlzIDM1MAorUEFTUyBy
ZWdpb25QYXJlbnQub2Zmc2V0TGVmdCBpcyAyMDAKK1BBU1MgcmVnaW9uLm9mZnNldFBhcmVudCBp
cyByZWdpb25QYXJlbnQKK1BBU1MgcmVnaW9uLm9mZnNldExlZnQgaXMgMzAKK1BBU1MgcmVnaW9u
Lm9mZnNldFRvcCBpcyAyMAorUEFTUyBpbmxpbmVFbGVtZW50Lm9mZnNldFBhcmVudCBpcyBkb2N1
bWVudC5ib2R5CitQQVNTIGlubGluZUVsZW1lbnQub2Zmc2V0TGVmdCBpcyAzMDAKK1BBU1MgaW5s
aW5lRWxlbWVudC5vZmZzZXRUb3AgaXMgNTUwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWlubGluZXMtcmVnaW9uLWluLWVsZW1lbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZzZXRMZWZ0LW9mZnNldFRvcC1pbmxpbmVzLXJl
Z2lvbi1pbi1lbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OThhNzI5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9vZmZz
ZXRMZWZ0LW9mZnNldFRvcC1pbmxpbmVzLXJlZ2lvbi1pbi1lbGVtZW50Lmh0bWwKQEAgLTAsMCAr
MSwyMTYgQEAKKzxodG1sPgorPGhlYWQ+CisJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKwkJLyog
TWFrZSBzdXJlIHRoZSBjb25zb2xlIGFuZCB0aGUgZGVzY3JpcHRpb24gZG9uJ3QgaW50ZXJmZXJl
IHdpdGggdGhlIHJlc3Qgb2YgdGhlIGxheW91dC4gKi8KKwkJI2Rlc2NyaXB0aW9uIHsKKwkJCXBv
c2l0aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDogMHB4OworCQl9CisKKwkJYm9keSB7CisJCQlib3Jk
ZXI6IDEwcHggZG90dGVkIGdyYXk7CisJCQlwYWRkaW5nOiAxMHB4OworCQl9CisKKwkJI2NvbnNv
bGUgeworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJdG9wOiAxMTBweDsKKwkJfQorCisJCSNy
ZWdpb25QYXJlbnQgeworCQkJYm9yZGVyOiAxcHggc29saWQgYmx1ZTsKKwkJCWJvcmRlci1sZWZ0
OiAxMHB4IGRvdHRlZCBibHVlOworCQkJYm9yZGVyLXRvcDogMTBweCBkb3R0ZWQgYmx1ZTsKKwkJ
CXdpZHRoOiA2MDBweDsKKwkJCWhlaWdodDogMzcwcHg7CisJCQlwb3NpdGlvbjogcmVsYXRpdmU7
CisJCQlsZWZ0OiAxNDdweDsKKwkJCXRvcDogMjQycHg7CisJCQltYXJnaW4tbGVmdDogMjVweDsK
KwkJfQorCisJCS5yZWdpb24xIHsKKwkJCS13ZWJraXQtZmxvdy1mcm9tOiBmbG93MTsKKwkJCWJv
cmRlcjogMTBweCBkb3R0ZWQgcmVkOworCQkJbWFyZ2luOiAyMHB4OworCQkJbWFyZ2luLWxlZnQ6
IDMwcHg7CisJCQl3aWR0aDogNDA0cHg7CisJCQloZWlnaHQ6IDMyMHB4OworCQl9CisKKwkJI2Rp
dk1haW4geworCQkJbWFyZ2luOiA1cHg7CisJCQlib3JkZXI6IDVweCBzb2xpZCBibHVlOworCQkJ
aGVpZ2h0OiAzMDVweDsKKwkJCS13ZWJraXQtZmxvdy1pbnRvOiBmbG93MTsKKwkJfQorCisJCSNk
aXZUZXh0IHsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOworCQkJY29sb3I6IGdyZWVuOwor
CQkJZm9udC1zaXplOiAxNHB4OworCQkJd2lkdGg6IDMwMHB4OworCQkJaGVpZ2h0OiAxODBweDsK
KwkJCXBvc2l0aW9uOiByZWxhdGl2ZTsKKwkJCWxlZnQ6IDQwcHg7CisJCQl0b3A6IDEycHg7CisJ
CX0KKworCQkuZ3JpZCB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6IDY4MHB4Owor
CQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAxMDBweDsKKwkJCWJvcmRlci1yaWdodDogMXB4
IHNvbGlkIGJsdWU7CisJCQl0ZXh0LWFsaWduOiByaWdodDsKKwkJCWZvbnQtc2l6ZTogMTRweDsK
KwkJCWNvbG9yOiBibHVlOworCQl9CisKKwkJLnZncmlkIHsKKwkJCXBvc2l0aW9uOiBhYnNvbHV0
ZTsKKwkJCWxlZnQ6IDkwMHB4OworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAxMDBweDsK
KwkJCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibHVlOworCQkJdGV4dC1hbGlnbjogYm90dG9t
OworCQkJZm9udC1zaXplOiAxNHB4OworCQkJY29sb3I6IGJsdWU7CisJCX0KKworCQkjZ3JpZDEg
eworCQkJbGVmdDogMHB4OworCQl9CisJCSNncmlkMiB7CisJCQlsZWZ0OiAxMDBweDsKKwkJfQor
CQkjZ3JpZDMgeworCQkJbGVmdDogMjAwcHg7CisJCX0KKwkJI2dyaWQ0IHsKKwkJCWxlZnQ6IDMw
MHB4OworCQl9CisJCSNncmlkNSB7CisJCQlsZWZ0OiA0MDBweDsKKwkJfQorCQkjZ3JpZDYgewor
CQkJbGVmdDogNTAwcHg7CisJCX0KKwkJI2dyaWQ3IHsKKwkJCWxlZnQ6IDYwMHB4OworCQl9CisK
KwkJI3ZncmlkMSB7CisJCQl0b3A6IDBweDsKKwkJfQorCQkjdmdyaWQyIHsKKwkJCXRvcDogMTAw
cHg7CisJCX0KKwkJI3ZncmlkMyB7CisJCQl0b3A6IDIwMHB4OworCQl9CisJCSN2Z3JpZDQgewor
CQkJdG9wOiAzMDBweDsKKwkJfQorCQkjdmdyaWQ1IHsKKwkJCXRvcDogNDAwcHg7CisJCX0KKwkJ
I3ZncmlkNiB7CisJCQl0b3A6IDUwMHB4OworCQl9CisJCSN2Z3JpZDcgeworCQkJdG9wOiA2MDBw
eDsKKwkJfQorCQkjdmdyaWQ4IHsKKwkJCXRvcDogNzAwcHg7CisJCQlib3JkZXI6IG5vbmU7CisJ
CX0KKwk8L3N0eWxlPgorCisJPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CisKKwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisJCWZ1
bmN0aW9uIHdyaXRlT2Zmc2V0SW5mbyhzZWxlY3RvcikgeworCQkJdmFyIGRpdkl0ZW1zID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CisJCQkJCisJCQlmb3IgKHZhciBpPTA7
IGk8ZGl2SXRlbXMubGVuZ3RoOyBpKyspIHsKKwkJCQl2YXIgZGl2SXRlbSA9IGRpdkl0ZW1zW2ld
OworCQkJCXZhciBleGlzdGluZ0hUTUwgPSBkaXZJdGVtLmlubmVySFRNTDsKKwkJCQl2YXIgbmV3
SFRNTCA9IGV4aXN0aW5nSFRNTC5yZXBsYWNlKCIjb2ZmVG9wIyIsIGRpdkl0ZW0ub2Zmc2V0VG9w
KTsKKwkJCQluZXdIVE1MID0gbmV3SFRNTC5yZXBsYWNlKCIjb2ZmTGVmdCMiLCBkaXZJdGVtLm9m
ZnNldExlZnQpOworCQkJCWlmIChkaXZJdGVtLm9mZnNldFBhcmVudCkKKwkJCQkJbmV3SFRNTCA9
IG5ld0hUTUwucmVwbGFjZSgiI29mZlBhcmVudCMiLCBkaXZJdGVtLm9mZnNldFBhcmVudC50YWdO
YW1lICsgIigiICsgZGl2SXRlbS5vZmZzZXRQYXJlbnQuaWQgKyAiKSIpOworCQkJCWVsc2UKKwkJ
CQkJbmV3SFRNTCA9IG5ld0hUTUwucmVwbGFjZSgiI29mZlBhcmVudCMiLCAibnVsbCIpOworCQkJ
CWRpdkl0ZW0uaW5uZXJIVE1MID0gbmV3SFRNTDsKKwkJCX0KKwkJfQorCQlmdW5jdGlvbiBteU9u
TG9hZCgpIHsKKwkJCXdyaXRlT2Zmc2V0SW5mbygiI2RpdlRleHQiKTsKKwkJCXdyaXRlT2Zmc2V0
SW5mbygiLmlubGluZUVsZW1lbnRzIik7CisKKwkJCXZhciByZWdJbmZvID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInJlZ2lvbkluZm8iKTsKKwkJCXZhciBwYXJlbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVnaW9uIikub2Zmc2V0UGFyZW50OworCQkJaWYgKHBhcmVudCkKKwkJCQly
ZWdJbmZvLmlubmVySFRNTCA9IHJlZ0luZm8uaW5uZXJIVE1MLnJlcGxhY2UoIiNvZmZQYXJlbnQj
IiwgcGFyZW50LmlkKTsKKwkJCWVsc2UgcmVnSW5mby5pbm5lckhUTUwgPSByZWdJbmZvLmlubmVy
SFRNTC5yZXBsYWNlKCIjb2ZmUGFyZW50IyIsICJudWxsIik7CisJCX0KKwk8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgaWQ9ImJvZHkiIG9ubG9hZCA9ICJteU9uTG9hZCgpOyI+CisJPGRpdiBp
ZD0iZGl2TWFpbiI+PHNwYW4gaWQ9InJlZ2lvbkluZm8iIHN0eWxlPSJjb2xvcjogI0NDMDAwMCI+
UmVnaW9uJ3Mgb2Zmc2V0UGFyZW50OiAjb2ZmUGFyZW50Izwvc3Bhbj4KKwkJPGRpdiBpZD0iZGl2
VGV4dCI+VGhpcyBpcyA8Yj5kaXZUZXh0PC9iPiAoZmxvd2VkIGludG8gYSBzaW5nbGUgcmVnaW9u
LCByZWxhdGl2ZSk6PGJyLz4tIG9mZnNldFBhcmVudCBpcyA8Yj4jb2ZmUGFyZW50IzwvYj48YnIv
Pi0gb2Zmc2V0TGVmdCBpcyA8Yj4jb2ZmTGVmdCM8L2I+PGJyLz4tIG9mZnNldFRvcCBpcyA8Yj4j
b2ZmVG9wIzwvYj48YnIvPgorCQkJPHNwYW4gY2xhc3M9ImlubGluZUVsZW1lbnRzIiBzdHlsZT0i
Y29sb3I6ICMwMDAwOTk7Ij5JbmxpbmUgZWxlbWVudCBpbiBkaXZUZXh0Ojxici8+LSBvZmZzZXRQ
YXJlbnQgaXMgPGI+I29mZlBhcmVudCM8L2I+PGJyLz4tIG9mZnNldExlZnQgaXMgPGI+I29mZkxl
ZnQjPC9iPjxici8+LSBvZmZzZXRUb3AgaXMgPGI+I29mZlRvcCM8L2I+PC9zcGFuPgorCQk8L2Rp
dj4KKwkJPHNwYW4gY2xhc3M9ImlubGluZUVsZW1lbnRzIiBpZD0iaW5saW5lRWxlbWVudCIgc3R5
bGU9ImNvbG9yOiAjMDAwMDk5OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMzBweDsgbGVmdDog
NDBweDsiPklubGluZSBlbGVtZW50IGluIGRpdk1haW46PGJyLz4tIG9mZnNldFBhcmVudCBpcyA8
Yj4jb2ZmUGFyZW50IzwvYj48YnIvPi0gb2Zmc2V0TGVmdCBpcyA8Yj4jb2ZmTGVmdCM8L2I+PGJy
Lz4tIG9mZnNldFRvcCBpcyA8Yj4jb2ZmVG9wIzwvYj48L3NwYW4+CisJPC9kaXY+CisKKwk8ZGl2
IGlkPSJyZWdpb25QYXJlbnQiPjxzcGFuIHN0eWxlPSJmbG9hdDogcmlnaHQ7IG1hcmdpbjogMTBw
eDsgY29sb3I6IGJsdWU7Ij5UaGlzIGlzIHJlZ2lvblBhcmVudDwvc3Bhbj4KKwkJPGRpdiBjbGFz
cz0icmVnaW9uMSIgaWQ9InJlZ2lvbiI+PC9kaXY+CisJPC9kaXY+CisKKwk8ZGl2IGlkPSJncmlk
MSIgY2xhc3M9ImdyaWQiPjEwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3JpZDIiIGNsYXNzPSJncmlk
Ij4yMDBweDwvZGl2PgorCTxkaXYgaWQ9ImdyaWQzIiBjbGFzcz0iZ3JpZCI+MzAwcHg8L2Rpdj4K
Kwk8ZGl2IGlkPSJncmlkNCIgY2xhc3M9ImdyaWQiPjQwMHB4PC9kaXY+CisJPGRpdiBpZD0iZ3Jp
ZDUiIGNsYXNzPSJncmlkIj41MDBweDwvZGl2PgorCTxkaXYgaWQ9ImdyaWQ2IiBjbGFzcz0iZ3Jp
ZCI+NjAwcHg8L2Rpdj4KKwk8ZGl2IGlkPSJncmlkNyIgY2xhc3M9ImdyaWQiPjcwMHB4PC9kaXY+
CisKKwk8ZGl2IGlkPSJ2Z3JpZDEiIGNsYXNzPSJ2Z3JpZCI+PC9kaXY+CisJPGRpdiBpZD0idmdy
aWQyIiBjbGFzcz0idmdyaWQiPjEwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQzIiBjbGFzcz0i
dmdyaWQiPjIwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ0IiBjbGFzcz0idmdyaWQiPjMwMHB4
PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ1IiBjbGFzcz0idmdyaWQiPjQwMHB4PC9kaXY+CisJPGRp
diBpZD0idmdyaWQ2IiBjbGFzcz0idmdyaWQiPjUwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ3
IiBjbGFzcz0idmdyaWQiPjYwMHB4PC9kaXY+CisJPGRpdiBpZD0idmdyaWQ4IiBjbGFzcz0idmdy
aWQiPjcwMHB4PC9kaXY+CisKKwk8c2NyaXB0PgorCQlkZXNjcmlwdGlvbigiVGVzdCBvZmZzZXRM
ZWZ0IGFuZCBvZmZzZXRUb3AgZm9yIGJsb2NrcyBhbmQgaW5saW5lcyBpbiBhIG5hbWVkIGZsb3cg
d2hlbiB0aGUgcmVnaW9uJ3Mgb2Zmc2V0UGFyZW50IGlzIE5PVCB0aGUgYm9keS48YnIvPlRoaXMg
dGVzdCBhbHNvIGNvdmVycyBib3JkZXJzLiIpCisKKwkJc2hvdWxkQmUoImRpdlRleHQub2Zmc2V0
UGFyZW50IiwgImRvY3VtZW50LmJvZHkiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQub2Zmc2V0TGVm
dCIsICIzMDAiKTsKKwkJc2hvdWxkQmUoImRpdlRleHQub2Zmc2V0VG9wIiwgIjM1MCIpOworCisJ
CXNob3VsZEJlKCJyZWdpb25QYXJlbnQub2Zmc2V0TGVmdCIsICIyMDAiKTsKKworCQlzaG91bGRC
ZSgicmVnaW9uLm9mZnNldFBhcmVudCIsICJyZWdpb25QYXJlbnQiKTsKKwkJc2hvdWxkQmUoInJl
Z2lvbi5vZmZzZXRMZWZ0IiwgIjMwIik7CisJCXNob3VsZEJlKCJyZWdpb24ub2Zmc2V0VG9wIiwg
IjIwIik7CisKKwkJc2hvdWxkQmUoImlubGluZUVsZW1lbnQub2Zmc2V0UGFyZW50IiwgImRvY3Vt
ZW50LmJvZHkiKTsKKwkJc2hvdWxkQmUoImlubGluZUVsZW1lbnQub2Zmc2V0TGVmdCIsICIzMDAi
KTsKKwkJc2hvdWxkQmUoImlubGluZUVsZW1lbnQub2Zmc2V0VG9wIiwgIjU1MCIpOworCisJCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworCQkJdmFyIGFsbEdyYXBoaWNFbGVtZW50cyA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yZWdpb24xLCAjZGl2TWFpbiwgI2RpdlRleHQsIC5ncmlk
LCAudmdyaWQsICNyZWdpb25QYXJlbnQsIC5pbmxpbmVFbGVtZW50cywgI3JlZ2lvbkluZm8iKTsK
KwkJCWZvciAodmFyIGk9MDsgaTxhbGxHcmFwaGljRWxlbWVudHMubGVuZ3RoOyBpKyspCisJCQkJ
YWxsR3JhcGhpY0VsZW1lbnRzW2ldLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisJCX0KKwkJCisJ
PC9zY3JpcHQ+CisJPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMDFjNThkLi5iOTdkNjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDUtMjAgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAg
ICAgIFtDU1NSZWdpb25zXSBGaXggb2Zmc2V0TGVmdCAvIG9mZnNldFRvcCBmb3IgZWxlbWVudHMg
aW5zaWRlIG5hbWVkIGZsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNTg5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEVsZW1lbnRzIGluIG5hbWVkIGZsb3dzIHRoYXQgaGF2ZSB0aGUgYm9keSBhcyB0
aGVpciBvZmZzZXRQYXJlbnQsIG5lZWQgdG8gY29tcHV0ZSB0aGVpcgorICAgICAgICBvZmZzZXRM
ZWZ0IGFuZCBvZmZzZXRUb3AgdmFsdWVzIHJlbGF0aXZlIHRvIHRoZSBib2R5LgorCisgICAgICAg
IFRlc3RzOiBmYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tbXVsdGlwbGUtcmVn
aW9ucy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRU
b3AtaW4tcmVnaW9uLWFic29sdXRlLXN0aWNreS1maXhlZC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L3JlZ2lvbnMvb2Zmc2V0TGVmdC1vZmZzZXRUb3AtaW4tcmVnaW9uLWZsb2F0LXZlcnQtcmwu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL29mZnNldExlZnQtb2Zmc2V0VG9wLWlu
LXJlZ2lvbi1mbG9hdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvb2Zmc2V0TGVm
dC1vZmZzZXRUb3AtaW5saW5lcy1yZWdpb24taW4tZWxlbWVudC5odG1sCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94TW9kZWxPYmplY3Q6OmFkanVzdGVkUG9zaXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OmFkanVzdGVkUG9z
aXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5oOgorCiAyMDEzLTA1LTE5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTWFjXSBJbXByb3ZlIHN0cmluZyB1c2UgaW4gUGFzdGVib2FyZE1hYwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAK
aW5kZXggYmM2MjI3Mi4uODAxMmYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5k
ZXJMYXllci5oIgorI2luY2x1ZGUgIlJlbmRlck5hbWVkRmxvd1RocmVhZC5oIgorI2luY2x1ZGUg
IlJlbmRlclJlZ2lvbi5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTY3Jv
bGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC00OTEsMjcgKzQ5
MywzMSBAQCBMYXlvdXRQb2ludCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6YWRqdXN0ZWRQb3NpdGlv
blJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgTAogICAgIGlmIChjb25zdCBSZW5kZXJCb3hN
b2RlbE9iamVjdCogb2Zmc2V0UGFyZW50ID0gdGhpcy0+b2Zmc2V0UGFyZW50KCkpIHsKICAgICAg
ICAgaWYgKG9mZnNldFBhcmVudC0+aXNCb3goKSAmJiAhb2Zmc2V0UGFyZW50LT5pc0JvZHkoKSkK
ICAgICAgICAgICAgIHJlZmVyZW5jZVBvaW50Lm1vdmUoLXRvUmVuZGVyQm94KG9mZnNldFBhcmVu
dCktPmJvcmRlckxlZnQoKSwgLXRvUmVuZGVyQm94KG9mZnNldFBhcmVudCktPmJvcmRlclRvcCgp
KTsKLSAgICAgICAgaWYgKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgeworICAgICAgICBpZiAo
IWlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGZsb3dUaHJlYWRDb250YWluaW5nQmxvY2soKSkg
ewogICAgICAgICAgICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgICAgIHJl
ZmVyZW5jZVBvaW50Lm1vdmUocmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpKTsKICAgICAgICAgICAg
IGVsc2UgaWYgKGlzU3RpY2t5UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgICAgIHJlZmVyZW5j
ZVBvaW50Lm1vdmUoc3RpY2t5UG9zaXRpb25PZmZzZXQoKSk7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIC8vIEZJWE1FOiBUaGUgb2Zmc2V0IHBvc2l0aW9uIGZvciBlbGVtZW50cyBpbnNpZGUg
bmFtZWQgZmxvdyB0aHJlYWRzIGlzIG5vdCBjb3JyZWN0bHkgY29tcHV0ZWQgd2hlbiB0aGUgb2Zm
c2V0UGFyZW50IGlzIGJvZHkKLSAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1ODk5Ci0gICAgICAgICAgICAKICAgICAgICAgICAgIC8v
IENTUyByZWdpb25zIHNwZWNpZmljYXRpb24gc2F5cyB0aGF0IHJlZ2lvbiBmbG93cyBzaG91bGQg
cmV0dXJuIHRoZSBib2R5IGVsZW1lbnQgYXMgdGhlaXIgb2Zmc2V0UGFyZW50LgogICAgICAgICAg
ICAgLy8gU2luY2Ugd2Ugd2lsbCBieXBhc3MgdGhlIGJvZHnigJlzIHJlbmRlcmVyIGFueXdheSwg
anVzdCBlbmQgdGhlIGxvb3AgaWYgd2UgZW5jb3VudGVyIGEgcmVnaW9uIGZsb3cgKG5hbWVkIGZs
b3cgdGhyZWFkKS4KICAgICAgICAgICAgIC8vIFNlZSBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9j
c3MtcmVnaW9ucy8jY3Nzb212aWV3LW9mZnNldC1hdHRyaWJ1dGVzCi0gICAgICAgICAgICBjb25z
dCBSZW5kZXJPYmplY3QqIGN1cnIgPSBwYXJlbnQoKTsKKyAgICAgICAgICAgIFJlbmRlck9iamVj
dCogY3VyciA9IHBhcmVudCgpOwogICAgICAgICAgICAgd2hpbGUgKGN1cnIgIT0gb2Zmc2V0UGFy
ZW50ICYmICFjdXJyLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKSB7CiAgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IFdoYXQgYXJlIHdlIHN1cHBvc2VkIHRvIGRvIGluc2lkZSBTVkcgY29udGVu
dD8KLSAgICAgICAgICAgICAgICBpZiAoY3Vyci0+aXNCb3goKSAmJiAhY3Vyci0+aXNUYWJsZVJv
dygpKQotICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlQnkodG9SZW5kZXJC
b3goY3VyciktPnRvcExlZnRMb2NhdGlvbigpKTsKLSAgICAgICAgICAgICAgICByZWZlcmVuY2VQ
b2ludC5tb3ZlKGN1cnItPnBhcmVudCgpLT5vZmZzZXRGb3JDb2x1bW5zKHJlZmVyZW5jZVBvaW50
KSk7CisgICAgICAgICAgICAgICAgaWYgKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoY3Vyci0+aXNCb3goKSAmJiAhY3Vyci0+aXNUYWJsZVJvdygp
KQorICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlUG9pbnQubW92ZUJ5KHRvUmVuZGVy
Qm94KGN1cnIpLT50b3BMZWZ0TG9jYXRpb24oKSk7CisgICAgICAgICAgICAgICAgICAgIHJlZmVy
ZW5jZVBvaW50Lm1vdmUoY3Vyci0+cGFyZW50KCktPm9mZnNldEZvckNvbHVtbnMocmVmZXJlbmNl
UG9pbnQpKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgY3VyciA9IGN1cnIt
PnBhcmVudCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKG9mZnNldFBhcmVudC0+
aXNCb3goKSAmJiBvZmZzZXRQYXJlbnQtPmlzQm9keSgpICYmICFvZmZzZXRQYXJlbnQtPmlzUG9z
aXRpb25lZCgpKQorICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBDb21wdXRlIHRoZSBvZmZz
ZXQgcG9zaXRpb24gZm9yIGVsZW1lbnRzIGluc2lkZSBuYW1lZCBmbG93IHRocmVhZHMgZm9yIHdo
aWNoIHRoZSBvZmZzZXRQYXJlbnQgd2FzIHRoZSBib2R5LgorICAgICAgICAgICAgLy8gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU4OTkKKyAgICAgICAgICAg
IGlmIChjdXJyLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKQorICAgICAgICAgICAgICAgIHJl
ZmVyZW5jZVBvaW50ID0gdG9SZW5kZXJOYW1lZEZsb3dUaHJlYWQoY3VyciktPmFkanVzdGVkUG9z
aXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KCp0aGlzLCByZWZlcmVuY2VQb2ludCk7CisgICAg
ICAgICAgICBlbHNlIGlmIChvZmZzZXRQYXJlbnQtPmlzQm94KCkgJiYgb2Zmc2V0UGFyZW50LT5p
c0JvZHkoKSAmJiAhb2Zmc2V0UGFyZW50LT5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAg
ICByZWZlcmVuY2VQb2ludC5tb3ZlQnkodG9SZW5kZXJCb3gob2Zmc2V0UGFyZW50KS0+dG9wTGVm
dExvY2F0aW9uKCkpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IGM2YzA2N2IuLmM2Mjg2MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTM4LDYgKzM4
LDcgQEAKICNpbmNsdWRlICJQT0RJbnRlcnZhbFRyZWUuaCIKICNpbmNsdWRlICJQYWludEluZm8u
aCIKICNpbmNsdWRlICJSZW5kZXJCb3hSZWdpb25JbmZvLmgiCisjaW5jbHVkZSAiUmVuZGVySW5s
aW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJSZWdpb24u
aCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkBAIC0zODksNiArMzkwLDg3IEBAIFJlbmRlclJl
Z2lvbiogUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uQXRCbG9ja09mZnNldChMYXlvdXRVbml0IG9m
ZnNldCwgYm9vbCBleHRlCiAKICAgICByZXR1cm4gYWRhcHRlci5yZXN1bHQoKTsKIH0KKyAgICAK
K0xheW91dFBvaW50IFJlbmRlckZsb3dUaHJlYWQ6OmFkanVzdGVkUG9zaXRpb25SZWxhdGl2ZVRv
T2Zmc2V0UGFyZW50KGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBib3hNb2RlbE9iamVjdCwg
Y29uc3QgTGF5b3V0UG9pbnQmIHN0YXJ0UG9pbnQpCit7CisgICAgTGF5b3V0UG9pbnQgcmVmZXJl
bmNlUG9pbnQgPSBzdGFydFBvaW50OworICAgIAorICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIHRv
IGJlIGFkYXB0ZWQgZm9yIGRpZmZlcmVudCB3cml0aW5nIG1vZGVzIGluc2lkZSB0aGUgZmxvdyB0
aHJlYWQuCisgICAgUmVuZGVyUmVnaW9uKiBzdGFydFJlZ2lvbiA9IHJlZ2lvbkF0QmxvY2tPZmZz
ZXQocmVmZXJlbmNlUG9pbnQueSgpKTsKKyAgICBpZiAoc3RhcnRSZWdpb24pIHsKKyAgICAgICAg
Ly8gVGFrZSBpbnRvIGFjY291bnQgdGhlIG9mZnNldCBjb29yZGluYXRlcyBvZiB0aGUgcmVnaW9u
LgorICAgICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogY3Vyck9iamVjdCA9IHN0YXJ0UmVnaW9u
OworICAgICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogY3Vyck9mZnNldFBhcmVudDsKKyAgICAg
ICAgd2hpbGUgKChjdXJyT2Zmc2V0UGFyZW50ID0gY3Vyck9iamVjdC0+b2Zmc2V0UGFyZW50KCkp
KSB7CisgICAgICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlKGN1cnJPYmplY3QtPm9mZnNldExl
ZnQoKSwgY3Vyck9iamVjdC0+b2Zmc2V0VG9wKCkpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICAvLyBTaW5jZSB3ZSdyZSBsb29raW5nIGZvciB0aGUgb2Zmc2V0IHJlbGF0aXZlIHRvIHRoZSBi
b2R5LCB3ZSBtdXN0IGFsc28KKyAgICAgICAgICAgIC8vIHRha2UgaW50byBjb25zaWRlcmF0aW9u
IHRoZSBib3JkZXJzIG9mIHRoZSByZWdpb24ncyBvZmZzZXRQYXJlbnQuCisgICAgICAgICAgICBp
ZiAoY3Vyck9mZnNldFBhcmVudC0+aXNCb3goKSAmJiAhY3Vyck9mZnNldFBhcmVudC0+aXNCb2R5
KCkpCisgICAgICAgICAgICAgICAgcmVmZXJlbmNlUG9pbnQubW92ZSh0b1JlbmRlckJveChjdXJy
T2Zmc2V0UGFyZW50KS0+Ym9yZGVyTGVmdCgpLCB0b1JlbmRlckJveChjdXJyT2Zmc2V0UGFyZW50
KS0+Ym9yZGVyVG9wKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBjdXJyT2JqZWN0ID0g
Y3Vyck9mZnNldFBhcmVudDsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gV2UgbmVl
ZCB0byBjaGVjayBpZiBhbnkgb2YgdGhpcyBib3gncyBjb250YWluaW5nIGJsb2NrcyBzdGFydCBp
biBhIGRpZmZlcmVudCByZWdpb24KKyAgICAgICAgLy8gYW5kIGlmIHNvLCBkcm9wIHRoZSBvYmpl
Y3QncyB0b3AgcG9zaXRpb24gKHdoaWNoIHdhcyBjb21wdXRlZCByZWxhdGl2ZSB0byBpdHMgY29u
dGFpbmluZyBibG9jaworICAgICAgICAvLyBhbmQgaXMgbm8gbG9uZ2VyIHZhbGlkKSBhbmQgcmVj
b21wdXRlIGl0IHVzaW5nIHRoZSByZWdpb24gaW4gd2hpY2ggaXQgZmxvd3MgYXMgcmVmZXJlbmNl
LgorICAgICAgICBib29sIHdhc0NvbXB1dGVkUmVsYXRpdmVUb090aGVyUmVnaW9uID0gZmFsc2U7
CisgICAgICAgIGNvbnN0IFJlbmRlckJsb2NrKiBvYmpDb250YWluaW5nQmxvY2sgPSBib3hNb2Rl
bE9iamVjdC5jb250YWluaW5nQmxvY2soKTsKKyAgICAgICAgd2hpbGUgKG9iakNvbnRhaW5pbmdC
bG9jayAmJiAhb2JqQ29udGFpbmluZ0Jsb2NrLT5pc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKSB7
CisgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGlzIG9iamVjdCBpcyBpbiBhIGRpZmZlcmVudCBy
ZWdpb24uCisgICAgICAgICAgICBSZW5kZXJSZWdpb24qIHBhcmVudFN0YXJ0UmVnaW9uID0gMDsK
KyAgICAgICAgICAgIFJlbmRlclJlZ2lvbiogcGFyZW50RW5kUmVnaW9uID0gMDsKKyAgICAgICAg
ICAgIGdldFJlZ2lvblJhbmdlRm9yQm94KG9iakNvbnRhaW5pbmdCbG9jaywgcGFyZW50U3RhcnRS
ZWdpb24sIHBhcmVudEVuZFJlZ2lvbik7CisgICAgICAgICAgICBpZiAocGFyZW50U3RhcnRSZWdp
b24gJiYgcGFyZW50U3RhcnRSZWdpb24gIT0gc3RhcnRSZWdpb24pIHsKKyAgICAgICAgICAgICAg
ICB3YXNDb21wdXRlZFJlbGF0aXZlVG9PdGhlclJlZ2lvbiA9IHRydWU7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvYmpDb250YWluaW5nQmxvY2sg
PSBvYmpDb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICBpZiAod2FzQ29tcHV0ZWRSZWxhdGl2ZVRvT3RoZXJSZWdpb24pIHsKKyAg
ICAgICAgICAgIGlmIChib3hNb2RlbE9iamVjdC5pc0JveCgpKSB7CisgICAgICAgICAgICAgICAg
Ly8gVXNlIGJvcmRlckJveFJlY3RJblJlZ2lvbiB0byBhY2NvdW50IGZvciB2YXJpYXRpb25zIHN1
Y2ggYXMgcGVyY2VudGFnZSBtYXJnaW5zLgorICAgICAgICAgICAgICAgIExheW91dFJlY3QgYm9y
ZGVyQm94UmVjdCA9IHRvUmVuZGVyQm94KCZib3hNb2RlbE9iamVjdCktPmJvcmRlckJveFJlY3RJ
blJlZ2lvbihzdGFydFJlZ2lvbiwgMCwgUmVuZGVyQm94OjpEb05vdENhY2hlUmVuZGVyQm94UmVn
aW9uSW5mbyk7CisgICAgICAgICAgICAgICAgcmVmZXJlbmNlUG9pbnQubW92ZShib3JkZXJCb3hS
ZWN0LmxvY2F0aW9uKCkueCgpLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgLy8gR2V0IHRoZSBsb2dpY2FsIHRvcCBjb29yZGluYXRlIG9mIHRoZSBjdXJyZW50
IG9iamVjdC4KKyAgICAgICAgICAgIExheW91dFVuaXQgdG9wID0gMDsKKyAgICAgICAgICAgIGlm
IChib3hNb2RlbE9iamVjdC5pc1JlbmRlckJsb2NrKCkpCisgICAgICAgICAgICAgICAgdG9wID0g
dG9SZW5kZXJCbG9jaygmYm94TW9kZWxPYmplY3QpLT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmly
c3RQYWdlKCk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoYm94TW9k
ZWxPYmplY3QuY29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgICAgICAgICAgICAgIHRvcCA9IGJv
eE1vZGVsT2JqZWN0LmNvbnRhaW5pbmdCbG9jaygpLT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmly
c3RQYWdlKCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKGJveE1vZGVs
T2JqZWN0LmlzQm94KCkpCisgICAgICAgICAgICAgICAgICAgIHRvcCArPSB0b1JlbmRlckJveCgm
Ym94TW9kZWxPYmplY3QpLT50b3BMZWZ0TG9jYXRpb24oKS55KCk7CisgICAgICAgICAgICAgICAg
ZWxzZSBpZiAoYm94TW9kZWxPYmplY3QuaXNSZW5kZXJJbmxpbmUoKSkKKyAgICAgICAgICAgICAg
ICAgICAgdG9wIC09IHRvUmVuZGVySW5saW5lKCZib3hNb2RlbE9iamVjdCktPmJvcmRlclRvcCgp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBHZXQgdGhlIGxv
Z2ljYWwgdG9wIG9mIHRoZSByZWdpb24gdGhpcyBvYmplY3Qgc3RhcnRzIGluCisgICAgICAgICAg
ICAvLyBhbmQgY29tcHV0ZSB0aGUgb2JqZWN0J3MgdG9wLCByZWxhdGl2ZSB0byB0aGUgcmVnaW9u
J3MgdG9wLgorICAgICAgICAgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2FsVG9wID0gc3RhcnRS
ZWdpb24tPnBhZ2VMb2dpY2FsVG9wRm9yT2Zmc2V0KHRvcCk7CisgICAgICAgICAgICBMYXlvdXRV
bml0IHRvcFJlbGF0aXZlVG9SZWdpb24gPSB0b3AgLSByZWdpb25Mb2dpY2FsVG9wOworICAgICAg
ICAgICAgcmVmZXJlbmNlUG9pbnQuc2V0WShzdGFydFJlZ2lvbi0+b2Zmc2V0VG9wKCkgKyB0b3BS
ZWxhdGl2ZVRvUmVnaW9uKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gU2luY2UgdGhl
IHRvcCBoYXMgYmVlbiBvdmVycmlkZW4sIGNoZWNrIGlmIHRoZQorICAgICAgICAgICAgLy8gcmVs
YXRpdmUvc3RpY2t5IHBvc2l0aW9uaW5nIG11c3QgYmUgcmVjb25zaWRlcmVkLgorICAgICAgICAg
ICAgaWYgKGJveE1vZGVsT2JqZWN0LmlzUmVsUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgICAg
IHJlZmVyZW5jZVBvaW50Lm1vdmUoMCwgYm94TW9kZWxPYmplY3QucmVsYXRpdmVQb3NpdGlvbk9m
ZnNldCgpLmhlaWdodCgpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGJveE1vZGVsT2JqZWN0Lmlz
U3RpY2t5UG9zaXRpb25lZCgpKQorICAgICAgICAgICAgICAgIHJlZmVyZW5jZVBvaW50Lm1vdmUo
MCwgYm94TW9kZWxPYmplY3Quc3RpY2t5UG9zaXRpb25PZmZzZXQoKS5oZWlnaHQoKSk7CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIFNpbmNlIHdlJ3JlIGxvb2tpbmcgZm9yIHRoZSBv
ZmZzZXQgcmVsYXRpdmUgdG8gdGhlIGJvZHksIHdlIG11c3QgYWxzbworICAgICAgICAvLyB0YWtl
IGludG8gY29uc2lkZXJhdGlvbiB0aGUgYm9yZGVycyBvZiB0aGUgcmVnaW9uLgorICAgICAgICBy
ZWZlcmVuY2VQb2ludC5tb3ZlKHN0YXJ0UmVnaW9uLT5ib3JkZXJMZWZ0KCksIHN0YXJ0UmVnaW9u
LT5ib3JkZXJUb3AoKSk7CisgICAgfQorICAgIAorICAgIHJldHVybiByZWZlcmVuY2VQb2ludDsK
K30KIAogTGF5b3V0VW5pdCBSZW5kZXJGbG93VGhyZWFkOjpwYWdlTG9naWNhbFRvcEZvck9mZnNl
dChMYXlvdXRVbml0IG9mZnNldCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Rmxvd1RocmVhZC5oCmluZGV4IDhkZTg3ZDYuLmQ0MWNhNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApAQCAtOTUsNiArOTUsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSk7CiAKICAgICB2b2lkIHJlcGFpbnRSZWN0YW5nbGVJblJlZ2lvbnMoY29uc3Qg
TGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlKSBjb25zdDsKKyAgICAKKyAgICBMYXlvdXRQb2lu
dCBhZGp1c3RlZFBvc2l0aW9uUmVsYXRpdmVUb09mZnNldFBhcmVudChjb25zdCBSZW5kZXJCb3hN
b2RlbE9iamVjdCYsIGNvbnN0IExheW91dFBvaW50Jik7CiAKICAgICBMYXlvdXRVbml0IHBhZ2VM
b2dpY2FsVG9wRm9yT2Zmc2V0KExheW91dFVuaXQpOwogICAgIExheW91dFVuaXQgcGFnZUxvZ2lj
YWxXaWR0aEZvck9mZnNldChMYXlvdXRVbml0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>