<?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>216994</bug_id>
          
          <creation_ts>2020-09-25 14:20:39 -0700</creation_ts>
          <short_desc>Constructing an AudioNode for a closed context should not throw an exception</short_desc>
          <delta_ts>2020-09-26 15:15:27 -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>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>216989</dependson>
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1692027</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 14:20:39 -0700</bug_when>
    <thetext>Constructing an AudioNode for a closed context should not throw an exception. This behavior is not as per specification and does not match the behavior of Chrome &amp; Firefox either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692029</commentid>
    <comment_count>1</comment_count>
      <attachid>409739</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 14:22:05 -0700</bug_when>
    <thetext>Created attachment 409739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692132</commentid>
    <comment_count>2</comment_count>
      <attachid>409763</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-25 18:03:32 -0700</bug_when>
    <thetext>Created attachment 409763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692227</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-26 15:14:01 -0700</bug_when>
    <thetext>Committed r267639: &lt;https://trac.webkit.org/changeset/267639&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409763.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692228</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-26 15:15:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/69635426&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409739</attachid>
            <date>2020-09-25 14:22:05 -0700</date>
            <delta_ts>2020-09-25 18:03:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216994-20200925142204.patch</filename>
            <type>text/plain</type>
            <size>28016</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZlMmY0YjNiYTg5YWE5
