<?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>160034</bug_id>
          
          <creation_ts>2016-07-21 11:40:02 -0700</creation_ts>
          <short_desc>Introduce a MathMLOperatorElement class</short_desc>
          <delta_ts>2016-07-27 05:46:33 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>159623</dependson>
          <blocked>156537</blocked>
    
    <blocked>160190</blocked>
    
    <blocked>160239</blocked>
    
    <blocked>160241</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1213217</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-21 11:40:02 -0700</bug_when>
    <thetext>This is a preliminary step for bug 156537 as I suspect it will be big.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213221</commentid>
    <comment_count>1</comment_count>
      <attachid>284239</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-21 11:45:58 -0700</bug_when>
    <thetext>Created attachment 284239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213227</commentid>
    <comment_count>2</comment_count>
      <attachid>284241</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-21 11:48:36 -0700</bug_when>
    <thetext>Created attachment 284241
Patch (159625+159623+160034) for EWS testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213533</commentid>
    <comment_count>3</comment_count>
      <attachid>284320</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-22 02:54:44 -0700</bug_when>
    <thetext>Created attachment 284320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213879</commentid>
    <comment_count>4</comment_count>
      <attachid>284320</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-23 01:17:15 -0700</bug_when>
    <thetext>Comment on attachment 284320
Patch

Cancelling until I figured the build error out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214123</commentid>
    <comment_count>5</comment_count>
      <attachid>284468</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-25 01:00:33 -0700</bug_when>
    <thetext>Created attachment 284468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214238</commentid>
    <comment_count>6</comment_count>
      <attachid>284468</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-25 10:14:08 -0700</bug_when>
    <thetext>Comment on attachment 284468
Patch

Clearing flags on attachment: 284468

Committed r203688: &lt;http://trac.webkit.org/changeset/203688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214239</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-25 10:14:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284239</attachid>
            <date>2016-07-21 11:45:58 -0700</date>
            <delta_ts>2016-07-22 02:54:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Introduce-a-MathMLOperatorElement-class.patch</filename>
            <type>text/plain</type>
            <size>19530</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSBmZGZhMGU4NWUxZmRkNTk0ODRhYjY3NzNlYmU1YjJjYTVmYmQzZTNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogVGh1LCAyMSBKdWwgMjAxNiAyMDo0MzozMCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEludHJv
ZHVjZSBhIE1hdGhNTE9wZXJhdG9yRWxlbWVudCBjbGFzcwoKLS0tCiBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzAgKysrKysrKysrKwogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgfCAgNiArKwog
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcCAgICAgICAgICAgfCAgMSAr
CiBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCAgICB8IDY2
ICsrKysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVy
YXRvckVsZW1lbnQuaCAgICAgIHwgNDQgKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwICAgICAgICB8IDExICstLS0KIFNvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oICAgICAgICAgIHwgIDkgKy0tCiBTb3VyY2Uv
V2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4gICAgICAgICAgICAgICAgICB8ICAyICstCiAuLi4v
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAgICAgICB8ICAzICstCiAu
Li4vcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oICAgICAgICB8ICA0ICst
CiAxMSBmaWxlcyBjaGFuZ2VkLCAxNjAgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCiBj
cmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxl
bWVudC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
T3BlcmF0b3JFbGVtZW50LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDMwM2NiODEuLmI4ZGM2
NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xOTkwLDYgKzE5OTAsNyBAQCBzZXQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAogICAgIG1hdGhtbC9N
YXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlv
bmFyeS5jcHAKKyAgICBtYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcAogICAgIG1hdGht
bC9NYXRoTUxQYWRkZWRFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVu
dC5jcHAKICAgICBtYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAx
MjUyOGEwLi4wYmZlMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTYtMDctMjEg
IEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAgICAgIEludHJvZHVjZSBh
IE1hdGhNTE9wZXJhdG9yRWxlbWVudCBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCByZW5kZXJpbmcgaXMgdW5jaGFuZWQu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkIE1hdGhNTE9wZXJhdG9yRWxlbWVudCB0
byB0aGUgYnVpbGQgZmlsZS4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHA6IERpdHRv
LgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwOiBOZXcgRE9NIGNs
YXNzIGZvciA8bW8+IGVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVs
ZW1lbnQ6Ok1hdGhNTE9wZXJhdG9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxP
cGVyYXRvckVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRv
ckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogSGFuZGxlIG1vIGF0dHJpYnV0ZXMuCisgICAgICAg
IChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6
IENyZWF0ZSBSZW5kZXJNYXRoTUxPcGVyYXRvci4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50Lmg6IERlY2xhcmUgYSBjbGFzcyBkZXJpdmluZyBmcm9tIE1hdGhNTFRleHRF
bGVtZW50LgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHA6IFJlbW92ZSBh
bGwgdGhlIFJlbmRlck1hdGhNTE9wZXJhdG9yIHBhcnRzLgorICAgICAgICAoV2ViQ29yZTo6TWF0
aE1MVGV4dEVsZW1lbnQ6Ok1hdGhNTFRleHRFbGVtZW50KTogUmVtb3ZlIGlubGluZSBrZXl3b3Jk
IHNvIHRoYXQgdGhlIGNsYXNzIGNhbgorICAgICAgICBiZSBvdmVycmlkZW4uCisgICAgICAgIChX
ZWJDb3JlOjpNYXRoTUxUZXh0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBSZW1vdmUgY29kZSBo
YW5kbGVkIGluIE1hdGhNTE9wZXJhdG9yRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhN
TFRleHRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOiBEaXR0by4KKyAgICAgICAgKiBt
YXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaDogTWFrZSBjbGFzcyBhbmQgbWVtYmVycyBvdmVycmlk
YWJsZS4KKyAgICAgICAgKiBtYXRobWwvbWF0aHRhZ3MuaW46IE1hcCBtbyB0byBNYXRoTUxPcGVy
YXRvckVsZW1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVy
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxPcGVyYXRvcjo6UmVuZGVy
TWF0aE1MT3BlcmF0b3IpOiBNYWtlIHRoZSBjb25zdHJ1Y3RvciB0YWtlIGEKKyAgICAgICAgTWF0
aE1MT3BlcmF0b3JFbGVtZW50LgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MT3BlcmF0b3IuaDogRGl0dG8uCisKIDIwMTYtMDctMjAgIEZyZWRlcmljIFdhbmcgIDxmd2Fu
Z0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE1vdmUgcGFyc2luZyBvZiBkaXNwbGF5LCBkaXNwbGF5
c3R5bGUgYW5kIG1hdGh2YXJpYW50IGF0dHJpYnV0ZXMgaW50byBNYXRoTUwgZWxlbWVudCBjbGFz
c2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggZmJkNjQ3ZS4uZTAyZmMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjY4LDYgKzY2OCw3IEBACiAJCTE1RkND
OUZFMUI0REY4NUUwMEU3MjMyNiAvKiBET01VUkxNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVGQ0M5RkQxQjRERjg1NjAwRTcyMzI2
IC8qIERPTVVSTE1lZGlhU3RyZWFtLmggKi87IH07CiAJCTE2M0U4OEY3MTE4QTM5RDIwMEVEOTIz
MSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVG
b250RGF0YUNvcmVUZXh0LmNwcCAqLzsgfTsKIAkJMTZFQTI0Q0VFQUIyQTYwNTM0MjE4QUNGIC8q
IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENEY3MkM2NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5LmNwcCAqLzsgfTsKKwkJMTZFQTI0Q0VFQUIyQTYwNTM0MjE4QkQwIC8q
IE1hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBENEY3MkM2NTNBNjQ4MDdBODNFNzYwQzkgLyogTWF0aE1MT3BlcmF0
b3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJMTg1QkNGMjgwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVh
ZFRpbWVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxODVCQ0YyNjBGMzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCAqLzsgfTsKIAkJ
MTg1QkNGMjkwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTg1QkNGMjcwRjMyNzlDRTAwMEVBMjYy
IC8qIFRocmVhZFRpbWVycy5oICovOyB9OwogCQkxODg2MDRCMzBGMkU2NTRBMDAwQjY0NDMgLyog
RE9NVGltZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTg4NjA0QjEwRjJFNjU0QTAwMEI2NDQzIC8qIERPTVRpbWVyLmNwcCAqLzsgfTsKQEAgLTE0
NTA2LDYgKzE0NTA3LDcgQEAKIAkJRDNGM0QzNjUxQTY5QjFBNTAwNTlGQzJCIC8qIEpTV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlEM0YzRDM2NjFBNjlCMUE1MDA1OUZDMkIgLyogSlNXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENEY3MkM2
NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ0RjcyQzY1M0E2NDgwN0E4M0U3NjBD
OSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDYxOUEzMDUxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9u
U2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2hpbGRMaXN0
TXV0YXRpb25TY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MTlBMzA2
MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoaWxkTGlzdE11dGF0aW9uU2NvcGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDY0ODlEMjMxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRl
bXBsYXRlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTQ1NDIsNiArMTQ1NDQsNyBAQAogCQlERTQ5QjMwODE2NUYyRkUxMDAxMDMzOEQgLyogUmVuZGVy
TWVkaWFDb250cm9sRWxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJREVDMjk3NUQxQjRERUIyQTAwNUY1OTQ1IC8qIEpTQ3VzdG9tRXZlbnRDdXN0b20uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDdXN0b21FdmVudEN1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGN0U5QTI5NEM3QUFDRTBBRDg5QjNE
RCAvKiBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCURGN0U5QTI5NEM3QUFDRTBBRDg5QjRFRSAvKiBNYXRoTUxPcGVyYXRvckVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MT3BlcmF0b3JFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGOUFGRDcwMTNGQzMxRDgwMDE1
RkVCNyAvKiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREY5QUZENzExM0ZDMzFEODAwMTVGRUI3
IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMEZFRjM3MUIwN0M1M0VBQzFD
MUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEV2ZW50U291
cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0OTA1LDYgKzI0OTA4LDgg
QEAKIAkJCQlDRTZEODkyOTRDN0FBQ0UwQUQ4OUIzREQgLyogTWF0aE1MTWVuY2xvc2VFbGVtZW50
LmggKi8sCiAJCQkJRDRGNzJDNjUzQTY0ODA3QTgzRTc2RkI4IC8qIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeS5jcHAgKi8sCiAJCQkJREY3RTlBMjk0QzdBQUNFMEFEODlCM0REIC8qIE1hdGhNTE9w
ZXJhdG9yRGljdGlvbmFyeS5oICovLAorCQkJCUQ0RjcyQzY1M0E2NDgwN0E4M0U3NjBDOSAvKiBN
YXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwICovLAorCQkJCURGN0U5QTI5NEM3QUFDRTBBRDg5QjRF
RSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCAqLywKIAkJCQlCNTlDQTU5QUYxNzBEOEZBQTVC
OEM5QUQgLyogTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwICovLAogCQkJCUI1OUNBODQ5RDQxRTZG
NjVEODExOTdBQiAvKiBNYXRoTUxTY3JpcHRzRWxlbWVudC5oICovLAogCQkJCUI1OUNBNTlBRjE3
MEQ4RkFBNUI4Q0FCRSAvKiBNYXRoTUxQYWRkZWRFbGVtZW50LmNwcCAqLywKQEAgLTMxMjgyLDYg
KzMxMjg3LDcgQEAKIAkJCQlGQUJFNzJGODEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDVEOTEzQ0VFQUIyQTYwNTM0MjE4QUNGIC8q
IE1hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNkVBMjRDRUVB
QjJBNjA1MzQyMThBQ0YgLyogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE2RUEyNENFRUFCMkE2MDUzNDIxOEJERSAvKiBNYXRoTUxPcGVyYXRvckVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1h
dGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzOTE3NkRGMTJEQTI1RTE3QkFGODBB
MiAvKiBNYXRoTUxTdHlsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNTlDQTM5MENFRDY2QzMy
NTVGNzJCNDggLyogTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcAppbmRleCBiYWJmODJiLi5lODExMDlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlICJNYXRoTUxNYXRoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1M
TWVuY2xvc2VFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnku
Y3BwIgorI2luY2x1ZGUgIk1hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0
aE1MUGFkZGVkRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3Bw
IgogI2luY2x1ZGUgIk1hdGhNTFNlbGVjdEVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4zM2Y0ZmY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShN
QVRITUwpCisjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgiCisKKyNpbmNsdWRlICJS
ZW5kZXJNYXRoTUxPcGVyYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5h
bWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpNYXRoTUxPcGVy
YXRvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3Vt
ZW50KQorICAgIDogTWF0aE1MVGV4dEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisK
K1JlZjxNYXRoTUxPcGVyYXRvckVsZW1lbnQ+IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNYXRoTUxPcGVyYXRvckVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpKTsKK30KKwordm9pZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7
CisgICAgaWYgKChuYW1lID09IHN0cmV0Y2h5QXR0ciB8fCBuYW1lID09IGxzcGFjZUF0dHIgfHwg
bmFtZSA9PSByc3BhY2VBdHRyIHx8IG5hbWUgPT0gbW92YWJsZWxpbWl0c0F0dHIpICYmIHJlbmRl
cmVyKCkpIHsKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCpyZW5kZXJl
cigpKS51cGRhdGVGcm9tRWxlbWVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
TWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKK30KKworUmVu
ZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYp
Cit7CisgICAgQVNTRVJUKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1vVGFnKSk7CisgICAgcmV0
dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTE9wZXJhdG9yPigqdGhpcywgV1RGTW92ZShz
dHlsZSkpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmU4NzdhMGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2lu
Y2x1ZGUgIk1hdGhNTFRleHRFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgTWF0aE1MT3BlcmF0b3JFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTFRleHRFbGVtZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1hdGhNTE9wZXJhdG9yRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7Citwcml2YXRlOgorICAg
IE1hdGhNTE9wZXJhdG9yRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCYpOworICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVy
ZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7CisgICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgZmluYWw7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKaW5kZXggNDc4OTM1OS4uMGIw
MGVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCkBA
IC0zMSwxNCArMzEsMTMgQEAKICNpbmNsdWRlICJNYXRoTUxUZXh0RWxlbWVudC5oIgogCiAjaW5j
bHVkZSAiTWF0aE1MTmFtZXMuaCIKLSNpbmNsdWRlICJSZW5kZXJNYXRoTUxPcGVyYXRvci5oIgog
I2luY2x1ZGUgIlJlbmRlck1hdGhNTFRva2VuLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
dXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCi1pbmxpbmUgTWF0aE1MVGV4dEVsZW1lbnQ6
Ok1hdGhNTFRleHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
JiBkb2N1bWVudCkKK01hdGhNTFRleHRFbGVtZW50OjpNYXRoTUxUZXh0RWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBNYXRoTUxF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2
ZUNhbGxiYWNrcygpOwpAQCAtNjUsMTIgKzY0LDYgQEAgdm9pZCBNYXRoTUxUZXh0RWxlbWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiAKIHZvaWQgTWF0aE1M
VGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0gICAgaWYgKG5hbWUgPT0gc3RyZXRjaHlBdHRy
IHx8IG5hbWUgPT0gbHNwYWNlQXR0ciB8fCBuYW1lID09IHJzcGFjZUF0dHIgfHwgbmFtZSA9PSBt
b3ZhYmxlbGltaXRzQXR0cikgewotICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MT3BlcmF0b3I+
KHJlbmRlcmVyKCkpKQotICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+
KCpyZW5kZXJlcigpKS51cGRhdGVGcm9tRWxlbWVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCiAgICAgaWYgKG5hbWUgPT0gbWF0aHZhcmlhbnRBdHRyKSB7CiAgICAgICAgIG1fbWF0aFZh
cmlhbnQuZGlydHkgPSB0cnVlOwogICAgICAgICBpZiAocmVuZGVyZXIoKSkKQEAgLTgyLDggKzc1
LDYgQEAgdm9pZCBNYXRoTUxUZXh0RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3QKIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+
IE1hdGhNTFRleHRFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBz
dHlsZSwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJiBpbnNlcnRpb25Qb3NpdGlvbikKIHsKLSAg
ICBpZiAoaGFzVGFnTmFtZShNYXRoTUxOYW1lczo6bW9UYWcpKQotICAgICAgICByZXR1cm4gY3Jl
YXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7
CiAgICAgaWYgKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6OmFubm90YXRpb25UYWcpKQogICAgICAg
ICByZXR1cm4gTWF0aE1MRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFdURk1vdmUoc3R5
bGUpLCBpbnNlcnRpb25Qb3NpdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRl
eHRFbGVtZW50LmgKaW5kZXggOWJhOTZiZS4uOTlhY2U3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFRleHRFbGVtZW50LmgKQEAgLTMyLDE5ICszMiwyMCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTFRleHRFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhN
TEVsZW1lbnQgeworY2xhc3MgTWF0aE1MVGV4dEVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVu
dCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNYXRoTUxUZXh0RWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CiAgICAgYm9vbCBhY2NlcHRz
TWF0aFZhcmlhbnRBdHRyaWJ1dGUoKSBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAKLXByaXZhdGU6
Citwcm90ZWN0ZWQ6CiAgICAgTWF0aE1MVGV4dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKIAotICAgIFJlbmRlclB0
cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29u
c3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7Citwcml2YXRlOgorICAgIFJlbmRlclB0cjxS
ZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3Qg
UmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgY2hpbGRyZW5D
aGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7Ci0gICAgdm9pZCBwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAg
dm9pZCBkaWRBdHRhY2hSZW5kZXJlcnMoKSBmaW5hbDsKIAogICAgIGJvb2wgaXNQcmVzZW50YXRp
b25NYXRoTUwoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0
aHRhZ3MuaW4KaW5kZXggZmQ4NjJlYy4uOGEwNzdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL21hdGh0YWdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFn
cy5pbgpAQCAtMjIsNyArMjIsNyBAQCBtc3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQKIG1yb290IGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudAogbWkgaW50ZXJmYWNlTmFtZT1NYXRoTUxUZXh0RWxlbWVudAogbW4gaW50ZXJmYWNl
TmFtZT1NYXRoTUxUZXh0RWxlbWVudAotbW8gaW50ZXJmYWNlTmFtZT1NYXRoTUxUZXh0RWxlbWVu
dAorbW8gaW50ZXJmYWNlTmFtZT1NYXRoTUxPcGVyYXRvckVsZW1lbnQKIG10ZXh0IGludGVyZmFj
ZU5hbWU9TWF0aE1MVGV4dEVsZW1lbnQKIG1zIGludGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1l
bnQKIG1zcGFjZSBpbnRlcmZhY2VOYW1lPU1hdGhNTFNwYWNlRWxlbWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNw
cAppbmRleCA1YmM0ZGI1Li5lNWExYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcApAQCAtMzMsNiArMzMs
NyBAQAogCiAjaW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiTWF0aE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCIKICNpbmNsdWRlICJQYWludElu
Zm8uaCIKICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0
LmgiCkBAIC00Niw3ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIE1hdGhNTE5hbWVzOwogCi1SZW5kZXJNYXRoTUxPcGVyYXRvcjo6UmVuZGVyTWF0aE1MT3Bl
cmF0b3IoTWF0aE1MRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKK1JlbmRl
ck1hdGhNTE9wZXJhdG9yOjpSZW5kZXJNYXRoTUxPcGVyYXRvcihNYXRoTUxPcGVyYXRvckVsZW1l
bnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAgOiBSZW5kZXJNYXRoTUxUb2tl
bihlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKICAgICAsIG1fc3RyZXRjaEhlaWdodEFib3ZlQmFz
ZWxpbmUoMCkKICAgICAsIG1fc3RyZXRjaERlcHRoQmVsb3dCYXNlbGluZSgwKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5o
CmluZGV4IGYyNzFhZmEuLjAzYmNlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKQEAgLTM0LDkgKzM0LDExIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgTWF0aE1MT3BlcmF0b3JFbGVtZW50Owor
CiBjbGFzcyBSZW5kZXJNYXRoTUxPcGVyYXRvciBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRoTUxU
b2tlbiB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyTWF0aE1MT3BlcmF0b3IoTWF0aE1MRWxlbWVudCYs
IFJlbmRlclN0eWxlJiYpOworICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKE1hdGhNTE9wZXJhdG9y
RWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwogICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKERvY3Vt
ZW50JiwgUmVuZGVyU3R5bGUmJiwgY29uc3QgU3RyaW5nJiBvcGVyYXRvclN0cmluZywgTWF0aE1M
T3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtLCB1bnNpZ25lZCBzaG9ydCBmbGFncyA9IDApOwogCiAg
ICAgdm9pZCBzdHJldGNoVG8oTGF5b3V0VW5pdCBoZWlnaHRBYm92ZUJhc2VsaW5lLCBMYXlvdXRV
bml0IGRlcHRoQmVsb3dCYXNlbGluZSk7Ci0tIAoyLjguMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284241</attachid>
            <date>2016-07-21 11:48:36 -0700</date>
            <delta_ts>2016-07-22 02:54:37 -0700</delta_ts>
            <desc>Patch (159625+159623+160034) for EWS testing</desc>
            <filename>159625+159623+160034.patch</filename>
            <type>text/plain</type>
            <size>77722</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzAxYWVmOC4uYjhkYzY3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5OTAsMTEgKzE5OTAsMTMgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIG1h
dGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVt
ZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwCisgICAgbWF0
aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MUGFkZGVkRWxl
bWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwCiAgICAgbWF0aG1s
L01hdGhNTFNlbGVjdEVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFNwYWNlRWxlbWVudC5j
cHAKICAgICBtYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCisgICAgbWF0aG1sL01hdGhNTFVu
ZGVyT3ZlckVsZW1lbnQuY3BwCiAKICAgICBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcAog
ICAgIHBhZ2UvQmFyUHJvcC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YjY0MWU2Li4wYmZlMjM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQ3IEBACisyMDE2LTA3LTIxICBGcmVkZXJpYyBXYW5nICA8Zndh
bmdAaWdhbGlhLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNYXRoTUxPcGVyYXRvckVsZW1l
bnQgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MDAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgcmVuZGVyaW5nIGlzIHVuY2hhbmVkLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6IEFkZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQgdG8gdGhlIGJ1aWxkIGZpbGUuCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKyAgICAg
ICAgKiBtYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwv
TWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcDogTmV3IERPTSBjbGFzcyBmb3IgPG1vPiBlbGVtZW50
LgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpNYXRoTUxPcGVyYXRv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6IEhhbmRsZSBtbyBhdHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3Bl
cmF0b3JFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOiBDcmVhdGUgUmVuZGVyTWF0aE1M
T3BlcmF0b3IuCisgICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oOiBEZWNs
YXJlIGEgY2xhc3MgZGVyaXZpbmcgZnJvbSBNYXRoTUxUZXh0RWxlbWVudC4KKyAgICAgICAgKiBt
YXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwOiBSZW1vdmUgYWxsIHRoZSBSZW5kZXJNYXRoTUxP
cGVyYXRvciBwYXJ0cy4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRleHRFbGVtZW50OjpNYXRo
TUxUZXh0RWxlbWVudCk6IFJlbW92ZSBpbmxpbmUga2V5d29yZCBzbyB0aGF0IHRoZSBjbGFzcyBj
YW4KKyAgICAgICAgYmUgb3ZlcnJpZGVuLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVGV4dEVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogUmVtb3ZlIGNvZGUgaGFuZGxlZCBpbiBNYXRoTUxPcGVy
YXRvckVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRl
RWxlbWVudFJlbmRlcmVyKTogRGl0dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTFRleHRFbGVt
ZW50Lmg6IE1ha2UgY2xhc3MgYW5kIG1lbWJlcnMgb3ZlcnJpZGFibGUuCisgICAgICAgICogbWF0
aG1sL21hdGh0YWdzLmluOiBNYXAgbW8gdG8gTWF0aE1MT3BlcmF0b3JFbGVtZW50LgorICAgICAg
ICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWF0aE1MT3BlcmF0b3I6OlJlbmRlck1hdGhNTE9wZXJhdG9yKTogTWFr
ZSB0aGUgY29uc3RydWN0b3IgdGFrZSBhCisgICAgICAgIE1hdGhNTE9wZXJhdG9yRWxlbWVudC4K
KyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmg6IERpdHRv
LgorCisyMDE2LTA3LTIwICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAg
ICAgICBNb3ZlIHBhcnNpbmcgb2YgZGlzcGxheSwgZGlzcGxheXN0eWxlIGFuZCBtYXRodmFyaWFu
dCBhdHRyaWJ1dGVzIGludG8gTWF0aE1MIGVsZW1lbnQgY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NjIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBhbHJlYWR5IGNv
dmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpwYXJzZU1hdGhWYXJpYW50
QXR0cmlidXRlKTogTW92ZSBoZWxwZXIgZnVuY3Rpb24gdG8gcGFyc2UgdGhlCisgICAgICAgIG1h
dGh2YXJpYW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6Omdl
dFNwZWNpZmllZERpc3BsYXlTdHlsZSk6IEhlbHBlciBmdW5jdGlvbiB0byBzZXQgdGhlIGRpc3Bs
YXlzdHlsZQorICAgICAgICB2YWx1ZSBmcm9tIHRoZSBhdHRyaWJ1dGUgc3BlY2lmaWVkIG9uIHRo
ZSBNYXRoTUwgZWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6OmdldFNw
ZWNpZmllZE1hdGhWYXJpYW50KTogSGVscGVyIGZ1bmN0aW9uIHRvIHNldCB0aGUgbWF0aHZhcmlh
bnQKKyAgICAgICAgdmFsdWUgZnJvbSB0aGUgYXR0cmlidXRlIHNwZWNpZmllZCBvbiB0aGUgTWF0
aE1MIGVsZW1lbnQuCisgICAgICAgICogbWF0aG1sL01hdGhNTEVsZW1lbnQuaDogTW92ZSB0aGUg
ZW51bSBmb3IgbWF0aHZhcmlhbnQgdmFsdWVzIGFuZCBkZWNsYXJlIG5ldyBtZW1iZXJzLgorICAg
ICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6YWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0
ZSk6IEluZGljYXRlIHdoZXRoZXIgdGhlIGVsZW1lbnQgYWNjZXB0cworICAgICAgICBkaXNwbGF5
c3R5bGUgYXR0cmlidXRlIChmYWxzZSBmb3IgbW9zdCBvZiB0aGVtKS4KKyAgICAgICAgKFdlYkNv
cmU6Ok1hdGhNTEVsZW1lbnQ6OmFjY2VwdHNNYXRoVmFyaWFudEF0dHJpYnV0ZSk6IEluZGljYXRl
IHdoZXRoZXIgdGhlIGVsZW1lbnQgYWNjZXB0cworICAgICAgICBtYXRodmFyaWFudCBhdHRyaWJ1
dGUgKGZhbHNlIGZvciBtb3N0IG9mIHRoZW0pLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUpOiBBZGQgbXN0eWxl
IGFuZCBtdGFibGUKKyAgICAgICAgdG8gdGhlIGxpc3Qgb2YgZWxlbWVudHMgYWNjZXB0aW5nIHRo
ZSBkaXNwbGF5c3R5bGUgYXR0cmlidXRlLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudDo6YWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKTogQWRkIG1zdHls
ZSB0byB0aGUgbGlzdAorICAgICAgICBvZiBlbGVtZW50cyBhY2NlcHRpbmcgdGhlIG1hdGh2YXJp
YW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogTWFyayBkaXNwbGF5c3R5bGUgYW5kIG1hdGh2YXJpYW50
CisgICAgICAgIGRpcnR5IGlmIG5lY2Vzc2FyeS4gQWxzbyB1c2UgdGhlIG5ldyBhY2NlcHRzKkF0
dHJpYnV0ZSBmdW5jdGlvbi4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudC5oOiBEZWNsYXJlIG92ZXJyaWRkZW4gYWNjZXB0cypBdHRyaWJ1dGUgbWVtYmVycy4K
KyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWF0aE1MTWF0aEVsZW1lbnQ6OmdldFNwZWNpZmllZERpc3BsYXlTdHlsZSk6IE92ZXJyaWRl
IGFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUKKyAgICAgICAgc28gdGhhdCB0aGUgZGlzcGxh
eSBhdHRyaWJ1dGUgaXMgYWxzbyB1c2VkIHRvIHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB0aGUg
ZGlzcGxheXN0eWxlCisgICAgICAgIGF0dHJpYnV0ZSBpcyBhYnNlbnQuCisgICAgICAgIChXZWJD
b3JlOjpNYXRoTUxNYXRoRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBNYXJrIGRpc3BsYXlzdHls
ZSBhbmQgbWF0aHZhcmlhbnQgZGlydHkgaWYKKyAgICAgICAgbmVjZXNzYXJ5LiBXZSBkaXJlY3Rs
eSBNYXRoTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSB0byBhdm9pZCBkdXBsaWNhdGUgd29yay4K
KyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDogQWRkIHRoZSBtYXRoIHRhZyB0
byB0aGUgbGlzdCBvZiBlbGVtZW50cyBhY2NlcHRpbmcgdGhlCisgICAgICAgIGRpc3BsYXlzdHls
ZSBhbmQgbWF0aHZhcmlhbnQgYXR0cmlidXRlcy4gRGVjbGFyZSBvdmVycmlkZGVuIGdldFNwZWNp
ZmllZERpc3BsYXlTdHlsZS4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTog
TWFyayBtYXRodmFyaWFudCBhcyBkaXJ0eS4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MVGV4dEVs
ZW1lbnQuaDogQWRkIHRva2VuIGVsZW1lbnRzIHRvIHRoZSBsaXN0IG9mIGVsZW1lbnRzIGFjY2Vw
dGluZyB0aGUKKyAgICAgICAgbWF0aHZhcmlhbnQgYXR0cmlidXRlLgorICAgICAgICAqIHJlbmRl
cmluZy9tYXRobWwvTWF0aE1MU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MU3R5
bGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWQpOiBVc2UgdGhlIG5ldyBNYXRoTUxFbGVtZW50OjpNYXRo
VmFyaWFudCBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MU3R5bGU6OnJlc29sdmVNYXRo
TUxTdHlsZSk6ICBXZSBubyBsb25nZXIgcGFyc2UgdGhlIGRpc3BsYXkgdmFsdWUgdG8KKyAgICAg
ICAgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSBvbiB0aGUgbWF0aCB0YWcsIGJlY2F1c2Ug
dGhpcyBpcyBoYW5kbGVkIGluCisgICAgICAgIGdldFNwZWNpZmllZERpc3BsYXlTdHlsZS4gSW4g
Z2VuZXJhbCwgd2UgYWxzbyBqdXN0IGNhbGwgZ2V0U3BlY2lmaWVkRGlzcGxheVN0eWxlIGFuZAor
ICAgICAgICBnZXRTcGVjaWZpZWRNYXRoVmFyaWFudCBvbiB0aGUgTWF0aE1MIGVsZW1lbnRzIGlu
c3RlYWQgb2YgcGFyc2luZyB0aGUgZGlzcGxheXN0eWxlIGFuZAorICAgICAgICBtYXRodmFyaWFu
dCBhdHRyaWJ1dGVzIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxTdHlsZTo6cGFyc2VN
YXRoVmFyaWFudCk6IERlbGV0ZWQuIFRoaXMgaXMgbW92ZWQgaW50byBNYXRoTUxFbGVtZW50Lgor
ICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvTWF0aE1MU3R5bGUuaDogVXNlIHRoZSBuZXcgTWF0
aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQgZW51bS4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFRva2VuLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjptYXRoVmFy
aWFudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVG9rZW46OnVwZGF0
ZU1hdGhWYXJpYW50R2x5cGgpOiBEaXR0by4KKworMjAxNi0wNy0yMSAgRnJlZGVyaWMgV2FuZyAg
PGZ3YW5nQGlnYWxpYS5jb20+CisKKyAgICAgICAgTW92ZSBwYXJzaW5nIG9mIGFjY2VudHVuZGVy
IGFuZCBhY2NlbnQgYXR0cmlidXRlcyBmcm9tIHJlbmRlcmVyIHRvIGVsZW1lbnQgY2xhc3Nlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NjI1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaW50cm9k
dWNlIGEgbmV3IE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQgdGhhdCBpcyB1c2VkIGZvciBlbGVtZW50
cyBtdW5kZXIsIG1vdmVyIGFuZAorICAgICAgICBtdW5kZXJvdmVyIGluIG9yZGVyIHRvIGNyZWF0
ZSBSZW5kZXJNYXRoTUxVbmRlck92ZXIgYW5kIHBhcnNlIGFuZCBleHBvc2UgdGhlIHZhbHVlcyBv
ZiB0aGUKKyAgICAgICAgYWNjZW50IGFuZCBhY2NlbnR1bmRlciBhdHRyaWJ1dGVzLiBUaGlzIGlz
IG9uZSBtb3JlIHN0ZXAgdG93YXJkIG1vdmluZyBNYXRoTUwgYXR0cmlidXRlCisgICAgICAgIHBh
cnNpbmcgdG8gdGhlIERPTSAoYnVnIDE1NjUzNikuIFdlIGFsc28gZG8gbWlub3IgY2xlYW4tdXAg
Zm9yIHRoaXMgYW5kIHByZXZpb3VzIHJlbmRlcmVyCisgICAgICAgIGNsYXNzZXMgdGhhdCBubyBs
b25nZXIgZG8gYXR0cmlidXRlIHBhcnNpbmc6IHRoZSBNYXRoTUxOYW1lcyBuYW1lc3BhY2UgaXMg
bm8gbG9uZ2VyIG5lY2Vzc2FyeQorICAgICAgICBhbmQgY29uc3RydWN0b3JzIGNhbiB0YWtlIGEg
bW9yZSBhY2N1cmF0ZSBlbGVtZW50IHR5cGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBhbHJl
YWR5IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBBZGQgTWF0aE1MVW5kZXJPdmVyRWxlbWVudCBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxB
bGxJbk9uZS5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6OmNhY2hlZEJvb2xlYW5BdHRyaWJ1dGUp
OiBBZGQgcGFyc2luZyBvZiBib29sZWFuIGF0dHJpYnV0ZXMuCisgICAgICAgICogbWF0aG1sL01h
dGhNTEVsZW1lbnQuaDogTmV3IHR5cGUgYW5kIGhlbHBlciBmdW5jdGlvbnMgZm9yIGJvb2xlYW4g
YXR0cmlidXRlcy4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Ojpj
cmVhdGVFbGVtZW50UmVuZGVyZXIpOiBSZW1vdmUgaGFuZGxpbmcgb2YKKyAgICAgICAgdW5kZXIv
b3Zlci91bmRlcm92ZXIgZWxlbWVudHMuCisgICAgICAgICogbWF0aG1sL01hdGhNTFNjcmlwdHNF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFNjcmlwdHNFbGVtZW50OjpNYXRo
TUxTY3JpcHRzRWxlbWVudCk6IFJlbW92ZSBpbmxpbmUga2V5d29yZCB0byBhdm9pZCBsaW5rCisg
ICAgICAgIGVycm9ycyBub3cgdGhhdCBNYXRoTUxVbmRlck92ZXJFbGVtZW50IG92ZXJyaWRlcyB0
aGF0IGNsYXNzLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5oOiBBbGxv
dyBNYXRoTUxVbmRlck92ZXJFbGVtZW50IHRvIG92ZXJyaWRlIHRoaXMgY2xhc3MuCisgICAgICAg
ICogbWF0aG1sL01hdGhNTFVuZGVyT3ZlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6TWF0aE1MVW5kZXJPdmVyRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpNYXRoTUxVbmRlck92ZXJFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6YWNjZW50KTogSGVscGVyIGZ1bmN0aW9uIHRv
IGFjY2VzcyB0aGUgYWNjZW50IHZhbHVlLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVW5kZXJP
dmVyRWxlbWVudDo6YWNjZW50VW5kZXIpOiBIZWxwZXIgZnVuY3Rpb24gdG8gYWNjZXNzIHRoZSBh
Y2NlbnR1bmRlciB2YWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFVuZGVyT3ZlckVsZW1l
bnQ6OnBhcnNlQXR0cmlidXRlKTogTWFrZSBhY2NlbnQgYW5kIGFjY2VudHVuZGVyIGRpcnR5Lgor
ICAgICAgICAoV2ViQ29yZTo6TWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJl
bmRlcmVyKTogQ3JlYXRlIFJlbmRlck1hdGhNTFVuZGVyT3ZlcgorICAgICAgICAqIG1hdGhtbC9N
YXRoTUxVbmRlck92ZXJFbGVtZW50Lmg6CisgICAgICAgICogbWF0aG1sL21hdGh0YWdzLmluOiBN
YXAgdW5kZXIvb3Zlci91bmRlcm92ZXIgdG8gTWF0aE1MVW5kZXJPdmVyRWxlbWVudC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcDogUmVtb3ZlIE1h
dGhNTE5hbWVzIGFuZCBtYWtlIHRoZSBjb25zdHJ1Y3RvcgorICAgICAgICB0YWtlIGEgTWF0aE1M
RnJhY3Rpb25FbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRnJhY3Rpb246
OlJlbmRlck1hdGhNTEZyYWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTEZyYWN0aW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRo
TUxQYWRkZWQuY3BwOiBSZW1vdmUgTWF0aE1MTmFtZXMgYW5kIG1ha2UgdGhlIGNvbnN0cnVjdG9y
CisgICAgICAgIHRha2UgYSBNYXRoTUxQYWRkZWRFbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTWF0aE1MUGFkZGVkOjpSZW5kZXJNYXRoTUxQYWRkZWQpOgorICAgICAgICAqIHJlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUGFkZGVkLmg6CisgICAgICAgICogcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcDogUmVtb3ZlIE1hdGhNTE5hbWVzIGFuZCBtYWtl
IHRoZSBjb25zdHJ1Y3RvcgorICAgICAgICB0YWtlIGEgTWF0aE1MU2NyaXB0c0VsZW1lbnQuIEFs
c28gcmVuYW1lIHNjcmlwdHNFbGVtZW50KCkgdG8gZWxlbWVudCgpLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWF0aE1MU2NyaXB0czo6UmVuZGVyTWF0aE1MU2NyaXB0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzOjplbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1hdGhNTFNjcmlwdHM6OmdldFNjcmlwdE1ldHJpY3NBbmRMYXlvdXRJZk5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxTY3JpcHRzOjpzY3JpcHRzRWxlbWVudCk6
IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRz
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3Bw
OiBSZW1vdmUgTWF0aE1MTmFtZXMgYW5kIG1ha2UgdGhlIGNvbnN0cnVjdG9yCisgICAgICAgIHRh
a2UgYSBSZW5kZXJNYXRoTUxVbmRlck92ZXIuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRo
TUxVbmRlck92ZXI6OlJlbmRlck1hdGhNTFVuZGVyT3Zlcik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNYXRoTUxVbmRlck92ZXI6OmVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TWF0aE1MVW5kZXJPdmVyOjpoYXNBY2NlbnQpOiBVc2UgdGhlIGhlbHBlciBmdW5jdGlvbnMgZm9y
IGFjY2VudCBhbmQgYWNjZW50dW5kZXIuCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxVbmRlck92ZXIuaDoKKwogMjAxNi0wNy0yMSAgTWlndWVsIEdvbWV6ICA8bWFnb21l
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtUaHJlYWRlZCBDb21wb3NpdG9yXSBGbGlja2VyaW5n
IHdoZW4gem9vbWluZyBpbi9vdXQgaW4gbWFwcy5nb29nbGUuY29tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGNlNjdhYi4uZTAy
ZmMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNjY4LDYgKzY2OCw3IEBACiAJCTE1RkNDOUZFMUI0REY4NUUwMEU3MjMyNiAv
KiBET01VUkxNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTVGQ0M5RkQxQjRERjg1NjAwRTcyMzI2IC8qIERPTVVSTE1lZGlhU3RyZWFt
LmggKi87IH07CiAJCTE2M0U4OEY3MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNv
cmVUZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCAq
LzsgfTsKIAkJMTZFQTI0Q0VFQUIyQTYwNTM0MjE4QUNGIC8qIE1hdGhNTE9wZXJhdG9yRGljdGlv
bmFyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
NEY3MkM2NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCAq
LzsgfTsKKwkJMTZFQTI0Q0VFQUIyQTYwNTM0MjE4QkQwIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENEY3
MkM2NTNBNjQ4MDdBODNFNzYwQzkgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCAqLzsgfTsK
IAkJMTg1QkNGMjgwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxODVCQ0YyNjBGMzI3OUNFMDAw
RUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCAqLzsgfTsKIAkJMTg1QkNGMjkwRjMyNzlDRTAwMEVB
MjYyIC8qIFRocmVhZFRpbWVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTg1QkNGMjcwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5oICov
OyB9OwogCQkxODg2MDRCMzBGMkU2NTRBMDAwQjY0NDMgLyogRE9NVGltZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTg4NjA0QjEwRjJFNjU0QTAw
MEI2NDQzIC8qIERPTVRpbWVyLmNwcCAqLzsgfTsKQEAgLTY5MDgsNiArNjkwOSw4IEBACiAJCUY5
RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5RjBFRDc3MERC
NTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKIAkJ
RkE2NTRBNkIxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRleHRFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBNjU0QTY5MTEwOEFCRUQw
MDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5jcHAgKi87IH07CiAJCUZBNjU0QTZDMTEwOEFC
RUQwMDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkE2NTRBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhN
TFRleHRFbGVtZW50LmggKi87IH07CisJCUZBNjU0QTZCMTEwOEFCRUQwMDI2MjZGMSAvKiBNYXRo
TUxVbmRlck92ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZBNjU0QTY5MTEwOEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxVbmRlck92ZXJF
bGVtZW50LmNwcCAqLzsgfTsKKwkJRkE2NTRBNkMxMTA4QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVu
ZGVyT3ZlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZBNjU0QTZBMTEwOEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxVbmRlck92ZXJFbGVtZW50
LmggKi87IH07CiAJCUZBQkU3MkY0MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVE
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmNwcCAqLzsgfTsKIAkJRkFCRTcyRjUx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVFMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRo
TUxFbGVtZW50LmggKi87IH07CiAJCUZBQkU3MkY2MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmNwcCAqLzsgfTsKQEAgLTE0NTA0LDYgKzE0NTA3LDcgQEAKIAkJRDNG
M0QzNjUxQTY5QjFBNTAwNTlGQzJCIC8qIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0YzRDM2NjFBNjlC
MUE1MDA1OUZDMkIgLyogSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENEY3MkM2NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQ0RjcyQzY1M0E2NDgwN0E4M0U3NjBDOSAvKiBNYXRoTUxPcGVyYXRvckVsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MT3BlcmF0
b3JFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYxOUEzMDUxNDRF
MDBCRTAwNEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9uU2NvcGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MTlBMzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGls
ZExpc3RNdXRhdGlvblNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENo
aWxkTGlzdE11dGF0aW9uU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDY0
ODlEMjMxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ1NDAsNiArMTQ1NDQsNyBAQAogCQlE
RTQ5QjMwODE2NUYyRkUxMDAxMDMzOEQgLyogUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWVkaWFDb250cm9sRWxlbWVu
dHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREVDMjk3NUQxQjRERUIyQTAwNUY1
OTQ1IC8qIEpTQ3VzdG9tRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNDdXN0b21FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCURGN0U5QTI5NEM3QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxPcGVyYXRvckRpY3Rp
b25hcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MT3BlcmF0b3JE
aWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURGN0U5QTI5NEM3QUFD
RTBBRDg5QjRFRSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWF0aE1MT3BlcmF0b3JFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCURGOUFGRDcwMTNGQzMxRDgwMDE1RkVCNyAvKiBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJREY5QUZENzExM0ZDMzFEODAwMTVGRUI3IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEV2ZW50U291cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE1MDg3LDYgKzE1MDkyLDggQEAKIAkJRkE2NTRBNjcxMTA4QUJFMjAw
MjYxNUUwIC8qIG1hdGhhdHRycy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBtYXRoYXR0cnMu
aW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBNjU0QTY5MTEwOEFCRUQwMDI2MTVF
MCAvKiBNYXRoTUxUZXh0RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNYXRoTUxUZXh0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZBNjU0QTZBMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxUZXh0RWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGQTY1NEE2OTExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1M
VW5kZXJPdmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNYXRoTUxVbmRlck92ZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkE2NTRBNkExMTA4QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTZFNDY2RkNEMDQxOEE5OTY2QTVCNjAg
LyogRE5TUmVzb2x2ZVF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERO
U1Jlc29sdmVRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJFRDEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNYXRoTUxFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkFCRTcyRUUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjQ5MDEsNiArMjQ5MDgsOCBAQAogCQkJCUNFNkQ4OTI5NEM3
QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQuaCAqLywKIAkJCQlENEY3MkM2
NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCAqLywKIAkJ
CQlERjdFOUEyOTRDN0FBQ0UwQUQ4OUIzREQgLyogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Lmgg
Ki8sCisJCQkJRDRGNzJDNjUzQTY0ODA3QTgzRTc2MEM5IC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVu
dC5jcHAgKi8sCisJCQkJREY3RTlBMjk0QzdBQUNFMEFEODlCNEVFIC8qIE1hdGhNTE9wZXJhdG9y
RWxlbWVudC5oICovLAogCQkJCUI1OUNBNTlBRjE3MEQ4RkFBNUI4QzlBRCAvKiBNYXRoTUxTY3Jp
cHRzRWxlbWVudC5jcHAgKi8sCiAJCQkJQjU5Q0E4NDlENDFFNkY2NUQ4MTE5N0FCIC8qIE1hdGhN
TFNjcmlwdHNFbGVtZW50LmggKi8sCiAJCQkJQjU5Q0E1OUFGMTcwRDhGQUE1QjhDQUJFIC8qIE1h
dGhNTFBhZGRlZEVsZW1lbnQuY3BwICovLApAQCAtMjQ5MTEsNiArMjQ5MjAsOCBAQAogCQkJCTRG
QTY1QTZBMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxTcGFjZUVsZW1lbnQuaCAqLywKIAkJCQlG
QTY1NEE2OTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVGV4dEVsZW1lbnQuY3BwICovLAogCQkJ
CUZBNjU0QTZBMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5oICovLAorCQkJ
CUZBNjU0QTY5MTEwOEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxVbmRlck92ZXJFbGVtZW50LmNwcCAq
LywKKwkJCQlGQTY1NEE2QTExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVu
dC5oICovLAogCQkJCUZBQkU3MkYzMTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRodGFncy5pbiAqLywK
IAkJCSk7CiAJCQlwYXRoID0gbWF0aG1sOwpAQCAtMjc0NDksNiArMjc0NjAsNyBAQAogCQkJCTQz
OTE3NkUwMTJEQTI1RTE3QkFGODBBMiAvKiBNYXRoTUxTdHlsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNEZBNjVBNkMxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkE2NTRBNkMxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRleHRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGQTY1NEE2QzExMDhBQkVEMDAyNjI2RjEgLyogTWF0
aE1MVW5kZXJPdmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM5MDQ2RUExMkRBMjVF
ODEyQUY4MEFDIC8qIE1hdGhPcGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkMw
RjQyM0E3MzAwOEYyMEZEIC8qIE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0OUU5MTFDNzBFRjg2RDQ3MDA5RDBDQUYgLyogTWF0cml4VHJhbnNmb3JtT3Bl
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMjc1LDYgKzMxMjg3LDcgQEAKIAkJCQlGQUJF
NzJGODEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDVEOTEzQ0VFQUIyQTYwNTM0MjE4QUNGIC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNkVBMjRDRUVBQjJBNjA1MzQyMThBQ0YgLyogTWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE2RUEyNENFRUFC
MkE2MDUzNDIxOEJERSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQzOTE3NkRGMTJEQTI1RTE3QkFGODBBMiAvKiBNYXRoTUxTdHlsZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCNTlDQTM5MENFRDY2QzMyNTVGNzJCNDggLyogTWF0aE1MU2Ny
aXB0c0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTI4Miw2ICszMTI5NSw3IEBACiAJ
CQkJRkVENDgzOTBDRUQ2NkMzMjU1RjcyQzU5IC8qIE1hdGhNTFNlbGVjdEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNEZBNjVBNkIxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNl
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGQTY1NEE2QjExMDhBQkVEMDAyNjE1RTAg
LyogTWF0aE1MVGV4dEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkE2NTRBNkIxMTA4
QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNDM5MDQ2RTkxMkRBMjVFODEyQUY4MEFDIC8qIE1hdGhPcGVyYXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0OUQ1REMyQjBGNDIzQTczMDA4RjIwRkQgLyogTWF0cml4M0RUcmFuc2Zv
cm1PcGVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFOTExQzYwRUY4NkQ0NzAwOUQw
Q0FGIC8qIE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCmluZGV4IDczNTMzMGMuLmU4MTEwOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcApAQCAtMzEsOCArMzEs
MTAgQEAKICNpbmNsdWRlICJNYXRoTUxNYXRoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1M
TWVuY2xvc2VFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnku
Y3BwIgorI2luY2x1ZGUgIk1hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0
aE1MUGFkZGVkRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3Bw
IgogI2luY2x1ZGUgIk1hdGhNTFNlbGVjdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIk1hdGhNTFRl
eHRFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJNYXRoTUxVbmRlck92ZXJFbGVtZW50LmNwcCIKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwCmluZGV4IGRhOTdmMDcuLmMyZWU2
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKQEAgLTIsNiArMiw3
IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5j
b20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBGcmFuw6dvaXMg
U2F1c3NldCAoc2F1c3NldEBnbWFpbC5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTUyNSw2ICs1MjYsODUgQEAgY29uc3QgTWF0aE1MRWxlbWVudDo6TGVuZ3RoJiBNYXRo
TUxFbGVtZW50OjpjYWNoZWRNYXRoTUxMZW5ndGgoY29uc3QgUXVhbGlmaWVkTmEKICAgICByZXR1
cm4gbGVuZ3RoOwogfQogCitjb25zdCBNYXRoTUxFbGVtZW50OjpCb29sZWFuVmFsdWUmIE1hdGhN
TEVsZW1lbnQ6OmNhY2hlZEJvb2xlYW5BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgQm9vbGVhbkF0dHJpYnV0ZSYgYXR0cmlidXRlKQoreworICAgIGlmIChhdHRyaWJ1dGUuZGly
dHkpIHsKKyAgICAgICAgLy8gSW4gTWF0aE1MLCBhdHRyaWJ1dGUgdmFsdWVzIGFyZSBjYXNlLXNl
bnNpdGl2ZS4KKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24obmFtZSk7CisgICAgICAgIGlmICh2YWx1ZSA9PSAidHJ1ZSIp
CisgICAgICAgICAgICBhdHRyaWJ1dGUudmFsdWUgPSBCb29sZWFuVmFsdWU6OlRydWU7CisgICAg
ICAgIGVsc2UgaWYgKHZhbHVlID09ICJmYWxzZSIpCisgICAgICAgICAgICBhdHRyaWJ1dGUudmFs
dWUgPSBCb29sZWFuVmFsdWU6OkZhbHNlOworICAgICAgICBlbHNlCisgICAgICAgICAgICBhdHRy
aWJ1dGUudmFsdWUgPSBCb29sZWFuVmFsdWU6OkRlZmF1bHQ7CisgICAgICAgIGF0dHJpYnV0ZS5k
aXJ0eSA9IGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gYXR0cmlidXRlLnZhbHVlOworfQorCitN
YXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudCBNYXRoTUxFbGVtZW50OjpwYXJzZU1hdGhWYXJpYW50
QXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cmlidXRlVmFsdWUpCit7CisgICAgLy8g
VGhlIG1hdGh2YXJpYW50IGF0dHJpYnV0ZSB2YWx1ZXMgaXMgY2FzZS1zZW5zaXRpdmUuCisgICAg
aWYgKGF0dHJpYnV0ZVZhbHVlID09ICJub3JtYWwiKQorICAgICAgICByZXR1cm4gTWF0aFZhcmlh
bnQ6Ok5vcm1hbDsKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gImJvbGQiKQorICAgICAgICBy
ZXR1cm4gTWF0aFZhcmlhbnQ6OkJvbGQ7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJpdGFs
aWMiKQorICAgICAgICByZXR1cm4gTWF0aFZhcmlhbnQ6Okl0YWxpYzsKKyAgICBpZiAoYXR0cmli
dXRlVmFsdWUgPT0gImJvbGQtaXRhbGljIikKKyAgICAgICAgcmV0dXJuIE1hdGhWYXJpYW50OjpC
b2xkSXRhbGljOworICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAiZG91YmxlLXN0cnVjayIpCisg
ICAgICAgIHJldHVybiBNYXRoVmFyaWFudDo6RG91YmxlU3RydWNrOworICAgIGlmIChhdHRyaWJ1
dGVWYWx1ZSA9PSAiYm9sZC1mcmFrdHVyIikKKyAgICAgICAgcmV0dXJuIE1hdGhWYXJpYW50OjpC
b2xkRnJha3R1cjsKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gInNjcmlwdCIpCisgICAgICAg
IHJldHVybiBNYXRoVmFyaWFudDo6U2NyaXB0OworICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAi
Ym9sZC1zY3JpcHQiKQorICAgICAgICByZXR1cm4gTWF0aFZhcmlhbnQ6OkJvbGRTY3JpcHQ7Cisg
ICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJmcmFrdHVyIikKKyAgICAgICAgcmV0dXJuIE1hdGhW
YXJpYW50OjpGcmFrdHVyOworICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAic2Fucy1zZXJpZiIp
CisgICAgICAgIHJldHVybiBNYXRoVmFyaWFudDo6U2Fuc1NlcmlmOworICAgIGlmIChhdHRyaWJ1
dGVWYWx1ZSA9PSAiYm9sZC1zYW5zLXNlcmlmIikKKyAgICAgICAgcmV0dXJuIE1hdGhWYXJpYW50
OjpCb2xkU2Fuc1NlcmlmOworICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAic2Fucy1zZXJpZi1p
dGFsaWMiKQorICAgICAgICByZXR1cm4gTWF0aFZhcmlhbnQ6OlNhbnNTZXJpZkl0YWxpYzsKKyAg
ICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gInNhbnMtc2VyaWYtYm9sZC1pdGFsaWMiKQorICAgICAg
ICByZXR1cm4gTWF0aFZhcmlhbnQ6OlNhbnNTZXJpZkJvbGRJdGFsaWM7CisgICAgaWYgKGF0dHJp
YnV0ZVZhbHVlID09ICJtb25vc3BhY2UiKQorICAgICAgICByZXR1cm4gTWF0aFZhcmlhbnQ6Ok1v
bm9zcGFjZTsKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gImluaXRpYWwiKQorICAgICAgICBy
ZXR1cm4gTWF0aFZhcmlhbnQ6OkluaXRpYWw7CisgICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJ0
YWlsZWQiKQorICAgICAgICByZXR1cm4gTWF0aFZhcmlhbnQ6OlRhaWxlZDsKKyAgICBpZiAoYXR0
cmlidXRlVmFsdWUgPT0gImxvb3BlZCIpCisgICAgICAgIHJldHVybiBNYXRoVmFyaWFudDo6TG9v
cGVkOworICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAic3RyZXRjaGVkIikKKyAgICAgICAgcmV0
dXJuIE1hdGhWYXJpYW50OjpTdHJldGNoZWQ7CisgICAgcmV0dXJuIE1hdGhWYXJpYW50OjpOb25l
OworfQorCit2b2lkIE1hdGhNTEVsZW1lbnQ6OmdldFNwZWNpZmllZERpc3BsYXlTdHlsZShib29s
JiBkaXNwbGF5U3R5bGUpCit7CisgICAgaWYgKCFhY2NlcHRzRGlzcGxheVN0eWxlQXR0cmlidXRl
KCkpCisgICAgICAgIHJldHVybjsKKyAgICBjb25zdCBNYXRoTUxFbGVtZW50OjpCb29sZWFuVmFs
dWUmIHNwZWNpZmllZERpc3BsYXlTdHlsZSA9IGNhY2hlZEJvb2xlYW5BdHRyaWJ1dGUoZGlzcGxh
eXN0eWxlQXR0ciwgbV9kaXNwbGF5U3R5bGUpOworICAgIGlmIChzcGVjaWZpZWREaXNwbGF5U3R5
bGUgIT0gTWF0aE1MRWxlbWVudDo6Qm9vbGVhblZhbHVlOjpEZWZhdWx0KQorICAgICAgICBkaXNw
bGF5U3R5bGUgPSBzcGVjaWZpZWREaXNwbGF5U3R5bGUgPT0gTWF0aE1MRWxlbWVudDo6Qm9vbGVh
blZhbHVlOjpUcnVlOworfQorCit2b2lkIE1hdGhNTEVsZW1lbnQ6OmdldFNwZWNpZmllZE1hdGhW
YXJpYW50KE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50JiBtYXRoVmFyaWFudCkKK3sKKyAgICBp
ZiAoIWFjY2VwdHNNYXRoVmFyaWFudEF0dHJpYnV0ZSgpKQorICAgICAgICByZXR1cm47CisgICAg
aWYgKG1fbWF0aFZhcmlhbnQuZGlydHkpIHsKKyAgICAgICAgbV9tYXRoVmFyaWFudC52YWx1ZSA9
IHBhcnNlTWF0aFZhcmlhbnRBdHRyaWJ1dGUoYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlv
bihtYXRodmFyaWFudEF0dHIpKTsKKyAgICAgICAgbV9tYXRoVmFyaWFudC5kaXJ0eSA9IGZhbHNl
OworICAgIH0KKyAgICBpZiAobV9tYXRoVmFyaWFudC52YWx1ZSAhPSBNYXRoTUxFbGVtZW50OjpN
YXRoVmFyaWFudDo6Tm9uZSkKKyAgICAgICAgbWF0aFZhcmlhbnQgPSBtX21hdGhWYXJpYW50LnZh
bHVlOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxFbGVtZW50LmgKaW5kZXggNGM5NjAwYS4uZDdiOWM3MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MRWxlbWVudC5oCkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAy
MDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgRnJhbsOnb2lzIFNhdXNzZXQgKHNhdXNzZXRAZ21haWwu
Y29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEg
Uy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02Niw2ICs2Nyw0NCBAQCBw
dWJsaWM6CiAgICAgfTsKICAgICBzdGF0aWMgTGVuZ3RoIHBhcnNlTWF0aE1MTGVuZ3RoKGNvbnN0
IFN0cmluZyYpOwogCisgICAgZW51bSBjbGFzcyBCb29sZWFuVmFsdWUgeyBUcnVlLCBGYWxzZSwg
RGVmYXVsdCB9OworICAgIHN0cnVjdCBCb29sZWFuQXR0cmlidXRlIHsKKyAgICAgICAgQm9vbGVh
blZhbHVlIHZhbHVlIHsgQm9vbGVhblZhbHVlOjpEZWZhdWx0IH07CisgICAgICAgIGJvb2wgZGly
dHkgeyB0cnVlIH07CisgICAgfTsKKworICAgIC8vIFRoZXNlIGFyZSB0aGUgbWF0aHZhcmlhbnQg
dmFsdWVzIGZyb20gdGhlIE1hdGhNTCByZWNvbW1lbmRhdGlvbi4KKyAgICAvLyBUaGUgc3BlY2lh
bCB2YWx1ZSBub25lIG1lYW5zIHRoYXQgbm8gZXhwbGljaXQgbWF0aHZhcmlhbnQgdmFsdWUgaGFz
IGJlZW4gc3BlY2lmaWVkLgorICAgIC8vIE5vdGUgdGhhdCB0aGUgbnVtZXJhbCB2YWx1ZXMgYXJl
IGltcG9ydGFudCBmb3IgdGhlIGNvbXB1dGF0aW9uIHBlcmZvcm1lZCBpbiB0aGUgbWF0aFZhcmlh
bnQgZnVuY3Rpb24gb2YgUmVuZGVyTWF0aE1MVG9rZW4sIGRvIG5vdCBjaGFuZ2UgdGhlbSEKKyAg
ICBlbnVtIGNsYXNzIE1hdGhWYXJpYW50IHsKKyAgICAgICAgTm9uZSA9IDAsCisgICAgICAgIE5v
cm1hbCA9IDEsCisgICAgICAgIEJvbGQgPSAyLAorICAgICAgICBJdGFsaWMgPSAzLAorICAgICAg
ICBCb2xkSXRhbGljID0gNCwKKyAgICAgICAgU2NyaXB0ID0gNSwKKyAgICAgICAgQm9sZFNjcmlw
dCA9IDYsCisgICAgICAgIEZyYWt0dXIgPSA3LAorICAgICAgICBEb3VibGVTdHJ1Y2sgPSA4LAor
ICAgICAgICBCb2xkRnJha3R1ciA9IDksCisgICAgICAgIFNhbnNTZXJpZiA9IDEwLAorICAgICAg
ICBCb2xkU2Fuc1NlcmlmID0gMTEsCisgICAgICAgIFNhbnNTZXJpZkl0YWxpYyA9IDEyLAorICAg
ICAgICBTYW5zU2VyaWZCb2xkSXRhbGljID0gMTMsCisgICAgICAgIE1vbm9zcGFjZSA9IDE0LAor
ICAgICAgICBJbml0aWFsID0gMTUsCisgICAgICAgIFRhaWxlZCA9IDE2LAorICAgICAgICBMb29w
ZWQgPSAxNywKKyAgICAgICAgU3RyZXRjaGVkID0gMTgKKyAgICB9OworICAgIHN0cnVjdCBNYXRo
VmFyaWFudEF0dHJpYnV0ZSB7CisgICAgICAgIE1hdGhWYXJpYW50IHZhbHVlIHsgTWF0aFZhcmlh
bnQ6Ok5vbmUgfTsKKyAgICAgICAgYm9vbCBkaXJ0eSB7IHRydWUgfTsKKyAgICB9OworCisgICAg
dmlydHVhbCB2b2lkIGdldFNwZWNpZmllZERpc3BsYXlTdHlsZShib29sJik7CisgICAgdm9pZCBn
ZXRTcGVjaWZpZWRNYXRoVmFyaWFudChNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudCYpOworCiBw
cm90ZWN0ZWQ6CiAgICAgTWF0aE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCYpOwogCkBAIC04MywxMSArMTIyLDE5IEBAIHByb3RlY3RlZDoKICAgICB2b2lk
IGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBvdmVycmlkZTsKIAogICAgIGNvbnN0IExlbmd0
aCYgY2FjaGVkTWF0aE1MTGVuZ3RoKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBMZW5ndGgmKTsKKyAg
ICBjb25zdCBCb29sZWFuVmFsdWUmIGNhY2hlZEJvb2xlYW5BdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIEJvb2xlYW5BdHRyaWJ1dGUmKTsKKworICAgIHZpcnR1YWwgYm9vbCBhY2NlcHRz
RGlzcGxheVN0eWxlQXR0cmlidXRlKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgYWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkgeyByZXR1cm4gZmFsc2U7IH0KKworICAg
IEJvb2xlYW5BdHRyaWJ1dGUgbV9kaXNwbGF5U3R5bGU7CisgICAgTWF0aFZhcmlhbnRBdHRyaWJ1
dGUgbV9tYXRoVmFyaWFudDsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU2Vs
ZWN0ZWRDaGlsZCgpIHsgfQogICAgIHN0YXRpYyBMZW5ndGggcGFyc2VOdW1iZXJBbmRVbml0KGNv
bnN0IFN0cmluZ1ZpZXcmKTsKICAgICBzdGF0aWMgTGVuZ3RoIHBhcnNlTmFtZWRTcGFjZShjb25z
dCBTdHJpbmdWaWV3Jik7CisgICAgc3RhdGljIE1hdGhWYXJpYW50IHBhcnNlTWF0aFZhcmlhbnRB
dHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSk7CiAKICAgICBib29s
IGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBpc0ZvY3VzYWJsZSgp
IGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCmluZGV4IDM2MjE5ZDIuLjdiNDJjODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5jcHAKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWls
b3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzYsNyArMzcsNiBAQAogI2luY2x1ZGUgIlJlbmRlck1hdGhNTE1lbmNsb3NlLmgiCiAjaW5j
bHVkZSAiUmVuZGVyTWF0aE1MUm9vdC5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFJvdy5oIgot
I2luY2x1ZGUgIlJlbmRlck1hdGhNTFVuZGVyT3Zlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTY1LDggKzY1LDYgQEAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW4KIHsKICAgICBpZiAo
aGFzVGFnTmFtZShhbm5vdGF0aW9uX3htbFRhZykgfHwgaGFzVGFnTmFtZShtZXJyb3JUYWcpIHx8
IGhhc1RhZ05hbWUobXBoYW50b21UYWcpIHx8IGhhc1RhZ05hbWUobXJvd1RhZykgfHwgaGFzVGFn
TmFtZShtc3R5bGVUYWcpKQogICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0
aE1MUm93PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwotICAgIGlmIChoYXNUYWdOYW1lKG1vdmVy
VGFnKSB8fCBoYXNUYWdOYW1lKG11bmRlclRhZykgfHwgaGFzVGFnTmFtZShtdW5kZXJvdmVyVGFn
KSkKLSAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTFVuZGVyT3Zlcj4o
KnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKICAgICBpZiAoaGFzVGFnTmFtZShtc3FydFRhZykgfHwg
aGFzVGFnTmFtZShtcm9vdFRhZykpCiAgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5k
ZXJNYXRoTUxSb290PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwogICAgIGlmIChoYXNUYWdOYW1l
KG1mZW5jZWRUYWcpKQpAQCAtNzcsMTAgKzc1LDI0IEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50
PiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVu
CiAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTEJsb2NrPigqdGhpcywgV1RG
TW92ZShzdHlsZSkpOwogfQogCitib29sIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmFj
Y2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUoKQoreworICAgIHJldHVybiBoYXNUYWdOYW1lKG1z
dHlsZVRhZykgfHwgaGFzVGFnTmFtZShtdGFibGVUYWcpOworfQorCitib29sIE1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQ6OmFjY2VwdHNNYXRoVmFyaWFudEF0dHJpYnV0ZSgpCit7CisgICAg
cmV0dXJuIGhhc1RhZ05hbWUobXN0eWxlVGFnKTsKK30KKwogdm9pZCBNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBj
b25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewotICAgIGJvb2wgZGlzcGxheVN0eWxlQXR0cmli
dXRlID0gKG5hbWUgPT0gZGlzcGxheXN0eWxlQXR0ciAmJiAoaGFzVGFnTmFtZShtc3R5bGVUYWcp
IHx8IGhhc1RhZ05hbWUobXRhYmxlVGFnKSkpOwotICAgIGJvb2wgbWF0aFZhcmlhbnRBdHRyaWJ1
dGUgPSAobmFtZSA9PSBtYXRodmFyaWFudEF0dHIgJiYgKGhhc1RhZ05hbWUobWF0aFRhZykgfHwg
aGFzVGFnTmFtZShtc3R5bGVUYWcpKSk7CisgICAgYm9vbCBkaXNwbGF5U3R5bGVBdHRyaWJ1dGUg
PSBuYW1lID09IGRpc3BsYXlzdHlsZUF0dHIgJiYgYWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0
ZSgpOworICAgIGJvb2wgbWF0aFZhcmlhbnRBdHRyaWJ1dGUgPSBuYW1lID09IG1hdGh2YXJpYW50
QXR0ciAmJiBhY2NlcHRzTWF0aFZhcmlhbnRBdHRyaWJ1dGUoKTsKKyAgICBpZiAoZGlzcGxheVN0
eWxlQXR0cmlidXRlKQorICAgICAgICBtX2Rpc3BsYXlTdHlsZS5kaXJ0eSA9IHRydWU7CisgICAg
aWYgKG1hdGhWYXJpYW50QXR0cmlidXRlKQorICAgICAgICBtX21hdGhWYXJpYW50LmRpcnR5ID0g
dHJ1ZTsKICAgICBpZiAoKGRpc3BsYXlTdHlsZUF0dHJpYnV0ZSB8fCBtYXRoVmFyaWFudEF0dHJp
YnV0ZSkgJiYgcmVuZGVyZXIoKSkKICAgICAgICAgTWF0aE1MU3R5bGU6OnJlc29sdmVNYXRoTUxT
dHlsZVRyZWUocmVuZGVyZXIoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oCmluZGV4IGQyNmFiNWYuLmJkOGVkZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQuaApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBN
aWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC00MCw2ICs0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChj
b25zdCBDaGlsZENoYW5nZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogCisgICAg
Ym9vbCBhY2NlcHRzRGlzcGxheVN0eWxlQXR0cmlidXRlKCkgb3ZlcnJpZGU7CisgICAgYm9vbCBh
Y2NlcHRzTWF0aFZhcmlhbnRBdHRyaWJ1dGUoKSBvdmVycmlkZTsKKwogcHJpdmF0ZToKICAgICBS
ZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxl
JiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIG92ZXJyaWRlOwogICAgIGJvb2wgaXNQcmVz
ZW50YXRpb25NYXRoTUwoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAppbmRleCBmMzZkYmVhLi4wYWIxNjgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAKQEAgLTEs
NiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhA
bWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
SWdhbGlhIFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTMsMTIgKzU0
LDMzIEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxNYXRoRWxlbWVudDo6Y3JlYXRl
RWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYKICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyTWF0aE1MTWF0aD4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKIH0KIAordm9pZCBNYXRo
TUxNYXRoRWxlbWVudDo6Z2V0U3BlY2lmaWVkRGlzcGxheVN0eWxlKGJvb2wmIGRpc3BsYXlTdHls
ZSkKK3sKKyAgICBjb25zdCBNYXRoTUxFbGVtZW50OjpCb29sZWFuVmFsdWUmIHNwZWNpZmllZERp
c3BsYXlTdHlsZSA9IGNhY2hlZEJvb2xlYW5BdHRyaWJ1dGUoZGlzcGxheXN0eWxlQXR0ciwgbV9k
aXNwbGF5U3R5bGUpOworICAgIGlmIChzcGVjaWZpZWREaXNwbGF5U3R5bGUgPT0gQm9vbGVhblZh
bHVlOjpEZWZhdWx0KSB7CisgICAgICAgIC8vIFRoZSBkZWZhdWx0IGRpc3BsYXlzdHlsZSB2YWx1
ZSBvZiB0aGUgPG1hdGg+IGRlcGVuZHMgb24gdGhlIGRpc3BsYXkgYXR0cmlidXRlLCBzbyB3ZSBw
YXJzZSBpdCBoZXJlLgorICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihkaXNwbGF5QXR0cik7CisgICAgICAgIGlmICh2YWx1
ZSA9PSAiYmxvY2siKQorICAgICAgICAgICAgbV9kaXNwbGF5U3R5bGUudmFsdWUgPSBCb29sZWFu
VmFsdWU6OlRydWU7CisgICAgICAgIGVsc2UgaWYgKHZhbHVlID09ICJpbmxpbmUiKQorICAgICAg
ICAgICAgbV9kaXNwbGF5U3R5bGUudmFsdWUgPSBCb29sZWFuVmFsdWU6OkZhbHNlOworICAgIH0K
KyAgICBpZiAobV9kaXNwbGF5U3R5bGUudmFsdWUgIT0gQm9vbGVhblZhbHVlOjpEZWZhdWx0KQor
ICAgICAgICBkaXNwbGF5U3R5bGUgPSBtX2Rpc3BsYXlTdHlsZS52YWx1ZSA9PSBCb29sZWFuVmFs
dWU6OlRydWU7Cit9CisKIHZvaWQgTWF0aE1MTWF0aEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0g
ICAgaWYgKChuYW1lID09IGRpc3BsYXlzdHlsZUF0dHIgfHwgbmFtZSA9PSBkaXNwbGF5QXR0ciB8
fCBuYW1lID09IG1hdGh2YXJpYW50QXR0cikgJiYgcmVuZGVyZXIoKSkKKyAgICBib29sIGRpc3Bs
YXlTdHlsZUF0dHJpYnV0ZSA9IChuYW1lID09IGRpc3BsYXlzdHlsZUF0dHIgfHwgbmFtZSA9PSBk
aXNwbGF5QXR0cik7CisgICAgYm9vbCBtYXRoVmFyaWFudEF0dHJpYnV0ZSA9IG5hbWUgPT0gbWF0
aHZhcmlhbnRBdHRyOworICAgIGlmIChkaXNwbGF5U3R5bGVBdHRyaWJ1dGUpCisgICAgICAgIG1f
ZGlzcGxheVN0eWxlLmRpcnR5ID0gdHJ1ZTsKKyAgICBpZiAobWF0aFZhcmlhbnRBdHRyaWJ1dGUp
CisgICAgICAgIG1fbWF0aFZhcmlhbnQuZGlydHkgPSB0cnVlOworICAgIGlmICgoZGlzcGxheVN0
eWxlQXR0cmlidXRlIHx8IG1hdGhWYXJpYW50QXR0cmlidXRlKSAmJiByZW5kZXJlcigpKQogICAg
ICAgICBNYXRoTUxTdHlsZTo6cmVzb2x2ZU1hdGhNTFN0eWxlVHJlZShyZW5kZXJlcigpKTsKIAot
ICAgIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZh
bHVlKTsKKyAgICBNYXRoTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9
CiAKIHZvaWQgTWF0aE1MTWF0aEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCmluZGV4IDcxZTEyMmQuLjY4YjkyNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCkBAIC0xLDYgKzEs
NyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93
c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxp
YSBTLkwuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDYgKzQxLDEwIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBkaWRBdHRhY2hSZW5kZXJlcnMo
KSBmaW5hbDsKIAorICAgIGJvb2wgYWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpIGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGFjY2VwdHNNYXRoVmFyaWFudEF0dHJpYnV0ZSgp
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2b2lkIGdldFNwZWNpZmllZERpc3BsYXlTdHls
ZShib29sJikgZmluYWw7CisKICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxl
bWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIGZp
bmFsOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJh
dG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2Y0ZmY3Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVu
dC5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmgiCisKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxPcGVyYXRvci5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0
aE1MT3BlcmF0b3JFbGVtZW50OjpNYXRoTUxPcGVyYXRvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDogTWF0aE1MVGV4dEVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1JlZjxNYXRoTUxPcGVyYXRvckVsZW1lbnQ+
IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNYXRo
TUxPcGVyYXRvckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKK30KKwordm9pZCBNYXRoTUxP
cGVyYXRvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUs
IGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKChuYW1lID09IHN0cmV0Y2h5
QXR0ciB8fCBuYW1lID09IGxzcGFjZUF0dHIgfHwgbmFtZSA9PSByc3BhY2VBdHRyIHx8IG5hbWUg
PT0gbW92YWJsZWxpbWl0c0F0dHIpICYmIHJlbmRlcmVyKCkpIHsKKyAgICAgICAgZG93bmNhc3Q8
UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCpyZW5kZXJlcigpKS51cGRhdGVGcm9tRWxlbWVudCgpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0
cmlidXRlKG5hbWUsIHZhbHVlKTsKK30KKworUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhN
TE9wZXJhdG9yRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5
bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpCit7CisgICAgQVNTRVJUKGhhc1RhZ05hbWUo
TWF0aE1MTmFtZXM6Om1vVGFnKSk7CisgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1h
dGhNTE9wZXJhdG9yPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworfQorCit9CisKKyNlbmRpZiAv
LyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TE9wZXJhdG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9y
RWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4NzdhMGYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEg
Uy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTFRleHRFbGVtZW50Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWF0aE1MT3BlcmF0b3JFbGVtZW50IGZp
bmFsIDogcHVibGljIE1hdGhNTFRleHRFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PE1hdGhNTE9wZXJhdG9yRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50Jik7Citwcml2YXRlOgorICAgIE1hdGhNTE9wZXJhdG9yRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOworICAgIFJlbmRlclB0cjxSZW5k
ZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7CisgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7Cit9OworCit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxT
Y3JpcHRzRWxlbWVudC5jcHAKaW5kZXggZTBiZjQ4Ni4uNWVhZGExYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwCkBAIC0zNSw3ICszNSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCi1p
bmxpbmUgTWF0aE1MU2NyaXB0c0VsZW1lbnQ6Ok1hdGhNTFNjcmlwdHNFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK01hdGhNTFNjcmlwdHNF
bGVtZW50OjpNYXRoTUxTY3JpcHRzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
U2NyaXB0c0VsZW1lbnQuaAppbmRleCA3NWUxN2M5Li41NzQ3ZTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaApAQCAtMzAsMTYgKzMwLDE4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWF0aE1MU2NyaXB0c0VsZW1lbnQgZmluYWwg
OiBwdWJsaWMgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFzcyBNYXRoTUxTY3Jp
cHRzRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPE1hdGhNTFNjcmlwdHNFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKICAgICBjb25zdCBMZW5ndGgmIHN1YnNj
cmlwdFNoaWZ0KCk7CiAgICAgY29uc3QgTGVuZ3RoJiBzdXBlcnNjcmlwdFNoaWZ0KCk7CiAKLXBy
aXZhdGU6Citwcm90ZWN0ZWQ6CiAgICAgTWF0aE1MU2NyaXB0c0VsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKLSAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQ
b3NpdGlvbiYpIGZpbmFsOwotICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOworCitwcml2YXRlOgorICAgIFJlbmRl
clB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwg
Y29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CisgICAgdm9pZCBwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7
CiAKICAgICBMZW5ndGggbV9zdWJzY3JpcHRTaGlmdDsKICAgICBMZW5ndGggbV9zdXBlcnNjcmlw
dFNoaWZ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKaW5k
ZXggMGUzODViMy4uMGIwMGVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTFRleHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4
dEVsZW1lbnQuY3BwCkBAIC0zMSwxNCArMzEsMTMgQEAKICNpbmNsdWRlICJNYXRoTUxUZXh0RWxl
bWVudC5oIgogCiAjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKLSNpbmNsdWRlICJSZW5kZXJNYXRo
TUxPcGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFRva2VuLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCi1pbmxpbmUgTWF0
aE1MVGV4dEVsZW1lbnQ6Ok1hdGhNTFRleHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK01hdGhNTFRleHRFbGVtZW50OjpNYXRoTUxUZXh0
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQp
CiAgICAgOiBNYXRoTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIHNldEhhc0N1
c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpOwpAQCAtNjUsMjIgKzY0LDE3IEBAIHZvaWQgTWF0
aE1MVGV4dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdl
KQogCiB2b2lkIE1hdGhNTFRleHRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewotICAgIGlmIChuYW1l
ID09IHN0cmV0Y2h5QXR0ciB8fCBuYW1lID09IGxzcGFjZUF0dHIgfHwgbmFtZSA9PSByc3BhY2VB
dHRyIHx8IG5hbWUgPT0gbW92YWJsZWxpbWl0c0F0dHIpIHsKLSAgICAgICAgaWYgKGlzPFJlbmRl
ck1hdGhNTE9wZXJhdG9yPihyZW5kZXJlcigpKSkKLSAgICAgICAgICAgIGRvd25jYXN0PFJlbmRl
ck1hdGhNTE9wZXJhdG9yPigqcmVuZGVyZXIoKSkudXBkYXRlRnJvbUVsZW1lbnQoKTsKLSAgICAg
ICAgcmV0dXJuOworICAgIGlmIChuYW1lID09IG1hdGh2YXJpYW50QXR0cikgeworICAgICAgICBt
X21hdGhWYXJpYW50LmRpcnR5ID0gdHJ1ZTsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAg
ICAgICAgICBNYXRoTUxTdHlsZTo6cmVzb2x2ZU1hdGhNTFN0eWxlVHJlZShyZW5kZXJlcigpKTsK
ICAgICB9CiAKLSAgICBpZiAobmFtZSA9PSBtYXRodmFyaWFudEF0dHIgJiYgcmVuZGVyZXIoKSkK
LSAgICAgICAgTWF0aE1MU3R5bGU6OnJlc29sdmVNYXRoTUxTdHlsZVRyZWUocmVuZGVyZXIoKSk7
Ci0KICAgICBNYXRoTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CiAK
IFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYg
aW5zZXJ0aW9uUG9zaXRpb24pCiB7Ci0gICAgaWYgKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1v
VGFnKSkKLSAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTE9wZXJhdG9y
PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwogICAgIGlmIChoYXNUYWdOYW1lKE1hdGhNTE5hbWVz
Ojphbm5vdGF0aW9uVGFnKSkKICAgICAgICAgcmV0dXJuIE1hdGhNTEVsZW1lbnQ6OmNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcihXVEZNb3ZlKHN0eWxlKSwgaW5zZXJ0aW9uUG9zaXRpb24pOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCmluZGV4IDBlZDFmNjQuLjk5YWNl
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCkBAIC0xLDYg
KzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1p
bG93c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2IEln
YWxpYSBTLkwuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDE4ICszMiwy
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTFRleHRFbGVtZW50IGZp
bmFsIDogcHVibGljIE1hdGhNTEVsZW1lbnQgeworY2xhc3MgTWF0aE1MVGV4dEVsZW1lbnQgOiBw
dWJsaWMgTWF0aE1MRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNYXRoTUxUZXh0
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7
CisgICAgYm9vbCBhY2NlcHRzTWF0aFZhcmlhbnRBdHRyaWJ1dGUoKSBmaW5hbCB7IHJldHVybiB0
cnVlOyB9CiAKLXByaXZhdGU6Citwcm90ZWN0ZWQ6CiAgICAgTWF0aE1MVGV4dEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlk
ZTsKIAotICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIo
UmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7Citwcml2YXRl
OgorICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVu
ZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiAgICAgYm9v
bCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBmaW5hbDsKIAog
ICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7Ci0gICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgZmluYWw7CiAgICAgdm9pZCBkaWRBdHRhY2hSZW5kZXJlcnMoKSBmaW5hbDsKIAogICAg
IGJvb2wgaXNQcmVzZW50YXRpb25NYXRoTUwoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVW5kZXJPdmVyRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYxOTNlNgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxVbmRlck92ZXJFbGVtZW50LmNwcApA
QCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxVbmRlck92ZXJF
bGVtZW50LmgiCisKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CisKK2lubGluZSBN
YXRoTUxVbmRlck92ZXJFbGVtZW50OjpNYXRoTUxVbmRlck92ZXJFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTFNjcmlw
dHNFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQorCitSZWY8TWF0aE1MVW5kZXJPdmVy
RWxlbWVudD4gTWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBNYXRoTUxVbmRlck92ZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Cit9CisKK2Nv
bnN0IE1hdGhNTEVsZW1lbnQ6OkJvb2xlYW5WYWx1ZSYgTWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6
YWNjZW50KCkKK3sKKyAgICByZXR1cm4gY2FjaGVkQm9vbGVhbkF0dHJpYnV0ZShhY2NlbnRBdHRy
LCBtX2FjY2VudCk7Cit9CisKK2NvbnN0IE1hdGhNTEVsZW1lbnQ6OkJvb2xlYW5WYWx1ZSYgTWF0
aE1MVW5kZXJPdmVyRWxlbWVudDo6YWNjZW50VW5kZXIoKQoreworICAgIHJldHVybiBjYWNoZWRC
b29sZWFuQXR0cmlidXRlKGFjY2VudHVuZGVyQXR0ciwgbV9hY2NlbnRVbmRlcik7Cit9CisKK3Zv
aWQgTWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAobmFtZSA9
PSBhY2NlbnRBdHRyKQorICAgICAgICBtX2FjY2VudC5kaXJ0eSA9IHRydWU7CisgICAgZWxzZSBp
ZiAobmFtZSA9PSBhY2NlbnR1bmRlckF0dHIpCisgICAgICAgIG1fYWNjZW50VW5kZXIuZGlydHkg
PSB0cnVlOworCisgICAgTWF0aE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUp
OworfQorCitSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gTWF0aE1MVW5kZXJPdmVyRWxlbWVudDo6
Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRy
ZWVQb3NpdGlvbiYpCit7CisgICAgQVNTRVJUKGhhc1RhZ05hbWUobXVuZGVyVGFnKSB8fCBoYXNU
YWdOYW1lKG1vdmVyVGFnKSB8fCBoYXNUYWdOYW1lKG11bmRlcm92ZXJUYWcpKTsKKyAgICByZXR1
cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MVW5kZXJPdmVyPigqdGhpcywgV1RGTW92ZShz
dHlsZSkpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFVuZGVyT3ZlckVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxVbmRlck92ZXJFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZjc2Mzc0ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxVbmRlck92ZXJFbGVtZW50LmgKQEAgLTAsMCArMSw1MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTUFUSE1MKQor
I2luY2x1ZGUgIk1hdGhNTFNjcmlwdHNFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgTWF0aE1MVW5kZXJPdmVyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxTY3Jp
cHRzRWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNYXRoTUxVbmRlck92ZXJFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKKyAg
ICBjb25zdCBCb29sZWFuVmFsdWUmIGFjY2VudCgpOworICAgIGNvbnN0IEJvb2xlYW5WYWx1ZSYg
YWNjZW50VW5kZXIoKTsKKworcHJpdmF0ZToKKyAgICBNYXRoTUxVbmRlck92ZXJFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CisgICAgUmVuZGVyUHRyPFJl
bmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBS
ZW5kZXJUcmVlUG9zaXRpb24mKSBmaW5hbDsKKyAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKKworICAgIEJvb2xl
YW5BdHRyaWJ1dGUgbV9hY2NlbnQ7CisgICAgQm9vbGVhbkF0dHJpYnV0ZSBtX2FjY2VudFVuZGVy
OworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbiBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRo
dGFncy5pbgppbmRleCBkOTkyY2U0My4uOGEwNzdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL21hdGh0YWdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFn
cy5pbgpAQCAtMTUsMTQgKzE1LDE0IEBAIG1wYWRkZWQgaW50ZXJmYWNlTmFtZT1NYXRoTUxQYWRk
ZWRFbGVtZW50CiBtcGhhbnRvbSBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQKIG1yb3cgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CiBt
c3R5bGUgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Ci1tb3ZlciBp
bnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKLW11bmRlciBpbnRlcmZh
Y2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKLW11bmRlcm92ZXIgaW50ZXJmYWNl
TmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Cittb3ZlciBpbnRlcmZhY2VOYW1lPU1h
dGhNTFVuZGVyT3ZlckVsZW1lbnQKK211bmRlciBpbnRlcmZhY2VOYW1lPU1hdGhNTFVuZGVyT3Zl
ckVsZW1lbnQKK211bmRlcm92ZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxVbmRlck92ZXJFbGVtZW50
CiBtc3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKIG1yb290
IGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAogbWkgaW50ZXJmYWNl
TmFtZT1NYXRoTUxUZXh0RWxlbWVudAogbW4gaW50ZXJmYWNlTmFtZT1NYXRoTUxUZXh0RWxlbWVu
dAotbW8gaW50ZXJmYWNlTmFtZT1NYXRoTUxUZXh0RWxlbWVudAorbW8gaW50ZXJmYWNlTmFtZT1N
YXRoTUxPcGVyYXRvckVsZW1lbnQKIG10ZXh0IGludGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1l
bnQKIG1zIGludGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1lbnQKIG1zcGFjZSBpbnRlcmZhY2VO
YW1lPU1hdGhNTFNwYWNlRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9NYXRoTUxTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL01hdGhNTFN0eWxlLmNwcAppbmRleCAyNzE2YzFiLi5hODlmMzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhNTFN0eWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhNTFN0eWxlLmNwcApAQCAtMjksNyArMjks
OSBAQAogI2luY2x1ZGUgIk1hdGhNTFN0eWxlLmgiCiAKICNpbmNsdWRlICJNYXRoTUxFbGVtZW50
LmgiCisjaW5jbHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgogI2luY2x1ZGUg
Ik1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiTWF0aE1MVGV4dEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJSZW5kZXJNYXRoTUxCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTEZyYWN0aW9uLmgi
CiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MTWF0aC5oIgpAQCAtODEsNyArODMsNyBAQCBSZW5kZXJP
YmplY3QqIE1hdGhNTFN0eWxlOjpnZXRNYXRoTUxQYXJlbnROb2RlKFJlbmRlck9iamVjdCogcmVu
ZGVyZXIpCiAgICAgcmV0dXJuIHBhcmVudFJlbmRlcmVyOwogfQogCi12b2lkIE1hdGhNTFN0eWxl
Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGJvb2wgb2xkRGlz
cGxheVN0eWxlLCBNYXRoVmFyaWFudCBvbGRNYXRoVmFyaWFudCkKK3ZvaWQgTWF0aE1MU3R5bGU6
OnVwZGF0ZVN0eWxlSWZOZWVkZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgYm9vbCBvbGREaXNw
bGF5U3R5bGUsIE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50IG9sZE1hdGhWYXJpYW50KQogewog
ICAgIGlmIChvbGREaXNwbGF5U3R5bGUgIT0gbV9kaXNwbGF5U3R5bGUpIHsKICAgICAgICAgcmVu
ZGVyZXItPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwpAQCAtOTgsNTkgKzEw
MCwxOCBAQCB2b2lkIE1hdGhNTFN0eWxlOjp1cGRhdGVTdHlsZUlmTmVlZGVkKFJlbmRlck9iamVj
dCogcmVuZGVyZXIsIGJvb2wgb2xkRGlzcGxheVN0eQogICAgIH0KIH0KIAotTWF0aE1MU3R5bGU6
Ok1hdGhWYXJpYW50IE1hdGhNTFN0eWxlOjpwYXJzZU1hdGhWYXJpYW50KGNvbnN0IEF0b21pY1N0
cmluZyYgYXR0cmlidXRlVmFsdWUpCi17Ci0gICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJub3Jt
YWwiKQotICAgICAgICByZXR1cm4gTm9ybWFsOwotICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAi
Ym9sZCIpCi0gICAgICAgIHJldHVybiBCb2xkOwotICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAi
aXRhbGljIikKLSAgICAgICAgcmV0dXJuIEl0YWxpYzsKLSAgICBpZiAoYXR0cmlidXRlVmFsdWUg
PT0gImJvbGQtaXRhbGljIikKLSAgICAgICAgcmV0dXJuIEJvbGRJdGFsaWM7Ci0gICAgaWYgKGF0
dHJpYnV0ZVZhbHVlID09ICJkb3VibGUtc3RydWNrIikKLSAgICAgICAgcmV0dXJuIERvdWJsZVN0
cnVjazsKLSAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gImJvbGQtZnJha3R1ciIpCi0gICAgICAg
IHJldHVybiBCb2xkRnJha3R1cjsKLSAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gInNjcmlwdCIp
Ci0gICAgICAgIHJldHVybiBTY3JpcHQ7Ci0gICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJib2xk
LXNjcmlwdCIpCi0gICAgICAgIHJldHVybiBCb2xkU2NyaXB0OwotICAgIGlmIChhdHRyaWJ1dGVW
YWx1ZSA9PSAiZnJha3R1ciIpCi0gICAgICAgIHJldHVybiBGcmFrdHVyOwotICAgIGlmIChhdHRy
aWJ1dGVWYWx1ZSA9PSAic2Fucy1zZXJpZiIpCi0gICAgICAgIHJldHVybiBTYW5zU2VyaWY7Ci0g
ICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJib2xkLXNhbnMtc2VyaWYiKQotICAgICAgICByZXR1
cm4gQm9sZFNhbnNTZXJpZjsKLSAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gInNhbnMtc2VyaWYt
aXRhbGljIikKLSAgICAgICAgcmV0dXJuIFNhbnNTZXJpZkl0YWxpYzsKLSAgICBpZiAoYXR0cmli
dXRlVmFsdWUgPT0gInNhbnMtc2VyaWYtYm9sZC1pdGFsaWMiKQotICAgICAgICByZXR1cm4gU2Fu
c1NlcmlmQm9sZEl0YWxpYzsKLSAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gIm1vbm9zcGFjZSIp
Ci0gICAgICAgIHJldHVybiBNb25vc3BhY2U7Ci0gICAgaWYgKGF0dHJpYnV0ZVZhbHVlID09ICJp
bml0aWFsIikKLSAgICAgICAgcmV0dXJuIEluaXRpYWw7Ci0gICAgaWYgKGF0dHJpYnV0ZVZhbHVl
ID09ICJ0YWlsZWQiKQotICAgICAgICByZXR1cm4gVGFpbGVkOwotICAgIGlmIChhdHRyaWJ1dGVW
YWx1ZSA9PSAibG9vcGVkIikKLSAgICAgICAgcmV0dXJuIExvb3BlZDsKLSAgICBpZiAoYXR0cmli
dXRlVmFsdWUgPT0gInN0cmV0Y2hlZCIpCi0gICAgICAgIHJldHVybiBTdHJldGNoZWQ7Ci0gICAg
cmV0dXJuIE5vbmU7Ci19Ci0KIHZvaWQgTWF0aE1MU3R5bGU6OnJlc29sdmVNYXRoTUxTdHlsZShS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIEFTU0VSVChyZW5kZXJlcik7CiAKICAgICBi
b29sIG9sZERpc3BsYXlTdHlsZSA9IG1fZGlzcGxheVN0eWxlOwotICAgIE1hdGhWYXJpYW50IG9s
ZE1hdGhWYXJpYW50ID0gbV9tYXRoVmFyaWFudDsKKyAgICBNYXRoTUxFbGVtZW50OjpNYXRoVmFy
aWFudCBvbGRNYXRoVmFyaWFudCA9IG1fbWF0aFZhcmlhbnQ7CiAgICAgYXV0byogcGFyZW50UmVu
ZGVyZXIgPSBnZXRNYXRoTUxQYXJlbnROb2RlKHJlbmRlcmVyKTsKICAgICBjb25zdCBNYXRoTUxT
dHlsZSogcGFyZW50U3R5bGUgPSBnZXRNYXRoTUxTdHlsZShwYXJlbnRSZW5kZXJlcik7CiAKICAg
ICAvLyBCeSBkZWZhdWx0LCB3ZSBqdXN0IGluaGVyaXQgdGhlIHN0eWxlIGZyb20gb3VyIHBhcmVu
dC4KICAgICBtX2Rpc3BsYXlTdHlsZSA9IGZhbHNlOwotICAgIG1fbWF0aFZhcmlhbnQgPSBOb25l
OworICAgIG1fbWF0aFZhcmlhbnQgPSBNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudDo6Tm9uZTsK
ICAgICBpZiAocGFyZW50U3R5bGUpIHsKICAgICAgICAgc2V0RGlzcGxheVN0eWxlKHBhcmVudFN0
eWxlLT5kaXNwbGF5U3R5bGUoKSk7CiAgICAgICAgIHNldE1hdGhWYXJpYW50KHBhcmVudFN0eWxl
LT5tYXRoVmFyaWFudCgpKTsKQEAgLTE2MiwxMCArMTIzLDggQEAgdm9pZCBNYXRoTUxTdHlsZTo6
cmVzb2x2ZU1hdGhNTFN0eWxlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBpZiAoaXM8UmVuZGVyTWF0aE1MTWF0aD4ocmVuZGVyZXIpKQotICAg
ICAgICBtX2Rpc3BsYXlTdHlsZSA9IGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVyKS0+
ZWxlbWVudCgpLT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGRpc3BsYXlBdHRyKSA9
PSAiYmxvY2siOyAvLyBUaGUgZGVmYXVsdCBkaXNwbGF5c3R5bGUgb2YgdGhlIDxtYXRoPiBlbGVt
ZW50IGRlcGVuZHMgb24gaXRzIGRpc3BsYXkgYXR0cmlidXRlLgotICAgIGVsc2UgaWYgKGlzPFJl
bmRlck1hdGhNTFRhYmxlPihyZW5kZXJlcikpCi0gICAgICAgIG1fZGlzcGxheVN0eWxlID0gZmFs
c2U7IC8vIFRoZSBkZWZhdWx0IGRpc3BsYXlzdHlsZSBvZiA8bXRhYmxlPiBpcyBmYWxzZS4KKyAg
ICBpZiAoaXM8UmVuZGVyTWF0aE1MTWF0aD4ocmVuZGVyZXIpIHx8IGlzPFJlbmRlck1hdGhNTFRh
YmxlPihyZW5kZXJlcikpCisgICAgICAgIG1fZGlzcGxheVN0eWxlID0gZmFsc2U7IC8vIFRoZSBk
ZWZhdWx0IGRpc3BsYXlzdHlsZSBvZiA8bWF0aD4gYW5kIDxtdGFibGU+IGlzIGZhbHNlLgogICAg
IGVsc2UgaWYgKHBhcmVudFJlbmRlcmVyKSB7CiAgICAgICAgIGlmIChpczxSZW5kZXJNYXRoTUxG
cmFjdGlvbj4ocGFyZW50UmVuZGVyZXIpKQogICAgICAgICAgICAgbV9kaXNwbGF5U3R5bGUgPSBm
YWxzZTsgLy8gPG1mcmFjPiBzZXRzIGRpc3BsYXlzdHlsZSB0byBmYWxzZSB3aXRoaW4gaXRzIG51
bWVyYXRvciBhbmQgZGVub21pbmF0b3IuCkBAIC0xNzcsMjMgKzEzNiwxMSBAQCB2b2lkIE1hdGhN
TFN0eWxlOjpyZXNvbHZlTWF0aE1MU3R5bGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAg
ICAgfQogICAgIH0KIAotICAgIC8vIFRoZSBkaXNwbGF5c3R5bGUgYXR0cmlidXRlIG9uIHRoZSA8
bWF0aD4sIDxtdGFibGU+IG9yIDxtc3R5bGU+IGVsZW1lbnRzIG92ZXJyaWRlIHRoZSBkZWZhdWx0
IGJlaGF2aW9yLgotICAgIGNvbnN0IGF1dG8qIGVsZW1lbnQgPSBkb3duY2FzdDxSZW5kZXJFbGVt
ZW50PihyZW5kZXJlciktPmVsZW1lbnQoKTsKLSAgICBjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lID0gZWxlbWVudC0+dGFnUU5hbWUoKTsKLSAgICBpZiAodGFnTmFtZSA9PSBtYXRoVGFnIHx8
IHRhZ05hbWUgPT0gbXRhYmxlVGFnIHx8IHRhZ05hbWUgPT0gbXN0eWxlVGFnKSB7Ci0gICAgICAg
IC8vIFdlIG9ubHkgbW9kaWZ5IHRoZSB2YWx1ZSBvZiBkaXNwbGF5c3R5bGUgaWYgdGhlcmUgaXMg
YW4gZXhwbGljaXQgYW5kIHZhbGlkIGF0dHJpYnV0ZS4KLSAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBhdHRyaWJ1dGVWYWx1ZSA9IGVsZW1lbnQtPmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oZGlzcGxheXN0eWxlQXR0cik7Ci0gICAgICAgIGlmIChhdHRyaWJ1dGVWYWx1ZSA9PSAi
dHJ1ZSIpCi0gICAgICAgICAgICBtX2Rpc3BsYXlTdHlsZSA9IHRydWU7Ci0gICAgICAgIGVsc2Ug
aWYgKGF0dHJpYnV0ZVZhbHVlID09ICJmYWxzZSIpCi0gICAgICAgICAgICBtX2Rpc3BsYXlTdHls
ZSA9IGZhbHNlOwotICAgIH0KLQotICAgIC8vIFRoZSBtYXRodmFyaWFudCBhdHRyaWJ1dGUgb24g
dGhlIDxtYXRoPiwgPG1zdHlsZT4gb3IgdG9rZW4gZWxlbWVudHMgb3ZlcnJpZGVzIHRoZSBkZWZh
dWx0IGJlaGF2aW9yLgotICAgIGlmIChpczxSZW5kZXJNYXRoTUxNYXRoPihyZW5kZXJlcikgfHwg
aXM8UmVuZGVyTWF0aE1MVG9rZW4+KHJlbmRlcmVyKSB8fCB0YWdOYW1lID09IG1zdHlsZVRhZykg
ewotICAgICAgICBNYXRoVmFyaWFudCBtYXRodmFyaWFudCA9IHBhcnNlTWF0aFZhcmlhbnQoZWxl
bWVudC0+YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihtYXRodmFyaWFudEF0dHIpKTsK
LSAgICAgICAgaWYgKG1hdGh2YXJpYW50ICE9IE5vbmUpCi0gICAgICAgICAgICBtX21hdGhWYXJp
YW50ID0gbWF0aHZhcmlhbnQ7CisgICAgLy8gVGhlIGRpc3BsYXlzdHlsZSBhbmQgbWF0aHZhcmlh
bnQgYXR0cmlidXRlcyBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvci4KKyAgICBhdXRvKiBl
bGVtZW50ID0gZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4ocmVuZGVyZXIpLT5lbGVtZW50KCk7Cisg
ICAgaWYgKGlzPE1hdGhNTEVsZW1lbnQ+KGVsZW1lbnQpKSB7CisgICAgICAgIGRvd25jYXN0PE1h
dGhNTEVsZW1lbnQ+KGVsZW1lbnQpLT5nZXRTcGVjaWZpZWREaXNwbGF5U3R5bGUobV9kaXNwbGF5
U3R5bGUpOworICAgICAgICBkb3duY2FzdDxNYXRoTUxFbGVtZW50PihlbGVtZW50KS0+Z2V0U3Bl
Y2lmaWVkTWF0aFZhcmlhbnQobV9tYXRoVmFyaWFudCk7CiAgICAgfQogCiAgICAgdXBkYXRlU3R5
bGVJZk5lZWRlZChyZW5kZXJlciwgb2xkRGlzcGxheVN0eWxlLCBvbGRNYXRoVmFyaWFudCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhNTFN0eWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhNTFN0eWxlLmgKaW5kZXggMjdl
YWM3Ni4uOGY0MjQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9NYXRoTUxTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0
aE1MU3R5bGUuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShNQVRITUwpCiAKICNpbmNs
dWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDMyICs0MSw4IEBA
IHB1YmxpYzoKICAgICBib29sIGRpc3BsYXlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxh
eVN0eWxlOyB9CiAgICAgdm9pZCBzZXREaXNwbGF5U3R5bGUoYm9vbCBkaXNwbGF5U3R5bGUpIHsg
bV9kaXNwbGF5U3R5bGUgPSBkaXNwbGF5U3R5bGU7IH0KIAotICAgIC8vIFRoZXNlIGFyZSB0aGUg
bWF0aHZhcmlhbnQgdmFsdWVzIGZyb20gdGhlIE1hdGhNTCByZWNvbW1lbmRhdGlvbi4KLSAgICAv
LyBUaGUgc3BlY2lhbCB2YWx1ZSBub25lIG1lYW5zIHRoYXQgbm8gZXhwbGljaXQgbWF0aHZhcmlh
bnQgdmFsdWUgaGFzIGJlZW4gc3BlY2lmaWVkLgotICAgIC8vIE5vdGUgdGhhdCB0aGUgbnVtZXJh
bCB2YWx1ZXMgYXJlIGltcG9ydGFudCBmb3IgdGhlIGNvbXB1dGF0aW9uIHBlcmZvcm1lZCBpbiB0
aGUgbWF0aFZhcmlhbnQgZnVuY3Rpb24gb2YgUmVuZGVyTWF0aE1MVG9rZW4sIGRvIG5vdCBjaGFu
Z2UgdGhlbSEKLSAgICBlbnVtIE1hdGhWYXJpYW50IHsKLSAgICAgICAgTm9uZSA9IDAsCi0gICAg
ICAgIE5vcm1hbCA9IDEsCi0gICAgICAgIEJvbGQgPSAyLAotICAgICAgICBJdGFsaWMgPSAzLAot
ICAgICAgICBCb2xkSXRhbGljID0gNCwKLSAgICAgICAgU2NyaXB0ID0gNSwKLSAgICAgICAgQm9s
ZFNjcmlwdCA9IDYsCi0gICAgICAgIEZyYWt0dXIgPSA3LAotICAgICAgICBEb3VibGVTdHJ1Y2sg
PSA4LAotICAgICAgICBCb2xkRnJha3R1ciA9IDksCi0gICAgICAgIFNhbnNTZXJpZiA9IDEwLAot
ICAgICAgICBCb2xkU2Fuc1NlcmlmID0gMTEsCi0gICAgICAgIFNhbnNTZXJpZkl0YWxpYyA9IDEy
LAotICAgICAgICBTYW5zU2VyaWZCb2xkSXRhbGljID0gMTMsCi0gICAgICAgIE1vbm9zcGFjZSA9
IDE0LAotICAgICAgICBJbml0aWFsID0gMTUsCi0gICAgICAgIFRhaWxlZCA9IDE2LAotICAgICAg
ICBMb29wZWQgPSAxNywKLSAgICAgICAgU3RyZXRjaGVkID0gMTgKLSAgICB9OwotICAgIE1hdGhW
YXJpYW50IG1hdGhWYXJpYW50KCkgY29uc3QgeyByZXR1cm4gbV9tYXRoVmFyaWFudDsgfQotICAg
IHZvaWQgc2V0TWF0aFZhcmlhbnQoTWF0aFZhcmlhbnQgbWF0aHZhcmlhbnQpIHsgbV9tYXRoVmFy
aWFudCA9IG1hdGh2YXJpYW50OyB9CisgICAgTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQgbWF0
aFZhcmlhbnQoKSBjb25zdCB7IHJldHVybiBtX21hdGhWYXJpYW50OyB9CisgICAgdm9pZCBzZXRN
YXRoVmFyaWFudChNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudCBtYXRodmFyaWFudCkgeyBtX21h
dGhWYXJpYW50ID0gbWF0aHZhcmlhbnQ7IH0KIAogICAgIHZvaWQgcmVzb2x2ZU1hdGhNTFN0eWxl
KFJlbmRlck9iamVjdCopOwogICAgIHN0YXRpYyB2b2lkIHJlc29sdmVNYXRoTUxTdHlsZVRyZWUo
UmVuZGVyT2JqZWN0Kik7CkBAIC03NCwxMSArNTEsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIGlz
RGlzcGxheVN0eWxlQWx3YXlzRmFsc2UoUmVuZGVyT2JqZWN0Kik7CiAgICAgY29uc3QgTWF0aE1M
U3R5bGUqIGdldE1hdGhNTFN0eWxlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpOwogICAgIFJlbmRl
ck9iamVjdCogZ2V0TWF0aE1MUGFyZW50Tm9kZShSZW5kZXJPYmplY3QqKTsKLSAgICB2b2lkIHVw
ZGF0ZVN0eWxlSWZOZWVkZWQoUmVuZGVyT2JqZWN0KiwgYm9vbCwgTWF0aFZhcmlhbnQpOwotICAg
IE1hdGhWYXJpYW50IHBhcnNlTWF0aFZhcmlhbnQoY29uc3QgQXRvbWljU3RyaW5nJiBhdHRyaWJ1
dGVWYWx1ZSk7CisgICAgdm9pZCB1cGRhdGVTdHlsZUlmTmVlZGVkKFJlbmRlck9iamVjdCosIGJv
b2wsIE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50KTsKIAogICAgIGJvb2wgbV9kaXNwbGF5U3R5
bGUgeyBmYWxzZSB9OwotICAgIE1hdGhWYXJpYW50IG1fbWF0aFZhcmlhbnQgeyBOb25lIH07Cisg
ICAgTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQgbV9tYXRoVmFyaWFudCB7IE1hdGhNTEVsZW1l
bnQ6Ok1hdGhWYXJpYW50OjpOb25lIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwCmluZGV4IGJm
N2Y4N2QuLjY0YTA5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwCkBAIC0zMSwxNSArMzEsMTMgQEAKICNp
bmNsdWRlICJSZW5kZXJNYXRoTUxGcmFjdGlvbi5oIgogCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCi0jaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJNYXRoTUxGcmFjdGlv
bkVsZW1lbnQuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlIDxjbWF0aD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7Ci0KLVJl
bmRlck1hdGhNTEZyYWN0aW9uOjpSZW5kZXJNYXRoTUxGcmFjdGlvbihNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQorUmVuZGVyTWF0aE1M
RnJhY3Rpb246OlJlbmRlck1hdGhNTEZyYWN0aW9uKE1hdGhNTEZyYWN0aW9uRWxlbWVudCYgZWxl
bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICA6IFJlbmRlck1hdGhNTEJsb2NrKGVsZW1l
bnQsIFdURk1vdmUoc3R5bGUpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCmluZGV4IDI5YjU4Y2MuLjA4NWE3
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MRnJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTEZyYWN0aW9uLmgKQEAgLTM1LDkgKzM1LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgTWF0aE1MRnJhY3Rpb25FbGVtZW50OworCiBjbGFzcyBSZW5kZXJNYXRoTUxG
cmFjdGlvbiBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9jayB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyTWF0aE1MRnJhY3Rpb24oTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCYsIFJlbmRl
clN0eWxlJiYpOworICAgIFJlbmRlck1hdGhNTEZyYWN0aW9uKE1hdGhNTEZyYWN0aW9uRWxlbWVu
dCYsIFJlbmRlclN0eWxlJiYpOwogCiAgICAgZmxvYXQgcmVsYXRpdmVMaW5lVGhpY2tuZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWZhdWx0TGluZVRoaWNrbmVzcyA/IG1fbGluZVRoaWNrbmVzcyAv
IG1fZGVmYXVsdExpbmVUaGlja25lc3MgOiBMYXlvdXRVbml0KDApOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5j
cHAKaW5kZXggNWJjNGRiNS4uZTVhMWIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVz
LmgiCisjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiUGFpbnRJ
bmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4
dC5oIgpAQCAtNDYsNyArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBNYXRoTUxOYW1lczsKIAotUmVuZGVyTWF0aE1MT3BlcmF0b3I6OlJlbmRlck1hdGhNTE9w
ZXJhdG9yKE1hdGhNTEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCitSZW5k
ZXJNYXRoTUxPcGVyYXRvcjo6UmVuZGVyTWF0aE1MT3BlcmF0b3IoTWF0aE1MT3BlcmF0b3JFbGVt
ZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyTWF0aE1MVG9r
ZW4oZWxlbWVudCwgV1RGTW92ZShzdHlsZSkpCiAgICAgLCBtX3N0cmV0Y2hIZWlnaHRBYm92ZUJh
c2VsaW5lKDApCiAgICAgLCBtX3N0cmV0Y2hEZXB0aEJlbG93QmFzZWxpbmUoMCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3Iu
aAppbmRleCBmMjcxYWZhLi4wM2JjZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCkBAIC0zNCw5ICszNCwxMSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIE1hdGhNTE9wZXJhdG9yRWxlbWVudDsK
KwogY2xhc3MgUmVuZGVyTWF0aE1MT3BlcmF0b3IgZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0aE1M
VG9rZW4gewogcHVibGljOgotICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKE1hdGhNTEVsZW1lbnQm
LCBSZW5kZXJTdHlsZSYmKTsKKyAgICBSZW5kZXJNYXRoTUxPcGVyYXRvcihNYXRoTUxPcGVyYXRv
ckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvcihEb2N1
bWVudCYsIFJlbmRlclN0eWxlJiYsIGNvbnN0IFN0cmluZyYgb3BlcmF0b3JTdHJpbmcsIE1hdGhN
TE9wZXJhdG9yRGljdGlvbmFyeTo6Rm9ybSwgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAog
ICAgIHZvaWQgc3RyZXRjaFRvKExheW91dFVuaXQgaGVpZ2h0QWJvdmVCYXNlbGluZSwgTGF5b3V0
VW5pdCBkZXB0aEJlbG93QmFzZWxpbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuY3BwCmluZGV4IGMyZDFlNzYuLjNlY2E1
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MUGFkZGVkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFBhZGRlZC5jcHAKQEAgLTI4LDE0ICsyOCwxMSBAQAogCiAjaWYgRU5BQkxFKE1BVEhN
TCkKIAotI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5jbHVkZSA8Y21hdGg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwotCi1SZW5kZXJN
YXRoTUxQYWRkZWQ6OlJlbmRlck1hdGhNTFBhZGRlZChFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJT
dHlsZSYmIHN0eWxlKQorUmVuZGVyTWF0aE1MUGFkZGVkOjpSZW5kZXJNYXRoTUxQYWRkZWQoTWF0
aE1MUGFkZGVkRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICA6IFJl
bmRlck1hdGhNTFJvdyhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKIHsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUGFkZGVkLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFBhZGRlZC5oCmluZGV4
IDY5MGUxOGYuLmQxMDZjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MUGFkZGVkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck1hdGhNTFBhZGRlZCBmaW5hbCA6IHB1YmxpYyBSZW5k
ZXJNYXRoTUxSb3cgewogcHVibGljOgotICAgIFJlbmRlck1hdGhNTFBhZGRlZChFbGVtZW50Jiwg
UmVuZGVyU3R5bGUmJik7CisgICAgUmVuZGVyTWF0aE1MUGFkZGVkKE1hdGhNTFBhZGRlZEVsZW1l
bnQmLCBSZW5kZXJTdHlsZSYmKTsKIAogcHJpdmF0ZToKICAgICBjb25zdCBjaGFyKiByZW5kZXJO
YW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbmRlck1hdGhNTFBhZGRlZCI7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlw
dHMuY3BwCmluZGV4IDEzZmJmZDQuLjVlODgzOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcApAQCAtMzcsMTQg
KzM3LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdXNpbmcgbmFtZXNwYWNlIE1hdGhN
TE5hbWVzOwotCiBzdGF0aWMgYm9vbCBpc1ByZXNjcmlwdERlbGltaXRlcihjb25zdCBSZW5kZXJP
YmplY3QmIHJlbmRlck9iamVjdCkKIHsKICAgICByZXR1cm4gcmVuZGVyT2JqZWN0Lm5vZGUoKSAm
JiByZW5kZXJPYmplY3Qubm9kZSgpLT5oYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptcHJlc2NyaXB0
c1RhZyk7CiB9CiAKLVJlbmRlck1hdGhNTFNjcmlwdHM6OlJlbmRlck1hdGhNTFNjcmlwdHMoRWxl
bWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKK1JlbmRlck1hdGhNTFNjcmlwdHM6
OlJlbmRlck1hdGhNTFNjcmlwdHMoTWF0aE1MU2NyaXB0c0VsZW1lbnQmIGVsZW1lbnQsIFJlbmRl
clN0eWxlJiYgc3R5bGUpCiAgICAgOiBSZW5kZXJNYXRoTUxCbG9jayhlbGVtZW50LCBXVEZNb3Zl
KHN0eWxlKSkKIHsKICAgICAvLyBEZXRlcm1pbmUgd2hhdCBraW5kIG9mIHN1Yi9zdXAgZXhwcmVz
c2lvbiB3ZSBoYXZlIGJ5IGVsZW1lbnQgbmFtZQpAQCAtNjYsOSArNjQsOCBAQCBSZW5kZXJNYXRo
TUxTY3JpcHRzOjpSZW5kZXJNYXRoTUxTY3JpcHRzKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCiAgICAgfQogfQogCi1NYXRoTUxTY3JpcHRzRWxlbWVudCYgUmVuZGVyTWF0
aE1MU2NyaXB0czo6c2NyaXB0c0VsZW1lbnQoKSBjb25zdAorTWF0aE1MU2NyaXB0c0VsZW1lbnQm
IFJlbmRlck1hdGhNTFNjcmlwdHM6OmVsZW1lbnQoKSBjb25zdAogewotICAgIEFTU0VSVCghaXNS
ZW5kZXJNYXRoTUxVbmRlck92ZXIoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1hdGhNTFNj
cmlwdHNFbGVtZW50Jj4obm9kZUZvck5vbkFub255bW91cygpKTsKIH0KIApAQCAtMjYwLDcgKzI1
Nyw3IEBAIHZvaWQgUmVuZGVyTWF0aE1MU2NyaXB0czo6Z2V0U2NyaXB0TWV0cmljc0FuZExheW91
dElmTmVlZGVkKFJlbmRlckJveCogYmFzZSwgUmVuCiAgICAgICAgIGlmICghaXNSZW5kZXJNYXRo
TUxVbmRlck92ZXIoKSkgewogICAgICAgICAgICAgLy8gSXQgaXMgbm90IGNsZWFyIGhvdyB0byBp
bnRlcnByZXQgdGhlIGRlZmF1bHQgc2hpZnQgYW5kIGl0IGlzIG5vdCBhdmFpbGFibGUgeWV0IGFu
eXdheS4KICAgICAgICAgICAgIC8vIEhlbmNlIHdlIGp1c3QgcGFzcyAwIGFzIHRoZSBkZWZhdWx0
IHZhbHVlIHVzZWQgYnkgdG9Vc2VyVW5pdHMuCi0gICAgICAgICAgICBMYXlvdXRVbml0IHNwZWNp
ZmllZE1pblN1YlNoaWZ0ID0gdG9Vc2VyVW5pdHMoc2NyaXB0c0VsZW1lbnQoKS5zdWJzY3JpcHRT
aGlmdCgpLCBzdHlsZSgpLCAwKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgc3BlY2lmaWVkTWlu
U3ViU2hpZnQgPSB0b1VzZXJVbml0cyhlbGVtZW50KCkuc3Vic2NyaXB0U2hpZnQoKSwgc3R5bGUo
KSwgMCk7CiAgICAgICAgICAgICBtaW5TdWJTY3JpcHRTaGlmdCA9IHN0ZDo6bWF4KG1pblN1YlNj
cmlwdFNoaWZ0LCBzcGVjaWZpZWRNaW5TdWJTaGlmdCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0y
NjksNyArMjY2LDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpnZXRTY3JpcHRNZXRyaWNz
QW5kTGF5b3V0SWZOZWVkZWQoUmVuZGVyQm94KiBiYXNlLCBSZW4KICAgICAgICAgaWYgKCFpc1Jl
bmRlck1hdGhNTFVuZGVyT3ZlcigpKSB7CiAgICAgICAgICAgICAvLyBJdCBpcyBub3QgY2xlYXIg
aG93IHRvIGludGVycHJldCB0aGUgZGVmYXVsdCBzaGlmdCBhbmQgaXQgaXMgbm90IGF2YWlsYWJs
ZSB5ZXQgYW55d2F5LgogICAgICAgICAgICAgLy8gSGVuY2Ugd2UganVzdCBwYXNzIDAgYXMgdGhl
IGRlZmF1bHQgdmFsdWUgdXNlZCBieSB0b1VzZXJVbml0cy4KLSAgICAgICAgICAgIExheW91dFVu
aXQgc3BlY2lmaWVkTWluU3VwU2hpZnQgPSB0b1VzZXJVbml0cyhzY3JpcHRzRWxlbWVudCgpLnN1
cGVyc2NyaXB0U2hpZnQoKSwgc3R5bGUoKSwgMCk7CisgICAgICAgICAgICBMYXlvdXRVbml0IHNw
ZWNpZmllZE1pblN1cFNoaWZ0ID0gdG9Vc2VyVW5pdHMoZWxlbWVudCgpLnN1cGVyc2NyaXB0U2hp
ZnQoKSwgc3R5bGUoKSwgMCk7CiAgICAgICAgICAgICBtaW5TdXBTY3JpcHRTaGlmdCA9IHN0ZDo6
bWF4KG1pblN1cFNjcmlwdFNoaWZ0LCBzcGVjaWZpZWRNaW5TdXBTaGlmdCk7CiAgICAgICAgIH0K
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFNjcmlwdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MU2NyaXB0cy5oCmluZGV4IDU1MDNjN2EuLjAzZDQ4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5oCkBAIC0z
OCw3ICszOCw3IEBAIGNsYXNzIE1hdGhNTFNjcmlwdHNFbGVtZW50OwogLy8gUmVuZGVyIGEgYmFz
ZSB3aXRoIHNjcmlwdHMuCiBjbGFzcyBSZW5kZXJNYXRoTUxTY3JpcHRzIDogcHVibGljIFJlbmRl
ck1hdGhNTEJsb2NrIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKEVsZW1lbnQm
LCBSZW5kZXJTdHlsZSYmKTsKKyAgICBSZW5kZXJNYXRoTUxTY3JpcHRzKE1hdGhNTFNjcmlwdHNF
bGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CiAgICAgUmVuZGVyTWF0aE1MT3BlcmF0b3IqIHVuZW1i
ZWxsaXNoZWRPcGVyYXRvcigpIGZpbmFsOwogCiBwcm90ZWN0ZWQ6CkBAIC01MSw3ICs1MSw3IEBA
IHByb3RlY3RlZDoKICAgICBTY3JpcHRzVHlwZSBtX3NjcmlwdFR5cGU7CiAKIHByaXZhdGU6Ci0g
ICAgTWF0aE1MU2NyaXB0c0VsZW1lbnQmIHNjcmlwdHNFbGVtZW50KCkgY29uc3Q7CisgICAgTWF0
aE1MU2NyaXB0c0VsZW1lbnQmIGVsZW1lbnQoKSBjb25zdDsKICAgICBPcHRpb25hbDxpbnQ+IGZp
cnN0TGluZUJhc2VsaW5lKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBnZXRCYXNlQW5kU2NyaXB0
cyhSZW5kZXJCb3gqJiBiYXNlLCBSZW5kZXJCb3gqJiBmaXJzdFBvc3RTY3JpcHQsIFJlbmRlckJv
eComIGZpcnN0UHJlU2NyaXB0KTsKICAgICBMYXlvdXRVbml0IHNwYWNlQWZ0ZXJTY3JpcHQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
U3BhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxT
cGFjZS5jcHAKaW5kZXggNWVmODEwNi4uNGMxZmU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHAKQEAgLTI5LDEzICsy
OSwxMCBAQAogI2lmIEVOQUJMRShNQVRITUwpCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQu
aCIKLSNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKLQogUmVu
ZGVyTWF0aE1MU3BhY2U6OlJlbmRlck1hdGhNTFNwYWNlKE1hdGhNTFNwYWNlRWxlbWVudCYgZWxl
bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICA6IFJlbmRlck1hdGhNTEJsb2NrKGVsZW1l
bnQsIFdURk1vdmUoc3R5bGUpKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmNwcAppbmRleCA4MmMwZGE2Li4xZDJkMTEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRv
a2VuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFRva2VuLmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaWYgRU5BQkxFKE1BVEhNTCkKIAorI2lu
Y2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgogI2luY2x1
ZGUgIlBhaW50SW5mby5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKQEAgLTI4MSwzNyAr
MjgyLDM3IEBAIGNvbnN0IFVDaGFyMzIgbWF0aEJvbGRQaVN5bWJvbCA9IDB4MUQ2RTE7CiAvLyBD
aGFyYWN0ZXJzIHdpdGhvdXQgYSB2YWxpZCBtYXBwaW5nIG9yIHZhbGlkIGFNYXRodmFyIHZhbHVl
IGFyZSByZXR1cm5lZAogLy8gdW5hbHRlcmVkLgogLy8gQ2hhcmFjdGVycyBhbHJlYWR5IGluIHRo
ZSBtYXRoZW1hdGljYWwgYmxvY2tzIChvciBhcmUgb25lIG9mIHRoZSBleGNlcHRpb25zKSBhcmUg
bmV2ZXIgdHJhbnNmb3JtZWQuCi0vLyBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgbWF0aHZhcmlhbnQg
YXJlIHNwZWNpZmllZCBpbiBNYXRoTUxTdHlsZS5oCisvLyBBY2NlcHRhYmxlIHZhbHVlcyBmb3Ig
bWF0aHZhcmlhbnQgYXJlIHNwZWNpZmllZCBpbiBNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudDo6
LmgKIC8vIFRoZSB0cmFuc2Zvcm1hYmxlIGNoYXJhY3RlcnMgY2FuIGJlIGZvdW5kIGF0OgogLy8g
aHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LW1hdGgvMjAxM1NlcC8wMDEy
Lmh0bWwgYW5kCiAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYXRoZW1hdGljYWxf
QWxwaGFudW1lcmljX1N5bWJvbHMKLXN0YXRpYyBVQ2hhcjMyIG1hdGhWYXJpYW50KFVDaGFyMzIg
Y29kZVBvaW50LCBNYXRoTUxTdHlsZTo6TWF0aFZhcmlhbnQgbWF0aHZhcmlhbnQpCitzdGF0aWMg
VUNoYXIzMiBtYXRoVmFyaWFudChVQ2hhcjMyIGNvZGVQb2ludCwgTWF0aE1MRWxlbWVudDo6TWF0
aFZhcmlhbnQgbWF0aHZhcmlhbnQpCiB7Ci0gICAgQVNTRVJUKG1hdGh2YXJpYW50ID49IE1hdGhN
TFN0eWxlOjpOb3JtYWwgJiYgbWF0aHZhcmlhbnQgPD0gTWF0aE1MU3R5bGU6OlN0cmV0Y2hlZCk7
CisgICAgQVNTRVJUKG1hdGh2YXJpYW50ID49IE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50OjpO
b3JtYWwgJiYgbWF0aHZhcmlhbnQgPD0gTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6OlN0cmV0
Y2hlZCk7CiAKLSAgICBpZiAobWF0aHZhcmlhbnQgPT0gTWF0aE1MU3R5bGU6Ok5vcm1hbCkKKyAg
ICBpZiAobWF0aHZhcmlhbnQgPT0gTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6Ok5vcm1hbCkK
ICAgICAgICAgcmV0dXJuIGNvZGVQb2ludDsgLy8gTm90aGluZyB0byBkbyBoZXJlLgogCiAgICAg
Ly8gRXhjZXB0aW9uYWwgY2hhcmFjdGVycyB3aXRoIGF0IG1vc3Qgb25lIHBvc3NpYmxlIHRyYW5z
Zm9ybWF0aW9uLgogICAgIGlmIChjb2RlUG9pbnQgPT0gaG9sZUdyZWVrVXBwZXJUaGV0YSkKICAg
ICAgICAgcmV0dXJuIGNvZGVQb2ludDsgLy8gTm90aGluZyBhdCB0aGlzIGNvZGUgcG9pbnQgaXMg
dHJhbnNmb3JtZWQKICAgICBpZiAoY29kZVBvaW50ID09IGdyZWVrTGV0dGVyRGlnYW1tYSkgewot
ICAgICAgICBpZiAobWF0aHZhcmlhbnQgPT0gTWF0aE1MU3R5bGU6OkJvbGQpCisgICAgICAgIGlm
IChtYXRodmFyaWFudCA9PSBNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudDo6Qm9sZCkKICAgICAg
ICAgICAgIHJldHVybiBtYXRoQm9sZENhcGl0YWxEaWdhbW1hOwogICAgICAgICByZXR1cm4gY29k
ZVBvaW50OwogICAgIH0KICAgICBpZiAoY29kZVBvaW50ID09IGdyZWVrU21hbGxMZXR0ZXJEaWdh
bW1hKSB7Ci0gICAgICAgIGlmIChtYXRodmFyaWFudCA9PSBNYXRoTUxTdHlsZTo6Qm9sZCkKKyAg
ICAgICAgaWYgKG1hdGh2YXJpYW50ID09IE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50OjpCb2xk
KQogICAgICAgICAgICAgcmV0dXJuIG1hdGhCb2xkU21hbGxEaWdhbW1hOwogICAgICAgICByZXR1
cm4gY29kZVBvaW50OwogICAgIH0KICAgICBpZiAoY29kZVBvaW50ID09IGxhdGluU21hbGxMZXR0
ZXJEb3RsZXNzSSkgewotICAgICAgICBpZiAobWF0aHZhcmlhbnQgPT0gTWF0aE1MU3R5bGU6Okl0
YWxpYykKKyAgICAgICAgaWYgKG1hdGh2YXJpYW50ID09IE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJp
YW50OjpJdGFsaWMpCiAgICAgICAgICAgICByZXR1cm4gbWF0aEl0YWxpY1NtYWxsRG90bGVzc0k7
CiAgICAgICAgIHJldHVybiBjb2RlUG9pbnQ7CiAgICAgfQogICAgIGlmIChjb2RlUG9pbnQgPT0g
bGF0aW5TbWFsbExldHRlckRvdGxlc3NKKSB7Ci0gICAgICAgIGlmIChtYXRodmFyaWFudCA9PSBN
YXRoTUxTdHlsZTo6SXRhbGljKQorICAgICAgICBpZiAobWF0aHZhcmlhbnQgPT0gTWF0aE1MRWxl
bWVudDo6TWF0aFZhcmlhbnQ6Okl0YWxpYykKICAgICAgICAgICAgIHJldHVybiBtYXRoSXRhbGlj
U21hbGxEb3RsZXNzSjsKICAgICAgICAgcmV0dXJuIGNvZGVQb2ludDsKICAgICB9CkBAIC0zODks
MTkgKzM5MCwxOSBAQCBzdGF0aWMgVUNoYXIzMiBtYXRoVmFyaWFudChVQ2hhcjMyIGNvZGVQb2lu
dCwgTWF0aE1MU3R5bGU6Ok1hdGhWYXJpYW50IG1hdGh2YXJpYQogICAgICAgICAvLyBGb3IgZXhh
bXBsZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkb3VibGUgc3RydWNrIG51bWJlciByYW5nZSBmb2xs
b3dzIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBlbmQgb2YgdGhlIGJvbGQgbnVtYmVyIHJhbmdlLgog
ICAgICAgICAvLyBtdWx0aXBsaWVyIHJlcHJlc2VudHMgdGhlIG9yZGVyIG9mIHRoZSBzZXF1ZW5j
ZXMgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IG9uZS4KICAgICAgICAgc3dpdGNoIChtYXRodmFyaWFu
dCkgewotICAgICAgICBjYXNlIE1hdGhNTFN0eWxlOjpCb2xkOgorICAgICAgICBjYXNlIE1hdGhN
TEVsZW1lbnQ6Ok1hdGhWYXJpYW50OjpCb2xkOgogICAgICAgICAgICAgbXVsdGlwbGllciA9IDA7
CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBNYXRoTUxTdHlsZTo6RG91YmxlU3Ry
dWNrOgorICAgICAgICBjYXNlIE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50OjpEb3VibGVTdHJ1
Y2s6CiAgICAgICAgICAgICBtdWx0aXBsaWVyID0gMTsKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIE1hdGhNTFN0eWxlOjpTYW5zU2VyaWY6CisgICAgICAgIGNhc2UgTWF0aE1MRWxl
bWVudDo6TWF0aFZhcmlhbnQ6OlNhbnNTZXJpZjoKICAgICAgICAgICAgIG11bHRpcGxpZXIgPSAy
OwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgTWF0aE1MU3R5bGU6OkJvbGRTYW5z
U2VyaWY6CisgICAgICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6OkJvbGRTYW5z
U2VyaWY6CiAgICAgICAgICAgICBtdWx0aXBsaWVyID0gMzsKICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIE1hdGhNTFN0eWxlOjpNb25vc3BhY2U6CisgICAgICAgIGNhc2UgTWF0aE1M
RWxlbWVudDo6TWF0aFZhcmlhbnQ6Ok1vbm9zcGFjZToKICAgICAgICAgICAgIG11bHRpcGxpZXIg
PSA0OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CkBAIC00MTYsMTkgKzQx
NywxOSBAQCBzdGF0aWMgVUNoYXIzMiBtYXRoVmFyaWFudChVQ2hhcjMyIGNvZGVQb2ludCwgTWF0
aE1MU3R5bGU6Ok1hdGhWYXJpYW50IG1hdGh2YXJpYQogICAgIH0KICAgICBpZiAodmFyVHlwZSA9
PSBHcmVla2lzaCkgewogICAgICAgICBzd2l0Y2ggKG1hdGh2YXJpYW50KSB7Ci0gICAgICAgIGNh
c2UgTWF0aE1MU3R5bGU6OkJvbGQ6CisgICAgICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TWF0aFZh
cmlhbnQ6OkJvbGQ6CiAgICAgICAgICAgICBtdWx0aXBsaWVyID0gMDsKICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIE1hdGhNTFN0eWxlOjpJdGFsaWM6CisgICAgICAgIGNhc2UgTWF0
aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6Okl0YWxpYzoKICAgICAgICAgICAgIG11bHRpcGxpZXIg
PSAxOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgTWF0aE1MU3R5bGU6OkJvbGRJ
dGFsaWM6CisgICAgICAgIGNhc2UgTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6OkJvbGRJdGFs
aWM6CiAgICAgICAgICAgICBtdWx0aXBsaWVyID0gMjsKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIE1hdGhNTFN0eWxlOjpCb2xkU2Fuc1NlcmlmOgorICAgICAgICBjYXNlIE1hdGhN
TEVsZW1lbnQ6Ok1hdGhWYXJpYW50OjpCb2xkU2Fuc1NlcmlmOgogICAgICAgICAgICAgbXVsdGlw
bGllciA9IDM7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBNYXRoTUxTdHlsZTo6
U2Fuc1NlcmlmQm9sZEl0YWxpYzoKKyAgICAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpNYXRoVmFy
aWFudDo6U2Fuc1NlcmlmQm9sZEl0YWxpYzoKICAgICAgICAgICAgIG11bHRpcGxpZXIgPSA0Owog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CkBAIC00NDYsMjMgKzQ0NywyMyBA
QCBzdGF0aWMgVUNoYXIzMiBtYXRoVmFyaWFudChVQ2hhcjMyIGNvZGVQb2ludCwgTWF0aE1MU3R5
bGU6Ok1hdGhWYXJpYW50IG1hdGh2YXJpYQogICAgICAgICBjb25zdCBNYXRoVmFyaWFudE1hcHBp
bmcqIG1hcFRhYmxlOwogICAgICAgICBzaXplX3QgdGFibGVMZW5ndGg7CiAgICAgICAgIHN3aXRj
aCAobWF0aHZhcmlhbnQpIHsKLSAgICAgICAgY2FzZSBNYXRoTUxTdHlsZTo6SW5pdGlhbDoKKyAg
ICAgICAgY2FzZSBNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudDo6SW5pdGlhbDoKICAgICAgICAg
ICAgIG1hcFRhYmxlID0gYXJhYmljSW5pdGlhbE1hcFRhYmxlOwogICAgICAgICAgICAgdGFibGVM
ZW5ndGggPSBXVEZfQVJSQVlfTEVOR1RIKGFyYWJpY0luaXRpYWxNYXBUYWJsZSk7CiAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBNYXRoTUxTdHlsZTo6VGFpbGVkOgorICAgICAgICBj
YXNlIE1hdGhNTEVsZW1lbnQ6Ok1hdGhWYXJpYW50OjpUYWlsZWQ6CiAgICAgICAgICAgICBtYXBU
YWJsZSA9IGFyYWJpY1RhaWxlZE1hcFRhYmxlOwogICAgICAgICAgICAgdGFibGVMZW5ndGggPSBX
VEZfQVJSQVlfTEVOR1RIKGFyYWJpY1RhaWxlZE1hcFRhYmxlKTsKICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIE1hdGhNTFN0eWxlOjpTdHJldGNoZWQ6CisgICAgICAgIGNhc2UgTWF0
aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6OlN0cmV0Y2hlZDoKICAgICAgICAgICAgIG1hcFRhYmxl
ID0gYXJhYmljU3RyZXRjaGVkTWFwVGFibGU7CiAgICAgICAgICAgICB0YWJsZUxlbmd0aCA9IFdU
Rl9BUlJBWV9MRU5HVEgoYXJhYmljU3RyZXRjaGVkTWFwVGFibGUpOwogICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgTWF0aE1MU3R5bGU6Okxvb3BlZDoKKyAgICAgICAgY2FzZSBNYXRo
TUxFbGVtZW50OjpNYXRoVmFyaWFudDo6TG9vcGVkOgogICAgICAgICAgICAgbWFwVGFibGUgPSBh
cmFiaWNMb29wZWRNYXBUYWJsZTsKICAgICAgICAgICAgIHRhYmxlTGVuZ3RoID0gV1RGX0FSUkFZ
X0xFTkdUSChhcmFiaWNMb29wZWRNYXBUYWJsZSk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBNYXRoTUxTdHlsZTo6RG91YmxlU3RydWNrOgorICAgICAgICBjYXNlIE1hdGhNTEVs
ZW1lbnQ6Ok1hdGhWYXJpYW50OjpEb3VibGVTdHJ1Y2s6CiAgICAgICAgICAgICBtYXBUYWJsZSA9
IGFyYWJpY0RvdWJsZU1hcFRhYmxlOwogICAgICAgICAgICAgdGFibGVMZW5ndGggPSBXVEZfQVJS
QVlfTEVOR1RIKGFyYWJpY0RvdWJsZU1hcFRhYmxlKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
NDcyLDkgKzQ3Myw5IEBAIHN0YXRpYyBVQ2hhcjMyIG1hdGhWYXJpYW50KFVDaGFyMzIgY29kZVBv
aW50LCBNYXRoTUxTdHlsZTo6TWF0aFZhcmlhbnQgbWF0aHZhcmlhCiAgICAgICAgIG5ld0NoYXIg
PSBNYXRoVmFyaWFudE1hcHBpbmdTZWFyY2goY29kZVBvaW50LCBtYXBUYWJsZSwgdGFibGVMZW5n
dGgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIE11c3QgYmUgTGF0aW4KLSAgICAgICAgaWYg
KG1hdGh2YXJpYW50ID4gTWF0aE1MU3R5bGU6Ok1vbm9zcGFjZSkKKyAgICAgICAgaWYgKG1hdGh2
YXJpYW50ID4gTWF0aE1MRWxlbWVudDo6TWF0aFZhcmlhbnQ6Ok1vbm9zcGFjZSkKICAgICAgICAg
ICAgIHJldHVybiBjb2RlUG9pbnQ7IC8vIExhdGluIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgQXJhYmlj
IG1hdGh2YXJpYW50cwotICAgICAgICBtdWx0aXBsaWVyID0gbWF0aHZhcmlhbnQgLSAyOworICAg
ICAgICBtdWx0aXBsaWVyID0gc3RhdGljX2Nhc3Q8aW50PihtYXRodmFyaWFudCkgLSAyOwogICAg
ICAgICAvLyBUaGlzIGlzIHBvc3NpYmxlIGJlY2F1c2UgdGhlIHZhbHVlcyBmb3IgTlNfTUFUSE1M
X01BVEhWQVJJQU5UXyogYXJlIGNob3NlbiB0byBjb2luY2lkZSB3aXRoIHRoZSBvcmRlciBpbiB3
aGljaCB0aGUgZW5jb2RlZCBtYXRodmFyaWFudCBjaGFyYWN0ZXJzIGFyZSBsb2NhdGVkIHdpdGhp
biB0aGVpciB1bmljb2RlIGJsb2NrIChsZXNzIGFuIG9mZnNldCB0byBhdm9pZCBOb25lIGFuZCBO
b3JtYWwgdmFyaWFudHMpCiAgICAgICAgIC8vIFNlZSB0aGUgTnVtYmVyIGNhc2UgZm9yIGFuIGV4
cGxhbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgY2FsY3VsYXRpb24KICAgICAgICAgdGVtcENoYXIg
PSBiYXNlQ2hhciArIG1hdGhCb2xkVXBwZXJBICsgbXVsdGlwbGllciAqIChtYXRoSXRhbGljVXBw
ZXJBIC0gbWF0aEJvbGRVcHBlckEpOwpAQCAtNTIzLDkgKzUyNCw5IEBAIHZvaWQgUmVuZGVyTWF0
aE1MVG9rZW46OnVwZGF0ZU1hdGhWYXJpYW50R2x5cGgoKQogICAgIEF0b21pY1N0cmluZyB0ZXh0
Q29udGVudCA9IGVsZW1lbnQoKS50ZXh0Q29udGVudCgpLnN0cmlwV2hpdGVTcGFjZSgpLnNpbXBs
aWZ5V2hpdGVTcGFjZSgpOwogICAgIGlmICh0ZXh0Q29udGVudC5sZW5ndGgoKSA9PSAxKSB7CiAg
ICAgICAgIFVDaGFyMzIgY29kZVBvaW50ID0gdGV4dENvbnRlbnRbMF07Ci0gICAgICAgIE1hdGhN
TFN0eWxlOjpNYXRoVmFyaWFudCBtYXRodmFyaWFudCA9IG1hdGhNTFN0eWxlKCktPm1hdGhWYXJp
YW50KCk7Ci0gICAgICAgIGlmIChtYXRodmFyaWFudCA9PSBNYXRoTUxTdHlsZTo6Tm9uZSkKLSAg
ICAgICAgICAgIG1hdGh2YXJpYW50ID0gdG9rZW5FbGVtZW50Lmhhc1RhZ05hbWUoTWF0aE1MTmFt
ZXM6Om1pVGFnKSA/IE1hdGhNTFN0eWxlOjpJdGFsaWMgOiBNYXRoTUxTdHlsZTo6Tm9ybWFsOwor
ICAgICAgICBNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudCBtYXRodmFyaWFudCA9IG1hdGhNTFN0
eWxlKCktPm1hdGhWYXJpYW50KCk7CisgICAgICAgIGlmIChtYXRodmFyaWFudCA9PSBNYXRoTUxF
bGVtZW50OjpNYXRoVmFyaWFudDo6Tm9uZSkKKyAgICAgICAgICAgIG1hdGh2YXJpYW50ID0gdG9r
ZW5FbGVtZW50Lmhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1pVGFnKSA/IE1hdGhNTEVsZW1lbnQ6
Ok1hdGhWYXJpYW50OjpJdGFsaWMgOiBNYXRoTUxFbGVtZW50OjpNYXRoVmFyaWFudDo6Tm9ybWFs
OwogICAgICAgICBVQ2hhcjMyIHRyYW5zZm9ybWVkQ29kZVBvaW50ID0gbWF0aFZhcmlhbnQoY29k
ZVBvaW50LCBtYXRodmFyaWFudCk7CiAgICAgICAgIGlmICh0cmFuc2Zvcm1lZENvZGVQb2ludCAh
PSBjb2RlUG9pbnQpCiAgICAgICAgICAgICBtX21hdGhWYXJpYW50R2x5cGggPSBzdHlsZSgpLmZv
bnRDYXNjYWRlKCkuZ2x5cGhEYXRhRm9yQ2hhcmFjdGVyKHRyYW5zZm9ybWVkQ29kZVBvaW50LCAh
c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwCmluZGV4
IDViOGM2ZDQuLjcwOWYwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKQEAgLTMxLDIwICszMSwyMyBA
QAogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFVuZGVyT3Zlci5oIgogCiAjaW5jbHVkZSAiTWF0aE1M
RWxlbWVudC5oIgotI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5LmgiCisjaW5jbHVkZSAiTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MT3BlcmF0
b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFt
ZXM7Ci0KLVJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6UmVuZGVyTWF0aE1MVW5kZXJPdmVyKEVsZW1l
bnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCitSZW5kZXJNYXRoTUxVbmRlck92ZXI6
OlJlbmRlck1hdGhNTFVuZGVyT3ZlcihNYXRoTUxVbmRlck92ZXJFbGVtZW50JiBlbGVtZW50LCBS
ZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyTWF0aE1MU2NyaXB0cyhlbGVtZW50LCBX
VEZNb3ZlKHN0eWxlKSkKIHsKIH0KIAorTWF0aE1MVW5kZXJPdmVyRWxlbWVudCYgUmVuZGVyTWF0
aE1MVW5kZXJPdmVyOjplbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
TWF0aE1MVW5kZXJPdmVyRWxlbWVudCY+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7Cit9CisKIHZv
aWQgUmVuZGVyTWF0aE1MVW5kZXJPdmVyOjpjb21wdXRlT3BlcmF0b3JzSG9yaXpvbnRhbFN0cmV0
Y2goKQogewogICAgIExheW91dFVuaXQgc3RyZXRjaFdpZHRoID0gMDsKQEAgLTE2NSwxMCArMTY4
LDEwIEBAIGJvb2wgUmVuZGVyTWF0aE1MVW5kZXJPdmVyOjpoYXNBY2NlbnQoYm9vbCBhY2NlbnRV
bmRlcikgY29uc3QKIHsKICAgICBBU1NFUlQobV9zY3JpcHRUeXBlID09IFVuZGVyT3ZlciB8fCAo
YWNjZW50VW5kZXIgJiYgbV9zY3JpcHRUeXBlID09IFVuZGVyKSB8fCAoIWFjY2VudFVuZGVyICYm
IG1fc2NyaXB0VHlwZSA9PSBPdmVyKSk7CiAKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJp
YnV0ZVZhbHVlID0gZWxlbWVudCgpLT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGFj
Y2VudFVuZGVyID8gYWNjZW50dW5kZXJBdHRyIDogYWNjZW50QXR0cik7Ci0gICAgaWYgKGF0dHJp
YnV0ZVZhbHVlID09ICJ0cnVlIikKKyAgICBjb25zdCBNYXRoTUxFbGVtZW50OjpCb29sZWFuVmFs
dWUmIGF0dHJpYnV0ZVZhbHVlID0gYWNjZW50VW5kZXIgPyBlbGVtZW50KCkuYWNjZW50VW5kZXIo
KSA6IGVsZW1lbnQoKS5hY2NlbnQoKTsKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0gTWF0aE1M
RWxlbWVudDo6Qm9vbGVhblZhbHVlOjpUcnVlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBp
ZiAoYXR0cmlidXRlVmFsdWUgPT0gImZhbHNlIikKKyAgICBpZiAoYXR0cmlidXRlVmFsdWUgPT0g
TWF0aE1MRWxlbWVudDo6Qm9vbGVhblZhbHVlOjpGYWxzZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIFJlbmRlckJveCYgc2NyaXB0ID0gYWNjZW50VW5kZXIgPyB1bmRlcigpIDogb3Zlcigp
OwogICAgIGlmICghaXM8UmVuZGVyTWF0aE1MQmxvY2s+KHNjcmlwdCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuaApp
bmRleCA4NmMxOTI3Li4xOWEyYmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgKQEAgLTMyLDE0ICszMiwxNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQ7
CisKIGNsYXNzIFJlbmRlck1hdGhNTFVuZGVyT3ZlciBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRo
TUxTY3JpcHRzIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJNYXRoTUxVbmRlck92ZXIoRWxlbWVudCYs
IFJlbmRlclN0eWxlJiYpOworICAgIFJlbmRlck1hdGhNTFVuZGVyT3ZlcihNYXRoTUxVbmRlck92
ZXJFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRl
ck1hdGhNTFNjcmlwdHMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wg
aXNSZW5kZXJNYXRoTUxVbmRlck92ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZW5kZXJN
YXRoTUxVbmRlck92ZXIiOyB9CisgICAgTWF0aE1MVW5kZXJPdmVyRWxlbWVudCYgZWxlbWVudCgp
IGNvbnN0OwogCiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIGZpbmFs
OwogICAgIHZvaWQgbGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0
IHBhZ2VMb2dpY2FsSGVpZ2h0ID0gMCkgZmluYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284320</attachid>
            <date>2016-07-22 02:54:44 -0700</date>
            <delta_ts>2016-07-25 01:00:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160034-20160722115341.patch</filename>
            <type>text/plain</type>
            <size>19166</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4MjNmNmE0MTBkZTMy
