<?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>76180</bug_id>
          
          <creation_ts>2012-01-12 08:01:09 -0800</creation_ts>
          <short_desc>REGRESSION(r104805): Breaks apple win compilation. (Requested by vsevik on #webkit).</short_desc>
          <delta_ts>2012-01-12 08:14:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75302</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>morrita</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>534843</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 08:01:09 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/104805 broke the build:
Breaks apple win compilation. (Requested by vsevik on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534844</commentid>
    <comment_count>1</comment_count>
      <attachid>122244</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 08:01:40 -0800</bug_when>
    <thetext>Created attachment 122244
ROLLOUT of r104805

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534852</commentid>
    <comment_count>2</comment_count>
      <attachid>122244</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-12 08:14:47 -0800</bug_when>
    <thetext>Comment on attachment 122244
ROLLOUT of r104805

Clearing flags on attachment: 122244

Committed r104827: &lt;http://trac.webkit.org/changeset/104827&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534853</commentid>
    <comment_count>3</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-12 08:14:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122244</attachid>
            <date>2012-01-12 08:01:40 -0800</date>
            <delta_ts>2012-01-12 08:14:46 -0800</delta_ts>
            <desc>ROLLOUT of r104805</desc>
            <filename>bug-76180-20120112160233.patch</filename>
            <type>text/plain</type>
            <size>45414</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0ODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgxODI5ZTRkMjI2MTc5
ZjIxNWU3NTg2ZjYwMGE5NGZhMzdkZmRmYy4uYjk3YzUxZTkxNzdlOTFlZDExNjY5OTY0OWJhNTY0
OWI2YjNlNjRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTAxLTEyICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTA0ODA1LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMDQ4MDUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2MTgwCisKKyAgICAgICAgQnJlYWtzIGFwcGxlIHdpbiBjb21waWxhdGlvbi4g
KFJlcXVlc3RlZCBieSB2c2V2aWsgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29y
ZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9N
QWxsSW5PbmUuY3BwOgorICAgICAgICAqIGRvbS9TZWxlY3RvclF1ZXJ5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yUXVlcnk6OlNlbGVjdG9yUXVlcnkpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JRdWVyeTo6cXVlcnlBbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JR
dWVyeTo6cXVlcnlGaXJzdCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvclF1ZXJ5OjpjYW5V
c2VJZExvb2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvclF1ZXJ5OjpleGVjdXRlKToK
KyAgICAgICAgKiBkb20vU2VsZWN0b3JRdWVyeS5oOgorICAgICAgICAqIGRvbS9TaGFkb3dDb250
ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dDb250ZW50RWxlbWVudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd0NvbnRlbnRFbGVtZW50OjpTaGFkb3dD
b250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dDb250ZW50RWxlbWVudDo6
c2hvdWxkSW5jbHVkZSk6CisgICAgICAgICogZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50Lmg6Cisg
ICAgICAgICogZG9tL1NoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBkb20vU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBkb20vU2hhZG93SW5jbHVzaW9uU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93SW5jbHVzaW9uU2VsZWN0b3I6OnNlbGVjdCk6CisgICAgICAgICogZG9tL1NoYWRvd0lu
Y2x1c2lvblNlbGVjdG9yLmg6CisgICAgICAgICogaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGV0YWlsc0NvbnRlbnRFbGVtZW50OjpEZXRhaWxzQ29udGVu
dEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV0YWlsc0NvbnRlbnRFbGVtZW50OjpzaG91
bGRJbmNsdWRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldGFpbHNTdW1tYXJ5RWxlbWVudDo6RGV0
YWlsc1N1bW1hcnlFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldGFpbHNTdW1tYXJ5RWxl
bWVudDo6c2hvdWxkSW5jbHVkZSk6CisgICAgICAgICogaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VtbWFyeUNvbnRlbnRFbGVtZW50OjpTdW1tYXJ5Q29u
dGVudEVsZW1lbnQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQpOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRs
OgorCiAyMDEyLTAxLTEyICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgRml4IHR1cmJ1bGVuY2UgYnVnIHdoZW4gc3RpdGNoIHRpbGVzIGVuYWJsZWQgYW5k
IHJlbmRlcmVkIGluIHBhcmFsbGVsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDYwYjU3OGNmMDIw
YTU0NTBlZGI4ZDNlNWE3NDgxNmRkYTQwZDFlNDcuLjU5ZmNlZTI0NjgwNDc5OTUxNTY1NWIwN2Vh
NTFjMzdlZDE2NDUyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01OTQsNyArNTk0LDYgQEAg
U0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9TZWN1cml0eUNvbnRleHQuY3BwCiAgICAgZG9t
L1NlbGVjdG9yUXVlcnkuY3BwCiAgICAgZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmNwcAotICAg
IGRvbS9TaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5jcHAKICAgICBkb20vU2hhZG93SW5jbHVz
aW9uU2VsZWN0b3IuY3BwCiAgICAgZG9tL1NoYWRvd1Jvb3QuY3BwCiAgICAgZG9tL1NwYWNlU3Bs
aXRTdHJpbmcuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBmMTQ0ZjBkMmQx
NTY1MjFiZTlmZDc3ZWRjZjk3M2JjYzI5ZDc2MGMxLi45ZWFhZWNhZTM4ODZkMzU4ZWFiNTAwOWVl
ZjUyZjgxYzQ2ODIyN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE2NDUs
OCArMTY0NSw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1Nl
bGVjdG9yUXVlcnkuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggXAotCVNv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5jcHAgXAotCVNvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93SW5jbHVzaW9uU2VsZWN0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93SW5jbHVzaW9uU2VsZWN0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGUzZGI4OGQ0ZWJhMDIxZGNjZjgwZjI4ODBjOTkz
ZTcwODgwYTY5MTYuLjRiZWMyMTRmYWRjNGY2ZGE4NDY5MTQxODcwMDExOGMxNDNkYzE2MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtNTYwLDcgKzU2MCw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9TZWN1
cml0eUNvbnRleHQuY3BwIFwKICAgICBkb20vU2VsZWN0b3JRdWVyeS5jcHAgXAogICAgIGRvbS9T
aGFkb3dDb250ZW50RWxlbWVudC5jcHAgXAotICAgIGRvbS9TaGFkb3dDb250ZW50U2VsZWN0b3JR
dWVyeS5jcHAgXAogICAgIGRvbS9TaGFkb3dJbmNsdXNpb25TZWxlY3Rvci5jcHAgXAogICAgIGRv
bS9TaGFkb3dSb290LmNwcCBcCiAgICAgZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwIFwKQEAgLTE2
NjEsNyArMTY2MCw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmggXAogICAgIGRvbS9TZWxlY3RvclF1ZXJ5LmggXAogICAgIGRvbS9TaGFkb3dDb250ZW50
RWxlbWVudC5oIFwKLSAgICBkb20vU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkuaCBcCiAgICAg
ZG9tL1NoYWRvd0luY2x1c2lvblNlbGVjdG9yLmggXAogICAgIGRvbS9TaGFkb3dSb290LmggXAog
ICAgIGRvbS9TcGFjZVNwbGl0U3RyaW5nLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBlYjhm
OGQxZWEyNDhkMzUyMTk2MGQ0YWFiNDQ5ZGY3MTliNmVmOGMyLi41ZGIzN2JiNDE0MjVkNWRjOTQ1
YjMxOTVmZTM4Y2U0YjUzNzNhNGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNjAwLDcgKzYw
MCw3IEBAIF9fWk43V2ViQ29yZTIwUmVzb3VyY2VSZXNwb25zZUJhc2UyMHNldFN1Z2dlc3RlZEZp
bGVuYW1lRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMjBSZXNvdXJjZVJlc3BvbnNlQmFz
ZTI0c2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoRXgKIF9fWk43V2ViQ29yZTIwUmVzb3VyY2VSZXNw
b25zZUJhc2U2c2V0VVJMRVJLTlNfNEtVUkxFCiBfX1pON1dlYkNvcmUyMFJlc291cmNlUmVzcG9u
c2VCYXNlQzJFdgotX19aTjdXZWJDb3JlMjBTaGFkb3dDb250ZW50RWxlbWVudDZjcmVhdGVFUE5T
XzhEb2N1bWVudEVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmUyMFNoYWRvd0Nv
bnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RQogX19aTjdXZWJDb3JlMjBVc2VyR2Vz
dHVyZUluZGljYXRvcjdzX3N0YXRlRQogX19aTjdXZWJDb3JlMjBVc2VyR2VzdHVyZUluZGljYXRv
ckMxRU5TXzI2UHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGVFCiBfX1pON1dlYkNvcmUyMFVzZXJH
ZXN0dXJlSW5kaWNhdG9yRDFFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBmZTQ5M2UzY2E5NGRkNGM1
YTgwZjgzMzBiYmQ5OWQ2ZGM5NDY1NGUuLjVmYjVkMGY3NDBjMzhjMGY4ZDQ3MmIyZjdjY2M0YWYw
OTY5ZmFiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEwNDcsNyArMTA0Nyw2IEBACiAgICAgICAg
ICAgICAnZG9tL1NjcmlwdFJ1bm5lci5oJywKICAgICAgICAgICAgICdkb20vU2hhZG93Um9vdC5o
JywKICAgICAgICAgICAgICdkb20vU2hhZG93Q29udGVudEVsZW1lbnQuaCcsCi0gICAgICAgICAg
ICAnZG9tL1NoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmgnLAogICAgICAgICAgICAgJ2RvbS9T
cGFjZVNwbGl0U3RyaW5nLmgnLAogICAgICAgICAgICAgJ2RvbS9TdHlsZWRFbGVtZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9UZXh0LmgnLApAQCAtNTQ1Niw4ICs1NDU1LDYgQEAKICAgICAgICAg
ICAgICdkb20vU2VsZWN0b3JRdWVyeS5oJywKICAgICAgICAgICAgICdkb20vU2hhZG93Q29udGVu
dEVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICdkb20vU2hhZG93Q29udGVudEVsZW1lbnQuaCcs
Ci0gICAgICAgICAgICAnZG9tL1NoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcCcsCi0gICAg
ICAgICAgICAnZG9tL1NoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmgnLAogICAgICAgICAgICAg
J2RvbS9TaGFkb3dJbmNsdXNpb25TZWxlY3Rvci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9TaGFk
b3dJbmNsdXNpb25TZWxlY3Rvci5oJywKICAgICAgICAgICAgICdkb20vU2hhZG93Um9vdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBh
MmU5ZmQyOWViNDRhMjdiZjQ5NGQzZjczYjY2Zjg5OGMyMzZmMWE4Li5hZTc4NzA5MjVhYWFhNWE1
OTUyYTdlZDJjZGRkYjM5ZWFmMDI2MWYxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTExMDYsMTQgKzUxMTA2LDYgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFNoYWRvd0NvbnRlbnRT
ZWxlY3RvclF1ZXJ5LmNwcCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXFNoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmgiCi0JCQkJPgotCQkJ
PC9GaWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxTaGFkb3dJbmNsdXNp
b25TZWxlY3Rvci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVlMGEy
NTlmYTQ5M2I2ZTIxNzdkMmNmYzNlMjY0ZTg4YTEzMDYzY2UuLjg4MzAwYzAwNGI5MTc5NmExOGUy
YTFlODg3ZGNhM2RhNmRmNGQzNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1NjIsOCArMTU2Miw2IEBACiAJCTUzQzgyOThF
MTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNDODI5OEMxM0Q4RDkyNzAwREUyREVCIC8q
IFJlbmRlckZsZXhpYmxlQm94LmggKi87IH07CiAJCTU1MEEwQkM5MDg1RjYwMzkwMDczNTNENiAv
KiBRdWFsaWZpZWROYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU1MEEwQkM3MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmNwcCAq
LzsgfTsKIAkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1MEEwQkM4MDg1RjYw
MzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTcwREJBODExNEI1ODA0OTAwREFFRkEwIC8qIFNoYWRv
d0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MERCN0E4MTRCNTY5NkEwMERBRUZBMCAvKiBTaGFkb3dDb250ZW50
U2VsZWN0b3JRdWVyeS5jcHAgKi87IH07Ci0JCTU3MERCQTgyMTRCNTgwNEIwMERBRUZBMCAvKiBT
aGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTcwREI3QTkxNEI1Njk2QTAwREFFRkEwIC8qIFNoYWRvd0NvbnRl
bnRTZWxlY3RvclF1ZXJ5LmggKi87IH07CiAJCTU5MDVBREJGMTMwMkYzQ0UwMEYxMTZERiAvKiBY
TUxUcmVlVmlld2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU5MDVBREJEMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmNwcCAqLzsg
fTsKIAkJNTkwNUFEQzAxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MDVBREJFMTMwMkYzQ0Uw
MEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmggKi87IH07CiAJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5
Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVu
dGF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTg4NTQsOCArODg1Miw2IEBACiAJCTUzQzgyOThDMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5k
ZXJGbGV4aWJsZUJveC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJG
bGV4aWJsZUJveC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NTBBMEJDNzA4NUY2
MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBRdWFsaWZpZWROYW1lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTU1MEEw
QkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1YWxpZmllZE5hbWUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0JCTU3MERC
N0E4MTRCNTY5NkEwMERBRUZBMCAvKiBTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFkb3dDb250ZW50U2VsZWN0b3JR
dWVyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3MERCN0E5MTRCNTY5NkEw
MERBRUZBMCAvKiBTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1OTA1QURCRDEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZp
ZXdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxUcmVlVmll
d2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkwNUFEQkUxMzAyRjNDRTAw
RjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gWE1MVHJlZVZpZXdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTBFMUI0
ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTIxNDY4LDggKzIxNDY0LDYgQEAKIAkJCQlFNDUzMjJBQTE0MENFMjY3MDA1
QTBGOTIgLyogU2VsZWN0b3JRdWVyeS5oICovLAogCQkJCUE3NjZDRjhCMTM4MTBFMEMwMDExQTBC
MyAvKiBTaGFkb3dDb250ZW50RWxlbWVudC5jcHAgKi8sCiAJCQkJQTc0QzJEM0IxMzgxMUUwRDAw
RjgzNTcyIC8qIFNoYWRvd0NvbnRlbnRFbGVtZW50LmggKi8sCi0JCQkJNTcwREI3QTgxNEI1Njk2
QTAwREFFRkEwIC8qIFNoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcCAqLywKLQkJCQk1NzBE
QjdBOTE0QjU2OTZBMDBEQUVGQTAgLyogU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkuaCAqLywK
IAkJCQlBNzFDMzBCNjEzODEyNjVFMDBEQkMzNTEgLyogU2hhZG93SW5jbHVzaW9uU2VsZWN0b3Iu
Y3BwICovLAogCQkJCUE3MUMzMEI3MTM4MTI2NUUwMERCQzM1MSAvKiBTaGFkb3dJbmNsdXNpb25T
ZWxlY3Rvci5oICovLAogCQkJCUE2RDE2OTYxMTM0NkI0OUIwMDBFQjc3MCAvKiBTaGFkb3dSb290
LmNwcCAqLywKQEAgLTI0MzI1LDcgKzI0MzE5LDYgQEAKIAkJCQk0OTg3NzBFOTEyNDJDNTM1MDAy
MjI2QkEgLyogU2hhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjNERDQ1MDEyRjVFQTFCMDAw
RDkxOTAgLyogU2hhZG93Qmx1ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc0QzJEM0MxMzgxMUUw
RDAwRjgzNTcyIC8qIFNoYWRvd0NvbnRlbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk1
NzBEQkE4MjE0QjU4MDRCMDBEQUVGQTAgLyogU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNUVCOEM0MEU4MjAzMUIwMEIyNTk2NSAvKiBTaGFkb3dEYXRh
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzFDMzBCOTEzODEyNjVFMDBEQkMzNTEgLyogU2hhZG93
SW5jbHVzaW9uU2VsZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE2RDE2OTY0MTM0NkI0QzEw
MDBFQjc3MCAvKiBTaGFkb3dSb290LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MzU5LDcgKzI3MzUy
LDYgQEAKIAkJCQk0OTg3NzBFODEyNDJDNTM1MDAyMjI2QkEgLyogU2hhZGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGM0RENDRGMTJGNUVBMUIwMDBEOTE5MCAvKiBTaGFkb3dCbHVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE3NjZDRjhDMTM4MTBFMEMwMDExQTBCMyAvKiBTaGFkb3dDb250
ZW50RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1NzBEQkE4MTE0QjU4MDQ5MDBEQUVG
QTAgLyogU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM1RUI4QzMwRTgyMDMxQjAwQjI1OTY1IC8qIFNoYWRvd0RhdGEuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTcxQzMwQjgxMzgxMjY1RTAwREJDMzUxIC8qIFNoYWRvd0luY2x1c2lvblNlbGVjdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE2RDE2OTYyMTM0NkI0OUIwMDBFQjc3MCAvKiBTaGFk
b3dSb290LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKaW5k
ZXggNTViNjA1MjhhYWEyOTNjZDY2NWM0YzkyMjdiYTg4NDc4ODVmNmEzZS4uNTUwOTQ2NTNmNWYy
Mzk0NmZkNDQzZTQ4OWYxMzczMzM4MTRmYjY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTUFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCkBAIC0xMTMsNyArMTEzLDYgQEAKICNpbmNsdWRlICJTZWN1cml0eUNvbnRleHQuY3BwIgog
I2luY2x1ZGUgIlNlbGVjdG9yUXVlcnkuY3BwIgogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRFbGVt
ZW50LmNwcCIKLSNpbmNsdWRlICJTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5jcHAiCiAjaW5j
bHVkZSAiU2hhZG93SW5jbHVzaW9uU2VsZWN0b3IuY3BwIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3Qu
Y3BwIgogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlbGVj
dG9yUXVlcnkuY3BwCmluZGV4IGE4ODlmOWYyYmNhNTBiNGEzN2IyYzAzZDY1YWRkZTA2ZDY5MzQy
NWIuLjA4MjY2ZWYzMTM2YTkxYTI4Y2Y2MjIzZDRhNTVhZmQxMjg0MmZhZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAKQEAgLTMzLDQ3ICszMywyNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLVNlbGVjdG9yRGF0YUxpc3Q6OlNlbGVjdG9yRGF0YUxpc3QoKQotewotfQot
Ci1TZWxlY3RvckRhdGFMaXN0OjpTZWxlY3RvckRhdGFMaXN0KGNvbnN0IENTU1NlbGVjdG9yTGlz
dCYgc2VsZWN0b3JMaXN0KQotewotICAgIGluaXRpYWxpemUoc2VsZWN0b3JMaXN0KTsKLX0KLQot
dm9pZCBTZWxlY3RvckRhdGFMaXN0Ojppbml0aWFsaXplKGNvbnN0IENTU1NlbGVjdG9yTGlzdCYg
c2VsZWN0b3JMaXN0KQorU2VsZWN0b3JRdWVyeTo6U2VsZWN0b3JRdWVyeShOb2RlKiByb290Tm9k
ZSwgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QpCisgICAgOiBtX3Jvb3ROb2Rl
KHJvb3ROb2RlKQorICAgICwgbV9zZWxlY3RvckNoZWNrZXIocm9vdE5vZGUtPmRvY3VtZW50KCks
ICFyb290Tm9kZS0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCiB7Ci0gICAgQVNTRVJUKG1f
c2VsZWN0b3JzLmlzRW1wdHkoKSk7CisgICAgbV9zZWxlY3RvckNoZWNrZXIuc2V0Q29sbGVjdGlu
Z1J1bGVzT25seSh0cnVlKTsKIAogICAgIGZvciAoQ1NTU2VsZWN0b3IqIHNlbGVjdG9yID0gc2Vs
ZWN0b3JMaXN0LmZpcnN0KCk7IHNlbGVjdG9yOyBzZWxlY3RvciA9IENTU1NlbGVjdG9yTGlzdDo6
bmV4dChzZWxlY3RvcikpCiAgICAgICAgIG1fc2VsZWN0b3JzLmFwcGVuZChTZWxlY3RvckRhdGEo
c2VsZWN0b3IsIFNlbGVjdG9yQ2hlY2tlcjo6aXNGYXN0Q2hlY2thYmxlU2VsZWN0b3Ioc2VsZWN0
b3IpKSk7CiB9Ci0KLWJvb2wgU2VsZWN0b3JEYXRhTGlzdDo6bWF0Y2hlcyhjb25zdCBTZWxlY3Rv
ckNoZWNrZXImIHNlbGVjdG9yQ2hlY2tlciwgRWxlbWVudCogdGFyZ2V0RWxlbWVudCkgY29uc3QK
LXsKLSAgICBBU1NFUlQodGFyZ2V0RWxlbWVudCk7Ci0KLSAgICB1bnNpZ25lZCBzZWxlY3RvckNv
dW50ID0gbV9zZWxlY3RvcnMuc2l6ZSgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBz
ZWxlY3RvckNvdW50OyArK2kpIHsKLSAgICAgICAgaWYgKHNlbGVjdG9yQ2hlY2tlci5jaGVja1Nl
bGVjdG9yKG1fc2VsZWN0b3JzW2ldLnNlbGVjdG9yLCB0YXJnZXRFbGVtZW50LCBtX3NlbGVjdG9y
c1tpXS5pc0Zhc3RDaGVja2FibGUpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQot
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1QYXNzUmVmUHRyPE5vZGVMaXN0PiBTZWxlY3RvckRh
dGFMaXN0OjpxdWVyeUFsbChjb25zdCBTZWxlY3RvckNoZWNrZXImIHNlbGVjdG9yQ2hlY2tlciwg
Tm9kZSogcm9vdE5vZGUpIGNvbnN0CisgICAgCitQYXNzUmVmUHRyPE5vZGVMaXN0PiBTZWxlY3Rv
clF1ZXJ5OjpxdWVyeUFsbCgpIGNvbnN0CiB7CiAgICAgVmVjdG9yPFJlZlB0cjxOb2RlPiA+IHJl
c3VsdDsKLSAgICBleGVjdXRlPGZhbHNlPihzZWxlY3RvckNoZWNrZXIsIHJvb3ROb2RlLCByZXN1
bHQpOworICAgIGV4ZWN1dGU8ZmFsc2U+KHJlc3VsdCk7CiAgICAgcmV0dXJuIFN0YXRpY05vZGVM
aXN0OjphZG9wdChyZXN1bHQpOwogfQogCi1QYXNzUmVmUHRyPEVsZW1lbnQ+IFNlbGVjdG9yRGF0
YUxpc3Q6OnF1ZXJ5Rmlyc3QoY29uc3QgU2VsZWN0b3JDaGVja2VyJiBzZWxlY3RvckNoZWNrZXIs
IE5vZGUqIHJvb3ROb2RlKSBjb25zdAoteworUGFzc1JlZlB0cjxFbGVtZW50PiBTZWxlY3RvclF1
ZXJ5OjpxdWVyeUZpcnN0KCkgY29uc3QgCit7IAogICAgIFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiBy
ZXN1bHQ7Ci0gICAgZXhlY3V0ZTx0cnVlPihzZWxlY3RvckNoZWNrZXIsIHJvb3ROb2RlLCByZXN1
bHQpOworICAgIGV4ZWN1dGU8dHJ1ZT4ocmVzdWx0KTsKICAgICBpZiAocmVzdWx0LmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgQVNTRVJUKHJlc3VsdC5zaXplKCkgPT0gMSk7CkBA
IC04MSw3ICs2MSw3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gU2VsZWN0b3JEYXRhTGlzdDo6cXVl
cnlGaXJzdChjb25zdCBTZWxlY3RvckNoZWNrZXImIHNlbGVjdG9yCiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEVsZW1lbnQqPihyZXN1bHQuZmlyc3QoKS5nZXQoKSk7CiB9CiAKLWJvb2wgU2VsZWN0
b3JEYXRhTGlzdDo6Y2FuVXNlSWRMb29rdXAoTm9kZSogcm9vdE5vZGUpIGNvbnN0Citib29sIFNl
bGVjdG9yUXVlcnk6OmNhblVzZUlkTG9va3VwKCkgY29uc3QKIHsKICAgICAvLyBXZSBuZWVkIHRv
IHJldHVybiB0aGUgbWF0Y2hlcyBpbiBkb2N1bWVudCBvcmRlci4gVG8gdXNlIGlkIGxvb2t1cCB3
aGlsZSB0aGVyZSBpcyBwb3NzaWJsaXR5IG9mIG11bHRpcGxlIG1hdGNoZXMKICAgICAvLyB3ZSB3
b3VsZCBuZWVkIHRvIHNvcnQgdGhlIHJlc3VsdHMuIEZvciBub3csIGp1c3QgdHJhdmVyc2UgdGhl
IGRvY3VtZW50IGluIHRoYXQgY2FzZS4KQEAgLTg5LDM3ICs2OSwzNyBAQCBib29sIFNlbGVjdG9y
RGF0YUxpc3Q6OmNhblVzZUlkTG9va3VwKE5vZGUqIHJvb3ROb2RlKSBjb25zdAogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKG1fc2VsZWN0b3JzWzBdLnNlbGVjdG9yLT5tX21hdGNoICE9
IENTU1NlbGVjdG9yOjpJZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghcm9vdE5v
ZGUtPmluRG9jdW1lbnQoKSkKKyAgICBpZiAoIW1fcm9vdE5vZGUtPmluRG9jdW1lbnQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChyb290Tm9kZS0+ZG9jdW1lbnQoKS0+aW5RdWly
a3NNb2RlKCkpCisgICAgaWYgKG1fcm9vdE5vZGUtPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHJvb3ROb2RlLT5kb2N1bWVudCgpLT5j
b250YWluc011bHRpcGxlRWxlbWVudHNXaXRoSWQobV9zZWxlY3RvcnNbMF0uc2VsZWN0b3ItPnZh
bHVlKCkpKQorICAgIGlmIChtX3Jvb3ROb2RlLT5kb2N1bWVudCgpLT5jb250YWluc011bHRpcGxl
RWxlbWVudHNXaXRoSWQobV9zZWxlY3RvcnNbMF0uc2VsZWN0b3ItPnZhbHVlKCkpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIHRlbXBsYXRlIDxib29sIGZp
cnN0TWF0Y2hPbmx5Pgotdm9pZCBTZWxlY3RvckRhdGFMaXN0OjpleGVjdXRlKGNvbnN0IFNlbGVj
dG9yQ2hlY2tlciYgc2VsZWN0b3JDaGVja2VyLCBOb2RlKiByb290Tm9kZSwgVmVjdG9yPFJlZlB0
cjxOb2RlPiA+JiBtYXRjaGVkRWxlbWVudHMpIGNvbnN0Cit2b2lkIFNlbGVjdG9yUXVlcnk6OmV4
ZWN1dGUoVmVjdG9yPFJlZlB0cjxOb2RlPiA+JiBtYXRjaGVkRWxlbWVudHMpIGNvbnN0CiB7Ci0g
ICAgaWYgKGNhblVzZUlkTG9va3VwKHJvb3ROb2RlKSkgeworICAgIGlmIChjYW5Vc2VJZExvb2t1
cCgpKSB7CiAgICAgICAgIEFTU0VSVChtX3NlbGVjdG9ycy5zaXplKCkgPT0gMSk7CiAgICAgICAg
IENTU1NlbGVjdG9yKiBzZWxlY3RvciA9IG1fc2VsZWN0b3JzWzBdLnNlbGVjdG9yOwotICAgICAg
ICBFbGVtZW50KiBlbGVtZW50ID0gcm9vdE5vZGUtPmRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlk
KHNlbGVjdG9yLT52YWx1ZSgpKTsKLSAgICAgICAgaWYgKCFlbGVtZW50IHx8ICEocm9vdE5vZGUt
PmlzRG9jdW1lbnROb2RlKCkgfHwgZWxlbWVudC0+aXNEZXNjZW5kYW50T2Yocm9vdE5vZGUpKSkK
KyAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IG1fcm9vdE5vZGUtPmRvY3VtZW50KCktPmdldEVs
ZW1lbnRCeUlkKHNlbGVjdG9yLT52YWx1ZSgpKTsKKyAgICAgICAgaWYgKCFlbGVtZW50IHx8ICEo
bV9yb290Tm9kZS0+aXNEb2N1bWVudE5vZGUoKSB8fCBlbGVtZW50LT5pc0Rlc2NlbmRhbnRPZiht
X3Jvb3ROb2RlKSkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmIChzZWxlY3RvckNo
ZWNrZXIuY2hlY2tTZWxlY3RvcihtX3NlbGVjdG9yc1swXS5zZWxlY3RvciwgZWxlbWVudCwgbV9z
ZWxlY3RvcnNbMF0uaXNGYXN0Q2hlY2thYmxlKSkKKyAgICAgICAgaWYgKG1fc2VsZWN0b3JDaGVj
a2VyLmNoZWNrU2VsZWN0b3Ioc2VsZWN0b3IsIGVsZW1lbnQsIG1fc2VsZWN0b3JzWzBdLmlzRmFz
dENoZWNrYWJsZSkpCiAgICAgICAgICAgICBtYXRjaGVkRWxlbWVudHMuYXBwZW5kKGVsZW1lbnQp
OwogICAgICAgICByZXR1cm47CiAgICAgfQotCisgICAgCiAgICAgdW5zaWduZWQgc2VsZWN0b3JD
b3VudCA9IG1fc2VsZWN0b3JzLnNpemUoKTsKLQotICAgIE5vZGUqIG4gPSByb290Tm9kZS0+Zmly
c3RDaGlsZCgpOworICAgIAorICAgIE5vZGUqIG4gPSBtX3Jvb3ROb2RlLT5maXJzdENoaWxkKCk7
CiAgICAgd2hpbGUgKG4pIHsKICAgICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSkgewogICAg
ICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKTsKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzZWxlY3RvckNvdW50OyArK2kpIHsK
LSAgICAgICAgICAgICAgICBpZiAoc2VsZWN0b3JDaGVja2VyLmNoZWNrU2VsZWN0b3IobV9zZWxl
Y3RvcnNbaV0uc2VsZWN0b3IsIGVsZW1lbnQsIG1fc2VsZWN0b3JzW2ldLmlzRmFzdENoZWNrYWJs
ZSkpIHsKKyAgICAgICAgICAgICAgICBpZiAobV9zZWxlY3RvckNoZWNrZXIuY2hlY2tTZWxlY3Rv
cihtX3NlbGVjdG9yc1tpXS5zZWxlY3RvciwgZWxlbWVudCwgbV9zZWxlY3RvcnNbaV0uaXNGYXN0
Q2hlY2thYmxlKSkgewogICAgICAgICAgICAgICAgICAgICBtYXRjaGVkRWxlbWVudHMuYXBwZW5k
KGVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3RNYXRjaE9ubHkpCiAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMzMsMjkgKzExMywxMSBAQCB2b2lkIFNl
bGVjdG9yRGF0YUxpc3Q6OmV4ZWN1dGUoY29uc3QgU2VsZWN0b3JDaGVja2VyJiBzZWxlY3RvckNo
ZWNrZXIsIE5vZGUqIHJvbwogICAgICAgICB9CiAgICAgICAgIHdoaWxlICghbi0+bmV4dFNpYmxp
bmcoKSkgewogICAgICAgICAgICAgbiA9IG4tPnBhcmVudE5vZGUoKTsKLSAgICAgICAgICAgIGlm
IChuID09IHJvb3ROb2RlKQorICAgICAgICAgICAgaWYgKG4gPT0gbV9yb290Tm9kZSkKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgbiA9IG4tPm5leHRTaWJsaW5n
KCk7CiAgICAgfQogfQogCi1TZWxlY3RvclF1ZXJ5OjpTZWxlY3RvclF1ZXJ5KE5vZGUqIHJvb3RO
b2RlLCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCkKLSAgICA6IG1fcm9vdE5v
ZGUocm9vdE5vZGUpCi0gICAgLCBtX3NlbGVjdG9yQ2hlY2tlcihyb290Tm9kZS0+ZG9jdW1lbnQo
KSwgIXJvb3ROb2RlLT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSkKLSAgICAsIG1fc2VsZWN0
b3JzKHNlbGVjdG9yTGlzdCkKLXsKLSAgICBtX3NlbGVjdG9yQ2hlY2tlci5zZXRDb2xsZWN0aW5n
UnVsZXNPbmx5KHRydWUpOwotfQotCi1QYXNzUmVmUHRyPE5vZGVMaXN0PiBTZWxlY3RvclF1ZXJ5
OjpxdWVyeUFsbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc2VsZWN0b3JzLnF1ZXJ5QWxsKG1f
c2VsZWN0b3JDaGVja2VyLCBtX3Jvb3ROb2RlKTsKLX0KLQotUGFzc1JlZlB0cjxFbGVtZW50PiBT
ZWxlY3RvclF1ZXJ5OjpxdWVyeUZpcnN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zZWxlY3Rv
cnMucXVlcnlGaXJzdChtX3NlbGVjdG9yQ2hlY2tlciwgbV9yb290Tm9kZSk7Ci19Ci0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2VsZWN0b3JRdWVyeS5oCmluZGV4IDBmMTA2NzhhZGQ4MjFjODMwY2M2NWU3NzIz
YzRhMWY5MzFhNjQ3NzguLmI5Njk4MjM3ODQzYmJjNWVlZjlhYjU3MTRjMmQ2NGVmMWI4ODE5NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVlcnkuaApAQCAtMzcsNDQgKzM3LDI4IEBAIGNsYXNz
IEVsZW1lbnQ7CiBjbGFzcyBDU1NTZWxlY3RvcjsKIGNsYXNzIENTU1NlbGVjdG9yTGlzdDsKIAot
Y2xhc3MgU2VsZWN0b3JEYXRhTGlzdCB7CitjbGFzcyBTZWxlY3RvclF1ZXJ5IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTZWxlY3RvclF1ZXJ5KTsKIHB1YmxpYzoKLSAgICBTZWxlY3RvckRh
dGFMaXN0KCk7Ci0gICAgZXhwbGljaXQgU2VsZWN0b3JEYXRhTGlzdChjb25zdCBDU1NTZWxlY3Rv
ckxpc3QmKTsKLQotICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBDU1NTZWxlY3Rvckxpc3QmKTsK
LQotICAgIGludCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3RvcnMuc2l6ZSgpOyB9Ci0K
LSAgICBib29sIG1hdGNoZXMoY29uc3QgU2VsZWN0b3JDaGVja2VyJiwgRWxlbWVudCopIGNvbnN0
OwotICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IHF1ZXJ5QWxsKGNvbnN0IFNlbGVjdG9yQ2hlY2tl
ciYsIE5vZGUqIHJvb3ROb2RlKSBjb25zdDsKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IHF1ZXJ5
Rmlyc3QoY29uc3QgU2VsZWN0b3JDaGVja2VyJiwgTm9kZSogcm9vdE5vZGUpIGNvbnN0OworICAg
IFNlbGVjdG9yUXVlcnkoTm9kZSogcm9vdE5vZGUsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYpOwor
ICAgIAorICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IHF1ZXJ5QWxsKCkgY29uc3Q7CisgICAgUGFz
c1JlZlB0cjxFbGVtZW50PiBxdWVyeUZpcnN0KCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgYm9v
bCBjYW5Vc2VJZExvb2t1cCgpIGNvbnN0OworCisgICAgdGVtcGxhdGUgPGJvb2wgZmlyc3RNYXRj
aE9ubHk+CisgICAgdm9pZCBleGVjdXRlKFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYpIGNvbnN0Owor
ICAgIAogICAgIHN0cnVjdCBTZWxlY3RvckRhdGEgewogICAgICAgICBTZWxlY3RvckRhdGEoQ1NT
U2VsZWN0b3IqIHNlbGVjdG9yLCBib29sIGlzRmFzdENoZWNrYWJsZSkgOiBzZWxlY3RvcihzZWxl
Y3RvciksIGlzRmFzdENoZWNrYWJsZShpc0Zhc3RDaGVja2FibGUpIHsgfQogICAgICAgICBDU1NT
ZWxlY3Rvciogc2VsZWN0b3I7CiAgICAgICAgIGJvb2wgaXNGYXN0Q2hlY2thYmxlOwogICAgIH07
Ci0KLSAgICBib29sIGNhblVzZUlkTG9va3VwKE5vZGUqIHJvb3ROb2RlKSBjb25zdDsKLSAgICB0
ZW1wbGF0ZSA8Ym9vbCBmaXJzdE1hdGNoT25seT4KLSAgICB2b2lkIGV4ZWN1dGUoY29uc3QgU2Vs
ZWN0b3JDaGVja2VyJiwgTm9kZSogcm9vdE5vZGUsIFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYpIGNv
bnN0OwotCi0gICAgVmVjdG9yPFNlbGVjdG9yRGF0YT4gbV9zZWxlY3RvcnM7Ci19OwotCi1jbGFz
cyBTZWxlY3RvclF1ZXJ5IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvclF1ZXJ5
KTsKLXB1YmxpYzoKLSAgICBTZWxlY3RvclF1ZXJ5KE5vZGUqIHJvb3ROb2RlLCBjb25zdCBDU1NT
ZWxlY3Rvckxpc3QmKTsKLQotICAgIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IHF1ZXJ5QWxsKCkgY29u
c3Q7Ci0gICAgUGFzc1JlZlB0cjxFbGVtZW50PiBxdWVyeUZpcnN0KCkgY29uc3Q7Ci1wcml2YXRl
OgogICAgIE5vZGUqIG1fcm9vdE5vZGU7CisgICAgVmVjdG9yPFNlbGVjdG9yRGF0YT4gbV9zZWxl
Y3RvcnM7CiAgICAgU2VsZWN0b3JDaGVja2VyIG1fc2VsZWN0b3JDaGVja2VyOwotICAgIFNlbGVj
dG9yRGF0YUxpc3QgbV9zZWxlY3RvcnM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd0NvbnRlbnRFbGVtZW50LmNwcAppbmRleCA3M2FkMTA5ZTAxYTViMjJlN2I0ODVjODE3ZGU4
MDNmZWNmMTNhNzkzLi5lY2VlNmQwYzdlZTc2ZmRkNzI1ZTJmZGNmODcyZGQyYmI5M2M5N2JiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dDb250ZW50RWxlbWVudC5jcHAKQEAgLTI4LDMx
ICsyOCwyMSBAQAogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRFbGVtZW50LmgiCiAKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCi0jaW5jbHVkZSAiU2hh
ZG93Q29udGVudFNlbGVjdG9yUXVlcnkuaCIKICNpbmNsdWRlICJTaGFkb3dJbmNsdXNpb25TZWxl
Y3Rvci5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IFF1YWxpZmllZE5h
bWUmIHNlbGVjdEF0dHIoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoUXVhbGlmaWVkTmFt
ZSwgYXR0ciwgKG51bGxBdG9tLCAic2VsZWN0IiwgSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVS
SSkpOwotICAgIHJldHVybiBhdHRyOwotfQotCi1QYXNzUmVmUHRyPFNoYWRvd0NvbnRlbnRFbGVt
ZW50PiBTaGFkb3dDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgQXRvbWljU3RyaW5nJiBzZWxlY3QpCitQYXNzUmVmUHRyPFNoYWRvd0NvbnRlbnRFbGVtZW50
PiBTaGFkb3dDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKIHsKICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFF1YWxpZmllZE5hbWUsIHRhZ05hbWUsIChudWxsQXRvbSwg
IndlYmtpdFNoYWRvd0NvbnRlbnQiLCBIVE1MTmFtZXM6OmRpdlRhZy5uYW1lc3BhY2VVUkkoKSkp
OwotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhZG93Q29udGVudEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQsIHNlbGVjdCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhZG93Q29udGVu
dEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKIH0KIAotU2hhZG93Q29udGVudEVsZW1lbnQ6
OlNoYWRvd0NvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIERvY3VtZW50
KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QpCitTaGFkb3dDb250ZW50RWxl
bWVudDo6U2hhZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQogICAgIDogU3R5bGVkRWxlbWVudChuYW1lLCBkb2N1bWVudCwgQ3Jl
YXRlSFRNTEVsZW1lbnQpCiAgICAgLCBtX2luY2x1c2lvbnMoYWRvcHRQdHIobmV3IFNoYWRvd0lu
Y2x1c2lvbkxpc3QoKSkpCiB7Ci0gICAgc2V0QXR0cmlidXRlKHNlbGVjdEF0dHIoKSwgc2VsZWN0
KTsKIH0KIAogU2hhZG93Q29udGVudEVsZW1lbnQ6On5TaGFkb3dDb250ZW50RWxlbWVudCgpCkBA
IC04Niw5ICs3NiwxMCBAQCB2b2lkIFNoYWRvd0NvbnRlbnRFbGVtZW50OjpkZXRhY2goKQogICAg
IFN0eWxlZEVsZW1lbnQ6OmRldGFjaCgpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIFNoYWRv
d0NvbnRlbnRFbGVtZW50OjpzZWxlY3QoKSBjb25zdAorYm9vbCBTaGFkb3dDb250ZW50RWxlbWVu
dDo6c2hvdWxkSW5jbHVkZShOb2RlKikKIHsKLSAgICByZXR1cm4gZ2V0QXR0cmlidXRlKHNlbGVj
dEF0dHIoKSk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Q29udGVudEVsZW1lbnQuaAppbmRleCAwOWY4Mzg3MzBiYzFjZjg0YTQ2MmI0ZTdiMDFl
NjVkZGY0ZGRlZGRkLi43YjM2NjYyMWI3Yjk2M2E0MzBmYzE0MzA5YmQ0NjVlYWVkZmEwNGE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudEVsZW1lbnQuaApAQCAtMzYsMjggKzM2
LDIzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2hhZG93Q29udGVudFNlbGVj
dG9yUXVlcnk7CiBjbGFzcyBTaGFkb3dJbmNsdXNpb25MaXN0OwogCiAvLyBOT1RFOiBDdXJyZW50
IGltcGxlbWVudGF0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBkeW5hbWljIGluc2VydGlvbi9kZWxldGlv
biBvZiBTaGFkb3dDb250ZW50RWxlbWVudC4KIC8vIFlvdSBzaG91bGQgY3JlYXRlIFNoYWRvd0Nv
bnRlbnRFbGVtZW50IGR1cmluZyB0aGUgaG9zdCBjb25zdHJ1Y3Rpb24uCiBjbGFzcyBTaGFkb3dD
b250ZW50RWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTaGFkb3dDb250ZW50RWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgY29u
c3QgQXRvbWljU3RyaW5nJiBzZWxlY3QpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd0Nv
bnRlbnRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgflNoYWRvd0Nv
bnRlbnRFbGVtZW50KCk7CisgICAgdmlydHVhbCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwog
ICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CiAK
LSAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCgpIGNvbnN0OwotCiAgICAgY29uc3QgU2hh
ZG93SW5jbHVzaW9uTGlzdCogaW5jbHVzaW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faW5jbHVzaW9u
cy5nZXQoKTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgLy8gRklYTUU6IEN1cnJlbnRseSB0aGlzIGNv
bnN0cnVjdG9yIGFjY2VwdHMgd2lkZXIgcXVlcnkgdGhhbiBzaGFkb3cgZG9tIHNwZWMuCi0gICAg
Ly8gRm9yIGV4YW1wbGUsIGEgc2VsZWN0b3IgcXVlcnkgc2hvdWxkIG5vdCBpbmNsdWRlIGNvbnRl
eHR1YWwgc2VsZWN0b3JzLgotICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzU5NDYKLSAgICBTaGFkb3dDb250ZW50RWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIHNlbGVjdCk7CisgICAgU2hh
ZG93Q29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudFNl
bGVjdG9yUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0NvbnRlbnRTZWxlY3Rv
clF1ZXJ5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDNjYzViNDYzOWNiZWM1
Y2YyNjE0MjgzYmY1Mjk2ODE0ZThhZTMwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudFNlbGVjdG9y
UXVlcnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0g
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oIgotCi0jaW5jbHVk
ZSAiQ1NTUGFyc2VyLmgiCi0jaW5jbHVkZSAiQ1NTU2VsZWN0b3JMaXN0LmgiCi0jaW5jbHVkZSAi
U2hhZG93Q29udGVudEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1TaGFkb3dD
b250ZW50U2VsZWN0b3JRdWVyeTo6U2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkoU2hhZG93Q29u
dGVudEVsZW1lbnQqIGVsZW1lbnQpCi0gICAgOiBtX2NvbnRlbnRFbGVtZW50KGVsZW1lbnQpCi0g
ICAgLCBtX3NlbGVjdG9yQ2hlY2tlcihlbGVtZW50LT5kb2N1bWVudCgpLCAhZWxlbWVudC0+ZG9j
dW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCi17Ci0gICAgbV9zZWxlY3RvckNoZWNrZXIuc2V0Q29s
bGVjdGluZ1J1bGVzT25seSh0cnVlKTsKLQotICAgIGlmIChlbGVtZW50LT5zZWxlY3QoKS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENTU1BhcnNlciBwYXJzZXIodHJ1ZSk7Ci0g
ICAgcGFyc2VyLnBhcnNlU2VsZWN0b3IoZWxlbWVudC0+c2VsZWN0KCksIGVsZW1lbnQtPmRvY3Vt
ZW50KCksIG1fc2VsZWN0b3JMaXN0KTsKLQotICAgIG1fc2VsZWN0b3JzLmluaXRpYWxpemUobV9z
ZWxlY3Rvckxpc3QpOwotfQotCi1ib29sIFNoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5OjptYXRj
aGVzKE5vZGUqIG5vZGUpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKG5vZGUpOwotICAgIGlmICghbm9k
ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgQVNTRVJUKG5vZGUtPnBhcmVudE5vZGUo
KSA9PSBtX2NvbnRlbnRFbGVtZW50LT5zaGFkb3dUcmVlUm9vdE5vZGUoKS0+c2hhZG93SG9zdCgp
KTsKLQotICAgIGlmIChtX2NvbnRlbnRFbGVtZW50LT5zZWxlY3QoKS5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKCFub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBtX3NlbGVjdG9ycy5tYXRjaGVzKG1fc2Vs
ZWN0b3JDaGVja2VyLCB0b0VsZW1lbnQobm9kZSkpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkNTY4NzNiMzQzMGMzYTJjMjQ3YTE4MGFlNGRhM2RiMTA0ZjA3MzBhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0Ogot
ICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0g
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnlfaAotI2RlZmluZSBTaGFk
b3dDb250ZW50U2VsZWN0b3JRdWVyeV9oCi0KLSNpbmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIK
LSNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKLSNpbmNsdWRlICJTZWxlY3RvclF1ZXJ5Lmgi
Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb2RlOwotY2xhc3Mg
U2hhZG93Q29udGVudEVsZW1lbnQ7Ci0KLWNsYXNzIFNoYWRvd0NvbnRlbnRTZWxlY3RvclF1ZXJ5
IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVyeSk7
Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkoU2hhZG93
Q29udGVudEVsZW1lbnQqKTsKLQotICAgIGJvb2wgbWF0Y2hlcyhOb2RlKikgY29uc3Q7Ci0KLXBy
aXZhdGU6Ci0gICAgU2hhZG93Q29udGVudEVsZW1lbnQqIG1fY29udGVudEVsZW1lbnQ7Ci0gICAg
U2VsZWN0b3JEYXRhTGlzdCBtX3NlbGVjdG9yczsKLSAgICBDU1NTZWxlY3Rvckxpc3QgbV9zZWxl
Y3Rvckxpc3Q7Ci0gICAgU2VsZWN0b3JDaGVja2VyIG1fc2VsZWN0b3JDaGVja2VyOwotfTsKLQot
fQotCi0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93SW5j
bHVzaW9uU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0luY2x1c2lvblNl
bGVjdG9yLmNwcAppbmRleCA1N2U5ZDQyYmU1MWI1ZTQ1MmM0ZDQwNTRlMjBiYTRjN2I4NTU0OGEx
Li45ODQxZjU1NjQ4ODdjODk2MzQ1Mzc0OWYyMzcxNjZjYTJlNDVlMTA1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93SW5jbHVzaW9uU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dJbmNsdXNpb25TZWxlY3Rvci5jcHAKQEAgLTI4LDcgKzI4LDYg
QEAKICNpbmNsdWRlICJTaGFkb3dJbmNsdXNpb25TZWxlY3Rvci5oIgogCiAjaW5jbHVkZSAiU2hh
ZG93Q29udGVudEVsZW1lbnQuaCIKLSNpbmNsdWRlICJTaGFkb3dDb250ZW50U2VsZWN0b3JRdWVy
eS5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKIAogCkBAIC0xMTIsMTIgKzExMSwxMSBAQCB2
b2lkIFNoYWRvd0luY2x1c2lvblNlbGVjdG9yOjpzZWxlY3QoU2hhZG93Q29udGVudEVsZW1lbnQq
IGNvbnRlbnRFbGVtZW50LCBTaGFkbwogewogICAgIEFTU0VSVChpbmNsdXNpb25zLT5pc0VtcHR5
KCkpOwogCi0gICAgU2hhZG93Q29udGVudFNlbGVjdG9yUXVlcnkgcXVlcnkoY29udGVudEVsZW1l
bnQpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jYW5kaWRhdGVzLnNpemUoKTsgKytp
KSB7CiAgICAgICAgIE5vZGUqIGNoaWxkID0gbV9jYW5kaWRhdGVzW2ldLmdldCgpOwogICAgICAg
ICBpZiAoIWNoaWxkKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICghcXVlcnku
bWF0Y2hlcyhjaGlsZCkpCisgICAgICAgIGlmICghY29udGVudEVsZW1lbnQtPnNob3VsZEluY2x1
ZGUoY2hpbGQpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgUmVmUHRyPFNoYWRv
d0luY2x1c2lvbj4gaW5jbHVzaW9uID0gU2hhZG93SW5jbHVzaW9uOjpjcmVhdGUoY29udGVudEVs
ZW1lbnQsIGNoaWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dJbmNs
dXNpb25TZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd0luY2x1c2lvblNlbGVj
dG9yLmgKaW5kZXggZDFhODcxNzQ0MWIxOWMyZDZhZmEwZThmMzQwNzU4NDEwMjE4YjRlNS4uZjFh
ZGFlZTNmNTQzYTgxYzNmZWZiZmM0NmUwMWIxZmQ3ZjNiMGU4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd0luY2x1c2lvblNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd0luY2x1c2lvblNlbGVjdG9yLmgKQEAgLTEzNyw2ICsxMzcsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBkaWRTZWxlY3QoKTsKICAgICBib29sIGhhc0NhbmRpZGF0ZXMoKSBjb25z
dCB7IHJldHVybiAhbV9jYW5kaWRhdGVzLmlzRW1wdHkoKTsgfQogCisKIHByaXZhdGU6CiAgICAg
dm9pZCByZW1vdmVGcm9tU2V0KFNoYWRvd0luY2x1c2lvbkxpc3QqKTsKICAgICB2b2lkIGFkZFRv
U2V0KFNoYWRvd0luY2x1c2lvbkxpc3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFp
bHNFbGVtZW50LmNwcAppbmRleCBmYzg5NTA5N2IxYWU5NmEzOGFiOWI2NTE3OWMzNTExYzhhMGQy
MjRhLi5mYWQ5YWY4MDQ0MTQ1NzBjMWU3NmNhMjhjNWViNWIxNjI3YzcwMjIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCkBAIC0zNiwyMSArMzYsMTcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0
aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdW1tYXJ5UXVlcnlTZWxlY3RvcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNlbGVjdG9yLCAoInN1bW1hcnk6Zmlyc3Qt
b2YtdHlwZSIpKTsKLSAgICByZXR1cm4gc2VsZWN0b3I7Ci19OwotCiBjbGFzcyBEZXRhaWxzQ29u
dGVudEVsZW1lbnQgOiBwdWJsaWMgU2hhZG93Q29udGVudEVsZW1lbnQgewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPERldGFpbHNDb250ZW50RWxlbWVudD4gY3JlYXRlKERvY3VtZW50
Kik7CiAKIHByaXZhdGU6CiAgICAgRGV0YWlsc0NvbnRlbnRFbGVtZW50KERvY3VtZW50KiBkb2N1
bWVudCkKLSAgICAgICAgOiBTaGFkb3dDb250ZW50RWxlbWVudChIVE1MTmFtZXM6OmRpdlRhZywg
ZG9jdW1lbnQsIFdURjo6ZW1wdHlBdG9tKQorICAgICAgICA6IFNoYWRvd0NvbnRlbnRFbGVtZW50
KEhUTUxOYW1lczo6ZGl2VGFnLCBkb2N1bWVudCkKICAgICB7CiAgICAgfQorCisgICAgdmlydHVh
bCBib29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogfTsKIAogUGFzc1JlZlB0cjxEZXRhaWxzQ29u
dGVudEVsZW1lbnQ+IERldGFpbHNDb250ZW50RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1
bWVudCkKQEAgLTU4LDE1ICs1NCwyNCBAQCBQYXNzUmVmUHRyPERldGFpbHNDb250ZW50RWxlbWVu
dD4gRGV0YWlsc0NvbnRlbnRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZQogICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRGV0YWlsc0NvbnRlbnRFbGVtZW50KGRvY3VtZW50KSk7CiB9CiAK
K2Jvb2wgRGV0YWlsc0NvbnRlbnRFbGVtZW50OjpzaG91bGRJbmNsdWRlKE5vZGUqIG5vZGUpCit7
CisgICAgSFRNTERldGFpbHNFbGVtZW50KiBkZXRhaWxzID0gc3RhdGljX2Nhc3Q8SFRNTERldGFp
bHNFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3JOb2RlKCkpOworICAgIHJldHVybiBkZXRhaWxzLT5t
YWluU3VtbWFyeSgpICE9IG5vZGU7Cit9CisKKwogY2xhc3MgRGV0YWlsc1N1bW1hcnlFbGVtZW50
IDogcHVibGljIFNoYWRvd0NvbnRlbnRFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEZXRhaWxzU3VtbWFyeUVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCopOwogCiBwcml2
YXRlOgogICAgIERldGFpbHNTdW1tYXJ5RWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCi0gICAg
ICAgIDogU2hhZG93Q29udGVudEVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50LCBz
dW1tYXJ5UXVlcnlTZWxlY3RvcigpKQorICAgICAgICA6IFNoYWRvd0NvbnRlbnRFbGVtZW50KEhU
TUxOYW1lczo6ZGl2VGFnLCBkb2N1bWVudCkKICAgICB7CiAgICAgfQorCisgICAgdmlydHVhbCBi
b29sIHNob3VsZEluY2x1ZGUoTm9kZSopOwogfTsKIAogUGFzc1JlZlB0cjxEZXRhaWxzU3VtbWFy
eUVsZW1lbnQ+IERldGFpbHNTdW1tYXJ5RWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCkKQEAgLTc0LDYgKzc5LDEzIEBAIFBhc3NSZWZQdHI8RGV0YWlsc1N1bW1hcnlFbGVtZW50PiBE
ZXRhaWxzU3VtbWFyeUVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lCiAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBEZXRhaWxzU3VtbWFyeUVsZW1lbnQoZG9jdW1lbnQpKTsKIH0KIAorYm9v
bCBEZXRhaWxzU3VtbWFyeUVsZW1lbnQ6OnNob3VsZEluY2x1ZGUoTm9kZSogbm9kZSkKK3sKKyAg
ICBIVE1MRGV0YWlsc0VsZW1lbnQqIGRldGFpbHMgPSBzdGF0aWNfY2FzdDxIVE1MRGV0YWlsc0Vs
ZW1lbnQqPihzaGFkb3dBbmNlc3Rvck5vZGUoKSk7CisgICAgcmV0dXJuIGRldGFpbHMtPm1haW5T
dW1tYXJ5KCkgPT0gbm9kZTsKK30KKworCiBQYXNzUmVmUHRyPEhUTUxEZXRhaWxzRWxlbWVudD4g
SFRNTERldGFpbHNFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIFJlZlB0cjxIVE1MRGV0YWlsc0VsZW1lbnQ+IHJl
c3VsdCA9IGFkb3B0UmVmKG5ldyBIVE1MRGV0YWlsc0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRleCBjYzhj
MDU5OGJmZTFmOGZkNmQ2MWJmZWYxNTJlNDIyMDM2ZTU1ZGFiLi5lY2YxMDg1Y2UzMGZlMGYzYjkz
ZTFjZGUyNWViNTQ0ZmE3ZGI0ZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTdW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFy
eUVsZW1lbnQuY3BwCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBT
dW1tYXJ5Q29udGVudEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQotICAgICAgICA6IFNoYWRv
d0NvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBkb2N1bWVudCwgZW1wdHlBdG9tKQor
ICAgICAgICA6IFNoYWRvd0NvbnRlbnRFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBkb2N1bWVu
dCkKICAgICB7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCA2YzBhYTI0NTZjZWVlZGMxYTdhYTA0Y2ZlOTI0YjY1MDUwOTM1OTUzLi43ODNjMzgwNTY5M2Fl
YzYzZDRkOTg1YmQ3OGMzODRmZDQ0ODRjNGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC0xMjYsMTQgKzEyNiwxNCBAQCBib29sIEludGVybmFsczo6aXNQcmVsb2FkZWQo
RG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHVybCkKICAgICByZXR1cm4gZG9jdW1l
bnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmlzUHJlbG9hZGVkKHVybCk7CiB9CiAKLVBhc3NS
ZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVudChEb2N1
bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgc2VsZWN0LCBFeGNlcHRpb25Db2RlJiBlYykK
K1Bhc3NSZWZQdHI8RWxlbWVudD4gSW50ZXJuYWxzOjpjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVu
dChEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghZG9j
dW1lbnQpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CiAgICAgICAgIHJldHVy
biAwOwogICAgIH0KIAotICAgIHJldHVybiBTaGFkb3dDb250ZW50RWxlbWVudDo6Y3JlYXRlKGRv
Y3VtZW50LCBzZWxlY3QpOworICAgIHJldHVybiBTaGFkb3dDb250ZW50RWxlbWVudDo6Y3JlYXRl
KGRvY3VtZW50KTsKIH0KIAogRWxlbWVudCogSW50ZXJuYWxzOjpnZXRFbGVtZW50QnlJZEluU2hh
ZG93Um9vdChOb2RlKiBzaGFkb3dSb290LCBjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2Rl
JiBlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGM5NjdmY2VlNzU4MzA5YWUy
MTgyN2Q5ZjJkZDE5YTAzMzk4MmJiYjAuLmVkNDczNzA1NWI5OTM4M2RhOWIyODAyMWFmM2Y2OTU5
YzYxZDM1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNTcsNyArNTcsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICBFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYp
OwotICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoRG9j
dW1lbnQqLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxF
bGVtZW50PiBjcmVhdGVTaGFkb3dDb250ZW50RWxlbWVudChEb2N1bWVudCosIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZEluU2hhZG93Um9vdChOb2RlKiBzaGFk
b3dSb290LCBjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJik7CiAKICNpZiBFTkFCTEUo
SU5QVVRfQ09MT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNWYwMDhk
MGE4YWZiNjhkNjA1MDI1OGQ4YjY1NGM4ZjcxNTNhNzBhMy4uZjU2ZDFhZjc0YThlMzVkZDQ3YmQ0
ZTZjNDlmMTI1ZTdlYWFjM2E1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApA
QCAtMzUsNyArMzUsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRWxlbWVudCBpbmNsdWRl
ckZvcihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBy
ZW1vdmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFpc2VzIChET01FeGNlcHRpb24pOwog
ICAgICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIEVsZW1lbnQgY3JlYXRlU2hhZG93Q29udGVudEVs
ZW1lbnQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIFtPcHRpb25hbD1DYWxsV2l0aE51bGxWYWx1
ZV0gRE9NU3RyaW5nIHNlbGVjdCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIEVsZW1l
bnQgY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNl
cyhET01FeGNlcHRpb24pOwogICAgICAgICBFbGVtZW50IGdldEVsZW1lbnRCeUlkSW5TaGFkb3dS
b290KGluIE5vZGUgc2hhZG93Um9vdCwgaW4gRE9NU3RyaW5nIGlkKSByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0lOUFVUX0NPTE9SKSAmJiBFTkFCTEVfSU5QVVRf
Q09MT1IKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3Vy
Y2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGIyMjVmMDZiZjlkMjQ1NjMxMWRkZWI4
MTQxNTVhOWNiNTYyYzViNmIuLjE1YjY5NTdhOWUyNDIzMTkwYmFjMWRkMjFjZmIxNjczZmQ3MzE4
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNTMsNyArNTMsNyBAQCBfWk43V2ViQ29y
ZTE3Y2FjaGVET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVj
dHVyZUVQS05TMl85QwogX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJlc291
cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaTsKIF9aTjdXZWJDb3JlMjBOb2RlUmVu
ZGVyaW5nQ29udGV4dEMxRVBOU180Tm9kZUU7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0Nv
bnRleHREMUV2OwotX1pON1dlYkNvcmUyMFNoYWRvd0NvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNf
OERvY3VtZW50RVJLTjNXVEYxMkF0b21pY1N0cmluZ0U7CitfWk43V2ViQ29yZTIwU2hhZG93Q29u
dGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRFOwogX1pON1dlYkNvcmUyMWdldENhY2hl
ZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0U7
CiBfWk43V2ViQ29yZTIyZXh0ZXJuYWxSZXByZXNlbnRhdGlvbkVQTlNfN0VsZW1lbnRFajsKIF9a
TjdXZWJDb3JlMjREb2N1bWVudE1hcmtlckNvbnRyb2xsZXIxMG1hcmtlcnNGb3JFUE5TXzROb2Rl
RU5TXzE0RG9jdW1lbnRNYXJrZXIxMU1hcmtlclR5cGVzRTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MDYwZmQ1YzUzN2U1
YjU1MDBjYmY0ZmI4N2E4NDMyOTk0OGFmMzA4Li42YmRjZDljMTk2NjM3YTQ5NTZmYzQ0MzViYzRk
NjkwOWJlYjUxY2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDEtMTIgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMDQ4MDUuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzEwNDgwNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzYxODAKKworICAgICAgICBCcmVha3MgYXBwbGUgd2luIGNvbXBpbGF0aW9uLiAoUmVx
dWVzdGVkIGJ5IHZzZXZpayBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtc2VsZWN0LWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1zZWxlY3QuaHRtbDog
UmVtb3ZlZC4KKwogMjAxMi0wMS0xMiAgWm9sdGFuIEhlcmN6ZWcgIDx6aGVyY3plZ0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIEZpeCB0dXJidWxlbmNlIGJ1ZyB3aGVuIHN0aXRjaCB0aWxlcyBlbmFi
bGVkIGFuZCByZW5kZXJlZCBpbiBwYXJhbGxlbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1zZWxlY3QtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctY29udGVudHMtc2VsZWN0LWV4cGVjdGVkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNzk2NWJhMmM5MjdiYzI0ODY5NTg0
NTNjMWNjNjc1Mjk3M2U1ZTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1jb250ZW50cy1zZWxl
Y3QtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzdHlsZT4KLS8qIHJlbGF0aXZlIHBvc2l0aW9uaW5n
IGVuc3VyZXMgdW5kZXJseWluZyBSZW5kZXJMYXllciAqLwotLmNvbnRhaW5lciB7Ci0gICAgcG9z
aXRpb246IHJlbGF0aXZlOwotfQotPC9zdHlsZT4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0i
Y29udGFpbmVyIj4KLTwhLS0gdGVzdFNlbGVjdElzTnVsbCAtLT4KLTxkaXY+PHNwYW4+SGVsbG8s
PC9zcGFuPjxzcGFuPmNvbnRlbnQ8L3NwYW4+PHNwYW4+V29ybGQuPC9zcGFuPjwvZGl2PgotPCEt
LSB0ZXN0U2VsZWN0SXNJZCAtLT4KLTxkaXY+PHNwYW4+SGVsbG8sPC9zcGFuPjxzcGFuPmNvbnRl
bnQ8L3NwYW4+PHNwYW4+V29ybGQuPC9zcGFuPjwvZGl2PgotPCEtLSB0ZXN0U2VsZWN0SXNJZEJ1
dE5vdE1hdGNoZWQgLS0+Ci08ZGl2PjxzcGFuPkhlbGxvLDwvc3Bhbj48c3Bhbj5Xb3JsZC48L3Nw
YW4+PC9kaXY+Ci08IS0tIHRlc3RTZWxlY3RJc0lkQnV0Tm90Q2hpbGQgLS0+Ci08ZGl2PjxzcGFu
PkhlbGxvLDwvc3Bhbj48c3Bhbj5Xb3JsZC48L3NwYW4+PC9kaXY+Ci08IS0tIHRlc3RTZWxlY3RJ
c011bHRpSWQgLS0+Ci08ZGl2PjxzcGFuPkhlbGxvLDwvc3Bhbj48c3Bhbj5jb250ZW50PC9zcGFu
PjxzcGFuPmNvbnRlbnQ8L3NwYW4+PHNwYW4+V29ybGQuPC9zcGFuPjwvZGl2PgotPCEtLSB0ZXN0
U2VsZWN0SXNUeXBlIC0tPgotPGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwv
c3Bhbj48c3Bhbj5Xb3JsZC48L3NwYW4+PC9kaXY+Ci08IS0tIHRlc3RTZWxlY3RJc1R5cGVXaXRo
QXR0cmlidXRlIC0tPgotPGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bh
bj48c3Bhbj5Xb3JsZC48L3NwYW4+PC9kaXY+Ci08IS0tIHRlc3RTZWxlY3RJc1R5cGVXaXRoRmly
c3RPZlR5cGUgLS0+Ci08ZGl2PjxzcGFuPkhlbGxvLDwvc3Bhbj48c3Bhbj5jb250ZW50PC9zcGFu
PjxzcGFuPldvcmxkLjwvc3Bhbj48L2Rpdj4KLTwhLS0gdGVzdFNlbGVjdElzVHlwZVdpdGhGaXJz
dE9mVHlwZTIgLS0+Ci08ZGl2PjxzcGFuPkhlbGxvLDwvc3Bhbj48c3Bhbj5jb250ZW50PC9zcGFu
PjxzcGFuPldvcmxkLjwvc3Bhbj48L2Rpdj4KLTwhLS0gdGVzdFNlbGVjdElzVHlwZVdpdGhMYXN0
T2ZUeXBlIC0tPgotPGRpdj48c3Bhbj5IZWxsbyw8L3NwYW4+PHNwYW4+Y29udGVudDwvc3Bhbj48
c3Bhbj5Xb3JsZC48L3NwYW4+PC9kaXY+Ci08IS0tIHRlc3RTZWxlY3RJc0RldGFpbHMgLS0+Ci08
ZGl2PjxzcGFuPkhlbGxvLDwvc3Bhbj48ZGV0YWlscz5jb250ZW50PC9kZXRhaWxzPjxzcGFuPldv
cmxkLjwvc3Bhbj48L2Rpdj4KLTwhLS0gdGVzdFNlbGVjdElzRGV0YWlsczIgLS0+Ci08ZGl2Pjxz
cGFuPkhlbGxvLDwvc3Bhbj48ZGV0YWlscz48c3VtbWFyeT5jb250ZW50PC9zdW1tYXJ5PjwvZGV0
YWlscz48c3Bhbj5Xb3JsZC48L3NwYW4+PC9kaXY+Ci08IS0tIHRlc3RTZWxlY3RXaGVuRHluYW1p
Y2FsbHlDaGlsZHJlbkNoYW5nZWQgLS0+Ci08ZGl2PjxzcGFuPkhlbGxvLDwvc3Bhbj48c3Bhbj5j
b250ZW50PC9zcGFuPjxzcGFuPldvcmxkLjwvc3Bhbj48L2Rpdj4KLTwvZGl2PgotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1j
b250ZW50cy1zZWxlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Y29udGVudHMtc2VsZWN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3OTI5
NjdhOTNlNTk2MmRiNWFlN2YyOWJiMjliY2EwMWNlY2Y1MWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1jb250ZW50cy1zZWxlY3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3MyArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c3R5bGU+Ci0vKiByZWxhdGl2ZSBw
b3NpdGlvbmluZyBlbnN1cmVzIHVuZGVybHlpbmcgUmVuZGVyTGF5ZXIgKi8KLS5jb250YWluZXIg
ewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLX0KLTwvc3R5bGU+Ci08c2NyaXB0PgotZnVuY3Rp
b24gYXBwZW5kU2hhZG93KHRhcmdldCwgc2VsZWN0KSB7Ci0gICAgdmFyIHJvb3QgPSBpbnRlcm5h
bHMuZW5zdXJlU2hhZG93Um9vdCh0YXJnZXQpOwotCi0gICAgdmFyIGNoaWxkMCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICBjaGlsZDAuaW5uZXJIVE1MID0gIkhlbGxvLCI7
Ci0gICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZDApOwotCi0gICAgdmFyIGNvbnRlbnQgPSBpbnRl
cm5hbHMuY3JlYXRlU2hhZG93Q29udGVudEVsZW1lbnQoZG9jdW1lbnQsIHNlbGVjdCk7Ci0gICAg
cm9vdC5hcHBlbmRDaGlsZChjb250ZW50KTsKLQotICAgIHZhciBjaGlsZDEgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgY2hpbGQxLmlubmVySFRNTCA9ICJXb3JsZC4iOwot
ICAgIHJvb3QuYXBwZW5kQ2hpbGQoY2hpbGQxKTsKLX0KLQotZnVuY3Rpb24gdGVzdFNlbGVjdElz
TnVsbCgpIHsKLSAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
Ci0gICAgdGFyZ2V0LmlubmVySFRNTCA9ICI8c3Bhbj5jb250ZW50PC9zcGFuPiI7Ci0KLSAgICBh
cHBlbmRTaGFkb3codGFyZ2V0LCAiIik7Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Y29udGFpbmVyJykuYXBwZW5kQ2hpbGQodGFyZ2V0KTsKLX0KLQotZnVuY3Rpb24gdGVzdFNlbGVj
dElzSWQoKSB7Ci0gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9J2Zvbyc+Y29udGVudDwvc3Bhbj48
c3BhbiBpZD0nYXp1bnlhbic+cGVyb3Blcm88L3NwYW4+IjsKLQotICAgIGFwcGVuZFNoYWRvdyh0
YXJnZXQsICIjZm9vIik7Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
JykuYXBwZW5kQ2hpbGQodGFyZ2V0KTsKLX0KLQotZnVuY3Rpb24gdGVzdFNlbGVjdElzSWRCdXRO
b3RNYXRjaGVkKCkgewotICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKLSAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuIGlkPSdmb28nPmNvbnRlbnQ8L3Nw
YW4+PHNwYW4gaWQ9J2F6dW55YW4nPnBlcm9wZXJvPC9zcGFuPiI7Ci0KLSAgICBhcHBlbmRTaGFk
b3codGFyZ2V0LCAiI2Zvb2JhciIpOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nv
bnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RTZWxlY3RJ
c0lkQnV0Tm90Q2hpbGQoKSB7Ci0gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAiPHNwYW4+PHNwYW4gaWQ9J2Zvbyc+
Y29udGVudDwvc3Bhbj48c3BhbiBpZD0nYXp1bnlhbic+cGVyb3Blcm88L3NwYW4+PC9zcGFuPiI7
Ci0KLSAgICBhcHBlbmRTaGFkb3codGFyZ2V0LCAiI2ZvbyIpOwotCi0gICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3RTZWxlY3RJc011bHRpSWQoKSB7Ci0gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9J2Zv
byc+Y29udGVudDwvc3Bhbj48c3BhbiBpZD0nYXp1bnlhbic+cGVyb3Blcm88L3NwYW4+PHNwYW4g
aWQ9J2Zvbyc+Y29udGVudDwvc3Bhbj4iOwotCi0gICAgYXBwZW5kU2hhZG93KHRhcmdldCwgIiNm
b28iKTsKLQotICAgIC8vIEFsbCBtYXRjaGVkIGVsZW1lbnRzIHdpbGwgYmUgc2VsZWN0ZWQuCi0g
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdl
dCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RTZWxlY3RJc1R5cGUoKSB7Ci0gICAgdmFyIHRhcmdldCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAi
PGRpdj5henVueWFuPC9kaXY+PHNwYW4+Y29udGVudDwvc3Bhbj48ZGl2PnBlcm9wZXJvPC9kaXY+
IjsKLQotICAgIGFwcGVuZFNoYWRvdyh0YXJnZXQsICJzcGFuIik7Ci0KLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykuYXBwZW5kQ2hpbGQodGFyZ2V0KTsKLX0KLQotZnVu
Y3Rpb24gdGVzdFNlbGVjdElzVHlwZVdpdGhBdHRyaWJ1dGUoKSB7Ci0gICAgdmFyIHRhcmdldCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAi
PHNwYW4+YXp1bnlhbjwvc3Bhbj48c3BhbiB0aXRsZT0nY29udGVudCc+Y29udGVudDwvc3Bhbj48
c3Bhbj5wZXJvcGVybzwvc3Bhbj4iOwotCi0gICAgYXBwZW5kU2hhZG93KHRhcmdldCwgInNwYW5b
dGl0bGU9J2NvbnRlbnQnXSIpOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRh
aW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RTZWxlY3RJc1R5
cGVXaXRoRmlyc3RPZlR5cGUoKSB7Ci0gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAiPGRpdj5henVueWFuPC9kaXY+
PHNwYW4+Y29udGVudDwvc3Bhbj48c3Bhbj5wZXJvcGVybzwvc3Bhbj4iOwotCi0gICAgYXBwZW5k
U2hhZG93KHRhcmdldCwgInNwYW46Zmlyc3Qtb2YtdHlwZSIpOwotCi0gICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3RTZWxlY3RJc1R5cGVXaXRoRmlyc3RPZlR5cGUyKCkgewotICAgIHZhciB0YXJnZXQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICB0YXJnZXQuaW5uZXJIVE1MID0g
IjxkaXY+PHNwYW4+YXp1bnlhbjwvc3Bhbj48L2Rpdj48c3Bhbj5jb250ZW50PC9zcGFuPjxzcGFu
PnBlcm9wZXJvPC9zcGFuPiI7Ci0KLSAgICBhcHBlbmRTaGFkb3codGFyZ2V0LCAic3BhbjpmaXJz
dC1vZi10eXBlIik7Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyku
YXBwZW5kQ2hpbGQodGFyZ2V0KTsKLX0KLQotZnVuY3Rpb24gdGVzdFNlbGVjdElzVHlwZVdpdGhM
YXN0T2ZUeXBlKCkgewotICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKLSAgICB0YXJnZXQuaW5uZXJIVE1MID0gIjxzcGFuPmF6dW55YW48L3NwYW4+PHNwYW4+
Y29udGVudDwvc3Bhbj48ZGl2PnBlcm9wZXJvPC9kaXY+IjsKLQotICAgIGFwcGVuZFNoYWRvdyh0
YXJnZXQsICJzcGFuOmxhc3Qtb2YtdHlwZSIpOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RT
ZWxlY3RJc0RldGFpbHMoKSB7Ci0gICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotICAgIHRhcmdldC5pbm5lckhUTUwgPSAiPGRldGFpbHM+Y29udGVudDwvZGV0
YWlscz4iOwotCi0gICAgYXBwZW5kU2hhZG93KHRhcmdldCwgImRldGFpbHMiKTsKLQotICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5hcHBlbmRDaGlsZCh0YXJnZXQpOwot
fQotCi1mdW5jdGlvbiB0ZXN0U2VsZWN0SXNEZXRhaWxzMigpIHsKLSAgICB2YXIgdGFyZ2V0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgdGFyZ2V0LmlubmVySFRNTCA9ICI8
ZGV0YWlscz48c3VtbWFyeT5jb250ZW50PC9zdW1tYXJ5PjwvZGV0YWlscz4iOwotCi0gICAgYXBw
ZW5kU2hhZG93KHRhcmdldCwgImRldGFpbHMiKTsKLQotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb250YWluZXInKS5hcHBlbmRDaGlsZCh0YXJnZXQpOwotfQotCi1mdW5jdGlvbiB0ZXN0
U2VsZWN0V2hlbkR5bmFtaWNhbGx5Q2hpbGRyZW5DaGFuZ2VkKCkgewotICAgIHZhciB0YXJnZXQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICB0YXJnZXQuaW5uZXJIVE1MID0g
IjxzcGFuPmNvbnRlbnQ8L3NwYW4+PHNwYW4gaWQ9J3RvYmVyZW1vdmVkJz5hbnVueWFuIHBlcm9w
ZXJvPC9zcGFuPiI7Ci0KLSAgICBhcHBlbmRTaGFkb3codGFyZ2V0LCAic3BhbiIpOwotCi0gICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmFwcGVuZENoaWxkKHRhcmdldCk7
Ci0KLSAgICB2YXIgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2JlcmVtb3ZlZCcp
OwotICAgIGVsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTsKLX0KLQotdmFyIHRlc3RG
dW5jcyA9IFsKLSAgICB0ZXN0U2VsZWN0SXNOdWxsLAotICAgIHRlc3RTZWxlY3RJc0lkLAotICAg
IHRlc3RTZWxlY3RJc0lkQnV0Tm90TWF0Y2hlZCwKLSAgICB0ZXN0U2VsZWN0SXNJZEJ1dE5vdENo
aWxkLAotICAgIHRlc3RTZWxlY3RJc011bHRpSWQsCi0gICAgdGVzdFNlbGVjdElzVHlwZSwKLSAg
ICB0ZXN0U2VsZWN0SXNUeXBlV2l0aEF0dHJpYnV0ZSwKLSAgICB0ZXN0U2VsZWN0SXNUeXBlV2l0
aEZpcnN0T2ZUeXBlLAotICAgIHRlc3RTZWxlY3RJc1R5cGVXaXRoRmlyc3RPZlR5cGUyLAotICAg
IHRlc3RTZWxlY3RJc1R5cGVXaXRoTGFzdE9mVHlwZSwKLSAgICB0ZXN0U2VsZWN0SXNEZXRhaWxz
LAotICAgIHRlc3RTZWxlY3RJc0RldGFpbHMyLAotICAgIHRlc3RTZWxlY3RXaGVuRHluYW1pY2Fs
bHlDaGlsZHJlbkNoYW5nZWQsCi1dCi0KLWZ1bmN0aW9uIGRvVGVzdCgpIHsKLSAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHRlc3RGdW5jcy5sZW5ndGg7ICsraSkgewotICAgICAgIHRlc3RGdW5jc1tp
XSgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJkb1Rlc3Qo
KSI+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDlmNDk0OGZjZTE1NjQ5MDg1MGY3MzIw
YjY5Y2VlYzBlYmY1ZGFhZjQuLmRiMjgzNTgzYjlkYWNhNTc1NjI1ZmI3OTM4YWFiMDBjNDM4NmI5
ZWUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxMi0wMS0xMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwNDgwNS4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA0ODA1CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE4MAorCisgICAgICAgIEJyZWFrcyBhcHBs
ZSB3aW4gY29tcGlsYXRpb24uIChSZXF1ZXN0ZWQgYnkgdnNldmlrIG9uCisgICAgICAgICN3ZWJr
aXQpLgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAx
Mi0wMS0xMiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgTWFrZSB0aGUgbmV3IFdURiBtb2R1bGUgYnVpbGQgb24gUXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>