NzUzNzRjMzYyNDk1NjMwNmJhMzdkZTVlNC4uNjZhNmZjYzhjOTA2YmIyZTg1MDFlZDk0MTY3MzI2
OGQ4NDc5NzJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTA5LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0aW5nIGFuIEF1
ZGlvTm9kZSBmb3IgYSBjbG9zZWQgY29udGV4dCBzaG91bGQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTk0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3Ry
dWN0aW5nIGFuIEF1ZGlvTm9kZSBmb3IgYSBjbG9zZWQgY29udGV4dCBzaG91bGQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbi4gVGhpcworICAgICAgICBiZWhhdmlvciBpcyBub3QgYXMgcGVyIHNwZWNp
ZmljYXRpb24gYW5kIGRvZXMgbm90IG1hdGNoIHRoZSBiZWhhdmlvciBvZiBDaHJvbWUgJgorICAg
ICAgICBGaXJlZm94IGVpdGhlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9jb25zdHJ1Y3Qt
bm9kZS13aXRoLWNsb3NlZC1jb250ZXh0Lmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQW5hbHlzZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuYWx5c2VyTm9kZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb0NvbnRleHQ6OmxhenlJbml0aWFsaXplKToKKyAgICAgICAgKFdl
YkNvcmU6OkJhc2VBdWRpb0NvbnRleHQ6OnNhbXBsZVJhdGUgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWRGaWx0
ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdl
ck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNoYW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc3RhbnRTb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQ29udm9sdmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRlbGF5Tm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHluYW1p
Y3NDb21wcmVzc29yTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dh
aW5Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJSVJGaWx0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3Nj
aWxsYXRvck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyaW9kaWNXYXZlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU3RlcmVv
UGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdGVyZW9QYW5uZXJOb2RlOjpjcmVh
dGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlck5vZGU6OmNyZWF0ZSk6CisKIDIwMjAtMDktMjUgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBoYXZpbmcgdG8g
Y2FsbCBjb250ZXh0LmxhenlJbml0aWFsaXplKCkgaW4gZXZlcnkgQXVkaW9Ob2RlIGZhY3Rvcnkg
ZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5h
bHlzZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJO
b2RlLmNwcAppbmRleCAzZmRmMjM4ZTllN2Q0ZTU4MzllMjFhMDMxZjhjYTI4OWJhYTZjY2NjLi4x
MjYwOGM2NWQ0ZGNmZTEwN2M3MmI0ZjFlNTM1NjliZjBkYWY4ZWM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuY3BwCkBAIC0zOCw5ICszOCw2
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChBbmFseXNlck5vZGUpOwogCiBFeGNlcHRp
b25PcjxSZWY8QW5hbHlzZXJOb2RlPj4gQW5hbHlzZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgQW5hbHlzZXJPcHRpb25zJiBvcHRpb25zKQogewotICAgIGlm
IChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IgfTsKLSAgICAKICAgICBhdXRvIGFuYWx5c2VyID0gYWRvcHRSZWYoKm5ldyBB
bmFseXNlck5vZGUoY29udGV4dCkpOwogICAgIAogICAgIGF1dG8gcmVzdWx0ID0gYW5hbHlzZXIt
PmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVsQ291bnRNb2RlOjpN
YXgsIENoYW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAK
aW5kZXggNzgyOTY4MmFiODY4NzNlNDQ1OTY1YzQ5N2M5MTc4MzU0YWYzY2VlZi4uMzg4ODg2NDU4
OWMwMjA0ODEyZjI0ZDhiZjE1OWEwMDAwNWUyZTNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcApAQCAt
NjcsOSArNjcsNiBAQCBzdGF0aWMgZmxvYXQgY29tcHV0ZVNhbXBsZVVzaW5nTGluZWFySW50ZXJw
b2xhdGlvbihjb25zdCBmbG9hdCogc291cmNlLCB1bnNpZ25lZAogCiBFeGNlcHRpb25PcjxSZWY8
QXVkaW9CdWZmZXJTb3VyY2VOb2RlPj4gQXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpjcmVhdGUoQmFz
ZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgQXVkaW9CdWZmZXJTb3VyY2VPcHRpb25zJiYgb3B0aW9u
cykKIHsKLSAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KICAgICBhdXRvIG5vZGUgPSBhZG9wdFJlZigq
bmV3IEF1ZGlvQnVmZmVyU291cmNlTm9kZShjb250ZXh0KSk7CiAKICAgICBub2RlLT5zZXRCdWZm
ZXIoV1RGTW92ZShvcHRpb25zLmJ1ZmZlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKaW5kZXggMTI5NDYxMGQ5MjQ4MjFk
NTZiZjE2MGIwOTAzMzFkNDFiNGYyOWFlNC4uMjg1ZDUzODI0Yzk4MmQyNjAzMDlkMzY1MjlmMTQw
ZTVjZTIzNzI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9C
YXNlQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0Jhc2VBdWRpb0NvbnRleHQuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQXVkaW9C
dWZmZXJDYWxsYmFjay5oIgogI2luY2x1ZGUgIkF1ZGlvQnVmZmVyT3B0aW9ucy5oIgogI2luY2x1
ZGUgIkF1ZGlvQnVmZmVyU291cmNlTm9kZS5oIgorI2luY2x1ZGUgIkF1ZGlvRGVzdGluYXRpb24u
aCIKICNpbmNsdWRlICJBdWRpb0xpc3RlbmVyLmgiCiAjaW5jbHVkZSAiQXVkaW9Ob2RlSW5wdXQu
aCIKICNpbmNsdWRlICJBdWRpb05vZGVPdXRwdXQuaCIKQEAgLTIwNyw3ICsyMDgsOCBAQCBCYXNl
QXVkaW9Db250ZXh0Ojp+QmFzZUF1ZGlvQ29udGV4dCgpCiAKIHZvaWQgQmFzZUF1ZGlvQ29udGV4
dDo6bGF6eUluaXRpYWxpemUoKQogewotICAgIEFTU0VSVCghbV9pc1N0b3BTY2hlZHVsZWQpOwor
ICAgIGlmIChpc1N0b3BwZWQoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1faXNJbml0
aWFsaXplZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMzc2LDYgKzM3OCwxMSBAQCBEb2N1bWVudElk
ZW50aWZpZXIgQmFzZUF1ZGlvQ29udGV4dDo6aG9zdGluZ0RvY3VtZW50SWRlbnRpZmllcigpIGNv
bnN0CiAgICAgcmV0dXJuIGRvY3VtZW50ID8gZG9jdW1lbnQtPmlkZW50aWZpZXIoKSA6IERvY3Vt
ZW50SWRlbnRpZmllciB7IH07CiB9CiAKK2Zsb2F0IEJhc2VBdWRpb0NvbnRleHQ6OnNhbXBsZVJh
dGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZSA/IG1fZGVzdGluYXRp
b25Ob2RlLT5zYW1wbGVSYXRlKCkgOiBBdWRpb0Rlc3RpbmF0aW9uOjpoYXJkd2FyZVNhbXBsZVJh
dGUoKTsKK30KKwogYm9vbCBCYXNlQXVkaW9Db250ZXh0Ojppc1N1c3BlbmRlZCgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuICFkb2N1bWVudCgpIHx8IGRvY3VtZW50KCktPmFjdGl2ZURPTU9iamVjdHNB
cmVTdXNwZW5kZWQoKSB8fCBkb2N1bWVudCgpLT5hY3RpdmVET01PYmplY3RzQXJlU3RvcHBlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9D
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRl
eHQuaAppbmRleCBiYzg4NTk2N2E3YTQzNWM0YjkxYjM5M2VlZWVmYzQ5MTkzNjUxNDJiLi44M2Ji
ZDNhYzAzNDNiYmEyOWMyZjI4ZGEzOGJlNTMyZDljYTg0OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaApAQCAtMTIxLDcgKzEy
MSw3IEBAIHB1YmxpYzoKICAgICBBdWRpb0Rlc3RpbmF0aW9uTm9kZSogZGVzdGluYXRpb24oKSB7
IHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZS5nZXQoKTsgfQogICAgIHNpemVfdCBjdXJyZW50U2Ft
cGxlRnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZSA/IG1fZGVzdGluYXRp
b25Ob2RlLT5jdXJyZW50U2FtcGxlRnJhbWUoKSA6IDA7IH0KICAgICBkb3VibGUgY3VycmVudFRp
bWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZSA/IG1fZGVzdGluYXRpb25Ob2Rl
LT5jdXJyZW50VGltZSgpIDogMC47IH0KLSAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUgPyBtX2Rlc3RpbmF0aW9uTm9kZS0+c2FtcGxlUmF0ZSgp
IDogMC5mOyB9CisgICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGxv
bmcgYWN0aXZlU291cmNlQ291bnQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25l
ZCBsb25nPihtX2FjdGl2ZVNvdXJjZUNvdW50KTsgfQogCiAgICAgdm9pZCBpbmNyZW1lbnRBY3Rp
dmVTb3VyY2VDb3VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9CaXF1YWRGaWx0ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAKaW5kZXggOGRhZTM1YWRlZTc2OTY5MTYzNDFjYzRjYWI4
Zjk1Y2UxOWI2OTJkZC4uOTg1MTNjNjQyMWVhNWVkN2YwNDlhOTgzYTc3ZTNjYjljNzEzOTViOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRl
ck5vZGUuY3BwCkBAIC0zNSw5ICszNSw2IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChC
aXF1YWRGaWx0ZXJOb2RlKTsKIAogRXhjZXB0aW9uT3I8UmVmPEJpcXVhZEZpbHRlck5vZGU+PiBC
aXF1YWRGaWx0ZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
QmlxdWFkRmlsdGVyT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5pc1N0b3Bw
ZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0K
ICAgICBhdXRvIG5vZGUgPSBhZG9wdFJlZigqbmV3IEJpcXVhZEZpbHRlck5vZGUoY29udGV4dCkp
OwogCiAgICAgYXV0byByZXN1bHQgPSBub2RlLT5oYW5kbGVBdWRpb05vZGVPcHRpb25zKG9wdGlv
bnMsIHsgMiwgQ2hhbm5lbENvdW50TW9kZTo6TWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNw
ZWFrZXJzIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9D
aGFubmVsTWVyZ2VyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0No
YW5uZWxNZXJnZXJOb2RlLmNwcAppbmRleCA5YzhkMjlkZGNlMGE4MTVjYWUwYWE1YzdmOWFhMjUx
Y2UwYWMzNjA5Li44YmViMmFjNjc3OTIxNjZjMjk3YWI3YmI4ODVjMGNjNGQ1ODcwYjNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJO
b2RlLmNwcApAQCAtNDMsOSArNDMsNiBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ2hh
bm5lbE1lcmdlck5vZGUpOwogCiBFeGNlcHRpb25PcjxSZWY8Q2hhbm5lbE1lcmdlck5vZGU+PiBD
aGFubmVsTWVyZ2VyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0
IENoYW5uZWxNZXJnZXJPcHRpb25zJiBvcHRpb25zKQogewotICAgIGlmIChjb250ZXh0LmlzU3Rv
cHBlZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsK
LSAgICAKICAgICBpZiAob3B0aW9ucy5udW1iZXJPZklucHV0cyA+IEF1ZGlvQ29udGV4dDo6bWF4
TnVtYmVyT2ZDaGFubmVscygpIHx8ICFvcHRpb25zLm51bWJlck9mSW5wdXRzKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IsICJOdW1iZXIgb2YgaW5wdXRzIGlzIG5v
dCBpbiB0aGUgYWxsb3dlZCByYW5nZS4iX3MgfTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwCmluZGV4IGFj
MmU2N2NjM2EzYTg3MTg4ZmY0MDBkNGI0N2U0ZWUzY2ZmZTk2MmQuLjhkYmRlMmY0OWI1OTk3YTY0
YTQ0NzJhMzQ2N2ZjMzU4M2JmMGE1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcApAQCAtMzksOSArMzksNiBA
QCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ2hhbm5lbFNwbGl0dGVyTm9kZSk7CiAKIEV4
Y2VwdGlvbk9yPFJlZjxDaGFubmVsU3BsaXR0ZXJOb2RlPj4gQ2hhbm5lbFNwbGl0dGVyTm9kZTo6
Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IENoYW5uZWxTcGxpdHRlck9w
dGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotICAgIAogICAgIGlmIChv
cHRpb25zLm51bWJlck9mT3V0cHV0cyA+IEF1ZGlvQ29udGV4dDo6bWF4TnVtYmVyT2ZDaGFubmVs
cygpIHx8ICFvcHRpb25zLm51bWJlck9mT3V0cHV0cykKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IEluZGV4U2l6ZUVycm9yLCAiTnVtYmVyIG9mIG91dHB1dHMgaXMgbm90IGluIHRoZSBhbGxv
d2VkIHJhbmdlIl9zIH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5jcHAKaW5kZXggOGMzOGY3YjkwNzJmYjk0YzVm
NWVhMWUwYTA3YTM3Y2IyMmYzZDQ2Yi4uNDI2NjJhODMwYWZmZDZjZjdiNWU5ZWM4YzM5NTUwNjkz
MzY1OWFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db25z
dGFudFNvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q29uc3RhbnRTb3VyY2VOb2RlLmNwcApAQCAtNDEsOSArNDEsNiBAQCBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoQ29uc3RhbnRTb3VyY2VOb2RlKTsKIAogRXhjZXB0aW9uT3I8UmVmPENvbnN0
YW50U291cmNlTm9kZT4+IENvbnN0YW50U291cmNlTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IENvbnN0YW50U291cmNlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAg
ICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElu
dmFsaWRTdGF0ZUVycm9yIH07Ci0gICAgCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYoKm5ldyBD
b25zdGFudFNvdXJjZU5vZGUoY29udGV4dCwgb3B0aW9ucy5vZmZzZXQpKTsKICAgICAKICAgICBj
b250ZXh0LnJlZk5vZGUobm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9Db252b2x2ZXJOb2RlLmNwcAppbmRleCA0ZWFkYjdjOTYxNTU2YjNjYjg2NjA2ZjY4OTVh
ZGMyNjRiOTk4MWM3Li41NGFkMDQ0NTY0ODRmZTE3ZGEyMTA1YTcxMjgxNjU5Y2YxOGQ1NTQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5j
cHAKQEAgLTU3LDkgKzU3LDYgQEAgc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVOdW1iZXJPZk91dHB1
dENoYW5uZWxzKHVuc2lnbmVkIGlucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIHIKIAogRXhjZXB0aW9u
T3I8UmVmPENvbnZvbHZlck5vZGU+PiBDb252b2x2ZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29u
dGV4dCYgY29udGV4dCwgQ29udm9sdmVyT3B0aW9ucyYmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNv
bnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3Rh
dGVFcnJvciB9OwotCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYoKm5ldyBDb252b2x2ZXJOb2Rl
KGNvbnRleHQpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbm9kZS0+aGFuZGxlQXVkaW9Ob2RlT3B0
aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6OkNsYW1wZWRNYXgsIENoYW5uZWxJ
bnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0RlbGF5Tm9kZS5jcHAKaW5kZXggNDZjMmVmNGRmNDk4OWZmOWYxZWVmMTQyYWYwOGQx
NjdlMWI0ODZkYS4uODE0ZDY5ZGQyNjEzZDM2YTk2YWY2MDhiZDU2MGI5ZTVlYzQ5YTdjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcApAQCAtNDks
OSArNDksNiBAQCBpbmxpbmUgRGVsYXlOb2RlOjpEZWxheU5vZGUoQmFzZUF1ZGlvQ29udGV4dCYg
Y29udGV4dCwgZG91YmxlIG1heERlbGF5VGltZSkKIAogRXhjZXB0aW9uT3I8UmVmPERlbGF5Tm9k
ZT4+IERlbGF5Tm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IERl
bGF5T3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKLSAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KICAgICBpZiAo
b3B0aW9ucy5tYXhEZWxheVRpbWUgPD0gMCB8fCBvcHRpb25zLm1heERlbGF5VGltZSA+PSBtYXhp
bXVtQWxsb3dlZERlbGF5VGltZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBv
cnRlZEVycm9yIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCmluZGV4IDY0ODg2MGI3ZWQ0ZDFjY2Zk
MDE2YjkzODFmZTU4NGMwOTA1ZDk1NzEuLjUxYjZiMmMwOThjNDA0OTJiZmFjNzkxNWEzZDAzMDVj
OGM2ZjM4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHlu
YW1pY3NDb21wcmVzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcApAQCAtNDcsOSArNDcsNiBAQCBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZSk7CiAKIEV4
Y2VwdGlvbk9yPFJlZjxEeW5hbWljc0NvbXByZXNzb3JOb2RlPj4gRHluYW1pY3NDb21wcmVzc29y
Tm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IER5bmFtaWNzQ29t
cHJlc3Nvck9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkp
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotCiAgICAg
YXV0byBub2RlID0gYWRvcHRSZWYoKm5ldyBEeW5hbWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQs
IG9wdGlvbnMpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbm9kZS0+aGFuZGxlQXVkaW9Ob2RlT3B0
aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6OkNsYW1wZWRNYXgsIENoYW5uZWxJ
bnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vR2Fpbk5vZGUuY3BwCmluZGV4IGQ2MzRiMTUyZWQwZWY0ZmI5ZjFhYTdmZDg0MmY1YTdh
NWU0NzgyN2IuLjIwNDc5MDMzMDA1OWMwNzhhYmYyMWVjMzIyODNmZWFjOTYxMjU1ZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwCkBAIC00MCw5ICs0
MCw2IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChHYWluTm9kZSk7CiAKIEV4Y2VwdGlv
bk9yPFJlZjxHYWluTm9kZT4+IEdhaW5Ob2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgR2Fpbk9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNT
dG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9
OwotCiAgICAgYXV0byBnYWluTm9kZSA9IGFkb3B0UmVmKCpuZXcgR2Fpbk5vZGUoY29udGV4dCkp
OwogCiAgICAgYXV0byByZXN1bHQgPSBnYWluTm9kZS0+aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhv
cHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6Ok1heCwgQ2hhbm5lbEludGVycHJldGF0aW9u
OjpTcGVha2VycyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vSUlSRmlsdGVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJ
UkZpbHRlck5vZGUuY3BwCmluZGV4IDAzMzI1YzYzYWI3NzgwZDk0MTU1N2VkYjdlN2EzYmU5Mzg1
ZTI4NDguLjBlZDZlNjE3OWMwNGJhOTAzNDYxODM2ZDk0ZmU5NmFkYjAwYjdlYjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmNwcApAQCAt
ODQsOSArODQsNiBAQCBzdGF0aWMgYm9vbCBpc0ZpbHRlclN0YWJsZShjb25zdCBWZWN0b3I8ZG91
YmxlPiYgZmVlZGJhY2spCiAKIEV4Y2VwdGlvbk9yPFJlZjxJSVJGaWx0ZXJOb2RlPj4gSUlSRmls
dGVyTm9kZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIElJUkZpbHRlck9wdGlvbnMmJiBvcHRp
b25zKQogewotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGlmICghb3B0aW9ucy5mZWVkZm9y
d2FyZC5zaXplKCkgfHwgb3B0aW9ucy5mZWVkZm9yd2FyZC5zaXplKCkgPiBJSVJGaWx0ZXI6Om1h
eE9yZGVyKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsICJm
ZWVkZm9yd2FyZCBhcnJheSBtdXN0IGhhdmUgYSBsZW5ndGggYmV0d2VlbiAxIGFuZCAyMCJfcyB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKaW5kZXggZWIxYzE4MzdlNWQ3YTIzY2Iz
MzNiZGExZDcxZTgwNDM1NmQzMTcwYy4uNzMxYjVmZGU3MDUzZDhiNzljNjIyMmEzNzY3MjdjOWM1
MDZmYmYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtNDksOSArNDksNiBA
QCBFeGNlcHRpb25PcjxSZWY8TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlPj4gTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlOjpjcmVhdAogewogICAgIFJFTEVBU0VfQVNTRVJUKG9wdGlvbnMu
bWVkaWFFbGVtZW50KTsKIAotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGlmIChvcHRpb25z
Lm1lZGlhRWxlbWVudC0+YXVkaW9Tb3VyY2VOb2RlKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk1lZGlhIGVsZW1lbnQgaXMgYWxyZWFkeSBhc3NvY2lh
dGVkIHdpdGggYW4gYXVkaW8gc291cmNlIG5vZGUiX3MgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggNDczNjlkNTQzNTU1ZTM0MDM0ZDczMmM0MzhiYWIzZDIx
OGY1NzJmNi4uOTQ0NDZhYmJmYzkyMWM4MjQwMWQ5ZGUwMDk2NWZlNGYzZTU3Zjg3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC00MSw4ICs0MSw5IEBAIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKTsK
IAogRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU+PiBNZWRp
YVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgQXVkaW9Ob2RlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29udGV4
dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVy
cm9yIH07CisgICAgLy8gVGhpcyBiZWhhdmlvciBpcyBub3QgcGFydCBvZiB0aGUgc3BlY2lmaWNh
dGlvbi4gVGhpcyBpcyBkb25lIGZvciBjb25zaXN0ZW5jeSB3aXRoIEJsaW5rLgorICAgIGlmIChj
b250ZXh0LmlzU3RvcHBlZCgpIHx8ICFjb250ZXh0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkK
KyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciwgIkNhbm5vdCBjcmVh
dGUgYSBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlIGluIGEgZGV0YWNoZWQgZnJhbWUi
X3MgfTsKIAogICAgIGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZShjb250ZXh0KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKaW5k
ZXggM2Q5MmNjZmI0MDA1NGZjMzc3NzRmNTNjZjBiYmVhNDU2NjhiMWYxMy4uZThiNTlhYjY4MjY0
ZTkzMTE0MzlmZTA0MmJhNzNkMWQ4YjgzY2QzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5j
cHAKQEAgLTQzLDkgKzQzLDYgQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2VOb2RlPj4gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSgKIHsKICAgICBSRUxF
QVNFX0FTU0VSVChvcHRpb25zLm1lZGlhU3RyZWFtKTsKIAotICAgIGlmIChjb250ZXh0LmlzU3Rv
cHBlZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsK
LQogICAgIGF1dG8gYXVkaW9UcmFja3MgPSBvcHRpb25zLm1lZGlhU3RyZWFtLT5nZXRBdWRpb1Ry
YWNrcygpOwogICAgIGlmIChhdWRpb1RyYWNrcy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk1lZGlhIHN0cmVhbSBoYXMgbm8gYXVkaW8g
dHJhY2tzIl9zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L09zY2lsbGF0b3JOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3Nj
aWxsYXRvck5vZGUuY3BwCmluZGV4IGY1YjllMTM1MjBjYmQ5Njc0Nzk0MDg5ZmM3YzQ1MzZiMTZl
NmYzMTIuLmM4MWEyMGRjZTE1MGJhZTEwYTJhMDU2OWM3NDhiNWIzZmJmYThjZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwCkBA
IC02Miw5ICs2Miw2IEBAIHN0YXRpYyB2b2lkIGNsYW1wRnJlcXVlbmN5KGZsb2F0KiBmcmVxdWVu
Y3ksIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MsIGZsb2F0IG55cXVpCiAKIEV4Y2VwdGlvbk9yPFJl
ZjxPc2NpbGxhdG9yTm9kZT4+IE9zY2lsbGF0b3JOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4
dCYgY29udGV4dCwgY29uc3QgT3NjaWxsYXRvck9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYg
KGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciB9OwotCiAgICAgaWYgKG9wdGlvbnMudHlwZSA9PSBPc2NpbGxhdG9yVHlwZTo6
Q3VzdG9tICYmICFvcHRpb25zLnBlcmlvZGljV2F2ZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IEludmFsaWRTdGF0ZUVycm9yLCAiTXVzdCBwcm92aWRlIHBlcmlvZGljV2F2ZSB3aGVuIHVz
aW5nIGN1c3RvbSB0eXBlLiJfcyB9OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKaW5kZXggZWYxYjM1ZmM0OTZiNWIwYjE3Y2E5NThhNDI0
N2NlYjI0MzhjODFlOC4uOGRjMzYwYzc1MjQ0ZDc3NGYwOTJkMGNiMjFhNThjYzNmMjFlZWVjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCkBA
IC01Nyw5ICs1Nyw2IEBAIFBhbm5lck5vZGVCYXNlOjpQYW5uZXJOb2RlQmFzZShCYXNlQXVkaW9D
b250ZXh0JiBjb250ZXh0KQogCiBFeGNlcHRpb25PcjxSZWY8UGFubmVyTm9kZT4+IFBhbm5lck5v
ZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBjb25zdCBQYW5uZXJPcHRpb25z
JiBvcHRpb25zKQogewotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGF1dG8gcGFubmVyID0g
YWRvcHRSZWYoKm5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIG9wdGlvbnMpKTsKIAogICAgIGF1dG8g
cmVzdWx0ID0gcGFubmVyLT5oYW5kbGVBdWRpb05vZGVPcHRpb25zKG9wdGlvbnMsIHsgMiwgQ2hh
bm5lbENvdW50TW9kZTo6Q2xhbXBlZE1heCwgQ2hhbm5lbEludGVycHJldGF0aW9uOjpTcGVha2Vy
cyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9k
aWNXYXZlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZl
LmNwcAppbmRleCA5NGMzNzBlYzM2NzlmY2Y2NjllNzEwODA1NGIyMDI3YWNiZTE2NzIzLi45ZWQ0
ZGVkZDY3MzJmOGNiOTA2NWZmNzljNmQ2ZTllNDIzMTgwZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwCkBAIC02MSw5ICs2MSw2IEBA
IFJlZjxQZXJpb2RpY1dhdmU+IFBlcmlvZGljV2F2ZTo6Y3JlYXRlKGZsb2F0IHNhbXBsZVJhdGUs
IEZsb2F0MzJBcnJheSYgcmVhbCwgRmxvCiAKIEV4Y2VwdGlvbk9yPFJlZjxQZXJpb2RpY1dhdmU+
PiBQZXJpb2RpY1dhdmU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBQZXJpb2Rp
Y1dhdmVPcHRpb25zJiYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkK
LSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KICAgICBW
ZWN0b3I8ZmxvYXQ+IHJlYWw7CiAgICAgVmVjdG9yPGZsb2F0PiBpbWFnOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVyTm9kZS5jcHAK
aW5kZXggOGRhNzA3YzJiY2RjNmI3ZDIwZDZiNGVlOWFlNWI3ZjY2NjRmYmRiMS4uMjI4N2Y1OTMz
NmU3MGE0MjQ1YzcwYzU0Y2I5ZGIwYWVmZjlkZTg2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuY3BwCkBAIC00MSw5ICs0MSw2
IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChTdGVyZW9QYW5uZXJOb2RlKTsKIAogRXhj
ZXB0aW9uT3I8UmVmPFN0ZXJlb1Bhbm5lck5vZGU+PiBTdGVyZW9QYW5uZXJOb2RlOjpjcmVhdGUo
QmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RlcmVvUGFubmVyT3B0aW9ucyYgb3B0
aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0gICAgCiAgICAgYXV0byBzdGVyZW8gPSBh
ZG9wdFJlZigqbmV3IFN0ZXJlb1Bhbm5lck5vZGUoY29udGV4dCwgb3B0aW9ucy5wYW4pKTsKICAg
ICAKICAgICBhdXRvIHJlc3VsdCA9IHN0ZXJlby0+aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhvcHRp
b25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6OkNsYW1wZWRNYXgsIENoYW5uZWxJbnRlcnByZXRh
dGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2F2ZVNoYXBlck5vZGUuY3BwCmluZGV4IGQ2ZmUzNzM4OGUxOTA1MzFmNjQyYzgwMDNlYmYy
M2MwZTFhZWRmMjMuLjY4MWY0MGExNGQwM2E3YWQ4YzhkM2NhMjI5MDMzYWJjZWQ3MTY5NDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUu
Y3BwCkBAIC0zOSw5ICszOSw2IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXYXZlU2hh
cGVyTm9kZSk7CiAKIEV4Y2VwdGlvbk9yPFJlZjxXYXZlU2hhcGVyTm9kZT4+IFdhdmVTaGFwZXJO
b2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgY29uc3QgV2F2ZVNoYXBlck9w
dGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotCiAgICAgUmVmUHRyPEZs
b2F0MzJBcnJheT4gY3VydmU7CiAgICAgaWYgKG9wdGlvbnMuY3VydmUpIHsKICAgICAgICAgY3Vy
dmUgPSBGbG9hdDMyQXJyYXk6OnRyeUNyZWF0ZShvcHRpb25zLmN1cnZlLT5kYXRhKCksIG9wdGlv
bnMuY3VydmUtPnNpemUoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjkwNWQzMGNjOTQyZDNiZWNlM2ZkNWUxOGNjNjQ3
NWU1MjlhMjkyNy4uNjNmMzdjNzQ5ODY5MTRmY2YyYWQ3MDUxYTdmYTBiYzhiNGJjZjc2YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA5LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0aW5nIGFuIEF1ZGlvTm9kZSBmb3IgYSBjbG9zZWQg
Y29udGV4dCBzaG91bGQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTk0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgor
CisgICAgICAgICogd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uL2NyZWF0ZS1p
bi1kZXN0cm95ZWQtY29udGV4dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViYXVkaW8vY29u
c3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYmF1ZGlvL2NvbnN0cnVjdC1ub2RlLXdpdGgtY2xvc2VkLWNvbnRleHQuaHRtbDog
QWRkZWQuCisKIDIwMjAtMDktMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OKDI2NzUwNCk6IFsgbWFjT1MgXSB3ZWJhdWRpby9zaWxlbmNlLWFm
dGVyLXBsYXliYWNrLmh0bWwgcmVzdWx0cyBtaXNzaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb24vY3JlYXRlLWluLWRlc3Ryb3ll
ZC1jb250ZXh0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL01lZGlhU3RyZWFt
QXVkaW9EZXN0aW5hdGlvbi9jcmVhdGUtaW4tZGVzdHJveWVkLWNvbnRleHQtZXhwZWN0ZWQudHh0
CmluZGV4IDE1YjMwMzdlMWIxM2QwYjcyNzMxNTQ2YTE3MDRkYTQzODcyYWMyNTUuLmM4ZWQ4MTRj
YTFjYjE5Y2IwZDhiYjdjNjU0Yjk1ZGJiOGVlZmU5NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbi9jcmVhdGUtaW4tZGVzdHJveWVk
LWNvbnRleHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL01lZGlhU3Ry
ZWFtQXVkaW9EZXN0aW5hdGlvbi9jcmVhdGUtaW4tZGVzdHJveWVkLWNvbnRleHQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsMyBAQAogCi1GQUlMIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUgY3JlYXRpb24gaW4gY2xvc2VkIGlmcmFtZSB0aHJvd3MgZXJyb3IgYXNzZXJ0X3Rocm93c19k
b206IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgbGV0IHN0cmVhbSA9IGlmcmFtZV9hYy5jcmVhdGVN
ZWRpYVN0cmVhbURlc3RpbmF0aW9uKCk7Ci0gIH0iIHRocmV3IG9iamVjdCAiSW52YWxpZFN0YXRl
RXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4iIHRoYXQgaXMgbm90IGEg
RE9NRXhjZXB0aW9uIE5vdEFsbG93ZWRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRv
IDExLCBleHBlY3RlZCAwCitQQVNTIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUgY3Jl
YXRpb24gaW4gY2xvc2VkIGlmcmFtZSB0aHJvd3MgZXJyb3IgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2NvbnN0cnVjdC1ub2RlLXdpdGgtY2xvc2VkLWNvbnRleHQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQt
Y29udGV4dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc2MDM0NWZlNjkyOGIxNmNmNzc3Yjdj
ODFiNjlmYjgyYzY4MjRiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L2NvbnN0cnVjdC1ub2RlLXdpdGgtY2xvc2VkLWNvbnRleHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNDUgQEAKK01ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCB0aHJvdyBhbiBleGNlcHRpb24gd2hl
biBjb25zdHJ1Y3RpbmcgYW4gQXVkaW9Ob2RlIHdpdGggYSBjbG9zZWQgY29udGV4dC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbmV3IEFuYWx5c2VyTm9kZShjb250ZXh0
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IEF1ZGlvQnVmZmVyU291cmNlTm9k
ZShjb250ZXh0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IEJpcXVhZEZpbHRl
ck5vZGUoY29udGV4dCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyBDaGFubmVs
TWVyZ2VyTm9kZShjb250ZXh0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IENo
YW5uZWxTcGxpdHRlck5vZGUoY29udGV4dCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IG5ldyBDb25zdGFudFNvdXJjZU5vZGUoY29udGV4dCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIG5ldyBDb252b2x2ZXJOb2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuZXcgRGVsYXlOb2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBuZXcgRHluYW1pY3NDb21wcmVzc29yTm9kZShjb250ZXh0KSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbmV3IEdhaW5Ob2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBuZXcgSUlSRmlsdGVyTm9kZShjb250ZXh0LCB7IGZlZWRmb3J3YXJkOiBbMV0s
IGZlZWRiYWNrOiBbMSwgLTAuOV0gfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5l
dyBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUoY29udGV4dCwgeyBtZWRpYUVsZW1lbnQ6IG5l
dyBBdWRpbyB9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IE1lZGlhU3RyZWFt
QXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4dCkgdGhyZXcgZXhjZXB0aW9uIE5vdEFsbG93ZWRF
cnJvcjogQ2Fubm90IGNyZWF0ZSBhIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUgaW4g
YSBkZXRhY2hlZCBmcmFtZS4KK1BBU1MgbmV3IE9zY2lsbGF0b3JOb2RlKGNvbnRleHQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgUGFubmVyTm9kZShjb250ZXh0KSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IFBlcmlvZGljV2F2ZShjb250ZXh0KSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IFN0ZXJlb1Bhbm5lck5vZGUoY29udGV4dCkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyBXYXZlU2hhcGVyTm9kZShjb250ZXh0KSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVBbmFseXNlcigpIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0LmNyZWF0ZUJ1ZmZlclNvdXJjZSgp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0LmNyZWF0ZUJpcXVhZEZpbHRl
cigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0LmNyZWF0ZUNoYW5uZWxN
ZXJnZXIoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVDaGFu
bmVsU3BsaXR0ZXIoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVh
dGVDb25zdGFudFNvdXJjZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0
LmNyZWF0ZUNvbnZvbHZlcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0
LmNyZWF0ZURlbGF5KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3Jl
YXRlRHluYW1pY3NDb21wcmVzc29yKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNv
bnRleHQuY3JlYXRlR2FpbigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0
LmNyZWF0ZUlJUkZpbHRlcihbMV0sIFsxLCAtMC45XSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIGNvbnRleHQuY3JlYXRlTWVkaWFFbGVtZW50U291cmNlKG5ldyBBdWRpbykgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1EZXN0aW5h
dGlvbigpIHRocmV3IGV4Y2VwdGlvbiBOb3RBbGxvd2VkRXJyb3I6IENhbm5vdCBjcmVhdGUgYSBN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlIGluIGEgZGV0YWNoZWQgZnJhbWUuCitQQVNT
IGNvbnRleHQuY3JlYXRlT3NjaWxsYXRvcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBjb250ZXh0LmNyZWF0ZVBhbm5lcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBj
b250ZXh0LmNyZWF0ZVBlcmlvZGljV2F2ZShbMSwgMl0sIFsxLCAyXSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRlU3RlcmVvUGFubmVyKCkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRlV2F2ZVNoYXBlcigpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2NvbnN0cnVjdC1ub2Rl
LXdpdGgtY2xvc2VkLWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2NvbnN0cnVj
dC1ub2RlLXdpdGgtY2xvc2VkLWNvbnRleHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTU2ZmFjNGYxZWNm
ZTI0YzQ1ZjMxNjY5YjRiMmFmYzdlNWM1ZWJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4dC5odG1sCkBAIC0w
LDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIk1ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCB0aHJvdyBhbiBleGNlcHRpb24gd2hlbiBjb25z
dHJ1Y3RpbmcgYW4gQXVkaW9Ob2RlIHdpdGggYSBjbG9zZWQgY29udGV4dC4iKTsKKworY29uc3Qg
aWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7CitsZXQgY29udGV4dCA9IG5ldyBpZnJhbWUuY29udGVudFdp
bmRvdy5BdWRpb0NvbnRleHQoKTsKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKTsK
Kworc2hvdWxkTm90VGhyb3coIm5ldyBBbmFseXNlck5vZGUoY29udGV4dCkiKTsKK3Nob3VsZE5v
dFRocm93KCJuZXcgQXVkaW9CdWZmZXJTb3VyY2VOb2RlKGNvbnRleHQpIik7CitzaG91bGROb3RU
aHJvdygibmV3IEJpcXVhZEZpbHRlck5vZGUoY29udGV4dCkiKTsKK3Nob3VsZE5vdFRocm93KCJu
ZXcgQ2hhbm5lbE1lcmdlck5vZGUoY29udGV4dCkiKTsKK3Nob3VsZE5vdFRocm93KCJuZXcgQ2hh
bm5lbFNwbGl0dGVyTm9kZShjb250ZXh0KSIpOworc2hvdWxkTm90VGhyb3coIm5ldyBDb25zdGFu
dFNvdXJjZU5vZGUoY29udGV4dCkiKTsKK3Nob3VsZE5vdFRocm93KCJuZXcgQ29udm9sdmVyTm9k
ZShjb250ZXh0KSIpOworc2hvdWxkTm90VGhyb3coIm5ldyBEZWxheU5vZGUoY29udGV4dCkiKTsK
K3Nob3VsZE5vdFRocm93KCJuZXcgRHluYW1pY3NDb21wcmVzc29yTm9kZShjb250ZXh0KSIpOwor
c2hvdWxkTm90VGhyb3coIm5ldyBHYWluTm9kZShjb250ZXh0KSIpOworc2hvdWxkTm90VGhyb3co
Im5ldyBJSVJGaWx0ZXJOb2RlKGNvbnRleHQsIHsgZmVlZGZvcndhcmQ6IFsxXSwgZmVlZGJhY2s6
IFsxLCAtMC45XSB9KSIpOworc2hvdWxkTm90VGhyb3coIm5ldyBNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUoY29udGV4dCwgeyBtZWRpYUVsZW1lbnQ6IG5ldyBBdWRpbyB9KSIpOworc2hvdWxk
VGhyb3dFcnJvck5hbWUoIm5ldyBNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKGNvbnRl
eHQpIiwgIk5vdEFsbG93ZWRFcnJvciIpOyAvLyBOb3QgcGVyIHNwZWNpZmljYXRpb24gYnV0IHRo
aXMgaXMgQmxpbmsncyBiZWhhdmlvci4KK3Nob3VsZE5vdFRocm93KCJuZXcgT3NjaWxsYXRvck5v
ZGUoY29udGV4dCkiKTsKK3Nob3VsZE5vdFRocm93KCJuZXcgUGFubmVyTm9kZShjb250ZXh0KSIp
Oworc2hvdWxkTm90VGhyb3coIm5ldyBQZXJpb2RpY1dhdmUoY29udGV4dCkiKTsKK3Nob3VsZE5v
dFRocm93KCJuZXcgU3RlcmVvUGFubmVyTm9kZShjb250ZXh0KSIpOworc2hvdWxkTm90VGhyb3co
Im5ldyBXYXZlU2hhcGVyTm9kZShjb250ZXh0KSIpOworCitzaG91bGROb3RUaHJvdygiY29udGV4
dC5jcmVhdGVBbmFseXNlcigpIik7CitzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVCdWZm
ZXJTb3VyY2UoKSIpOworc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlQmlxdWFkRmlsdGVy
KCkiKTsKK3Nob3VsZE5vdFRocm93KCJjb250ZXh0LmNyZWF0ZUNoYW5uZWxNZXJnZXIoKSIpOwor
c2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlQ2hhbm5lbFNwbGl0dGVyKCkiKTsKK3Nob3Vs
ZE5vdFRocm93KCJjb250ZXh0LmNyZWF0ZUNvbnN0YW50U291cmNlKCkiKTsKK3Nob3VsZE5vdFRo
cm93KCJjb250ZXh0LmNyZWF0ZUNvbnZvbHZlcigpIik7CitzaG91bGROb3RUaHJvdygiY29udGV4
dC5jcmVhdGVEZWxheSgpIik7CitzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVEeW5hbWlj
c0NvbXByZXNzb3IoKSIpOworc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlR2FpbigpIik7
CitzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVJSVJGaWx0ZXIoWzFdLCBbMSwgLTAuOV0p
Iik7CitzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UobmV3
IEF1ZGlvKSIpOworc2hvdWxkVGhyb3dFcnJvck5hbWUoImNvbnRleHQuY3JlYXRlTWVkaWFTdHJl
YW1EZXN0aW5hdGlvbigpIiwgIk5vdEFsbG93ZWRFcnJvciIpOyAvLyBOb3QgcGVyIHNwZWNpZmlj
YXRpb24gYnV0IHRoaXMgaXMgQmxpbmsncyBiZWhhdmlvci4KK3Nob3VsZE5vdFRocm93KCJjb250
ZXh0LmNyZWF0ZU9zY2lsbGF0b3IoKSIpOworc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRl
UGFubmVyKCkiKTsKK3Nob3VsZE5vdFRocm93KCJjb250ZXh0LmNyZWF0ZVBlcmlvZGljV2F2ZShb
MSwgMl0sIFsxLCAyXSkiKTsKK3Nob3VsZE5vdFRocm93KCJjb250ZXh0LmNyZWF0ZVN0ZXJlb1Bh
bm5lcigpIik7CitzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVXYXZlU2hhcGVyKCkiKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409763</attachid>
            <date>2020-09-25 18:03:32 -0700</date>
            <delta_ts>2020-09-26 15:14:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216994-20200925180331.patch</filename>
            <type>text/plain</type>
            <size>34365</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYxZWI4MjViM2QwOGQ5