Mzc1YzQ5ZmY5ZjEzYjgwZThmNGNjYTIyOS4uMjQwODEyMTk2YjQyZDY1ZDNmNDNmMWZmMGI5NTEw
ZjVlNmQ0NmFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE2LTA3LTIxICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAorICAgICAgICBJbnRyb2R1Y2UgYSBNYXRo
TUxPcGVyYXRvckVsZW1lbnQgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MDAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVuZGVyaW5nIGlzIHVuY2hhbmVkLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQgdG8gdGhl
IGJ1aWxkIGZpbGUuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwOiBEaXR0by4KKyAg
ICAgICAgKiBtYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcDogTmV3IERPTSBjbGFzcyBm
b3IgPG1vPiBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50
OjpNYXRoTUxPcGVyYXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0
b3JFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZSk6IEhhbmRsZSBtbyBhdHRyaWJ1dGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOiBDcmVh
dGUgUmVuZGVyTWF0aE1MT3BlcmF0b3IuCisgICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJhdG9y
RWxlbWVudC5oOiBEZWNsYXJlIGEgY2xhc3MgZGVyaXZpbmcgZnJvbSBNYXRoTUxUZXh0RWxlbWVu
dC4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwOiBSZW1vdmUgYWxsIHRo
ZSBSZW5kZXJNYXRoTUxPcGVyYXRvciBwYXJ0cy4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRl
eHRFbGVtZW50OjpNYXRoTUxUZXh0RWxlbWVudCk6IFJlbW92ZSBpbmxpbmUga2V5d29yZCBzbyB0
aGF0IHRoZSBjbGFzcyBjYW4KKyAgICAgICAgYmUgb3ZlcnJpZGVuLgorICAgICAgICAoV2ViQ29y
ZTo6TWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogUmVtb3ZlIGNvZGUgaGFuZGxl
ZCBpbiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0
RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKTogRGl0dG8uCisgICAgICAgICogbWF0aG1s
L01hdGhNTFRleHRFbGVtZW50Lmg6IE1ha2UgY2xhc3MgYW5kIG1lbWJlcnMgb3ZlcnJpZGFibGUu
CisgICAgICAgICogbWF0aG1sL21hdGh0YWdzLmluOiBNYXAgbW8gdG8gTWF0aE1MT3BlcmF0b3JF
bGVtZW50LgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MT3BlcmF0b3I6OlJlbmRlck1hdGhN
TE9wZXJhdG9yKTogTWFrZSB0aGUgY29uc3RydWN0b3IgdGFrZSBhCisgICAgICAgIE1hdGhNTE9w
ZXJhdG9yRWxlbWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9w
ZXJhdG9yLmg6IERpdHRvLgorCisyMDE2LTA3LTIxICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdh
bGlhLmNvbT4KKwogICAgICAgICBNb3ZlIHBhcnNpbmcgb2YgYWNjZW50dW5kZXIgYW5kIGFjY2Vu
dCBhdHRyaWJ1dGVzIGZyb20gcmVuZGVyZXIgdG8gZWxlbWVudCBjbGFzc2VzCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2MjUKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCAzMDNjYjgxN2ZhMjk1ZmM4YjViODIwMTA2Zjg1NjBhMTM2YmJkNmUxLi5i
OGRjNjc1MjA4Mzk3MzkxMzdkNGJhYmQ3YWVkOTkwY2E2Y2YyNjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMTk5MCw2ICsxOTkwLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIG1hdGht
bC9NYXRoTUxNYXRoRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50
LmNwcAogICAgIG1hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwCisgICAgbWF0aG1s
L01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVu
dC5jcHAKICAgICBtYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01h
dGhNTFNlbGVjdEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmJkNjQ3ZWRiZGVmNjIwNTcxMTM5Yjc0MDc4ZDJk
MDYyODM0YjE5OC4uZTAyZmMwNWRlMTNjMmYwN2EwNjcyMzFkNjg4MDE0ZDJkYTQ1OTBmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNjY4LDYgKzY2OCw3IEBACiAJCTE1RkNDOUZFMUI0REY4NUUwMEU3MjMyNiAvKiBET01VUkxN
ZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTVGQ0M5RkQxQjRERjg1NjAwRTcyMzI2IC8qIERPTVVSTE1lZGlhU3RyZWFtLmggKi87IH07
CiAJCTE2M0U4OEY3MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE2M0U4OEY1
MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCAqLzsgfTsKIAkJ
MTZFQTI0Q0VFQUIyQTYwNTM0MjE4QUNGIC8qIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENEY3MkM2NTNB
NjQ4MDdBODNFNzZGQjggLyogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCAqLzsgfTsKKwkJ
MTZFQTI0Q0VFQUIyQTYwNTM0MjE4QkQwIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENEY3MkM2NTNBNjQ4
MDdBODNFNzYwQzkgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJMTg1QkNG
MjgwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxODVCQ0YyNjBGMzI3OUNFMDAwRUEyNjIgLyog
VGhyZWFkVGltZXJzLmNwcCAqLzsgfTsKIAkJMTg1QkNGMjkwRjMyNzlDRTAwMEVBMjYyIC8qIFRo
cmVhZFRpbWVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTg1QkNGMjcwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5oICovOyB9OwogCQkx
ODg2MDRCMzBGMkU2NTRBMDAwQjY0NDMgLyogRE9NVGltZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTg4NjA0QjEwRjJFNjU0QTAwMEI2NDQzIC8q
IERPTVRpbWVyLmNwcCAqLzsgfTsKQEAgLTE0NTA2LDYgKzE0NTA3LDcgQEAKIAkJRDNGM0QzNjUx
QTY5QjFBNTAwNTlGQzJCIC8qIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0YzRDM2NjFBNjlCMUE1MDA1
OUZDMkIgLyogSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlENEY3MkM2NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQ0RjcyQzY1M0E2NDgwN0E4M0U3NjBDOSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYxOUEzMDUxNDRFMDBCRTAw
NEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9uU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUQ2MTlBMzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RN
dXRhdGlvblNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoaWxkTGlz
dE11dGF0aW9uU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDY0ODlEMjMx
NjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ1NDIsNiArMTQ1NDQsNyBAQAogCQlERTQ5QjMw
ODE2NUYyRkUxMDAxMDMzOEQgLyogUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREVDMjk3NUQxQjRERUIyQTAwNUY1OTQ1IC8q
IEpTQ3VzdG9tRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDdXN0b21FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCURGN0U5QTI5NEM3QUFDRTBBRDg5QjNERCAvKiBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MT3BlcmF0b3JEaWN0aW9u
YXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURGN0U5QTI5NEM3QUFDRTBBRDg5
QjRFRSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWF0aE1MT3BlcmF0b3JFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCURGOUFGRDcwMTNGQzMxRDgwMDE1RkVCNyAvKiBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJREY5QUZENzExM0ZDMzFEODAwMTVGRUI3IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEV2ZW50U291cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTI0OTA1LDYgKzI0OTA4LDggQEAKIAkJCQlDRTZEODkyOTRDN0FBQ0UwQUQ4OUIz
REQgLyogTWF0aE1MTWVuY2xvc2VFbGVtZW50LmggKi8sCiAJCQkJRDRGNzJDNjUzQTY0ODA3QTgz
RTc2RkI4IC8qIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJREY3RTlBMjk0
QzdBQUNFMEFEODlCM0REIC8qIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oICovLAorCQkJCUQ0
RjcyQzY1M0E2NDgwN0E4M0U3NjBDOSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwICovLAor
CQkJCURGN0U5QTI5NEM3QUFDRTBBRDg5QjRFRSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCAq
LywKIAkJCQlCNTlDQTU5QUYxNzBEOEZBQTVCOEM5QUQgLyogTWF0aE1MU2NyaXB0c0VsZW1lbnQu
Y3BwICovLAogCQkJCUI1OUNBODQ5RDQxRTZGNjVEODExOTdBQiAvKiBNYXRoTUxTY3JpcHRzRWxl
bWVudC5oICovLAogCQkJCUI1OUNBNTlBRjE3MEQ4RkFBNUI4Q0FCRSAvKiBNYXRoTUxQYWRkZWRF
bGVtZW50LmNwcCAqLywKQEAgLTMxMjgyLDYgKzMxMjg3LDcgQEAKIAkJCQlGQUJFNzJGODEwNTlD
MUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDVEOTEzQ0VFQUIyQTYwNTM0MjE4QUNGIC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxNkVBMjRDRUVBQjJBNjA1MzQyMThBQ0YgLyogTWF0aE1MT3BlcmF0
b3JEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE2RUEyNENFRUFCMkE2MDUzNDIx
OEJERSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFC
RTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQzOTE3NkRGMTJEQTI1RTE3QkFGODBBMiAvKiBNYXRoTUxTdHlsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCNTlDQTM5MENFRDY2QzMyNTVGNzJCNDggLyogTWF0aE1MU2NyaXB0c0VsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25l
LmNwcAppbmRleCBiYWJmODJiMjdlYjMwMGJjNTg1YTZiZTMwNjhiOTIzNGI3Mzc2ZjFlLi5lODEx
MDlhZDBlZmYzNWQ4MjZmNjRhZWRmZDgyMWVlNzE0YWVmN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJNYXRo
TUxNYXRoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcCIK
ICNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwIgorI2luY2x1ZGUgIk1hdGhN
TE9wZXJhdG9yRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MUGFkZGVkRWxlbWVudC5jcHAi
CiAjaW5jbHVkZSAiTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwIgogI2luY2x1ZGUgIk1hdGhNTFNl
bGVjdEVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TE9wZXJhdG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0
b3JFbGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2Y0ZmY3YmNkYWRiZjNlN2I5YWZkYTlhNjhjYTQw
NjAwM2RlMzNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TE9wZXJhdG9yRWxlbWVudC5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
KgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5j
bHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgiCisKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxP
cGVyYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRo
TUxOYW1lczsKKworTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpNYXRoTUxPcGVyYXRvckVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQorICAgIDog
TWF0aE1MVGV4dEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1JlZjxNYXRoTUxP
cGVyYXRvckVsZW1lbnQ+IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNYXRoTUxPcGVyYXRvckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKK30K
Kwordm9pZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKChu
YW1lID09IHN0cmV0Y2h5QXR0ciB8fCBuYW1lID09IGxzcGFjZUF0dHIgfHwgbmFtZSA9PSByc3Bh
Y2VBdHRyIHx8IG5hbWUgPT0gbW92YWJsZWxpbWl0c0F0dHIpICYmIHJlbmRlcmVyKCkpIHsKKyAg
ICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3BlcmF0b3I+KCpyZW5kZXJlcigpKS51cGRhdGVG
cm9tRWxlbWVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgTWF0aE1MVGV4dEVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKK30KKworUmVuZGVyUHRyPFJlbmRl
ckVsZW1lbnQ+IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJl
bmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpCit7CisgICAgQVNT
RVJUKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1vVGFnKSk7CisgICAgcmV0dXJuIGNyZWF0ZVJl
bmRlcmVyPFJlbmRlck1hdGhNTE9wZXJhdG9yPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworfQor
Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NzdhMGY2Y2I5ZDQxNmI1OTBk
YzM0N2Y2NGU2N2ViMzRlODc3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1
ZGUgIk1hdGhNTFRleHRFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
TWF0aE1MT3BlcmF0b3JFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTFRleHRFbGVtZW50IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1hdGhNTE9wZXJhdG9yRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7Citwcml2YXRlOgorICAgIE1h
dGhNTE9wZXJhdG9yRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCYpOworICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIo
UmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgZmluYWw7CisgICAgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgZmluYWw7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKaW5kZXggMGUzODViMzU4MjQ1YTc5
MDk0NjhlZTU3ZGM1Mzk2OTRiNjg3NzVkNS4uYTBmNDA3NDhiNjVhNGQyYTA0NDk3OTZkZWZlYTc2
YjczMzg2OTU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQu
Y3BwCkBAIC0zMSwxNCArMzEsMTMgQEAKICNpbmNsdWRlICJNYXRoTUxUZXh0RWxlbWVudC5oIgog
CiAjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKLSNpbmNsdWRlICJSZW5kZXJNYXRoTUxPcGVyYXRv
ci5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFRva2VuLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCi1pbmxpbmUgTWF0aE1MVGV4dEVs
ZW1lbnQ6Ok1hdGhNTFRleHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50JiBkb2N1bWVudCkKK01hdGhNTFRleHRFbGVtZW50OjpNYXRoTUxUZXh0RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBN
YXRoTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogICAgIHNldEhhc0N1c3RvbVN0eWxl
UmVzb2x2ZUNhbGxiYWNrcygpOwpAQCAtNjUsMTIgKzY0LDYgQEAgdm9pZCBNYXRoTUxUZXh0RWxl
bWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJiBjaGFuZ2UpCiAKIHZvaWQg
TWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0gICAgaWYgKG5hbWUgPT0gc3RyZXRj
aHlBdHRyIHx8IG5hbWUgPT0gbHNwYWNlQXR0ciB8fCBuYW1lID09IHJzcGFjZUF0dHIgfHwgbmFt
ZSA9PSBtb3ZhYmxlbGltaXRzQXR0cikgewotICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MT3Bl
cmF0b3I+KHJlbmRlcmVyKCkpKQotICAgICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTWF0aE1MT3Bl
cmF0b3I+KCpyZW5kZXJlcigpKS51cGRhdGVGcm9tRWxlbWVudCgpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCiAgICAgaWYgKG5hbWUgPT0gbWF0aHZhcmlhbnRBdHRyICYmIHJlbmRlcmVyKCkp
CiAgICAgICAgIE1hdGhNTFN0eWxlOjpyZXNvbHZlTWF0aE1MU3R5bGVUcmVlKHJlbmRlcmVyKCkp
OwogCkBAIC03OSw4ICs3Miw2IEBAIHZvaWQgTWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0CiAKIFJlbmRlclB0
cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVy
KFJlbmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYgaW5zZXJ0aW9u
UG9zaXRpb24pCiB7Ci0gICAgaWYgKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1vVGFnKSkKLSAg
ICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTE9wZXJhdG9yPigqdGhpcywg
V1RGTW92ZShzdHlsZSkpOwogICAgIGlmIChoYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjphbm5vdGF0
aW9uVGFnKSkKICAgICAgICAgcmV0dXJuIE1hdGhNTEVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5k
ZXJlcihXVEZNb3ZlKHN0eWxlKSwgaW5zZXJ0aW9uUG9zaXRpb24pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCmluZGV4IDBlZDFmNjQyMWI2OGIwODYyM2M5MDA5
YmU5OWZmMDdmZTM3ZGE1N2EuLmNiN2I2OGM1ZWFmMjVmNGFkYzFiZmM2MzYyMWMxMzNiMDg5MWRj
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCkBAIC0zMSwx
OCArMzEsMTkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxUZXh0RWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxFbGVtZW50IHsKK2NsYXNzIE1hdGhNTFRleHRFbGVt
ZW50IDogcHVibGljIE1hdGhNTEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0
aE1MVGV4dEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCYpOwogCi1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIE1hdGhNTFRleHRFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CisgICAgdm9pZCBwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJp
ZGU7CiAKLSAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVy
KFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIGZpbmFsOworcHJpdmF0
ZToKKyAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJl
bmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIG92ZXJyaWRlOwogICAgIGJv
b2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3QgZmluYWw7CiAK
ICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwotICAg
IHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0
cmluZyYpIGZpbmFsOwogICAgIHZvaWQgZGlkQXR0YWNoUmVuZGVyZXJzKCkgZmluYWw7CiAKICAg
ICBib29sIGlzUHJlc2VudGF0aW9uTWF0aE1MKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluIGIvU291cmNl
L1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCmluZGV4IGZkODYyZWNhMjQ0Zjg4NzY4MDk0NGI4
MTg4N2M2YjEyYWI3MDBjYmIuLjhhMDc3Y2EyMGQwYjkxYjhjNDQxOTJjZTg3NGQyYzEwNDUwNWYy
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4KQEAgLTIyLDcgKzIyLDcgQEAgbXNxcnQg
aW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CiBtcm9vdCBpbnRlcmZh
Y2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKIG1pIGludGVyZmFjZU5hbWU9TWF0
aE1MVGV4dEVsZW1lbnQKIG1uIGludGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1lbnQKLW1vIGlu
dGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1lbnQKK21vIGludGVyZmFjZU5hbWU9TWF0aE1MT3Bl
cmF0b3JFbGVtZW50CiBtdGV4dCBpbnRlcmZhY2VOYW1lPU1hdGhNTFRleHRFbGVtZW50CiBtcyBp
bnRlcmZhY2VOYW1lPU1hdGhNTFRleHRFbGVtZW50CiBtc3BhY2UgaW50ZXJmYWNlTmFtZT1NYXRo
TUxTcGFjZUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKaW5kZXggNWJjNGRiNTYyYjc3Yzg0MThkOTdk
ODcyMzhiNWZkOGIzNGE3NGEzYi4uZTVhMWIxOGM2ZjJiZmRjZjhjMGQyM2U1MTk0ZTk5NGIyZDIx
MjNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkZv
bnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiTWF0aE1M
T3BlcmF0b3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgpAQCAtNDYsNyArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIAot
UmVuZGVyTWF0aE1MT3BlcmF0b3I6OlJlbmRlck1hdGhNTE9wZXJhdG9yKE1hdGhNTEVsZW1lbnQm
IGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCitSZW5kZXJNYXRoTUxPcGVyYXRvcjo6UmVu
ZGVyTWF0aE1MT3BlcmF0b3IoTWF0aE1MT3BlcmF0b3JFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJT
dHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyTWF0aE1MVG9rZW4oZWxlbWVudCwgV1RGTW92ZShz
dHlsZSkpCiAgICAgLCBtX3N0cmV0Y2hIZWlnaHRBYm92ZUJhc2VsaW5lKDApCiAgICAgLCBtX3N0
cmV0Y2hEZXB0aEJlbG93QmFzZWxpbmUoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAppbmRleCBmMjcxYWZhNjliNWIw
YWY4ZTdiZjUzY2QwMmRkNTQ5MGQ5MTIyNDA4Li4wM2JjZTI3MWFhZTE0ZmI5N2I0MmM3YTc3NjA3
MGU0YmRmNzIwNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCkBAIC0zNCw5ICszNCwxMSBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIE1hdGhNTE9wZXJhdG9yRWxlbWVudDsKKwogY2xhc3MgUmVu
ZGVyTWF0aE1MT3BlcmF0b3IgZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0aE1MVG9rZW4gewogcHVi
bGljOgotICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKE1hdGhNTEVsZW1lbnQmLCBSZW5kZXJTdHls
ZSYmKTsKKyAgICBSZW5kZXJNYXRoTUxPcGVyYXRvcihNYXRoTUxPcGVyYXRvckVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmKTsKICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvcihEb2N1bWVudCYsIFJlbmRl
clN0eWxlJiYsIGNvbnN0IFN0cmluZyYgb3BlcmF0b3JTdHJpbmcsIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6Rm9ybSwgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAogICAgIHZvaWQgc3Ry
ZXRjaFRvKExheW91dFVuaXQgaGVpZ2h0QWJvdmVCYXNlbGluZSwgTGF5b3V0VW5pdCBkZXB0aEJl
bG93QmFzZWxpbmUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284468</attachid>
            <date>2016-07-25 01:00:33 -0700</date>
            <delta_ts>2016-07-25 10:14:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160034-20160725095926.patch</filename>
            <type>text/plain</type>
            <size>18437</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDAwNzM4ZTg1NDgxMzAw
OWM1MjU5NzZiMjhmYThkMWJjODAxNWYwNi4uNjQzOWY2Y2VhNzdkY2E5NjVjNjlmM2I1MDM0MDdi
NjU2YzE5MDFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTA3LTIxICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNYXRo
TUxPcGVyYXRvckVsZW1lbnQgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MDAzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVuZGVyaW5nIGlzIHVuY2hhbmVkLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBNYXRoTUxPcGVyYXRvckVsZW1lbnQgdG8gdGhl
IGJ1aWxkIGZpbGUuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwOiBEaXR0by4KKyAg
ICAgICAgKiBtYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcDogTmV3IERPTSBjbGFzcyBm
b3IgPG1vPiBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50
OjpNYXRoTUxPcGVyYXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0
b3JFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZSk6IEhhbmRsZSBtbyBhdHRyaWJ1dGVzLgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOiBDcmVh
dGUgUmVuZGVyTWF0aE1MT3BlcmF0b3IuCisgICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJhdG9y
RWxlbWVudC5oOiBEZWNsYXJlIGEgY2xhc3MgZGVyaXZpbmcgZnJvbSBNYXRoTUxUZXh0RWxlbWVu
dC4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwOiBSZW1vdmUgYWxsIHRo
ZSBSZW5kZXJNYXRoTUxPcGVyYXRvciBwYXJ0cy4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFRl
eHRFbGVtZW50OjpNYXRoTUxUZXh0RWxlbWVudCk6IFJlbW92ZSBpbmxpbmUga2V5d29yZCBzbyB0
aGF0IHRoZSBjbGFzcyBjYW4KKyAgICAgICAgYmUgb3ZlcnJpZGVuLgorICAgICAgICAoV2ViQ29y
ZTo6TWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKTogUmVtb3ZlIGNvZGUgaGFuZGxl
ZCBpbiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxUZXh0
RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKTogRGl0dG8uCisgICAgICAgICogbWF0aG1s
L01hdGhNTFRleHRFbGVtZW50Lmg6IE1ha2UgY2xhc3MgYW5kIG1lbWJlcnMgb3ZlcnJpZGFibGUu
CisgICAgICAgICogbWF0aG1sL21hdGh0YWdzLmluOiBNYXAgbW8gdG8gTWF0aE1MT3BlcmF0b3JF
bGVtZW50LgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MT3BlcmF0b3I6OlJlbmRlck1hdGhN
TE9wZXJhdG9yKTogTWFrZSB0aGUgY29uc3RydWN0b3IgdGFrZSBhCisgICAgICAgIE1hdGhNTE9w
ZXJhdG9yRWxlbWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9w
ZXJhdG9yLmg6IERpdHRvLgorCiAyMDE2LTA3LTI0ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdh
bGlhLmNvbT4KIAogICAgICAgICBNb3ZlIHBhcnNpbmcgb2YgZGlzcGxheSwgZGlzcGxheXN0eWxl
IGFuZCBtYXRodmFyaWFudCBhdHRyaWJ1dGVzIGludG8gTWF0aE1MIGVsZW1lbnQgY2xhc3Nlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNTU4M2NhYWU4OWI1ZGI2ZTEwYTRkYjY3NWZhM2IxYjU0
ZTliMjVhLi5hMjVmMjdjZDQxM2M5ZmE2NDU4Njc2NjI4OGI4MmEwMWIwNzliMmVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTk4OSw2ICsxOTg5LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIG1hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MTWVuY2xv
c2VFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwCisg
ICAgbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MUGFk
ZGVkRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwCiAgICAg
bWF0aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGY1ZThiZjMwMzcxZGU2MTQ3MTk2
OGIwOWIyN2FlZTM0N2VlNzY0Ny4uZmE5MzU5NTY0ZTI4N2U5MmRlZTljOTdhNTBiNGJkNGYwNmVk
MWYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNjkwNSw2ICs2OTA1LDggQEAKIAkJRjk4RkZGNDQxMUEyNjc2MjAwRjU0OEU4
IC8qIENTU09NVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjk4RkZGNDIxMUEyNjc2MjAwRjU0OEU4IC8qIENTU09NVXRpbHMuY3BwICovOyB9
OwogCQlGOThGRkY0NTExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjk4RkZGNDMxMUEyNjc2MjAwRjU0
OEU4IC8qIENTU09NVXRpbHMuaCAqLzsgfTsKIAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8q
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OworCQlGQTY1NEE2QjExMDhBQkVEMDAyNjE2RjEg
LyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZBNjU0QTY5MTEwOEFCRUQwMDI2MTZGMSAvKiBNYXRoTUxPcGVy
YXRvckVsZW1lbnQuY3BwICovOyB9OworCQlGQTY1NEE2QzExMDhBQkVEMDAyNjE2RjEgLyogTWF0
aE1MT3BlcmF0b3JFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQTY1NEE2QTExMDhBQkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmggKi87IH07CiAJCUZBNjU0QTZCMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
QTY1NEE2OTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVGV4dEVsZW1lbnQuY3BwICovOyB9Owog
CQlGQTY1NEE2QzExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVGV4dEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBNjU0QTZBMTEwOEFCRUQw
MDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5oICovOyB9OwogCQlGQTY1NEE2QjExMDhBQkVE
MDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTY1NEE2OTExMDhBQkVEMDAyNjI2RjEgLyog
TWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAgKi87IH07CkBAIC0xNTA4NSw2ICsxNTA4Nyw4IEBA
CiAJCUY5RjBFRDc4MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTY1NEE2MzExMDhBQkI3MDAy
NjE1RTAgLyogbWF0aG1sLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gbWF0aG1sLmNz
czsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRBNjcxMTA4QUJFMjAwMjYxNUUw
IC8qIG1hdGhhdHRycy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBtYXRoYXR0cnMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBNjU0QTY5MTEwOEFCRUQwMDI2MTZGMSAvKiBN
YXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkE2NTRBNkExMTA4QUJFRDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxPcGVyYXRvckVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRBNjkxMTA4QUJFRDAwMjYxNUUw
IC8qIE1hdGhNTFRleHRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1hdGhNTFRleHRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRkE2NTRBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRleHRFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTFRleHRFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBNjU0QTY5MTEwOEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxV
bmRlck92ZXJFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjQ5MTAsNiArMjQ5MTQsOCBAQAogCQkJCTU5NzgwODQ5RDQxRTZGNjVEODExOThCQyAvKiBN
YXRoTUxTZWxlY3RFbGVtZW50LmggKi8sCiAJCQkJNEZBNjVBNjkxMTA4QUJFRDAwMjYxNUUwIC8q
IE1hdGhNTFNwYWNlRWxlbWVudC5jcHAgKi8sCiAJCQkJNEZBNjVBNkExMTA4QUJFRDAwMjYxNUUw
IC8qIE1hdGhNTFNwYWNlRWxlbWVudC5oICovLAorCQkJCUZBNjU0QTY5MTEwOEFCRUQwMDI2MTZG
MSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwICovLAorCQkJCUZBNjU0QTZBMTEwOEFCRUQw
MDI2MTZGMSAvKiBNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCAqLywKIAkJCQlGQTY1NEE2OTExMDhB
QkVEMDAyNjE1RTAgLyogTWF0aE1MVGV4dEVsZW1lbnQuY3BwICovLAogCQkJCUZBNjU0QTZBMTEw
OEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5oICovLAogCQkJCUZBNjU0QTY5MTEw
OEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxVbmRlck92ZXJFbGVtZW50LmNwcCAqLywKQEAgLTI3NDUx
LDYgKzI3NDU3LDcgQEAKIAkJCQk0NEEyOEFBRjEyREZCOEJGMDBBRTkyM0IgLyogTWF0aE1MTmFt
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzOTE3NkUwMTJEQTI1RTE3QkFGODBBMiAvKiBNYXRo
TUxTdHlsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEZBNjVBNkMxMTA4QUJFRDAwMjYxNUUwIC8q
IE1hdGhNTFNwYWNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkE2NTRBNkMxMTA4QUJF
RDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkE2NTRBNkMxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRleHRFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGQTY1NEE2QzExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM5MDQ2RUExMkRBMjVFODEyQUY4MEFDIC8qIE1h
dGhPcGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTI4NCw2ICszMTI5MSw3IEBACiAJCQkJ
QjU5Q0EzOTBDRUQ2NkMzMjU1RjcyQzU5IC8qIE1hdGhNTFBhZGRlZEVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkVENDgzOTBDRUQ2NkMzMjU1RjcyQzU5IC8qIE1hdGhNTFNlbGVjdEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEZBNjVBNkIxMTA4QUJFRDAwMjYxNUUwIC8q
IE1hdGhNTFNwYWNlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQTY1NEE2QjExMDhB
QkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZBNjU0QTZCMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUZXh0RWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlGQTY1NEE2QjExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJP
dmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzkwNDZFOTEyREEyNUU4MTJBRjgw
QUMgLyogTWF0aE9wZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxBbGxJbk9uZS5jcHAKaW5kZXggYmFiZjgyYjI3ZWIzMDBiYzU4NWE2YmUzMDY4Yjky
MzRiNzM3NmYxZS4uZTgxMTA5YWQwZWZmMzVkODI2ZjY0YWVkZmQ4MjFlZTcxNGFlZjdmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiTWF0aE1MTWF0aEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIk1hdGhNTE1lbmNs
b3NlRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCIK
KyNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIk1hdGhNTFBh
ZGRlZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIk1hdGhNTFNjcmlwdHNFbGVtZW50LmNwcCIKICNp
bmNsdWRlICJNYXRoTUxTZWxlY3RFbGVtZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmNGZmN2JjZGFkYmYz
ZTdiOWFmZGE5YTY4Y2E0MDYwMDNkZTMzZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTE9wZXJhdG9yRWxlbWVudC5oIgorCisjaW5jbHVk
ZSAiUmVuZGVyTWF0aE1MT3BlcmF0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2lu
ZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CisKK01hdGhNTE9wZXJhdG9yRWxlbWVudDo6TWF0aE1M
T3BlcmF0b3JFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBk
b2N1bWVudCkKKyAgICA6IE1hdGhNTFRleHRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorewor
fQorCitSZWY8TWF0aE1MT3BlcmF0b3JFbGVtZW50PiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWF0aE1MT3BlcmF0b3JFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KSk7Cit9CisKK3ZvaWQgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVl
KQoreworICAgIGlmICgobmFtZSA9PSBzdHJldGNoeUF0dHIgfHwgbmFtZSA9PSBsc3BhY2VBdHRy
IHx8IG5hbWUgPT0gcnNwYWNlQXR0ciB8fCBuYW1lID09IG1vdmFibGVsaW1pdHNBdHRyKSAmJiBy
ZW5kZXJlcigpKSB7CisgICAgICAgIGRvd25jYXN0PFJlbmRlck1hdGhNTE9wZXJhdG9yPigqcmVu
ZGVyZXIoKSkudXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIE1hdGhNTFRleHRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7Cit9CisK
K1JlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRp
b24mKQoreworICAgIEFTU0VSVChoYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptb1RhZykpOworICAg
IHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxPcGVyYXRvcj4oKnRoaXMsIFdURk1v
dmUoc3R5bGUpKTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODc3
YTBmNmNiOWQ0MTZiNTkwZGMzNDdmNjRlNjdlYjM0ZTg3NzlmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCkBAIC0wLDAgKzEs
NDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxUZXh0RWxlbWVudC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIE1hdGhNTE9wZXJhdG9yRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRo
TUxUZXh0RWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNYXRoTUxPcGVyYXRvckVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwor
cHJpdmF0ZToKKyAgICBNYXRoTUxPcGVyYXRvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmKTsKKyAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRl
RWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYp
IGZpbmFsOworICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1B
VEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCmluZGV4
IDQ3ODkzNTllYTM4MDhkNTc2Y2E4ZGQ0OGEyOGFjM2QyZjAyZTFjZjYuLjBiMDBlZWI2Zjc2Y2Nk
YjQ4ZmJmZjU3NmFiMzVjOTcwNmU2MzBlZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTFRleHRFbGVtZW50LmNwcApAQCAtMzEsMTQgKzMxLDEzIEBACiAjaW5jbHVkZSAiTWF0aE1M
VGV4dEVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCi0jaW5jbHVkZSAiUmVu
ZGVyTWF0aE1MT3BlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxUb2tlbi5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIAotaW5s
aW5lIE1hdGhNTFRleHRFbGVtZW50OjpNYXRoTUxUZXh0RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCitNYXRoTUxUZXh0RWxlbWVudDo6TWF0
aE1MVGV4dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRv
Y3VtZW50KQogICAgIDogTWF0aE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKICAgICBz
ZXRIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKTsKQEAgLTY1LDEyICs2NCw2IEBAIHZv
aWQgTWF0aE1MVGV4dEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYg
Y2hhbmdlKQogCiB2b2lkIE1hdGhNTFRleHRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewotICAgIGlm
IChuYW1lID09IHN0cmV0Y2h5QXR0ciB8fCBuYW1lID09IGxzcGFjZUF0dHIgfHwgbmFtZSA9PSBy
c3BhY2VBdHRyIHx8IG5hbWUgPT0gbW92YWJsZWxpbWl0c0F0dHIpIHsKLSAgICAgICAgaWYgKGlz
PFJlbmRlck1hdGhNTE9wZXJhdG9yPihyZW5kZXJlcigpKSkKLSAgICAgICAgICAgIGRvd25jYXN0
PFJlbmRlck1hdGhNTE9wZXJhdG9yPigqcmVuZGVyZXIoKSkudXBkYXRlRnJvbUVsZW1lbnQoKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGlmIChuYW1lID09IG1hdGh2YXJpYW50QXR0
cikgewogICAgICAgICBtX21hdGhWYXJpYW50LmRpcnR5ID0gdHJ1ZTsKICAgICAgICAgaWYgKHJl
bmRlcmVyKCkpCkBAIC04Miw4ICs3NSw2IEBAIHZvaWQgTWF0aE1MVGV4dEVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0CiAKIFJl
bmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxUZXh0RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJl
bmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYgaW5z
ZXJ0aW9uUG9zaXRpb24pCiB7Ci0gICAgaWYgKGhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1vVGFn
KSkKLSAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTE9wZXJhdG9yPigq
dGhpcywgV1RGTW92ZShzdHlsZSkpOwogICAgIGlmIChoYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjph
bm5vdGF0aW9uVGFnKSkKICAgICAgICAgcmV0dXJuIE1hdGhNTEVsZW1lbnQ6OmNyZWF0ZUVsZW1l
bnRSZW5kZXJlcihXVEZNb3ZlKHN0eWxlKSwgaW5zZXJ0aW9uUG9zaXRpb24pOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCmluZGV4IDliYTk2YmVhNWY5MWI4ZTlk
MzAwZGMxYmE1YjJiMjE3MDRhNjQyY2QuLjk5YWNlNzFhMGU4YjRhZGEwNGNlNDQ5NmJmNDg5MGEx
YzQ1Y2YxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCkBA
IC0zMiwxOSArMzIsMjAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxU
ZXh0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxFbGVtZW50IHsKK2NsYXNzIE1hdGhNTFRl
eHRFbGVtZW50IDogcHVibGljIE1hdGhNTEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8TWF0aE1MVGV4dEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCYpOwogICAgIGJvb2wgYWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQogCi1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIE1hdGhNTFRl
eHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CisgICAg
dm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7CiAKLSAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxl
bWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIGZp
bmFsOworcHJpdmF0ZToKKyAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIG92ZXJy
aWRlOwogICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29u
c3QgZmluYWw7CiAKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYp
IGZpbmFsOwotICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgZGlkQXR0YWNoUmVuZGVyZXJzKCkg
ZmluYWw7CiAKICAgICBib29sIGlzUHJlc2VudGF0aW9uTWF0aE1MKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdz
LmluIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCmluZGV4IGZkODYyZWNhMjQ0
Zjg4NzY4MDk0NGI4MTg4N2M2YjEyYWI3MDBjYmIuLjhhMDc3Y2EyMGQwYjkxYjhjNDQxOTJjZTg3
NGQyYzEwNDUwNWYyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFn
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4KQEAgLTIyLDcgKzIy
LDcgQEAgbXNxcnQgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CiBt
cm9vdCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKIG1pIGludGVy
ZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1lbnQKIG1uIGludGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVs
ZW1lbnQKLW1vIGludGVyZmFjZU5hbWU9TWF0aE1MVGV4dEVsZW1lbnQKK21vIGludGVyZmFjZU5h
bWU9TWF0aE1MT3BlcmF0b3JFbGVtZW50CiBtdGV4dCBpbnRlcmZhY2VOYW1lPU1hdGhNTFRleHRF
bGVtZW50CiBtcyBpbnRlcmZhY2VOYW1lPU1hdGhNTFRleHRFbGVtZW50CiBtc3BhY2UgaW50ZXJm
YWNlTmFtZT1NYXRoTUxTcGFjZUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKaW5kZXggNWJjNGRiNTYy
Yjc3Yzg0MThkOTdkODcyMzhiNWZkOGIzNGE3NGEzYi4uZTVhMWIxOGM2ZjJiZmRjZjhjMGQyM2U1
MTk0ZTk5NGIyZDIxMjNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAog
I2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5j
bHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgpAQCAt
NDYsNyArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBNYXRo
TUxOYW1lczsKIAotUmVuZGVyTWF0aE1MT3BlcmF0b3I6OlJlbmRlck1hdGhNTE9wZXJhdG9yKE1h
dGhNTEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCitSZW5kZXJNYXRoTUxP
cGVyYXRvcjo6UmVuZGVyTWF0aE1MT3BlcmF0b3IoTWF0aE1MT3BlcmF0b3JFbGVtZW50JiBlbGVt
ZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyTWF0aE1MVG9rZW4oZWxlbWVu
dCwgV1RGTW92ZShzdHlsZSkpCiAgICAgLCBtX3N0cmV0Y2hIZWlnaHRBYm92ZUJhc2VsaW5lKDAp
CiAgICAgLCBtX3N0cmV0Y2hEZXB0aEJlbG93QmFzZWxpbmUoMCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAppbmRleCBm
MjcxYWZhNjliNWIwYWY4ZTdiZjUzY2QwMmRkNTQ5MGQ5MTIyNDA4Li4wM2JjZTI3MWFhZTE0ZmI5
N2I0MmM3YTc3NjA3MGU0YmRmNzIwNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCkBAIC0zNCw5ICszNCwxMSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIE1hdGhNTE9wZXJhdG9yRWxlbWVudDsK
KwogY2xhc3MgUmVuZGVyTWF0aE1MT3BlcmF0b3IgZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0aE1M
VG9rZW4gewogcHVibGljOgotICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKE1hdGhNTEVsZW1lbnQm
LCBSZW5kZXJTdHlsZSYmKTsKKyAgICBSZW5kZXJNYXRoTUxPcGVyYXRvcihNYXRoTUxPcGVyYXRv
ckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvcihEb2N1
bWVudCYsIFJlbmRlclN0eWxlJiYsIGNvbnN0IFN0cmluZyYgb3BlcmF0b3JTdHJpbmcsIE1hdGhN
TE9wZXJhdG9yRGljdGlvbmFyeTo6Rm9ybSwgdW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAog
ICAgIHZvaWQgc3RyZXRjaFRvKExheW91dFVuaXQgaGVpZ2h0QWJvdmVCYXNlbGluZSwgTGF5b3V0
VW5pdCBkZXB0aEJlbG93QmFzZWxpbmUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>