YTk0OGU0NDAzMmQzN2NmZmVjYTEzMjk2Yy4uNmI4ZTkzZDYxNjFkNDU0MjgwNjc3NjMxYzFiN2Vj
ZGE3MTY0YTUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTA5LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0aW5nIGFuIEF1
ZGlvTm9kZSBmb3IgYSBjbG9zZWQgY29udGV4dCBzaG91bGQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTk0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc3Ry
dWN0aW5nIGFuIEF1ZGlvTm9kZSBmb3IgYSBjbG9zZWQgY29udGV4dCBzaG91bGQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbi4gVGhpcworICAgICAgICBiZWhhdmlvciBpcyBub3QgYXMgcGVyIHNwZWNp
ZmljYXRpb24gYW5kIGRvZXMgbm90IG1hdGNoIHRoZSBiZWhhdmlvciBvZiBDaHJvbWUgJgorICAg
ICAgICBGaXJlZm94IGVpdGhlci4KKworICAgICAgICBUZXN0OiB3ZWJhdWRpby9jb25zdHJ1Y3Qt
bm9kZS13aXRoLWNsb3NlZC1jb250ZXh0Lmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQW5hbHlzZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuYWx5c2VyTm9kZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmNyZWF0ZSk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb0NvbnRleHQ6OmxhenlJbml0aWFsaXplKToKKyAgICAgICAgKFdl
YkNvcmU6OkJhc2VBdWRpb0NvbnRleHQ6OnNhbXBsZVJhdGUgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWRGaWx0
ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdl
ck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNoYW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc3RhbnRTb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQ29udm9sdmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2RlOjpj
cmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRlbGF5Tm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHluYW1p
Y3NDb21wcmVzc29yTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dh
aW5Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpjcmVhdGUpOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJSVJGaWx0ZXJOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3Nj
aWxsYXRvck5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmNyZWF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyaW9kaWNXYXZlOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU3RlcmVv
UGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdGVyZW9QYW5uZXJOb2RlOjpjcmVh
dGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlck5vZGU6OmNyZWF0ZSk6CisKIDIwMjAtMDktMjUgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ3J1bmNoeXJv
bGwgcGxheWJhY2sgY29udHJvbHMgZG8gbm90IHdvcmsgb24gaVBhZCB3aXRoIHRyYWNrcGFkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHAKaW5k
ZXggM2ZkZjIzOGU5ZTdkNGU1ODM5ZTIxYTAzMWY4Y2EyODliYWE2Y2NjYy4uMTI2MDhjNjVkNGRj
ZmUxMDdjNzJiNGYxZTUzNTY5YmYwZGFmOGVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcApAQCAtMzgsOSArMzgsNiBAQCBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoQW5hbHlzZXJOb2RlKTsKIAogRXhjZXB0aW9uT3I8UmVmPEFu
YWx5c2VyTm9kZT4+IEFuYWx5c2VyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IEFuYWx5c2VyT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5p
c1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
IH07Ci0gICAgCiAgICAgYXV0byBhbmFseXNlciA9IGFkb3B0UmVmKCpuZXcgQW5hbHlzZXJOb2Rl
KGNvbnRleHQpKTsKICAgICAKICAgICBhdXRvIHJlc3VsdCA9IGFuYWx5c2VyLT5oYW5kbGVBdWRp
b05vZGVPcHRpb25zKG9wdGlvbnMsIHsgMiwgQ2hhbm5lbENvdW50TW9kZTo6TWF4LCBDaGFubmVs
SW50ZXJwcmV0YXRpb246OlNwZWFrZXJzIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCmluZGV4IDc4ZGQz
ZTVkYjA5MjlmYjJiNGY1YTExMTFjYThmY2UyMzExYjZlOTIuLmE5NWJjZDZlNzU5OTRlMDA3OTU1
MDdkZmZkNDU3ODYyYWJlYjk0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKQEAgLTY3LDkgKzY3LDYg
QEAgc3RhdGljIGZsb2F0IGNvbXB1dGVTYW1wbGVVc2luZ0xpbmVhckludGVycG9sYXRpb24oY29u
c3QgZmxvYXQqIHNvdXJjZSwgdW5zaWduZWQKIAogRXhjZXB0aW9uT3I8UmVmPEF1ZGlvQnVmZmVy
U291cmNlTm9kZT4+IEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRl
eHQmIGNvbnRleHQsIEF1ZGlvQnVmZmVyU291cmNlT3B0aW9ucyYmIG9wdGlvbnMpCiB7Ci0gICAg
aWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkU3RhdGVFcnJvciB9OwotCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYoKm5ldyBBdWRpb0J1
ZmZlclNvdXJjZU5vZGUoY29udGV4dCkpOwogCiAgICAgbm9kZS0+c2V0QnVmZmVyKFdURk1vdmUo
b3B0aW9ucy5idWZmZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCmluZGV4IDdkZGMzMjE4MjA3Yzk0ZjQxZDkxOTExZDBm
ZTI5NWQzYjYwYjA1ZDUuLjIzZGI2NmI2NWYwMDg3MzM4Zjk0NjYyNzA1NWYxZmJhODk5MGUwNDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9D
b250ZXh0LmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkF1ZGlvQnVmZmVyQ2FsbGJh
Y2suaCIKICNpbmNsdWRlICJBdWRpb0J1ZmZlck9wdGlvbnMuaCIKICNpbmNsdWRlICJBdWRpb0J1
ZmZlclNvdXJjZU5vZGUuaCIKKyNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCiAjaW5jbHVk
ZSAiQXVkaW9MaXN0ZW5lci5oIgogI2luY2x1ZGUgIkF1ZGlvTm9kZUlucHV0LmgiCiAjaW5jbHVk
ZSAiQXVkaW9Ob2RlT3V0cHV0LmgiCkBAIC0yMDcsNyArMjA4LDggQEAgQmFzZUF1ZGlvQ29udGV4
dDo6fkJhc2VBdWRpb0NvbnRleHQoKQogCiB2b2lkIEJhc2VBdWRpb0NvbnRleHQ6OmxhenlJbml0
aWFsaXplKCkKIHsKLSAgICBBU1NFUlQoIW1faXNTdG9wU2NoZWR1bGVkKTsKKyAgICBpZiAoaXNT
dG9wcGVkKCkpCisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChtX2lzSW5pdGlhbGl6ZWQpCiAg
ICAgICAgIHJldHVybjsKQEAgLTM3NCw2ICszNzYsMTEgQEAgRG9jdW1lbnRJZGVudGlmaWVyIEJh
c2VBdWRpb0NvbnRleHQ6Omhvc3RpbmdEb2N1bWVudElkZW50aWZpZXIoKSBjb25zdAogICAgIHJl
dHVybiBkb2N1bWVudCA/IGRvY3VtZW50LT5pZGVudGlmaWVyKCkgOiBEb2N1bWVudElkZW50aWZp
ZXIgeyB9OwogfQogCitmbG9hdCBCYXNlQXVkaW9Db250ZXh0OjpzYW1wbGVSYXRlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUgPyBtX2Rlc3RpbmF0aW9uTm9kZS0+c2Ft
cGxlUmF0ZSgpIDogQXVkaW9EZXN0aW5hdGlvbjo6aGFyZHdhcmVTYW1wbGVSYXRlKCk7Cit9CisK
IGJvb2wgQmFzZUF1ZGlvQ29udGV4dDo6aXNTdXNwZW5kZWQoKSBjb25zdAogewogICAgIHJldHVy
biAhZG9jdW1lbnQoKSB8fCBkb2N1bWVudCgpLT5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVk
KCkgfHwgZG9jdW1lbnQoKS0+YWN0aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKTsKQEAgLTQ2Nywx
MSArNDc0LDYgQEAgRXhjZXB0aW9uT3I8UmVmPFNjcmlwdFByb2Nlc3Nvck5vZGU+PiBCYXNlQXVk
aW9Db250ZXh0OjpjcmVhdGVTY3JpcHRQcm9jZXNzb3Ioc2kKICAgICAKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogCi0gICAgaWYgKG1faXNTdG9wU2NoZWR1bGVkKQotICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQotICAgIGxhenlJbml0aWFsaXpl
KCk7Ci0KICAgICAvLyBXM0MgRWRpdG9yJ3MgRHJhZnQgMDYgSnVuZSAyMDE3CiAgICAgLy8gIGh0
dHBzOi8vd2ViYXVkaW8uZ2l0aHViLmlvL3dlYi1hdWRpby1hcGkvI3dpZGwtQmFzZUF1ZGlvQ29u
dGV4dC1jcmVhdGVTY3JpcHRQcm9jZXNzb3ItU2NyaXB0UHJvY2Vzc29yTm9kZS11bnNpZ25lZC1s
b25nLWJ1ZmZlclNpemUtdW5zaWduZWQtbG9uZy1udW1iZXJPZklucHV0Q2hhbm5lbHMtdW5zaWdu
ZWQtbG9uZy1udW1iZXJPZk91dHB1dENoYW5uZWxzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKaW5kZXggODg2NWViZjhkNmEwYWUz
ZGVjNzEzYzA3OWYxNTdkZTAyYmEzN2VhMC4uMzQ1YjEwNzAzNTIxYTM4MmZjMTA4ZWM2NjQ3ZTU4
MzNkNjI1M2Q2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9C
YXNlQXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9C
YXNlQXVkaW9Db250ZXh0LmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgQXVkaW9E
ZXN0aW5hdGlvbk5vZGUqIGRlc3RpbmF0aW9uKCkgeyByZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUu
Z2V0KCk7IH0KICAgICBzaXplX3QgY3VycmVudFNhbXBsZUZyYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9kZXN0aW5hdGlvbk5vZGUgPyBtX2Rlc3RpbmF0aW9uTm9kZS0+Y3VycmVudFNhbXBsZUZyYW1l
KCkgOiAwOyB9CiAgICAgZG91YmxlIGN1cnJlbnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXN0
aW5hdGlvbk5vZGUgPyBtX2Rlc3RpbmF0aW9uTm9kZS0+Y3VycmVudFRpbWUoKSA6IDAuOyB9Ci0g
ICAgZmxvYXQgc2FtcGxlUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlID8g
bV9kZXN0aW5hdGlvbk5vZGUtPnNhbXBsZVJhdGUoKSA6IDAuZjsgfQorICAgIGZsb2F0IHNhbXBs
ZVJhdGUoKSBjb25zdDsKICAgICB1bnNpZ25lZCBsb25nIGFjdGl2ZVNvdXJjZUNvdW50KCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4obV9hY3RpdmVTb3VyY2VDb3Vu
dCk7IH0KIAogICAgIHZvaWQgaW5jcmVtZW50QWN0aXZlU291cmNlQ291bnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuY3BwCmlu
ZGV4IDhkYWUzNWFkZWU3Njk2OTE2MzQxY2M0Y2FiOGY5NWNlMTliNjkyZGQuLjk4NTEzYzY0MjFl
YTVlZDdmMDQ5YTk4M2E3N2UzY2I5YzcxMzk1YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmNwcApAQCAtMzUsOSArMzUsNiBA
QCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQmlxdWFkRmlsdGVyTm9kZSk7CiAKIEV4Y2Vw
dGlvbk9yPFJlZjxCaXF1YWRGaWx0ZXJOb2RlPj4gQmlxdWFkRmlsdGVyTm9kZTo6Y3JlYXRlKEJh
c2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEJpcXVhZEZpbHRlck9wdGlvbnMmIG9wdGlv
bnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotCiAgICAgYXV0byBub2RlID0gYWRvcHRSZWYo
Km5ldyBCaXF1YWRGaWx0ZXJOb2RlKGNvbnRleHQpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gbm9k
ZS0+aGFuZGxlQXVkaW9Ob2RlT3B0aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6
Ok1heCwgQ2hhbm5lbEludGVycHJldGF0aW9uOjpTcGVha2VycyB9KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAKaW5kZXgg
OWM4ZDI5ZGRjZTBhODE1Y2FlMGFhNWM3ZjlhYTI1MWNlMGFjMzYwOS4uOGJlYjJhYzY3NzkyMTY2
YzI5N2FiN2JiODg1YzBjYzRkNTg3MGIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2VyTm9kZS5jcHAKQEAgLTQzLDkgKzQzLDYgQEAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENoYW5uZWxNZXJnZXJOb2RlKTsKIAogRXhjZXB0
aW9uT3I8UmVmPENoYW5uZWxNZXJnZXJOb2RlPj4gQ2hhbm5lbE1lcmdlck5vZGU6OmNyZWF0ZShC
YXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBjb25zdCBDaGFubmVsTWVyZ2VyT3B0aW9ucyYgb3B0
aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0gICAgCiAgICAgaWYgKG9wdGlvbnMubnVt
YmVyT2ZJbnB1dHMgPiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSB8fCAhb3B0
aW9ucy5udW1iZXJPZklucHV0cykKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEluZGV4U2l6
ZUVycm9yLCAiTnVtYmVyIG9mIGlucHV0cyBpcyBub3QgaW4gdGhlIGFsbG93ZWQgcmFuZ2UuIl9z
IH07CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0No
YW5uZWxTcGxpdHRlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9D
aGFubmVsU3BsaXR0ZXJOb2RlLmNwcAppbmRleCBhYzJlNjdjYzNhM2E4NzE4OGZmNDAwZDRiNDdl
NGVlM2NmZmU5NjJkLi44ZGJkZTJmNDliNTk5N2E2NGE0NDcyYTM0NjdmYzM1ODNiZjBhNTY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRl
ck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNw
bGl0dGVyTm9kZS5jcHAKQEAgLTM5LDkgKzM5LDYgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKENoYW5uZWxTcGxpdHRlck5vZGUpOwogCiBFeGNlcHRpb25PcjxSZWY8Q2hhbm5lbFNwbGl0
dGVyTm9kZT4+IENoYW5uZWxTcGxpdHRlck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBj
b250ZXh0LCBjb25zdCBDaGFubmVsU3BsaXR0ZXJPcHRpb25zJiBvcHRpb25zKQogewotICAgIGlm
IChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IgfTsKLSAgICAKICAgICBpZiAob3B0aW9ucy5udW1iZXJPZk91dHB1dHMgPiBB
dWRpb0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSB8fCAhb3B0aW9ucy5udW1iZXJPZk91
dHB1dHMpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciwgIk51bWJl
ciBvZiBvdXRwdXRzIGlzIG5vdCBpbiB0aGUgYWxsb3dlZCByYW5nZSJfcyB9OwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5v
ZGUuY3BwCmluZGV4IDhjMzhmN2I5MDcyZmI5NGM1ZjVlYTFlMGEwN2EzN2NiMjJmM2Q0NmIuLjQy
NjYyYTgzMGFmZmQ2Y2Y3YjVlOWVjOGMzOTU1MDY5MzM2NTlhYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5jcHAKQEAg
LTQxLDkgKzQxLDYgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKENvbnN0YW50U291cmNl
Tm9kZSk7CiAKIEV4Y2VwdGlvbk9yPFJlZjxDb25zdGFudFNvdXJjZU5vZGU+PiBDb25zdGFudFNv
dXJjZU5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250ZXh0JiBjb250ZXh0LCBjb25zdCBDb25zdGFu
dFNvdXJjZU9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkp
Ci0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotICAgIAog
ICAgIGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcgQ29uc3RhbnRTb3VyY2VOb2RlKGNvbnRleHQs
IG9wdGlvbnMub2Zmc2V0KSk7CiAgICAgCiAgICAgY29udGV4dC5yZWZOb2RlKG5vZGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAKaW5k
ZXggNGVhZGI3Yzk2MTU1NmIzY2I4NjYwNmY2ODk1YWRjMjY0Yjk5ODFjNy4uNTRhZDA0NDU2NDg0
ZmUxN2RhMjEwNWE3MTI4MTY1OWNmMThkNTU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCkBAIC01Nyw5ICs1Nyw2IEBAIHN0YXRp
YyB1bnNpZ25lZCBjb21wdXRlTnVtYmVyT2ZPdXRwdXRDaGFubmVscyh1bnNpZ25lZCBpbnB1dENo
YW5uZWxzLCB1bnNpZ25lZCByCiAKIEV4Y2VwdGlvbk9yPFJlZjxDb252b2x2ZXJOb2RlPj4gQ29u
dm9sdmVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIENvbnZvbHZlck9w
dGlvbnMmJiBvcHRpb25zKQogewotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGF1dG8gbm9k
ZSA9IGFkb3B0UmVmKCpuZXcgQ29udm9sdmVyTm9kZShjb250ZXh0KSk7CiAKICAgICBhdXRvIHJl
c3VsdCA9IG5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVs
Q291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNwZWFrZXJzIH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuY3BwCmluZGV4
IDQ2YzJlZjRkZjQ5ODlmZjlmMWVlZjE0MmFmMDhkMTY3ZTFiNDg2ZGEuLjgxNGQ2OWRkMjYxM2Qz
NmE5NmFmNjA4YmQ1NjBiOWU1ZWM0OWE3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKQEAgLTQ5LDkgKzQ5LDYgQEAgaW5saW5lIERlbGF5Tm9k
ZTo6RGVsYXlOb2RlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGRvdWJsZSBtYXhEZWxheVRp
bWUpCiAKIEV4Y2VwdGlvbk9yPFJlZjxEZWxheU5vZGU+PiBEZWxheU5vZGU6OmNyZWF0ZShCYXNl
QXVkaW9Db250ZXh0JiBjb250ZXh0LCBjb25zdCBEZWxheU9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0g
ICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkU3RhdGVFcnJvciB9OwotCiAgICAgaWYgKG9wdGlvbnMubWF4RGVsYXlUaW1lIDw9IDAg
fHwgb3B0aW9ucy5tYXhEZWxheVRpbWUgPj0gbWF4aW11bUFsbG93ZWREZWxheVRpbWUpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JO
b2RlLmNwcAppbmRleCA2NDg4NjBiN2VkNGQxY2NmZDAxNmI5MzgxZmU1ODRjMDkwNWQ5NTcxLi41
MWI2YjJjMDk4YzQwNDkyYmZhYzc5MTVhM2QwMzA1YzhjNmYzOGY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9k
ZS5jcHAKQEAgLTQ3LDkgKzQ3LDYgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYktp
dER5bmFtaWNzQ29tcHJlc3Nvck5vZGUpOwogCiBFeGNlcHRpb25PcjxSZWY8RHluYW1pY3NDb21w
cmVzc29yTm9kZT4+IER5bmFtaWNzQ29tcHJlc3Nvck5vZGU6OmNyZWF0ZShCYXNlQXVkaW9Db250
ZXh0JiBjb250ZXh0LCBjb25zdCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zJiBvcHRpb25zKQog
ewotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGF1dG8gbm9kZSA9IGFkb3B0UmVmKCpuZXcg
RHluYW1pY3NDb21wcmVzc29yTm9kZShjb250ZXh0LCBvcHRpb25zKSk7CiAKICAgICBhdXRvIHJl
c3VsdCA9IG5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVs
Q291bnRNb2RlOjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNwZWFrZXJzIH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAppbmRleCBk
NjM0YjE1MmVkMGVmNGZiOWYxYWE3ZmQ4NDJmNWE3YTVlNDc4MjdiLi4yMDQ3OTAzMzAwNTljMDc4
YWJmMjFlYzMyMjgzZmVhYzk2MTI1NWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0dhaW5Ob2RlLmNwcApAQCAtNDAsOSArNDAsNiBAQCBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoR2Fpbk5vZGUpOwogCiBFeGNlcHRpb25PcjxSZWY8R2Fpbk5vZGU+PiBHYWluTm9k
ZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEdhaW5PcHRpb25zJiBv
cHRpb25zKQogewotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGF1dG8gZ2Fpbk5vZGUgPSBh
ZG9wdFJlZigqbmV3IEdhaW5Ob2RlKGNvbnRleHQpKTsKIAogICAgIGF1dG8gcmVzdWx0ID0gZ2Fp
bk5vZGUtPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVsQ291bnRN
b2RlOjpNYXgsIENoYW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmNwcAppbmRleCAwMzMy
NWM2M2FiNzc4MGQ5NDE1NTdlZGI3ZTdhM2JlOTM4NWUyODQ4Li4wZWQ2ZTYxNzljMDRiYTkwMzQ2
MTgzNmQ5NGZlOTZhZGIwMGI3ZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5jcHAKQEAgLTg0LDkgKzg0LDYgQEAgc3RhdGljIGJvb2wg
aXNGaWx0ZXJTdGFibGUoY29uc3QgVmVjdG9yPGRvdWJsZT4mIGZlZWRiYWNrKQogCiBFeGNlcHRp
b25PcjxSZWY8SUlSRmlsdGVyTm9kZT4+IElJUkZpbHRlck5vZGU6OmNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBCYXNlQXVkaW9Db250ZXh0JiBj
b250ZXh0LCBJSVJGaWx0ZXJPcHRpb25zJiYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29udGV4dC5p
c1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
IH07Ci0KICAgICBpZiAoIW9wdGlvbnMuZmVlZGZvcndhcmQuc2l6ZSgpIHx8IG9wdGlvbnMuZmVl
ZGZvcndhcmQuc2l6ZSgpID4gSUlSRmlsdGVyOjptYXhPcmRlcikKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yLCAiZmVlZGZvcndhcmQgYXJyYXkgbXVzdCBoYXZl
IGEgbGVuZ3RoIGJldHdlZW4gMSBhbmQgMjAiX3MgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUuY3BwCmluZGV4IGViMWMxODM3ZTVkN2EyM2NiMzMzYmRhMWQ3MWU4MDQzNTZkMzE3MGMuLjcz
MWI1ZmRlNzA1M2Q4Yjc5YzYyMjJhMzc2NzI3YzljNTA2ZmJmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZS5jcHAKQEAgLTQ5LDkgKzQ5LDYgQEAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZT4+IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6Y3JlYXQK
IHsKICAgICBSRUxFQVNFX0FTU0VSVChvcHRpb25zLm1lZGlhRWxlbWVudCk7CiAKLSAgICBpZiAo
Y29udGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRT
dGF0ZUVycm9yIH07Ci0KICAgICBpZiAob3B0aW9ucy5tZWRpYUVsZW1lbnQtPmF1ZGlvU291cmNl
Tm9kZSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJN
ZWRpYSBlbGVtZW50IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFuIGF1ZGlvIHNvdXJjZSBu
b2RlIl9zIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDQ3
MzY5ZDU0MzU1NWUzNDAzNGQ3MzJjNDM4YmFiM2QyMThmNTcyZjYuLjk0NDQ2YWJiZmM5MjFjODI0
MDFkOWRlMDA5NjVmZTRmM2U1N2Y4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcApAQCAtNDEsOCArNDEsOSBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTWVk
aWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSk7CiAKIEV4Y2VwdGlvbk9yPFJlZjxNZWRpYVN0
cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlPj4gTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9k
ZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEF1ZGlvTm9kZU9wdGlv
bnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OworICAgIC8vIFRoaXMgYmVoYXZp
b3IgaXMgbm90IHBhcnQgb2YgdGhlIHNwZWNpZmljYXRpb24uIFRoaXMgaXMgZG9uZSBmb3IgY29u
c2lzdGVuY3kgd2l0aCBCbGluay4KKyAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSB8fCAhY29u
dGV4dC5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBOb3RBbGxvd2VkRXJyb3IsICJDYW5ub3QgY3JlYXRlIGEgTWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZSBpbiBhIGRldGFjaGVkIGZyYW1lIl9zIH07CiAKICAgICBhdXRvIG5vZGUgPSBh
ZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4dCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVk
aWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IDNkOTJjY2ZiNDAwNTRmYzM3Nzc0ZjUz
Y2YwYmJlYTQ1NjY4YjFmMTMuLmU4YjU5YWI2ODI2NGU5MzExNDM5ZmUwNDJiYTczZDFkOGI4M2Nk
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC00Myw5ICs0Myw2IEBAIEV4Y2Vw
dGlvbk9yPFJlZjxNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4+IE1lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlOjpjcmVhdGUoCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob3B0aW9ucy5tZWRpYVN0
cmVhbSk7CiAKLSAgICBpZiAoY29udGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KICAgICBhdXRvIGF1ZGlvVHJhY2tzID0g
b3B0aW9ucy5tZWRpYVN0cmVhbS0+Z2V0QXVkaW9UcmFja3MoKTsKICAgICBpZiAoYXVkaW9UcmFj
a3MuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IsICJNZWRpYSBzdHJlYW0gaGFzIG5vIGF1ZGlvIHRyYWNrcyJfcyB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcAppbmRleCBmNWI5
ZTEzNTIwY2JkOTY3NDc5NDA4OWZjN2M0NTM2YjE2ZTZmMzEyLi5jODFhMjBkY2UxNTBiYWUxMGEy
YTA1NjljNzQ4YjViM2ZiZmE4Y2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL09zY2lsbGF0b3JOb2RlLmNwcApAQCAtNjIsOSArNjIsNiBAQCBzdGF0aWMgdm9p
ZCBjbGFtcEZyZXF1ZW5jeShmbG9hdCogZnJlcXVlbmN5LCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNz
LCBmbG9hdCBueXF1aQogCiBFeGNlcHRpb25PcjxSZWY8T3NjaWxsYXRvck5vZGU+PiBPc2NpbGxh
dG9yTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IE9zY2lsbGF0
b3JPcHRpb25zJiBvcHRpb25zKQogewotICAgIGlmIChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQogICAgIGlmIChv
cHRpb25zLnR5cGUgPT0gT3NjaWxsYXRvclR5cGU6OkN1c3RvbSAmJiAhb3B0aW9ucy5wZXJpb2Rp
Y1dhdmUpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk11
c3QgcHJvdmlkZSBwZXJpb2RpY1dhdmUgd2hlbiB1c2luZyBjdXN0b20gdHlwZS4iX3MgfTsKICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCmlu
ZGV4IGVmMWIzNWZjNDk2YjViMGIxN2NhOTU4YTQyNDdjZWIyNDM4YzgxZTguLjhkYzM2MGM3NTI0
NGQ3NzRmMDkyZDBjYjIxYTU4Y2MzZjIxZWVlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcApAQCAtNTcsOSArNTcsNiBAQCBQYW5uZXJOb2Rl
QmFzZTo6UGFubmVyTm9kZUJhc2UoQmFzZUF1ZGlvQ29udGV4dCYgY29udGV4dCkKIAogRXhjZXB0
aW9uT3I8UmVmPFBhbm5lck5vZGU+PiBQYW5uZXJOb2RlOjpjcmVhdGUoQmFzZUF1ZGlvQ29udGV4
dCYgY29udGV4dCwgY29uc3QgUGFubmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBpZiAoY29u
dGV4dC5pc1N0b3BwZWQoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0
ZUVycm9yIH07Ci0KICAgICBhdXRvIHBhbm5lciA9IGFkb3B0UmVmKCpuZXcgUGFubmVyTm9kZShj
b250ZXh0LCBvcHRpb25zKSk7CiAKICAgICBhdXRvIHJlc3VsdCA9IHBhbm5lci0+aGFuZGxlQXVk
aW9Ob2RlT3B0aW9ucyhvcHRpb25zLCB7IDIsIENoYW5uZWxDb3VudE1vZGU6OkNsYW1wZWRNYXgs
IENoYW5uZWxJbnRlcnByZXRhdGlvbjo6U3BlYWtlcnMgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5jcHAKaW5kZXggOTRjMzcwZWMzNjc5ZmNm
NjY5ZTcxMDgwNTRiMjAyN2FjYmUxNjcyMy4uOWVkNGRlZGQ2NzMyZjhjYjkwNjVmZjc5YzZkNmU5
ZTQyMzE4MGZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Q
ZXJpb2RpY1dhdmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVy
aW9kaWNXYXZlLmNwcApAQCAtNjEsOSArNjEsNiBAQCBSZWY8UGVyaW9kaWNXYXZlPiBQZXJpb2Rp
Y1dhdmU6OmNyZWF0ZShmbG9hdCBzYW1wbGVSYXRlLCBGbG9hdDMyQXJyYXkmIHJlYWwsIEZsbwog
CiBFeGNlcHRpb25PcjxSZWY8UGVyaW9kaWNXYXZlPj4gUGVyaW9kaWNXYXZlOjpjcmVhdGUoQmFz
ZUF1ZGlvQ29udGV4dCYgY29udGV4dCwgUGVyaW9kaWNXYXZlT3B0aW9ucyYmIG9wdGlvbnMpCiB7
Ci0gICAgaWYgKGNvbnRleHQuaXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciB9OwotCiAgICAgVmVjdG9yPGZsb2F0PiByZWFsOwogICAgIFZl
Y3RvcjxmbG9hdD4gaW1hZzsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuY3BwCmluZGV4IDhkYTcwN2MyYmNkYzZiN2QyMGQ2
YjRlZTlhZTViN2Y2NjY0ZmJkYjEuLjIyODdmNTkzMzZlNzBhNDI0NWM3MGM1NGNiOWRiMGFlZmY5
ZGU4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU3RlcmVv
UGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TdGVy
ZW9QYW5uZXJOb2RlLmNwcApAQCAtNDEsOSArNDEsNiBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoU3RlcmVvUGFubmVyTm9kZSk7CiAKIEV4Y2VwdGlvbk9yPFJlZjxTdGVyZW9QYW5uZXJO
b2RlPj4gU3RlcmVvUGFubmVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IFN0ZXJlb1Bhbm5lck9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgaWYgKGNvbnRleHQu
aXNTdG9wcGVkKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJv
ciB9OwotICAgIAogICAgIGF1dG8gc3RlcmVvID0gYWRvcHRSZWYoKm5ldyBTdGVyZW9QYW5uZXJO
b2RlKGNvbnRleHQsIG9wdGlvbnMucGFuKSk7CiAgICAgCiAgICAgYXV0byByZXN1bHQgPSBzdGVy
ZW8tPmhhbmRsZUF1ZGlvTm9kZU9wdGlvbnMob3B0aW9ucywgeyAyLCBDaGFubmVsQ291bnRNb2Rl
OjpDbGFtcGVkTWF4LCBDaGFubmVsSW50ZXJwcmV0YXRpb246OlNwZWFrZXJzIH0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAppbmRl
eCBkNmZlMzczODhlMTkwNTMxZjY0MmM4MDAzZWJmMjNjMGUxYWVkZjIzLi42ODFmNDBhMTRkMDNh
N2FkOGM4ZDNjYTIyOTAzM2FiY2VkNzE2OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcApAQCAtMzksOSArMzksNiBAQCBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2F2ZVNoYXBlck5vZGUpOwogCiBFeGNlcHRpb25PcjxS
ZWY8V2F2ZVNoYXBlck5vZGU+PiBXYXZlU2hhcGVyTm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFdhdmVTaGFwZXJPcHRpb25zJiBvcHRpb25zKQogewotICAgIGlm
IChjb250ZXh0LmlzU3RvcHBlZCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IgfTsKLQogICAgIFJlZlB0cjxGbG9hdDMyQXJyYXk+IGN1cnZlOwogICAgIGlm
IChvcHRpb25zLmN1cnZlKSB7CiAgICAgICAgIGN1cnZlID0gRmxvYXQzMkFycmF5Ojp0cnlDcmVh
dGUob3B0aW9ucy5jdXJ2ZS0+ZGF0YSgpLCBvcHRpb25zLmN1cnZlLT5zaXplKCkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDQ2OWJmNmIwZWVmMDIwZGMyOGQ4OTBlMGZlNjU5MzgyMWYwZmMyZjkuLjU3YmMzNDc2Y2VmNDM5
OTUwYWYxY2JmOWMyOTk0ZGEwYmExYzY0MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0w
OS0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIENvbnN0cnVj
dGluZyBhbiBBdWRpb05vZGUgZm9yIGEgY2xvc2VkIGNvbnRleHQgc2hvdWxkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjk5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC93cHQvd2ViYXVkaW8vYXVkaW9jb250ZXh0LXN0b3BwZWQtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1ZGlvL2F1ZGlvY29udGV4dC1zdG9w
cGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgIERyb3Agb3V0ZGF0ZWQgdGVzdC4gSXQgaXMgcmVw
bGFjZWQgd2l0aCB0aGUgbmV3IHRlc3QgSSBhbSBpbnRyb2R1Y2luZy4KKworICAgICAgICAqIHdl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbi9jcmVhdGUtaW4tZGVzdHJveWVkLWNv
bnRleHQtZXhwZWN0ZWQudHh0OgorICAgICAgICBSZWJhc2VsaW5lIEJsaW5rLWltcG9ydGVkIHRl
c3QgdGhhdCBpcyBub3cgcGFzc2luZy4KKworICAgICAgICAqIHdlYmF1ZGlvL2NvbnN0cnVjdC1u
b2RlLXdpdGgtY2xvc2VkLWNvbnRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJhdWRpby9jb25zdHJ1Y3Qtbm9kZS13aXRoLWNsb3NlZC1jb250ZXh0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKIDIwMjAtMDktMjUgIEthcmwgUmFj
a2xlciAgPHJhY2tsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjY5MzIp
OiBbIENhdGFsaW5hIHdrMiBdIGZhc3Qvc2Nyb2xsaW5nL2xhdGNoaW5nL2xhdGNoZWQtc2Nyb2xs
LWludG8tbm9uZmFzdC1yZWdpb24uaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1ZGlvL2F1ZGlvY29udGV4dC1zdG9wcGVkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1ZGlvL2F1ZGlvY29udGV4dC1zdG9w
cGVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNmZmQ0NTkz
MTcyYjI4MzEwNWFmM2U1MTJhZmVhZGZlOTE4NWM3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdWRpby9hdWRp
b2NvbnRleHQtc3RvcHBlZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCww
IEBACi0KLQotUEFTUyBMb2FkIHRlc3QgaWZyYW1lIAotUEFTUyBjcmVhdGVCdWZmZXJTb3VyY2Ug
Ci1QQVNTIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZSAKLVBBU1MgY3JlYXRlTWVkaWFTdHJlYW1E
ZXN0aW5hdGlvbiAKLVBBU1MgY3JlYXRlR2FpbiAKLVBBU1MgY3JlYXRlRGVsYXkgCi1QQVNTIGNy
ZWF0ZUJpcXVhZEZpbHRlciAKLVBBU1MgY3JlYXRlV2F2ZVNoYXBwZXIgCi1QQVNTIGNyZWF0ZVBh
bm5lciAKLVBBU1MgY3JlYXRlQ29udm9sdmVyIAotUEFTUyBjcmVhdGVEeW5hbWljc0NvbXByZXNz
b3IgCi1QQVNTIGNyZWF0ZUFuYWx5c2VyIAotUEFTUyBjcmVhdGVTY3JpcHRQcm9jZXNzb3IgCi1Q
QVNTIGNyZWF0ZU9zY2lsbGF0b3IgCi1QQVNTIGNyZWF0ZVBlcmlvZGljV2F2ZSAKLVBBU1Mgc3Vz
cGVuZCAKLVBBU1MgcmVzdW1lIAotUEFTUyBjbG9zZSAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViYXVkaW8vYXVkaW9jb250ZXh0LXN0b3BwZWQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1ZGlvL2F1ZGlvY29udGV4dC1zdG9wcGVkLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjNjA2YzE3NWEyZGQzMzZiZTI3NGNhNmJkMjNlMDFlZjdj
Y2UwYjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViYXVkaW8vYXVkaW9jb250ZXh0LXN0b3BwZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTx2aWRlbyBpZD0idmlkZW8iPjwvdmlkZW8+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gd2l0aF9pZnJhbWUodXJsKSB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9u
KHJlc29sdmUpIHsKLSAgICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aWZyYW1lJyk7Ci0gICAgICAgIGZyYW1lLmNsYXNzTmFtZSA9ICd0ZXN0LWlmcmFtZSc7Ci0gICAg
ICAgIGZyYW1lLnNyYyA9IHVybDsKLSAgICAgICAgZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7
IHJlc29sdmUoZnJhbWUpOyB9OwotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZy
YW1lKTsKLSAgICB9KTsKLX0KLQotdmFyIGNvbnRleHQ7Ci1wcm9taXNlX3Rlc3QoYXN5bmMgKCkg
PT4gewotICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKCJyZXNvdXJjZXMvYXVk
aW9jb250ZXh0LXN0b3BwZWQtaWZyYW1lLmh0bWwiKTsKLSAgICBkb21FeGNlcHRpb25Db25zdHJ1
Y3RvciA9IGlmcmFtZS5jb250ZW50V2luZG93LkRPTUV4Y2VwdGlvbjsKLSAgICBjb250ZXh0ID0g
aWZyYW1lLmNvbnRlbnRXaW5kb3cuYXVkaW9Db250ZXh0OwotICAgIGlmcmFtZS5yZW1vdmUoKTsK
LQotICAgIHJ1blRlc3RzKCk7Ci19LCAiTG9hZCB0ZXN0IGlmcmFtZSIpOwotCi1mdW5jdGlvbiBy
dW5UZXN0cygpCi17Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCdJbnZhbGlkU3RhdGVFcnJvcicsIGRvbUV4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoKSA9PiBjb250
ZXh0LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpKTsKLSAgICB9LCAiY3JlYXRlQnVmZmVyU291cmNlIik7
Ci0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3Rh
dGVFcnJvcicsIGRvbUV4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoKSA9PiBjb250ZXh0LmNyZWF0ZU1l
ZGlhRWxlbWVudFNvdXJjZSh2aWRlbykpOwotICAgIH0sICJjcmVhdGVNZWRpYUVsZW1lbnRTb3Vy
Y2UiKTsKLQotICAgIHRlc3QoKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52
YWxpZFN0YXRlRXJyb3InLCBkb21FeGNlcHRpb25Db25zdHJ1Y3RvciwgKCkgPT4gY29udGV4dC5j
cmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9uKCkpOwotICAgIH0sICJjcmVhdGVNZWRpYVN0cmVh
bURlc3RpbmF0aW9uIik7Ci0KLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93
c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgZG9tRXhjZXB0aW9uQ29uc3RydWN0b3IsICgpID0+
IGNvbnRleHQuY3JlYXRlR2FpbigpKTsKLSAgICB9LCAiY3JlYXRlR2FpbiIpOwotCi0gICAgdGVz
dCgoKSA9PiB7Ci0gICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcics
IGRvbUV4Y2VwdGlvbkNvbnN0cnVjdG9yLCAoKSA9PiBjb250ZXh0LmNyZWF0ZURlbGF5KCkpOwot
ICAgIH0sICJjcmVhdGVEZWxheSIpOwotCi0gICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIGRvbUV4Y2VwdGlvbkNvbnN0cnVjdG9y
LCAoKSA9PiBjb250ZXh0LmNyZWF0ZUJpcXVhZEZpbHRlcigpKTsKLSAgICB9LCAiY3JlYXRlQmlx
dWFkRmlsdGVyIik7Ci0KLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93c19k
b20oJ0ludmFsaWRTdGF0ZUVycm9yJywgZG9tRXhjZXB0aW9uQ29uc3RydWN0b3IsICgpID0+IGNv
bnRleHQuY3JlYXRlV2F2ZVNoYXBlcigpKTsKLSAgICB9LCAiY3JlYXRlV2F2ZVNoYXBwZXIiKTsK
LQotICAgIHRlc3QoKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0
YXRlRXJyb3InLCBkb21FeGNlcHRpb25Db25zdHJ1Y3RvciwgKCkgPT4gY29udGV4dC5jcmVhdGVQ
YW5uZXIoKSk7Ci0gICAgfSwgImNyZWF0ZVBhbm5lciIpOwotCi0gICAgdGVzdCgoKSA9PiB7Ci0g
ICAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsIGRvbUV4Y2VwdGlv
bkNvbnN0cnVjdG9yLCAoKSA9PiBjb250ZXh0LmNyZWF0ZUNvbnZvbHZlcigpKTsKLSAgICB9LCAi
Y3JlYXRlQ29udm9sdmVyIik7Ci0KLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Ro
cm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgZG9tRXhjZXB0aW9uQ29uc3RydWN0b3IsICgp
ID0+IGNvbnRleHQuY3JlYXRlRHluYW1pY3NDb21wcmVzc29yKCkpOwotICAgIH0sICJjcmVhdGVE
eW5hbWljc0NvbXByZXNzb3IiKTsKLQotICAgIHRlc3QoKCkgPT4gewotICAgICAgICBhc3NlcnRf
dGhyb3dzX2RvbSgnSW52YWxpZFN0YXRlRXJyb3InLCBkb21FeGNlcHRpb25Db25zdHJ1Y3Rvciwg
KCkgPT4gY29udGV4dC5jcmVhdGVBbmFseXNlcigpKTsKLSAgICB9LCAiY3JlYXRlQW5hbHlzZXIi
KTsgCi0KLSAgICB0ZXN0KCgpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFs
aWRTdGF0ZUVycm9yJywgZG9tRXhjZXB0aW9uQ29uc3RydWN0b3IsICgpID0+IGNvbnRleHQuY3Jl
YXRlU2NyaXB0UHJvY2Vzc29yKCkpOwotICAgIH0sICJjcmVhdGVTY3JpcHRQcm9jZXNzb3IiKTsK
LQotICAgIHRlc3QoKCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnSW52YWxpZFN0
YXRlRXJyb3InLCBkb21FeGNlcHRpb25Db25zdHJ1Y3RvciwgKCkgPT4gY29udGV4dC5jcmVhdGVP
c2NpbGxhdG9yKCkpOwotICAgIH0sICJjcmVhdGVPc2NpbGxhdG9yIik7Ci0KLSAgICB0ZXN0KCgp
ID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywgZG9t
RXhjZXB0aW9uQ29uc3RydWN0b3IsICgpID0+IGNvbnRleHQuY3JlYXRlUGVyaW9kaWNXYXZlKG5l
dyBGbG9hdDMyQXJyYXkoMSksIG5ldyBGbG9hdDMyQXJyYXkoMSkpKTsKLSAgICB9LCAiY3JlYXRl
UGVyaW9kaWNXYXZlIik7Ci0KLSAgICBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKLSAgICAgICAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19kb20odGVzdCwgJ0ludmFsaWRTdGF0ZUVycm9yJywgY29u
dGV4dC5zdXNwZW5kKCkpOwotICAgIH0sICJzdXNwZW5kIik7Ci0KLSAgICBwcm9taXNlX3Rlc3Qo
KHRlc3QpID0+IHsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19kb20odGVzdCwgJ0lu
dmFsaWRTdGF0ZUVycm9yJywgY29udGV4dC5yZXN1bWUoKSk7Ci0gICAgfSwgInJlc3VtZSIpOwot
Ci0gICAgcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfZG9tKHRlc3QsICdJbnZhbGlkU3RhdGVFcnJvcicsIGNvbnRleHQuY2xvc2UoKSk7Ci0g
ICAgfSwgImNsb3NlIik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbi9jcmVh
dGUtaW4tZGVzdHJveWVkLWNvbnRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uL2NyZWF0ZS1pbi1kZXN0cm95ZWQtY29udGV4
dC1leHBlY3RlZC50eHQKaW5kZXggMTViMzAzN2UxYjEzZDBiNzI3MzE1NDZhMTcwNGRhNDM4NzJh
YzI1NS4uYzhlZDgxNGNhMWNiMTljYjBkOGJiN2M2NTRiOTVkYmI4ZWVmZTk1NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uL2NyZWF0
ZS1pbi1kZXN0cm95ZWQtY29udGV4dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uL2NyZWF0ZS1pbi1kZXN0cm95ZWQtY29u
dGV4dC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACiAKLUZBSUwgTWVkaWFTdHJlYW1BdWRp
b0Rlc3RpbmF0aW9uTm9kZSBjcmVhdGlvbiBpbiBjbG9zZWQgaWZyYW1lIHRocm93cyBlcnJvciBh
c3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsKLSAgICBsZXQgc3RyZWFtID0gaWZy
YW1lX2FjLmNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24oKTsKLSAgfSIgdGhyZXcgb2JqZWN0
ICJJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLiIg
dGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90QWxsb3dlZEVycm9yOiBwcm9wZXJ0eSAiY29k
ZSIgaXMgZXF1YWwgdG8gMTEsIGV4cGVjdGVkIDAKK1BBU1MgTWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZSBjcmVhdGlvbiBpbiBjbG9zZWQgaWZyYW1lIHRocm93cyBlcnJvciAKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQt
Y29udGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9jb25zdHJ1Y3Qtbm9k
ZS13aXRoLWNsb3NlZC1jb250ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjY1MjY5YjJh
ODFkYTkxOThhNDZmMmYyODcyZTU3YmYwYjZjZDc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4dC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0OSBAQAorTWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IHRocm93IGFu
IGV4Y2VwdGlvbiB3aGVuIGNvbnN0cnVjdGluZyBhbiBBdWRpb05vZGUgd2l0aCBhIGNsb3NlZCBj
b250ZXh0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBuZXcgQW5hbHlz
ZXJOb2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgQXVkaW9C
dWZmZXJTb3VyY2VOb2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
ZXcgQmlxdWFkRmlsdGVyTm9kZShjb250ZXh0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgbmV3IENoYW5uZWxNZXJnZXJOb2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuZXcgQ2hhbm5lbFNwbGl0dGVyTm9kZShjb250ZXh0KSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbmV3IENvbnN0YW50U291cmNlTm9kZShjb250ZXh0KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IENvbnZvbHZlck5vZGUoY29udGV4dCkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyBEZWxheU5vZGUoY29udGV4dCkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIG5ldyBEeW5hbWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgR2Fpbk5vZGUoY29udGV4dCkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyBJSVJGaWx0ZXJOb2RlKGNvbnRleHQsIHsgZmVl
ZGZvcndhcmQ6IFsxXSwgZmVlZGJhY2s6IFsxLCAtMC45XSB9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgbmV3IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCB7IG1l
ZGlhRWxlbWVudDogbmV3IEF1ZGlvIH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
ZXcgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZShjb250ZXh0KSB0aHJldyBleGNlcHRp
b24gTm90QWxsb3dlZEVycm9yOiBDYW5ub3QgY3JlYXRlIGEgTWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZSBpbiBhIGRldGFjaGVkIGZyYW1lLgorUEFTUyBuZXcgT3NjaWxsYXRvck5vZGUo
Y29udGV4dCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyBQYW5uZXJOb2RlKGNv
bnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgUGVyaW9kaWNXYXZlKGNv
bnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgU3RlcmVvUGFubmVyTm9k
ZShjb250ZXh0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmV3IFdhdmVTaGFwZXJO
b2RlKGNvbnRleHQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250ZXh0LmNyZWF0
ZUFuYWx5c2VyKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRl
QnVmZmVyU291cmNlKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3Jl
YXRlQmlxdWFkRmlsdGVyKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQu
Y3JlYXRlQ2hhbm5lbE1lcmdlcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBjb250
ZXh0LmNyZWF0ZUNoYW5uZWxTcGxpdHRlcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBjb250ZXh0LmNyZWF0ZUNvbnN0YW50U291cmNlKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIGNvbnRleHQuY3JlYXRlQ29udm9sdmVyKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIGNvbnRleHQuY3JlYXRlRGVsYXkoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgY29udGV4dC5jcmVhdGVEeW5hbWljc0NvbXByZXNzb3IoKSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVHYWluKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIGNvbnRleHQuY3JlYXRlSUlSRmlsdGVyKFsxXSwgWzEsIC0wLjldKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UobmV3
IEF1ZGlvKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVNZWRp
YVN0cmVhbURlc3RpbmF0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIE5vdEFsbG93ZWRFcnJvcjogQ2Fu
bm90IGNyZWF0ZSBhIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUgaW4gYSBkZXRhY2hl
ZCBmcmFtZS4KK1BBU1MgY29udGV4dC5jcmVhdGVPc2NpbGxhdG9yKCkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRlUGFubmVyKCkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRlUGVyaW9kaWNXYXZlKFsxLCAyXSwgWzEsIDJdKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVTdGVyZW9QYW5uZXIo
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgY29udGV4dC5jcmVhdGVXYXZlU2hhcGVy
KCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuY3JlYXRlU2NyaXB0UHJv
Y2Vzc29yKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGNvbnRleHQuc3VzcGVuZCgp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMg
aW4gYW4gaW52YWxpZCBzdGF0ZS4uCitQQVNTIGNvbnRleHQucmVzdW1lKCkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlk
IHN0YXRlLi4KK1BBU1MgY29udGV4dC5jbG9zZSgpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52
YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4uCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQtY29udGV4
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vY29uc3RydWN0LW5vZGUtd2l0aC1jbG9zZWQt
Y29udGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5MWVmMDYzZTgzOTRiMzBlNWFlYzQ3MzQwNzJmNzgz
YWZiODVmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9jb25zdHJ1
Y3Qtbm9kZS13aXRoLWNsb3NlZC1jb250ZXh0Lmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZXMgc3VyZSB0aGF0
IHdlIGRvbid0IHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIGNvbnN0cnVjdGluZyBhbiBBdWRpb05v
ZGUgd2l0aCBhIGNsb3NlZCBjb250ZXh0LiIpOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICBjb250ZXh0ID0gbmV3IGlmcmFt
ZS5jb250ZW50V2luZG93LkF1ZGlvQ29udGV4dCgpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoaWZyYW1lKTsKKworICAgIHNob3VsZE5vdFRocm93KCJuZXcgQW5hbHlzZXJOb2RlKGNv
bnRleHQpIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBBdWRpb0J1ZmZlclNvdXJjZU5vZGUo
Y29udGV4dCkiKTsKKyAgICBzaG91bGROb3RUaHJvdygibmV3IEJpcXVhZEZpbHRlck5vZGUoY29u
dGV4dCkiKTsKKyAgICBzaG91bGROb3RUaHJvdygibmV3IENoYW5uZWxNZXJnZXJOb2RlKGNvbnRl
eHQpIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBDaGFubmVsU3BsaXR0ZXJOb2RlKGNvbnRl
eHQpIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBDb25zdGFudFNvdXJjZU5vZGUoY29udGV4
dCkiKTsKKyAgICBzaG91bGROb3RUaHJvdygibmV3IENvbnZvbHZlck5vZGUoY29udGV4dCkiKTsK
KyAgICBzaG91bGROb3RUaHJvdygibmV3IERlbGF5Tm9kZShjb250ZXh0KSIpOworICAgIHNob3Vs
ZE5vdFRocm93KCJuZXcgRHluYW1pY3NDb21wcmVzc29yTm9kZShjb250ZXh0KSIpOworICAgIHNo
b3VsZE5vdFRocm93KCJuZXcgR2Fpbk5vZGUoY29udGV4dCkiKTsKKyAgICBzaG91bGROb3RUaHJv
dygibmV3IElJUkZpbHRlck5vZGUoY29udGV4dCwgeyBmZWVkZm9yd2FyZDogWzFdLCBmZWVkYmFj
azogWzEsIC0wLjldIH0pIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBNZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGUoY29udGV4dCwgeyBtZWRpYUVsZW1lbnQ6IG5ldyBBdWRpbyB9KSIpOwor
ICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJuZXcgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZShjb250ZXh0KSIsICJOb3RBbGxvd2VkRXJyb3IiKTsgLy8gTm90IHBlciBzcGVjaWZpY2F0
aW9uIGJ1dCB0aGlzIGlzIEJsaW5rJ3MgYmVoYXZpb3IuCisgICAgc2hvdWxkTm90VGhyb3coIm5l
dyBPc2NpbGxhdG9yTm9kZShjb250ZXh0KSIpOworICAgIHNob3VsZE5vdFRocm93KCJuZXcgUGFu
bmVyTm9kZShjb250ZXh0KSIpOworICAgIHNob3VsZE5vdFRocm93KCJuZXcgUGVyaW9kaWNXYXZl
KGNvbnRleHQpIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBTdGVyZW9QYW5uZXJOb2RlKGNv
bnRleHQpIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBXYXZlU2hhcGVyTm9kZShjb250ZXh0
KSIpOworCisgICAgc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlQW5hbHlzZXIoKSIpOwor
ICAgIHNob3VsZE5vdFRocm93KCJjb250ZXh0LmNyZWF0ZUJ1ZmZlclNvdXJjZSgpIik7CisgICAg
c2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlQmlxdWFkRmlsdGVyKCkiKTsKKyAgICBzaG91
bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVDaGFubmVsTWVyZ2VyKCkiKTsKKyAgICBzaG91bGRO
b3RUaHJvdygiY29udGV4dC5jcmVhdGVDaGFubmVsU3BsaXR0ZXIoKSIpOworICAgIHNob3VsZE5v
dFRocm93KCJjb250ZXh0LmNyZWF0ZUNvbnN0YW50U291cmNlKCkiKTsKKyAgICBzaG91bGROb3RU
aHJvdygiY29udGV4dC5jcmVhdGVDb252b2x2ZXIoKSIpOworICAgIHNob3VsZE5vdFRocm93KCJj
b250ZXh0LmNyZWF0ZURlbGF5KCkiKTsKKyAgICBzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVh
dGVEeW5hbWljc0NvbXByZXNzb3IoKSIpOworICAgIHNob3VsZE5vdFRocm93KCJjb250ZXh0LmNy
ZWF0ZUdhaW4oKSIpOworICAgIHNob3VsZE5vdFRocm93KCJjb250ZXh0LmNyZWF0ZUlJUkZpbHRl
cihbMV0sIFsxLCAtMC45XSkiKTsKKyAgICBzaG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVN
ZWRpYUVsZW1lbnRTb3VyY2UobmV3IEF1ZGlvKSIpOworICAgIHNob3VsZFRocm93RXJyb3JOYW1l
KCJjb250ZXh0LmNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24oKSIsICJOb3RBbGxvd2VkRXJy
b3IiKTsgLy8gTm90IHBlciBzcGVjaWZpY2F0aW9uIGJ1dCB0aGlzIGlzIEJsaW5rJ3MgYmVoYXZp
b3IuCisgICAgc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlT3NjaWxsYXRvcigpIik7Cisg
ICAgc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlUGFubmVyKCkiKTsKKyAgICBzaG91bGRO
b3RUaHJvdygiY29udGV4dC5jcmVhdGVQZXJpb2RpY1dhdmUoWzEsIDJdLCBbMSwgMl0pIik7Cisg
ICAgc2hvdWxkTm90VGhyb3coImNvbnRleHQuY3JlYXRlU3RlcmVvUGFubmVyKCkiKTsKKyAgICBz
aG91bGROb3RUaHJvdygiY29udGV4dC5jcmVhdGVXYXZlU2hhcGVyKCkiKTsKKyAgICBzaG91bGRO
b3RUaHJvdygiY29udGV4dC5jcmVhdGVTY3JpcHRQcm9jZXNzb3IoKSIpOworCisgICAgYXdhaXQg
c2hvdWxkUmVqZWN0V2l0aEVycm9yTmFtZSgiY29udGV4dC5zdXNwZW5kKCkiLCAiSW52YWxpZFN0
YXRlRXJyb3IiKTsKKyAgICBhd2FpdCBzaG91bGRSZWplY3RXaXRoRXJyb3JOYW1lKCJjb250ZXh0
LnJlc3VtZSgpIiwgIkludmFsaWRTdGF0ZUVycm9yIik7CisgICAgYXdhaXQgc2hvdWxkUmVqZWN0
V2l0aEVycm9yTmFtZSgiY29udGV4dC5jbG9zZSgpIiwgIkludmFsaWRTdGF0ZUVycm9yIik7Cit9
CisKK29ubG9hZCA9IHJ1blRlc3Q7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>